Releases: hyperjumptech/grule-rule-engine
Releases · hyperjumptech/grule-rule-engine
Releasing v1.8.0
- Support for JSON as Fact, add your JSON string into
DataContext
straight away. - Support for Native type Fact, add int, string, bool, etc straight into
DataContext
. - Support for traversing JSON Fact data as Object or as Map, as well as writing value into it.
- Support for accessing JSON Array element as well as replacing it value.
- Support for appending values into JSON Array fact.
Releasing patch v1.7.2
- Fixes the cloning problem where Expression do not clone the negation attribute
- Added mutex for unique.NewID() to make sure that this function is thread/concurrent safe.
Releasing v1.7.1
- Fixed ANTLR4 grammar to enable function chaining in the THEN scope
- Fixed ANTLR4 grammar error that makes array/slice/map cannot be chained with function
- Built-in function
Changed
is renamed toForget
to clearly tell the engine to forget about variable values or function invocation to make sure the engine look again into the underlying data context on the next cycle.
Releasing v1.7.0
- Change the Grule ANTLR4 grammar for better structure, tested with ANTLR4 hierarchy and AST Tree.
- FunctionCall AST graph is now under
ExpressionAtom
instead ofVariable
- Proper Integer and Float literals both support exponent format
- Integer literal support Octal and Hexadecimal, Float literal support Hexadecimal.
- Support negation.
- Added more documentation about the new numbering literals and also re-arrange the menu in the documentation.
Release patch v1.6.3
- Added way for user to change Logrus log level for Grule
- Fix for crash when compiling Grule for ARM target.
- Add logical OR and AND short circuit evaluation.
Releasing patch v1.6.2
This patch release fixes few minor issues
- Fixes panic when obtaining
KnowledgeBase
instance fromKnowledgeLibrary
if any of the rule don't have description. - Fixes panic when creating Rules using JSON with one of the rule have no description
- Fixed goroutine leak due to possibly non closed context by caller of
ExecuteWithContext
.
Release patch v1.6.1
This v1.6.1 patch
- Remove crashing bug that caused by unaddressable value operation (on
SetCap()
andSetLen()
) inarray.Clear()
andmap.Clear()
. - Fix array.Append() operation that causes array operation fail because once the append is executed, the function does not properly return.
Releasing v1.6.0
This release contains quite substantial new features into Grule.
Some of them are :
- Better expression atom parsing, this replaces variable tracing with proper struct-field value traversal in golang reflect package.
- ANTLR4 grammar update to support array and map.
- The grammar update also enables function chaining.
- Enable constant's function. Such as
"string".ToUpper()
, as well as few functions are introduced. - Removed Grule Event bus. As this is just too complicated and seems not usable by anyone.
- And many more.
I have made all previous test runs okay in by this new changes. Thus, I hope its 99% backward compatible.
Releasing v1.5.1
Release v1.5.1 is a patch release to preserve the last stable version before new update get introduced.