- Fix focusing an agenda-group without rules #158
- Fix bump uglify version for security purpose #196
- Fix callback compile #127
- Fix import nools files under Windows #192
- Fix memory leak #156
- Fix compile callback not called when options provided #127
- Fix parsing error with a constraint value set to null or boolean #157
- Fixed issue with
CustomConstraintnot bindingthis.asserttothis. #146 - @raymondfeng - Added more tests for custom constraints
- Updated readme to include docs about custom constraints.
- Fix for issue #122 referencing defined class within another defined class
- Also fixes accessing scoped functions within a defined class.
- Fix for issue #119 window was removed from the nools.js file now it is called in the current scope of
this. - Allow session.halt even for
match()#143 - @raymondfeng- Now if you call
halt()even if you did not callmatchUntilHalt()
- Now if you call
- Now you can use a function as a constraint (Only applies to rules defined programatically) #142 - @raymondfeng
- You can now define types using scope #142 - @raymondfeng
- Fix for issue, is the dsl you do not have to escape
\characters #123
- Added new
getFactsmethod to allow for querying of facts currently in session. #52; - Added indexing on comparison operators (i.e.
>, <, >=, <=). - Updated documentation.
- Added new section about retrieving facts from a session.
- Created new section for async actions to address #94
- Performance Upgrades
- Added BetaNode indexing
- Abstracted out JoinNode to extend BetaNode (Prevents the checking of constraints if there are not any constraints to check)
- Refactored BetaNetwork
- Created a new Memory Class to encapusulate left and right memory for BetaNodes
- Added new
existslogic operator to check for existence of fact (opposite ofnot)
- Added support for js expression in the
fromnode addressing issue #86 - Enhanced
JoinReferenceNodeperformance in the default assert case where there are noreferencesto left or right context. - Added ability to use
orandnotin tandem to check for the non-existence of multiple facts. #85 - Fixed issue with
fromnode where an undefined property would be tested. #89 - You can now define a custom resolution strategy.
- Compiling nools files now supports the from modifier.
- Documentation updates
- Updates about from node support with js values.
- New documentation about using
orandnotconstratints together. - Updated
ordocumentation to include a three constraint example.
- Nools now supports true modify!!!
- This is a major leap forward for
noolsopening the door for more complex actions and expressions in the rules.
- This is a major leap forward for
- Added support from for
fromconditions in therhs. - Fixed issue #81.
- Fixed issue #82.
- Added new
sudokuweb example. - Added Send More Money benchmark see #78.
- Fixed issue with async actions and early match termination.
- Fixed issue #68 where
matchUntilHaltuses a lot of CPU - Fixed issue #45, now compiled rules support
orconstraint with more than 2 inner constraints. - Added new feature to address #76, now you can use
deleteFlowsto dispose all flows, or usehasFlowto check if a flow is already registred withnools.
- Fixed issue in node v0.6 where path.sep is not found.
- Fixed issue #73 where requires in dsl would treat a file with a
.character as a path instead of a module.
- Added ability to
importother nools files to create composible rules files #58 - When using
globalto require other files you can now require other files relative to the nools file - Added uglify-js as a dependency instead of devDependency
- Fixed issue #61 where transpile would not properly escape
"character. - Fixed issue #66 and #67 where regular expression matching was too greedy.
- Fixed issue #62 where constraints with a
"character would produce invalid javascript whentranspiling. - Fixed issue #69 where rules names with a
'character in a rule would produce invalid javascript whentranspiling. - Added option to beautify generated code
- Fixed issues where notNode was not retracting all contexts when a fact was retracted
- Fixed issue 50 in compiling rule with or condition
- Fixed issue 53 in constraints with hash refrences.
- Merged pull request 49
- Added tests for logicalNot and truthy statements
- Fixed scoping issue where scoped variables defined in compile were not available to defined classes or functions.
- Fixed constraint parser to not evaluate functions that have the same name as operators as operators.
- Fixed the
getMatcherto properly return an equality expression for constraints that do not have an explicit equality - Added new diganosis example
- Changed Fibonacci example to support larger number
- Fixed issue with the use of next in async actions
- More Examples
- Changed nools compile to transpile to Javascript!
- Better performance
- Simple Benchmark: Before ~600ms, Now ~350ms
- Manners Benchmark (32): Before ~10s, Now ~4sec
- WaltzDB: Before ~30sec, Now ~15sec
- Added new agenda-group (#29)
- More documentation
- Salience
- Agenda Groups
- Auto-focus
- Scope
- Cleaned up agenda and made more modular
- Fixed memory leak with FactHashes for the agendas
- Removed unneeded calls to
.thento address performance degredation (#30)
- Updated grunt
- Fixed nextTick issues for node v0.10 #32
- Added ability to remove a defined flow from nools. #31 #22
- Added ability to use
getDefinedon externally defined fact types. #23 - Added support for block comments in dsl. #27 @xmltechgeek
- New globals feature in dsl. #26 @xmltechgeek
- Fixed all jshint issues
- Rebuilt nools.js and nools.min.js
- Added more tests for new globals feature
- Browser support!
- Support for compiling nools dsl from string source or path
- New reactive mode when running a flow
- Support for emitting custom events from rule actions
- Can now include
$in your constraint variables - Added support for
%,!=~,notIn, andnotLikein constraints - Increased performance
- Waltdb Bench (Before ~60000ms, Now ~25000ms)
- Manners (Before ~2000ms, Now ~500ms)
- Better error reporting if action has reference error
- Better fact retraction in not and join nodes
- You can now use properties from object in
inexpressions. - Refactoring of node types into seperate files
- Support for specifying a
scopewhen compiling which can be used to expose methods and objects to be used in constraints and actions. - More Examples (requirejs, browser, conways game of life)
- More tests and better coverage on or and not nodes.
- Fix for issue #13 where identifiers were not gathered in property chains that contained functions.
- Added travis CI
- Updates for repo rename
- code clean up
- Increased performance
- Manners benchmark 800%
- Added Parser for nools DSL
- More helper functions
- Updated readme