grule-rule-engine

Rule engine implementation in Golang

OTHER License

Stars
2.2K
Committers
44

Bot releases are hidden (Show)

grule-rule-engine - Releasing v1.8.0

Published by newm4n almost 4 years ago

  • 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.
grule-rule-engine - Releasing patch v1.7.2

Published by newm4n almost 4 years ago

  • 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.
grule-rule-engine - Releasing v1.7.1

Published by newm4n almost 4 years ago

  • 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 to Forget 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.
grule-rule-engine - Releasing v1.7.0

Published by newm4n almost 4 years ago

  • Change the Grule ANTLR4 grammar for better structure, tested with ANTLR4 hierarchy and AST Tree.
  • FunctionCall AST graph is now under ExpressionAtom instead of Variable
  • 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.
grule-rule-engine - Release patch v1.6.3

Published by newm4n almost 4 years ago

  • 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.
grule-rule-engine - Releasing patch v1.6.2

Published by newm4n almost 4 years ago

This patch release fixes few minor issues

  • Fixes panic when obtaining KnowledgeBase instance from KnowledgeLibrary 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.
grule-rule-engine - Release patch v1.6.1

Published by newm4n about 4 years ago

This v1.6.1 patch

  • Remove crashing bug that caused by unaddressable value operation (on SetCap() and SetLen()) in array.Clear() and map.Clear().
  • Fix array.Append() operation that causes array operation fail because once the append is executed, the function does not properly return.
grule-rule-engine - Releasing v1.6.0

Published by newm4n about 4 years ago

This release contains quite substantial new features into Grule.
Some of them are :

  1. Better expression atom parsing, this replaces variable tracing with proper struct-field value traversal in golang reflect package.
  2. ANTLR4 grammar update to support array and map.
  3. The grammar update also enables function chaining.
  4. Enable constant's function. Such as "string".ToUpper(), as well as few functions are introduced.
  5. Removed Grule Event bus. As this is just too complicated and seems not usable by anyone.
  6. And many more.

I have made all previous test runs okay in by this new changes. Thus, I hope its 99% backward compatible.

grule-rule-engine - Releasing v1.5.1

Published by newm4n about 4 years ago

Release v1.5.1 is a patch release to preserve the last stable version before new update get introduced.