Skip to content

v3.0.0

Compare
Choose a tag to compare
@fmbenhassine fmbenhassine released this 30 May 21:06
· 254 commits to master since this release

This is a big milestone for Easy Rules since the beginning! v2.x was a successful line but we must admit it suffered from a couple of design decisions:

  1. Rules were designed to encapsulate data (BOM) they operate on. This works fine, but is not very friendly to concurrent threads
  2. The rules engine was designed to encapsulate the set of rules it operates on. For the same reason as 1) , this make the engine not thread safe

v3 is finally here to fix these issues! Please find below the most important changes and additions.

Important notes about v3

  • Easy Rules is now part of the jeasy project. Hence, the maven's groupId has changed from org.easyrules toorg.jeasy

  • Online documentation has been moved from www.easyrules.org to the wiki of the github project. The www.easyrules.org site will be shutdown on 31/07/2017.

  • Gitter chat room has been moved from https://gitter.im/easyrules/easyrules to https://gitter.im/j-easy/easy-rules

Major changes

  • issue #37 : Add working memory abstraction through the Facts API
  • issue #86 : Add rules set abstraction through the Rules API
  • issue #87 : Add @Fact annotation to inject facts in conditions and actions methods of rules

The DefaultRulesEngine class is now public. Keys APIs (Rule, RulesEngine and RuleListener) have been updated to accept Rules and Facts in their methods signatures. Please refer to the javadoc for all details about these changes.

Deprecations

  • issue #79 : deprecate rules engine name parameter
  • issue #74 : remove spring support that was deprecated in v2.5
  • issue #75 : remove quartz support that was deprecated in v2.5

This release would not have been possible without the help of some awseome contributors! We are grateful to all of them! Thank you for your time and effort.