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