Releases: keiffster/program-y
Fixed typo issue during pylint config
Webchat broken due to typo, now fixed
Pylint Improvements
In the final stages of prep for 1.0.0, the main focus of work is trawling through pylint output and fixing up as many as possible
Pylint code quality now stands at 9.55/10 which I think is pretty good, but hoping to push on in the next few days and get it above 9.8
Number of minor fixes and additional unit tests to help some users also added
Factory Loader Fix
An issue has been discovered in template and parser node loading. If a node fails to pre-instantiate using standard Python class loading, then the loading of all remaining nodes fails and the parser is left with only the nodes loaded to that point.
This manifests itself in strange errors, with grammars no longer working that previously worked.
The issue was discovered when python-dateutil was added to requirements.txt several 10s of releases ago, but I did not make it clear this had been added or that it was a python dependency.
All users should either carry out
pip3 install -r requirements.txt
or
pip3 install python-dateutil
Next release ahead of v1.0.0
This release contains a small number of defect fixes but also introduces the last feature ahead of 1.0.0 release
initial_question, default_response and exit_response all have the corresponding srai options, initial_question_srai, default_response_srai and exit_response_srai. Which allow a more dynamic text response instead of the static response defined in Bot config.
Focus moves to documentation ahead of 1.0.0 release
Update to 0.99.0
Second release on the path to v1.0.0
Contains following improvements 👍
- aiml, set and map config files settings can now take multiple folder allow files to be distributed across file system which supports building own bots
- $priority word tests added to ensure they work
- Fixed a number of small issues in Weather utils, unit test coverage up to 84%
- Regex and iSet now support equivalence pattern
Version 1.0.0 Pre Release
So this is it, the very last steps towards v1.0.0. Most important changes in this release
- Refactoring folder structure to move a number of items out of
/programy/utils
into/programy
. This will break any oob, extension, spelling and services that you have built yourself. but just requires a based path change - Unit test coverage to 91%, nothing under 40% and significant parts at 100%
- Added a number of interfaces for various base classes, Spelling, OOB, Extension, Service, etc
- Fixed a number of bugs
- Moved
test
folder up one level. This is important to support seperate repos ( i.e talk-y ) and also your own projects - Extracted talk-y into its own repo due to dependency issues
Further releases will follow 0.99.1, 0.99.2 etc until 0.99.X becomes gold 1.0.0 release
Regex, XML Viewer and Conversation Log
This new release introduces 3 new features
-
<regex>
Tag that allows for a regular expression matching in pattenr nodes -
The ability to export the brain as a single xml file, and then view it in a basic xml tree viewer
-
You can now record just the conversations to a seperate log file, as follows
2017-08-30 21:21:38 - Console - Question[Hello] - Response[Hi there!]
Dynamic Sets, Maps 7 Vars and the Professor
This release sees one of the last significant changes, the addition of dynamic Vars, Sets and Maps. You can now define each as a Python Object rather than a text file. This allows a more dynamic nature and a much richer capability when using sets maps and variables
Also in this release is the amazing Professor, which has been brought up to a full 100% working AIML 2.0 version of the original. This awesome work has been done by [email protected].
Professor is a huge knowledge base which at the moment has 509301 categories
A brain this size takes time to load and can typically take 200+ seconds
Security, OOB and Windows
This release contains 3 major features
- Security. supporting an extensible Authorisation and Authentication framework ( see Wiki for docs )
- OOB. support for Out of Band communication ( see Wiki for docs )
- Windows. support for Windows .cmd files and Windows specific path in config files
The work on this release also resulted in the following changes
- Refactoring Config Files, better compartmentalization of config options
- Refactoring Unit Tests to support Windows as well as Linux/OSX
And of course we fixed some defects, specifically
- Issue with parsing last sentence of that tag
Release 0.9
The primary new features in this release are some significant performance increases following a major refactoring of the pattern and template node code.
This also introduces the ability to write and add your own tags to the code via configuration files, rather than opening the code base itself. Documentation to following on developing your own tags
Significant performance updates with the move of a number of lookups from for loops ( !!!! ) to map lookups
Finally, introduce the ability to save the entire grammar brain to a binary file and to load it later. This reduces subsequent load times by 4 - 5 times
Enjoy