UNPKG

11.3 kBMarkdownView Raw
1# bedrock ChangeLog
2
3## 1.18.0 - 2019-07-16
4
5### Changed
6- Update lodash to 4.17.14.
7- Switch to eslint.
8- **BREAKING**: Update Node.js engine requirement to >= 8. Note this is due to
9 the use of async/await when runOnceAsync was added in 1.16.0.
10
11## 1.17.0 - 2019-05-06
12
13### Changed
14- Improve callback function detection in `events.emit` API.
15
16## 1.16.0 - 2019-04-30
17
18### Added
19- `bedrock.runOnceAsync` API which is a promise based version of
20 `bedrock.runOnce`.
21
22## 1.15.0 - 2019-03-18
23
24### Added
25- `bedrock.util.delay` API which is used to create a promise which resolves
26 after the specified milliseconds.
27
28### Changed
29- Use `uuid-random` for `bedrock.util.uuid`.
30
31## 1.14.0 - 2018-11-29
32
33### Changed
34- Change default value of `bedrock.config.jsonld.strictSSL` from `false` to
35 `true`. This means that the `jsonld` library's document loader will refuse
36 to retrieve documents from sites without proper SSL certificates. This change
37 will impact unit tests in Bedrock modules. The `strictSSL` flag will need to
38 be set to `false` in the `test.config.js` files for affected modules.
39
40## 1.13.0 - 2018-09-20
41
42### Added
43- Add `bedrock-cli.parsed` event.
44
45### Changed
46- Update copyright notices.
47- Style fixes.
48
49## 1.12.1 - 2018-05-10
50
51### Changed
52- Update async-node-events to 1.0.0.
53
54## 1.12.0 - 2018-05-08
55
56### Added
57- Return Promise from `events.emit` and `events.emitLater` that
58 resolves to `undefined` once the event has been emitted to all
59 listeners or to `false` if it was canceled.
60
61## 1.11.0 - 2018-05-08
62
63### Added
64- Add `util.callbackify` helper to produce functions that can be
65 called with a callback function or that will return a Promise
66 if the callback function is omitted. This utility function
67 is used in bedrock modules that are written using Promises
68 internally and that expose Promise-based public APIs that
69 also support legacy callback patterns.
70
71## 1.10.0 - 2018-04-06
72
73### Added
74- `--log-exclude` option to eliminate logging from certain modules.
75
76## 1.9.2 - 2018-03-28
77
78### Changed
79- Update to newer worker API.
80- Improve errors in runOnce calls.
81- Use logger to handle uncaught error formatting.
82
83## 1.9.1 - 2018-03-07
84
85### Changed
86- Update from istanbul to nyc for coverage.
87
88## 1.9.0 - 2018-03-01
89
90### Changed
91- Update jsonld to 1.0.0.
92
93## 1.8.0 - 2018-02-13
94
95### Changed
96- Update jsonld to 0.5.x.
97- Update many other dependencies.
98
99### Added
100- `--log-only` option to log only certain modules.
101
102## 1.7.1 - 2017-11-13
103
104### Fixed
105- Update mocha dependency which addresses multiple security vulnerabilities.
106
107## 1.7.0 - 2017-08-10
108
109### Added
110- Add `assertNoError(err)` global test helper which makes an assertion that
111 `err` should be falsy. If an error does occur, the full error will be
112 logged to the console. The additional logging is helpful when troubleshooting
113 tests that are failing due to a regression. This helper should be used in
114 place of the commonly used `should.not.exist(err)` assertion.
115
116## 1.6.0 - 2017-07-27
117
118### Changed
119- Upgrade test related dependencies: mocha, chai, chai-as-promised.
120
121## 1.5.0 - 2017-07-24
122
123### Added
124- Add `child(meta)` method to create a child logger with common metadata for
125 each logging call. The special `module` meta key can be used to prefix
126 messages with `[module] ` and is removed from the message details.
127 `child(name)` is a shortcut for `child({module: name})`.
128
129## 1.4.1 - 2017-02-02
130
131### Changed
132- Deprecated default values for `config.paths`. A warning will be printed. A
133 future major version will force values to be set by applications.
134
135## 1.4.0 - 2016-12-09
136
137### Added
138- Add `config.paths` with `log` and `cache` entries. This is designed to be a
139 simple single point of configuration for the root logging and cache paths.
140
141### Changed
142- Use computed configs:
143 - Add common cache and log paths to config.paths.
144 - Use common log path for default log files.
145
146## 1.3.0 - 2016-12-07
147
148### Added
149- Add `bedrock.util.config` utilities:
150 - Add `bedrock.util.config.Config` OO wrapper API.
151 - Common `bedrock.util.config.main` Config wrapper for `bedrock.config`.
152 - See README for usage details.
153- ci-test target with tap mocha reporter.
154
155### Changed
156- Updated dependencies.
157- Updated to node >= 6.
158
159## 1.2.5 - 2016-07-29
160
161### Fixed
162- Fix chown bug when posix doesn't exist and usernames are used.
163
164## 1.2.4 - 2016-06-09
165
166### Changed
167- Improve logging of simple object unhandled errors.
168
169## 1.2.3 - 2016-06-01
170
171### Changed
172- Use improved common uncaught exception handler.
173
174## 1.2.2 - 2016-05-30
175
176### Changed
177- Update docs.
178- Update jscs linter rules.
179
180## 1.2.1 - 2016-04-04
181
182### Fixed
183- `enableChownDir` check typo.
184
185## 1.2.0 - 2016-03-30
186
187### Added
188- `bedrock.config.loggers.*.bedrock` for bedrock specific options.
189- Add `...bedrock.enableChownDir` boolean option to control `chown`ing file
190 logger directory to runtime userId.
191
192## 1.1.1 - 2016-02-22
193
194### Fixed
195- Check `config.loggers` properties are Objects before accsesing
196 sub-properties. Fixes older configs that set other non-Object meta-data
197 along with loggers.
198
199## 1.1.0 - 2016-02-11
200
201### Added
202- Add simpler and more explicit mechanism for adding new winston transports.
203 Now a call to `bedrock.loggers.addTransport` can be made in event listeners
204 handling the `bedrock-loggers.init` event.
205
206## 1.0.10 - 2016-01-31
207
208### Changed
209- Updated dependencies.
210
211## 1.0.9 - 2015-10-27
212
213### Changed
214- Updated jsonld.js to 0.4.2 to get URDNA2015 support.
215
216## 1.0.8 - 2015-10-15
217
218### Changed
219- Initialize jsonld document loader in `bedrock.init` event phase. Done to
220 allow access to fully setup config. Warn if default document loader is used
221 before jsonld initialized.
222
223### Fixed
224- `bedrock.config.jsonld.strictSSL` used if available to configure jsonld
225 document loader.
226
227## 1.0.7 - 2015-10-15
228
229### Changed
230- `exit` now calls worker kill() vs disconnect() and process.exit(). Appears to
231 be more correct and works around a bug in node 4.x.
232
233## 1.0.6 - 2015-09-15
234
235### Changed
236- Update posix version to be compatible with node 4.0.0.
237
238## 1.0.5 - 2015-09-14
239
240### Changed
241- Updated jsonld and other versions.
242
243## 1.0.4 - 2015-08-27
244
245### Changed
246- Updated async to version 1.4.x.
247
248## 1.0.3 - 2015-07-16
249
250### Fixed
251- Bug that caused workers to not be restarted.
252
253## 1.0.2 - 2015-07-12
254
255### Fixed
256- Handle cycles in log message meta data.
257
258## 1.0.1 - 2015-05-07
259
260### Changed
261- Update dependencies.
262
263## 1.0.0 - 2015-04-08
264
265### Changed
266- **BREAKING**: A new event `bedrock.admin.init` was introduced that emits
267 prior to `bedrock.init`. This new event is emitted while the process has
268 any elevated privileges and after it is handled, elevated privileges are
269 dropped. This changes `bedrock.init` so that it runs without elevated
270 privileges. This only affected `bedrock.server` in a negative way; this
271 module has been updated to comply with the change. Also, `bedrock.init`
272 should no longer be used to emit custom events; these should be deferred
273 to `bedrock.start` to prevent scenarios where a listener of an event
274 emitted by one module can't use the API of another unrelated module because
275 it hasn't been initialized yet. Deferring custom event emitting to
276 `bedrock.start` as a best practice avoids this scenario.
277- Updated JSCS rules.
278
279## 0.3.2 - 2015-02-24
280
281### Fixed
282- Fixed default command after upgrade to commander 2.6.
283
284## 0.3.1 - 2015-02-23
285
286### Changed
287- Updated commander to version 2.6.0.
288
289## 0.3.0 - 2015-02-16
290
291### Breaking Changes
292
293- Major package reorganization:
294 - Files split into many sub-projects.
295 - Bedrock server split into `bedrock-*` modules.
296 - Bedrock frontend components split into `bedrock-angular-*` modules.
297- Infrastructure changed to make composing a project from modules much easier.
298- **bedrock**:
299 - New event system for module initialization and communication.
300 - Removed old bedrock.modules API.
301 - `config.app.*` changed to `config.core.*`.
302 - `config.server.workers` changed to `config.core.workers`.
303 - Various code moved to modules or removed (`iso8601` library, etc)
304 - `bedrock.security` API removed. Other libraries such as `jsonld-signatures` can be used.
305 - `bedrock.tools` renamed to `bedrock.util`; `bedrock.tools` is deprecated.
306 - Config files:
307 - Most files moved as examples in `bedrock-seed`.
308 - Some values added as defaults in appropriate modules.
309 - `configs` dir removed.
310 - Development uses defaults.
311 - Testing uses `lib/test.config.js`.
312 - Removed `config.environment` in favor of feature flags.
313 - `config.core.starting.groupId` and `config.core.starting.userId` used for
314 master before logging initialized.
315 - `config.core.running.groupId` and `config.core.running.userId` used for
316 master and workers after logging initialized.
317 - `config.core.errors.showStack` used to control general error stack traces.
318 - `config.jsonld.strictSSL` used to control strict SSL of jsonld library.
319 - `config.views.serviceUnavailable` to control 503 Service Unavailable for
320 all requests.
321 - `config.core.masterTitle` changed to `config.core.master.title`.
322 - `config.core.workerTitle` changed to `config.core.worker.title`.
323 - `config.core.restartWorkers` changed to `config.core.worker.restart`.
324 - Remove uses of `MODULE_NS`.
325 - Remove prefixes from errors and use simpler names.
326 - Change many `*NotFound` error types to just `NotFound`.
327- **mail**:
328 - Per-module mapper files removed.
329 - Modules push event handlers to `bedrock.config.mail.events` array:
330 - `{type: 'EVENT-TYPE', template: 'TEMPLATE-HANDLER-ID'}`
331 - Modules set config objects in `bedrock.config.mail.templates.config[ID]`:
332 - `{filename: 'FULL-FILENAME', [disabled: true]}`
333- **express**:
334 - `config.server.cache.*` renamed to `config.express.cache.*`.
335 - `config.server.session.*` renamed to `config.express.session.*`.
336 - `config.server.static` renamed to `config.express.static`.
337 - `config.server.staticOptions` renamed to `config.express.staticOptions`.
338 - `config.express.useSession` to control session support.
339 - `config.express.dumpExceptions` to control error exceptions.
340 - `config.express.showStack` to control error stack traces.
341- **i18n**:
342 - `config.website.i18nPaths` renamed to `config.i18n.localePath`.
343 - `config.website.writeLocales` renamed to `config.i18n.writeLocales`.
344- **schemas**:
345 - Schemas moved to `bedrock-validation` and other modules.
346 - Modules push paths to `bedrock.config.validation.schemas.paths` array.
347- **mongodb**:
348 - `config.database` changed to `config.mongodb`.
349 - `bedrock-mongodb` module now uses version 2.x of the Node.js driver, see [Migrating to 2.X](http://mongodb.github.io/node-mongodb-native/2.0/tutorials/changes-from-1.0/).
350 - Support for mongodb 2.2 has been dropped.
351- **cli**:
352 - `-R/--reporter` changed to `--mocha-reporter`.
353- **views**:
354 - `config.website.views` moved to `config.views`.
355 - `config.views.vars` are now shared between client and server templates except for any vars under `_private` which are server-only.
356 - `config.views.vars.clientData` has been removed.
357 - `config.views.vars.session` moved to `config.views.vars.idp.session`.
358 - A number of unused keys in `config.views.vars` have been removed: `session.auth`, `session.loaded`, `serviceHost`, `serviceDomain`, `productionMode`.
359
360## 0.2.0 (up to early 2015)
361
362- See git history for changes.