- 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
CustomConstraint
not bindingthis.assert
tothis
. #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
getFacts
method 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
exists
logic operator to check for existence of fact (opposite ofnot
)
- Added support for js expression in the
from
node addressing issue #86 - Enhanced
JoinReferenceNode
performance in the default assert case where there are noreferences
to left or right context. - Added ability to use
or
andnot
in tandem to check for the non-existence of multiple facts. #85 - Fixed issue with
from
node 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
or
andnot
constratints together. - Updated
or
documentation to include a three constraint example.
- Nools now supports true modify!!!
- This is a major leap forward for
nools
opening the door for more complex actions and expressions in the rules.
- This is a major leap forward for
- Added support from for
from
conditions in therhs
. - Fixed issue #81.
- Fixed issue #82.
- Added new
sudoku
web example. - Added Send More Money benchmark see #78.
- Fixed issue with async actions and early match termination.
- Fixed issue #68 where
matchUntilHalt
uses a lot of CPU - Fixed issue #45, now compiled rules support
or
constraint with more than 2 inner constraints. - Added new feature to address #76, now you can use
deleteFlows
to dispose all flows, or usehasFlow
to 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
import
other nools files to create composible rules files #58 - When using
global
to 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
getMatcher
to 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
.then
to 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
getDefined
on 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
, andnotLike
in 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
in
expressions. - Refactoring of node types into seperate files
- Support for specifying a
scope
when 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