Easy Rules v3.0.0 Release Notes

Release Date: 2017-05-30 // almost 7 years ago
  • 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.