UNPKG

4.95 kBMarkdownView Raw
1#### 5.3.0 / 2020-12-02
2 * Allow facts to have a value of `undefined`
3
4#### 5.2.0 / 2020-11-31
5 * No changes; published to correct an accidental publish of untagged alpha
6
7#### 5.0.4 / 2020-09-26
8 * Upgrade dependencies to latest
9
10#### 5.0.3 / 2020-01-26
11 * Upgrade jsonpath-plus dependency, to fix inconsistent scalar results (#175)
12
13#### 5.0.2 / 2020-01-18
14* BUGFIX: Add missing `DEBUG` log for almanac.addRuntimeFact()
15
16#### 5.0.1 / 2020-01-18
17* BUGFIX: `DEBUG` envs works with cookies disables
18
19#### 5.0.0 / 2019-11-29
20 * BREAKING CHANGES
21 * Rule conditions' `path` property is now interpreted using [json-path](https://goessner.net/articles/JsonPath/)
22 * To continue using the old syntax (provided via [selectn](https://github.com/wilmoore/selectn.js)), `npm install selectn` as a direct dependency, and `json-rules-engine` will continue to interpret legacy paths this way.
23 * Any path starting with `$` will be assumed to use `json-path` syntax
24
25#### 4.1.0 / 2019-09-27
26 * Export Typescript definitions (@brianphillips)
27
28#### 4.0.0 / 2019-08-22
29 * BREAKING CHANGES
30 * `engine.run()` now returns a hash of events and almanac: `{ events: [], almanac: Almanac instance }`. Previously in v3, the `run()` returned the `events` array.
31 * For example, `const events = await engine.run()` under v3 will need to be changed to `const { events } = await engine.run()` under v4.
32
33#### 3.1.0 / 2019-07-19
34 * Feature: `rule.setName()` and `ruleResult.name`
35
36#### 3.0.3 / 2019-07-15
37 * Fix "localStorage.debug" not working in browsers
38
39#### 3.0.2 / 2019-05-23
40 * Fix "process" not defined error in browsers lacking node.js global shims
41
42#### 3.0.0 / 2019-05-17
43 * BREAKING CHANGES
44 * Previously all conditions with undefined facts would resolve false. With this change, undefined facts values are treated as `undefined`.
45 * Greatly improved performance of `allowUndefinedfacts = true` engine option
46 * Reduce package bundle size by ~40%
47
48#### 2.3.5 / 2019-04-26
49 * Replace debug with vanilla console.log
50
51#### 2.3.4 / 2019-04-26
52 * Use Array.isArray instead of instanceof to test Array parameters to address edge cases
53
54#### 2.3.3 / 2019-04-23
55 * Fix rules cache not clearing after removeRule()
56
57#### 2.3.2 / 2018-12-28
58 * Upgrade all dependencies to latest
59
60#### 2.3.1 / 2018-12-03
61 * IE8 compatibility: replace Array.forEach with for loop (@knalbandianbrightgrove)
62
63#### 2.3.0 / 2018-05-03
64 * Engine.removeFact() - removes fact from the engine (@SaschaDeWaal)
65 * Engine.removeRule() - removes rule from the engine (@SaschaDeWaal)
66 * Engine.removeOperator() - removes operator from the engine (@SaschaDeWaal)
67
68#### 2.2.0 / 2018-04-19
69 * Performance: Constant facts now perform 18-26X better
70 * Performance: Removes await/async transpilation and json.stringify calls, significantly improving overall performance
71
72#### 2.1.0 / 2018-02-19
73 * Publish dist updates for 2.0.3
74
75#### 2.0.3 / 2018-01-29
76 * Add factResult and result to the JSON generated for Condition (@bjacobso)
77
78#### 2.0.2 / 2017-07-24
79 * Bugfix IE8 support
80
81#### 2.0.1 / 2017-07-05
82 * Bugfix rule result serialization
83
84#### 2.0.0 / 2017-04-21
85 * Publishing 2.0.0
86
87#### 2.0.0-beta2 / 2017-04-10
88 * Fix fact path object checking to work with objects that have prototypes (lodash isObjectLike instead of isPlainObject)
89
90#### 2.0.0-beta1 / 2017-04-09
91 * Add rule results
92 * Document fact .path ability to parse properties containing dots
93 * Bump dependencies
94 * BREAKING CHANGES
95 * `engine.on('failure', (rule, almanac))` is now `engine.on('failure', (event, almanac, ruleResult))`
96 * `engine.on(eventType, (eventParams, engine))` is now `engine.on(eventType, (eventParams, almanac, ruleResult))`
97
98#### 1.5.1 / 2017-03-19
99 * Bugfix almanac.factValue skipping interpreting condition "path" for cached facts
100
101#### 1.5.0 / 2017-03-12
102 * Add fact comparison conditions
103
104#### 1.4.0 / 2017-01-23
105 * Add `allowUndefinedFacts` engine option
106
107#### 1.3.1 / 2017-01-16
108 * Bump object-hash dependency to latest
109
110#### 1.3.0 / 2016-10-24
111 * Rule event emissions
112 * Rule chaining
113
114#### 1.2.1 / 2016-10-22
115 * Use Array.indexOf instead of Array.includes for older node version compatibility
116
117#### 1.2.0 / 2016-09-13
118 * Fact path support
119
120#### 1.1.0 / 2016-09-11
121 * Custom operator support
122
123#### 1.0.4 / 2016-06-18
124 * fix issue #6; runtime facts unique to each run()
125
126#### 1.0.3 / 2016-06-15
127 * fix issue #5; dependency error babel-core/register
128
129#### 1.0.0 / 2016-05-01
130 * api stable; releasing 1.0
131 * engine.run() now returns triggered events
132
133#### 1.0.0-beta10 / 2016-04-16
134 * Completed the 'fact-dependecy' advanced example
135 * Updated addFact and addRule engine methods to return 'this' for easy chaining
136
137#### 1.0.0-beta9 / 2016-04-11
138 * Completed the 'basic' example
139 * [BREAKING CHANGE] update engine.on('success') and engine.on('failure') to pass the current almanac instance as the second argument, rather than the engine