Liking cljdoc? Tell your friends :D

This is a history of changes to concrete-rules.

0.1.0-SNAPSHOT (Forked from Clara Rules)

  • Project Renamed: Rebranded from clara-rules to concrete-rules.
  • Namespace Migration: Renamed all namespaces from clara.* to metasimple.concrete.*.
  • ClojureScript Removal: Dropped support for ClojureScript. The project is now JVM-only.
  • Identity Update: Updated artifact group ID to org.metasimple.
  • Clean Fork: Established as a sovereign fork based on the original Clara Rules project.

Historical changes below refer to the original clara-rules project.

0.24.0

  • uplift to cljs 1.11.132
  • uplift to clj 1.11.2
  • remove atom usage in LHS functions
  • remove redundant TestNode evaluations

0.23.0

  • extract clara.rules.compiler/compile-test-handler from clara.rules.compiler/compile-test
  • add support for env inside of test expressions
  • use .clj_kondo extension for clj-kondo hook code for better tool compatibility (clj-kondo support now requires clj-kondo 2022.04.25 or higher)
  • Include the invalid constraint in the exception thrown at session compilation time when negations have multiple children. See Issue 284.

0.22.1

  • fix incorrent lint warning triggered when this binding is not used in clj-kondo hooks

0.22.0

  • add built-in clj-kondo support for clara-rules as hooks. Importing should be automatic if using clojure-lsp; for detailed instructions see clj-kondo's documentation on how to import clj-kondo configuration
  • use correct arity calling ->RuleOrderedActivation constructor during serialization if clara session; this change should have the same effective behavior as before.

0.21.2

  • Try and catch TestNode expression evaluation so that exceptions thrown are re-thrown wrapped in a condition exception which includes production name and bindings information. See PR 471.

0.21.1

  • Add support to specify query binding arguments as symbols instead of only keywords so that defquery syntax looks closer to function definition syntax. See PR 463.

0.21.0

  • Add names to anonymous functions generated by rule compilation; these names will be in the class names of the generated objects. Issue 261 and issue 291
  • Add types information to alpha nodes. Issue 237
  • Fix a bug related to Java object facts with IndexedPropertyDescriptor fields. Issue 446
  • Validate that parameters provided to queries exist on the query at compilation and throw an exception if queries on a session don't specify the required parameters. Issue 454
  • Add an optional listener that reports suspected infinite loops of rules. Issue 275

0.20.0

  • Add a flag to omit compilation context (used by the durability layer) after Session compilation to save space when not needed. Defaults to true. issue 422
  • Correct duplicate bindings within the same condition. See issue 417
  • Correct sharing of nodes with different parents. See issue 433

0.19.1

  • Added a new field to the clara.rules.engine/Accumulator record. This could be a breaking change for any user durability implementations with low-level performance optimizations. See PR 410 for details.
  • Performance improvements for :exists conditions. See issue 298.
  • Decrease memory usage post deserialization (Durability). See Issue 419
  • Added a new function that returns the number of times a rule was interacted with as a proxy for rules that may be the cause of performance problems. This function requires information from the tracing listener to work. See issue 344 for details.

0.19.0

  • Remove a warning about qualified-keyword? being replaced when using Clojure 1.9.

Can you improve this documentation? These fine people already did:
Ryan Brush, William Parker, Ethan Christian, Jose Gomez, Dave Dixon, Baptiste Fontaine, mrrodriguez, Alex Dixon, David Goeke & Imre Kószó
Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close