UNPKG

11.9 kBMarkdownView Raw
1# Changelog #
2
3All notable changes to this project will be documented in this file.
4
5The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
8## [Unreleased](https://github.com/craft-ai/craft-ai-client-js/compare/v1.16.0...HEAD) ##
9
10## [1.16.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.15.4...v1.16.0) - 2019-03-21 ##
11
12### Added ###
13
14- Support timezones as UTC offset in minutes
15- Support V2 trees including:
16 - Missing values: it is now possible to handle missing values by adding `deactivate_missing_values: false` in the agent configuration. Missing values correspond to a `null` value in a given context.
17 - Optional values: it is now possible to handle optional values by adding `is_optional: true` for a property in the agent configuration. Optional values are defined by `{}`, the empty Object, in a given context.
18 - The multi-enum operator `ìn`.
19 - Boolean values
20- Predictions now return the number of samples in the leaf and its distribution if it is a classification problem.
21- Predictions now return min and max information for continuous output values.
22- For continuous output values, it is now possible to get the mean and standard deviation values from any node in a tree.
23- For continuous output values, it is now possible to get the min and max values from any node in a tree.
24
25## [1.15.4](https://github.com/craft-ai/craft-ai-client-js/compare/v1.15.3...v1.15.4) - 2018-11-27 ##
26
27### Changed ###
28
29- `client.getAgentDecisionTree` deals with the retry in a slightly different way, it shouldn't have any impact on the SDK users but improve the occupation of **craft ai** infrastructures.
30- `cfg.decisionTreeRetrievalTimeout` increased from 5 minutes to 10 minutes.
31
32## [1.15.3](https://github.com/craft-ai/craft-ai-client-js/compare/v1.15.2...v1.15.3) - 2018-11-13 ##
33
34### Fixed ###
35
36- The conversion from timestamps to time of day is properly rounded. Example: for a timestamp of 1498882800 (01/07/2017 06:20), the time of day is now formatted in '06:20:00' instead of '06:19:59' previously.
37
38## [1.15.2](https://github.com/craft-ai/craft-ai-client-js/compare/v1.15.1...v1.15.2) - 2018-08-07 ##
39
40### Fixed ###
41
42- The `proxy` settings now works properly when set to `undefined`.
43
44### Changed ###
45
46- Updating a bunch of dependencies including `babel`, `dotenv`, `eslint`, `moment`, `node-fetch` and `lodash`.
47- `interpreter.formatProperty` is now able to take an instance of `Time`.
48
49## [1.15.1](https://github.com/craft-ai/craft-ai-client-js/compare/v1.15.0...v1.15.1) - 2018-07-26 ##
50
51### Added ###
52
53- Introducing an experimental `proxy` configuration parameter to the client.
54
55### Changed ###
56
57- Discontinuing the continuous testing for Node.js v0.12 due to a SSL certificate issue.
58
59## [1.15.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.14.1...v1.15.0) - 2018-07-16 ##
60
61### Added ###
62
63- Add new function `interpreter.reduceDecisionRules` taking a list of decision rules (as retrieved by `interpreter.decide`) and merging rules that are applied to the same properties.
64- Add new function `interpreter.formatDecisionRules` taking a list of decision rules (as retrieved by `interpreter.decide`) and formatting them into a human readable string.
65- Add new function `interpreter.formatProperty` formatting a property and its value.
66
67### Changed ###
68
69- Function deprecation notices are now logged only once, using `console.warning`.
70
71## [1.14.1](https://github.com/craft-ai/craft-ai-client-js/compare/v1.14.0...v1.14.1) - 2018-06-06 ##
72
73### Changed ###
74
75- In Node.js environments, all http requests from a client instance share the same [`http(s).Agent`](https://nodejs.org/docs/latest-v8.x/api/http.html#http_class_http_agent) to share TCP connections.
76
77### Fixed ###
78
79- Fixing addContextOperations test.
80
81## [1.14.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.13.0...v1.14.0) - 2018-03-01 ##
82
83### Changed ###
84
85- It is no longer possible to compute a tree at a future timestamp, tests have been adapted to reflect that.
86
87## [1.13.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.12.0...v1.13.0) - 2017-10-30 ##
88
89### Added ###
90
91- `client.getAgentDecisionTree` now transparently retries computation up to the given `cfg.decisionTreeRetrievalTimeout`.
92
93### Fixed ###
94
95- `client.getAgentDecisionTree` now properly returns timeout sent by the API as `errors.CraftAiLongRequestTimeOutError`.
96
97## [1.12.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.11.1...v1.12.0) - 2017-10-24 ##
98
99### Added ###
100
101- Support new format for timezone offsets: +/-hhmm, +/-hh and some abbreviations(CEST, PST, ...). Check the [documentation](https://beta.craft.ai/doc/http#context-properties-types) for the complete list.
102
103### Fixed ###
104
105- Fixing the Typescript signature for `client.getAgentStateHistory`.
106
107## [1.11.1](https://github.com/craft-ai/craft-ai-client-js/compare/v1.11.0...v1.11.1) - 2017-10-13 ##
108
109### Fixed ###
110- Fixing the changelog.
111
112## [1.11.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.10.0...v1.11.0) - 2017-10-13 ##
113
114### Added ###
115- Add new function `client.getAgentStateHistory` retrieving a agent's state history. Take a look a the [documentation](https://beta.craft.ai/doc/js#retrieve-state-history) for further informations.
116
117## [1.10.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.9.0...v1.10.0) - 2017-10-12 ##
118
119### Added ###
120- Introducing `craftai.interpreter.getDecisionRulesProperties` a function extracting the property used in the decision rules of a given decision tree.
121- Introducing `craftai.interpreter.decideFromContextsArray` a function that takes decisions on an array of several contexts at once.
122
123### Fixed ###
124- `craftai.interpreter.decide` no longer omits to return the standard deviation if it is exactly 0.
125
126### Deprecated ###
127- `craftai.decide` is deprecated in favor of `craftai.interpreter.decide`.
128
129## [1.9.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.8.0...v1.9.0) - 2017-08-22 ##
130
131### Added ###
132- `client.getAgentContextOperations` takes two new optional parameters defining time bounds for the desired operations.
133
134### Changed ###
135- `client.getAgentContextOperations` handles the pagination automatically, making as many request as necessary to the API.
136- Updating the code linter rules to the latest version of [`eslint-config-craft-ai`](https://www.npmjs.com/package/eslint-config-craft-ai).
137- Requests sent to the craft ai have a specific `User-Agent` to identify the used client version & platform.
138
139### Fixed ###
140- TypeScript type definition of the client method `client.addAgentContextOperations` now accepts a single context operation.
141- When using Node.js, created instance of `Time` with no specified timezone now properly take into account the local timezone.
142
143## [1.8.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.7.1...v1.8.0) - 2017-08-11 ##
144
145### Added ###
146- TypeScript definitions for the client methods
147
148## [1.7.1](https://github.com/craft-ai/craft-ai-client-js/compare/v1.7.0...v1.7.1) - 2017-08-08 ##
149
150### Fixed ###
151- `Time` are now properly created from floating point timestamp (e.g. from `Date.now() / 1000`)
152- `client.addAgentContextOperations` with no operations no longer triggers a request to craft ai and resolves with a message
153
154## [1.7.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.6.0...v1.7.0) - 2017-08-02 ##
155
156### Added ###
157- Finally adding a changelog file (yes this one).
158- Adding a helper script to maintain the changelog.
159- Checking agent name at the agent creation to prevent erroneous behavior with the api route.
160
161## [1.6.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.5.2...v1.6.0) - 2017-07-25 ##
162
163### Removed ###
164- `client.addAgentContextOperations` no longer buffers context operations before sending them to the API ; its third parameter as well as `cfg.operationsAdditionWait` are no longer taken into account.
165
166## [1.5.2](https://github.com/craft-ai/craft-ai-client-js/compare/v1.5.1...v1.5.2) - 2017-07-18 ##
167
168### Removed ###
169- `Time` is no longer able to be built from an instance of `moment`, a standard JavaScript `Date` can be provided though.
170
171## [1.5.1](https://github.com/craft-ai/craft-ai-client-js/compare/1.5.0...v1.5.1) - 2017-07-13 ##
172
173### Changed ###
174- Documentation improvements.
175
176## [1.5.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.4.1...1.5.0) - 2017-07-11 ##
177
178> :warning: Update to this version is **mandatory** to continue using the craft ai API due to a bad handling of decision tree format versioning in previous versions.
179
180### Added ###
181- Now supporting the current decision tree format (_v1.1.0_).
182
183## [1.4.1](https://github.com/craft-ai/craft-ai-client-js/compare/v1.4.0...v1.4.1) - 2017-06-19 ##
184
185### Added ###
186- A collection of unit test for the `Properties` helper functions.
187
188## [1.4.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.3.3...v1.4.0) - 2017-06-16 ##
189
190### Added ###
191- Introduce a collection of helpers function for context properties and decision rules manipulation accessible under `Properties` (`const { Properties } = require('craft-ai)`) ; these functions are still under development and are prone to future changes.
192
193## [1.3.3](https://github.com/craft-ai/craft-ai-client-js/compare/v1.3.2...v1.3.3) - 2017-06-09 ##
194
195### Added ###
196- A new error type, `CraftAiNullDecisionError`, is thrown during decision when the context is correct but no decision can be taken by the decision tree.
197
198## [1.3.2](https://github.com/craft-ai/craft-ai-client-js/compare/v1.3.1...v1.3.2) - 2017-06-08 ##
199
200### Changed ###
201- The pre-decision context properties validation now supports unknown properties type, no validation is performed on these.
202
203## [1.3.1](https://github.com/craft-ai/craft-ai-client-js/compare/v1.3.0...v1.3.1) - 2017-06-08 ##
204
205### Added ###
206- Improve the metadata attached to `CraftAiDecisionError`, most notably their property `metadata.decision_rules` can now contain the matched decision rules in the decision tree at the location of the error.
207
208## [1.3.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.2.2...v1.3.0) - 2017-06-07 ##
209
210### Changed ###
211- Updating a bunch of dev dependencies including `babel`, `webpack` and `mocha`
212- Updating and cleaning a bunch of dependencies
213
214## [1.2.2](https://github.com/craft-ai/craft-ai-client-js/compare/v1.2.1...v1.2.2) - 2017-04-18 ##
215
216### Fixed ###
217
218- `Time` now properly takes into account that `day_of_week` belongs to [0,6] and not [1,7].
219
220## [1.2.1](https://github.com/craft-ai/craft-ai-client-js/compare/v1.2.0...v1.2.1) - 2017-04-13 ##
221
222### Fixed ###
223
224- The decision now properly takes into account that `day_of_week` belongs to [0,6] and not [1,7].
225
226## [1.2.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.1.1...v1.2.0) - 2017-04-13 ##
227
228### Added ###
229
230- Introduce `client.getSharedAgentInspectorUrl` and `client.deleteSharedAgentInspectorUrl` to, respectively, create (or retrieve) and delete the shared agent inspector url.
231
232### Deprecated ###
233
234- `client.getAgentInspectorUrl` is deprecated in favor of `client.getSharedAgentInspectorUrl`.
235
236### Changed ###
237
238- Improve the release scripts.
239
240## [1.1.1](https://github.com/craft-ai/craft-ai-client-js/compare/v1.1.0...v1.1.1) - 2017-04-12 ##
241
242### Fixed ###
243
244- Explicitly provided configurations values for `owner`, `project` and `url` overrides the one extracted from the `token`.
245
246## [1.1.0](https://github.com/craft-ai/craft-ai-client-js/compare/v1.0.0...v1.1.0) - 2017-04-04 ##
247
248### Added ###
249
250- Client creation now extracts the right API url, the `owner` and the `project` from the given `token`.
251- When a decision error occurs, additional information are attached to the thrown error in its `metadata` key.
252
253## 1.0.0 - 2017-03-22 ##
254
255- Initial **final** version of the JS client