@loopback/rest 9.1.3 → 9.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/body-parsers/body-parser.helpers.js.map +1 -1
  2. package/dist/body-parsers/body-parser.js.map +1 -1
  3. package/dist/body-parsers/body-parser.json.js.map +1 -1
  4. package/dist/coercion/coerce-parameter.js.map +1 -1
  5. package/dist/coercion/utils.js.map +1 -1
  6. package/dist/coercion/validator.js.map +1 -1
  7. package/dist/http-handler.js.map +1 -1
  8. package/dist/keys.js.map +1 -1
  9. package/dist/parse-json.js.map +1 -1
  10. package/dist/parser.js +3 -2
  11. package/dist/parser.js.map +1 -1
  12. package/dist/providers/log-error.provider.js.map +1 -1
  13. package/dist/providers/parse-params.provider.js.map +1 -1
  14. package/dist/request-context.js.map +1 -1
  15. package/dist/rest-http-error.js +2 -1
  16. package/dist/rest-http-error.js.map +1 -1
  17. package/dist/rest.component.js.map +1 -1
  18. package/dist/rest.server.js +4 -3
  19. package/dist/rest.server.js.map +1 -1
  20. package/dist/router/controller-route.js +2 -1
  21. package/dist/router/controller-route.js.map +1 -1
  22. package/dist/router/redirect-route.js.map +1 -1
  23. package/dist/router/router-base.js.map +1 -1
  24. package/dist/router/trie-router.js.map +1 -1
  25. package/dist/spec-enhancers/consolidate.spec-enhancer.js.map +1 -1
  26. package/dist/spec-enhancers/info.spec-enhancer.js.map +1 -1
  27. package/dist/validation/ajv-factory.provider.js.map +1 -1
  28. package/dist/validation/request-body.validator.js.map +1 -1
  29. package/dist/writer.js.map +1 -1
  30. package/package.json +40 -40
  31. package/src/body-parsers/body-parser.helpers.ts +1 -1
  32. package/src/coercion/utils.ts +2 -1
  33. package/src/keys.ts +12 -15
  34. package/src/parser.ts +4 -2
  35. package/src/request-context.ts +2 -1
  36. package/src/rest.server.ts +5 -4
  37. package/CHANGELOG.md +0 -2172
package/CHANGELOG.md DELETED
@@ -1,2172 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [9.1.3](https://github.com/strongloop/loopback-next/compare/@loopback/rest@9.1.2...@loopback/rest@9.1.3) (2021-02-09)
7
-
8
- **Note:** Version bump only for package @loopback/rest
9
-
10
-
11
-
12
-
13
-
14
- ## [9.1.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@9.1.1...@loopback/rest@9.1.2) (2021-01-21)
15
-
16
- **Note:** Version bump only for package @loopback/rest
17
-
18
-
19
-
20
-
21
-
22
- ## [9.1.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@9.1.0...@loopback/rest@9.1.1) (2020-12-07)
23
-
24
-
25
- ### Bug Fixes
26
-
27
- * **rest:** fix incomplete hostname in regexp ([dd5c210](https://github.com/strongloop/loopback-next/commit/dd5c210c6ce1c74f27b3ac4a95d3a311ffcfe582))
28
-
29
-
30
-
31
-
32
-
33
- # [9.1.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@9.0.0...@loopback/rest@9.1.0) (2020-11-18)
34
-
35
-
36
- ### Features
37
-
38
- * **express:** set up MIDDLEWARE_CONTEXT for request object in constructor ([e086e7b](https://github.com/strongloop/loopback-next/commit/e086e7bcf64a8aa651490784502adfe787156eef))
39
-
40
-
41
-
42
-
43
-
44
- # [9.0.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@8.0.0...@loopback/rest@9.0.0) (2020-11-05)
45
-
46
-
47
- ### Bug Fixes
48
-
49
- * allow array query parameter for a single value ([08c4a1a](https://github.com/strongloop/loopback-next/commit/08c4a1a2046db606fa28b17410c19bf609abddb6))
50
-
51
-
52
- ### Code Refactoring
53
-
54
- * **rest:** use dynamic value provider for actions ([3a32290](https://github.com/strongloop/loopback-next/commit/3a322902bd47f664efcb0c14c4de96133301672c))
55
-
56
-
57
- ### Features
58
-
59
- * **rest:** further sanitize json parsing by rejecting prohibited keys ([b38f0fd](https://github.com/strongloop/loopback-next/commit/b38f0fda4c1c78339de5f02c2f42bbfce32113c9))
60
- * **rest:** reword the message printed by REST LogError action ([3fc2bc1](https://github.com/strongloop/loopback-next/commit/3fc2bc1ecdd8efe1747050a63dbfefac7216e476))
61
-
62
-
63
- ### BREAKING CHANGES
64
-
65
- * **rest:** Message printed by REST LogError action changed from
66
- `Unhandled error` to `Request failed`. Message pattern rules
67
- (e.g. alerting rules) based on this pattern need to be updated accordingly.
68
- * **rest:** If you use one of the built-in action providers as the base
69
- class, this commit will break you as the signature of the base class has
70
- changed. Otherwise the code should be backward compatible for existing
71
- applications.
72
-
73
-
74
-
75
-
76
-
77
- # [8.0.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@7.0.1...@loopback/rest@8.0.0) (2020-10-07)
78
-
79
-
80
- ### Features
81
-
82
- * **context:** introduce new binding scopes ([9916cfd](https://github.com/strongloop/loopback-next/commit/9916cfd4449a870f7a3378e2e674957aed7c1626))
83
- * update dependency openapi3-ts to v2 ([aabd6e6](https://github.com/strongloop/loopback-next/commit/aabd6e62a11d5e10ff2256ec664a923041e27ce0))
84
-
85
-
86
- ### BREAKING CHANGES
87
-
88
- * openapi3-ts@2.x has a stricter typing for `type` and `format`
89
- properties as union types with a known list of values.
90
-
91
- We now either have to explicitly type the schema as `SchemaObject`
92
- or cast the `type` to `SchemaObject['type'], for example:
93
-
94
- ```ts
95
- import {SchemaObject} from '@loopback/openapi-v3';
96
-
97
- const schemaDef1 = {
98
- type: 'number' as const; // cast the type to be 'number' from 'string'
99
- };
100
-
101
- // Use the explicit `SchemaObject` to enforce inference
102
- const schemaDef2: SchemaObject = {
103
- type: 'number' as const;
104
- };
105
- ```
106
-
107
- It also applies to OpenAPI parameter objects:
108
-
109
- ```ts
110
- import {ParameterObject} from '@loopback/openapi-v3';
111
-
112
- const paramDef1 = {
113
- type: 'number' as const, // cast the type to be 'number' from 'string'
114
- name: 'limit',
115
- in: 'query',
116
- }
117
-
118
- // Use the explicit `ParameterObject` to enforce inference
119
- const paramDef2: ParameterObject = {
120
- type: 'number',
121
- name: 'limit',
122
- in: 'query',
123
- }
124
- ```
125
-
126
-
127
-
128
-
129
-
130
- ## [7.0.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@7.0.0...@loopback/rest@7.0.1) (2020-09-17)
131
-
132
- **Note:** Version bump only for package @loopback/rest
133
-
134
-
135
-
136
-
137
-
138
- # [7.0.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@6.2.0...@loopback/rest@7.0.0) (2020-09-15)
139
-
140
-
141
- ### Bug Fixes
142
-
143
- * **rest:** do not override customized openapi spec info object ([acae2a3](https://github.com/strongloop/loopback-next/commit/acae2a39d6ede327a1c1af53d33bd9e4c23b9626))
144
- * **rest:** make sure OpenAPI parameters with simple types are validated by AJV ([987c103](https://github.com/strongloop/loopback-next/commit/987c1033a7ff28e4f2b9188a854c6479ed2365f9))
145
-
146
-
147
- ### Features
148
-
149
- * **rest:** use sington binding scope to cache REST middleware ([5783f54](https://github.com/strongloop/loopback-next/commit/5783f5471e1e16aface22d8db4d300366f6b06d3))
150
- * move framework packages to `devDependencies` ([e2c61ce](https://github.com/strongloop/loopback-next/commit/e2c61ce79aa68d76f6e7138642034160b50063f0))
151
- * **rest:** add AJV formats for OpenAPI spec data type formats ([3f2ccbf](https://github.com/strongloop/loopback-next/commit/3f2ccbf98c8cca92666c9a9931ad741d274a76b6))
152
- * **rest:** expose RequestContext to Express request object ([50448cb](https://github.com/strongloop/loopback-next/commit/50448cb215cc94b8bd2459d7f9487aa03149fe3d))
153
-
154
-
155
- ### BREAKING CHANGES
156
-
157
- * components no longer install core framework packages as
158
- their own dependencies, they use the framework packages provided by the
159
- target application instead.
160
-
161
- If you are getting `npm install` errors after upgrade, then make sure
162
- your project lists all dependencies required by the extensions you are
163
- using.
164
-
165
-
166
-
167
-
168
-
169
- # [6.2.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@6.1.0...@loopback/rest@6.2.0) (2020-08-27)
170
-
171
-
172
- ### Features
173
-
174
- * **rest:** add more debugging statements for middleware ([de2f5be](https://github.com/strongloop/loopback-next/commit/de2f5bee6415d55c53ca14cdf989cb37b06c7f47))
175
- * **rest:** improve route description to include verb and path ([3b7fcca](https://github.com/strongloop/loopback-next/commit/3b7fccafa57cfb7fd2ee1495dc81dbc87ab6e94e))
176
- * **rest:** make sure rest options are passed to http-server ([e9af196](https://github.com/strongloop/loopback-next/commit/e9af1961dfe2aaae3c07e3100f6fe538797943e0))
177
-
178
-
179
-
180
-
181
-
182
- # [6.1.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@6.0.0...@loopback/rest@6.1.0) (2020-08-19)
183
-
184
-
185
- ### Bug Fixes
186
-
187
- * **repository:** apply `[@model](https://github.com/model)` to generated model class ([9a1b1e4](https://github.com/strongloop/loopback-next/commit/9a1b1e4324516bc1351e08943b8b0c5a00e75992))
188
-
189
-
190
- ### Features
191
-
192
- * **express:** add middleware view to watch registered middleware ([205d948](https://github.com/strongloop/loopback-next/commit/205d948cb91cf48d187ce247ee5e77b1204be35e))
193
- * **rest:** add the ability to validate sorted middleware groups ([227dbf8](https://github.com/strongloop/loopback-next/commit/227dbf8045990536ac1437ea4a7ae1f1a1e571bb))
194
- * **rest:** improve validation errors for invalid parameter value ([54f762c](https://github.com/strongloop/loopback-next/commit/54f762c845912b45811f6481518a100f10c5e1e6))
195
- * **rest:** optimize middleware sequence to reuse middleware binding keys ([0041a24](https://github.com/strongloop/loopback-next/commit/0041a246df89f7dbff179ed7c5e08a65ec5bcbda))
196
-
197
-
198
-
199
-
200
-
201
- # [6.0.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@5.2.1...@loopback/rest@6.0.0) (2020-08-05)
202
-
203
-
204
- ### Bug Fixes
205
-
206
- * **rest:** code block in interface apidoc ([1f79de5](https://github.com/strongloop/loopback-next/commit/1f79de56fed717b85da996c0cdc23da6214f4410))
207
- * **rest:** preserve the bound value for API_SPCE binding from api() ([18fedf3](https://github.com/strongloop/loopback-next/commit/18fedf37fe3db266e9222191e20e1bf6fdcaa8ec))
208
- * **rest:** register component for apispec ([7ac2081](https://github.com/strongloop/loopback-next/commit/7ac208153b5986fc346d81a410c18ec97c223b2e))
209
- * enable default AJV custom validation and error messages ([d7c385e](https://github.com/strongloop/loopback-next/commit/d7c385ee24f14e187655a68e2a08cff68c5142a9))
210
-
211
-
212
- ### Features
213
-
214
- * **rest:** add a note to mention the middleware-based sequence ([8d06f62](https://github.com/strongloop/loopback-next/commit/8d06f62ce66a258d62b2d42febbd947c186b73f0))
215
- * **rest:** add middleware for REST actions and MiddlewareSequence ([80b667c](https://github.com/strongloop/loopback-next/commit/80b667c3592bcbd5c835854ddffde97c7e66fac4))
216
-
217
-
218
- ### BREAKING CHANGES
219
-
220
- * **rest:** A middleware-based sequence has been introduced to have
221
- a middleware chain with discovered middleware to process REST requests
222
- and responses. The action-based sequence is kept for backward compatibility.
223
- Please check out https://loopback.io/doc/en/lb4/Sequence.html for more details.
224
-
225
-
226
-
227
-
228
-
229
- ## [5.2.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@5.2.0...@loopback/rest@5.2.1) (2020-07-20)
230
-
231
-
232
- ### Bug Fixes
233
-
234
- * ensure delete only applies to optional properties ([89cd43f](https://github.com/strongloop/loopback-next/commit/89cd43f1a455983f120d9bb9c869eac36adc7ad7))
235
- * nested scope filter ([b29d6d7](https://github.com/strongloop/loopback-next/commit/b29d6d7938b0d07e927b0939745b76cfff91272b))
236
- * **repository-json-schema:** added type 'object' to model json schema ([5c5f9ef](https://github.com/strongloop/loopback-next/commit/5c5f9efcfdea7788503d74610e7ce64f31abc7cd)), closes [#3804](https://github.com/strongloop/loopback-next/issues/3804)
237
-
238
-
239
-
240
-
241
-
242
- # [5.2.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@5.1.2...@loopback/rest@5.2.0) (2020-06-30)
243
-
244
-
245
- ### Bug Fixes
246
-
247
- * **rest:** fix typing to be compatible with latest @types/js-yaml ([5ac39e4](https://github.com/strongloop/loopback-next/commit/5ac39e44827ef74c9d2bccb1797a9da125c249e3))
248
-
249
-
250
- ### Features
251
-
252
- * coerce query object with schema ([ccea25f](https://github.com/strongloop/loopback-next/commit/ccea25fc382457f9436adfc0d8f6ce3a2d029c5e))
253
- * **rest:** expose types from strong-error-handler ([b6f5595](https://github.com/strongloop/loopback-next/commit/b6f559549518c839a2898f1b968fc6a7901a6c6b))
254
-
255
-
256
-
257
-
258
-
259
- ## [5.1.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@5.1.1...@loopback/rest@5.1.2) (2020-06-23)
260
-
261
-
262
- ### Bug Fixes
263
-
264
- * set node version to >=10.16 to support events.once ([e39da1c](https://github.com/strongloop/loopback-next/commit/e39da1ca47728eafaf83c10ce35b09b03b6a4edc))
265
-
266
-
267
-
268
-
269
-
270
- ## [5.1.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@5.1.0...@loopback/rest@5.1.1) (2020-06-11)
271
-
272
- **Note:** Version bump only for package @loopback/rest
273
-
274
-
275
-
276
-
277
-
278
- # [5.1.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@5.0.1...@loopback/rest@5.1.0) (2020-05-28)
279
-
280
-
281
- ### Features
282
-
283
- * **rest:** add `exportOpenAPISpec` to export the OpenAPI spec to a file ([6e669f6](https://github.com/strongloop/loopback-next/commit/6e669f62ec6b87d3e857f57787bc694cc7af47ac))
284
-
285
-
286
-
287
-
288
-
289
- ## [5.0.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@5.0.0...@loopback/rest@5.0.1) (2020-05-20)
290
-
291
- **Note:** Version bump only for package @loopback/rest
292
-
293
-
294
-
295
-
296
-
297
- # [5.0.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0...@loopback/rest@5.0.0) (2020-05-19)
298
-
299
-
300
- ### Bug Fixes
301
-
302
- * **rest:** check if the middleware chain has already produce a response ([be290dc](https://github.com/strongloop/loopback-next/commit/be290dc7088eddeecd79288ccb6c70f4da9956fd))
303
- * use unknown type for err argument for Express hander ([b13b338](https://github.com/strongloop/loopback-next/commit/b13b3386a06332b71b33a64f5bc2ab9b4544cc8a))
304
-
305
-
306
- ### Features
307
-
308
- * **openapi-v3:** relax `[@api](https://github.com/api)` to make `paths` optional with `{}` as the default ([ef3c415](https://github.com/strongloop/loopback-next/commit/ef3c4151efb2c88daa2b5abb37c6086b91860c92))
309
- * **rest:** remove bindElement and getFromContext ([d6d830f](https://github.com/strongloop/loopback-next/commit/d6d830f8161fbb408f75df69402144dc2ca7cc48))
310
-
311
-
312
- ### BREAKING CHANGES
313
-
314
- * **rest:** usage of `BindElement` and `GetFromContext` should be
315
- replaced with `@inject.setter`, `@inject.binding`, and `@inject.getter`.
316
-
317
- See https://loopback.io/doc/en/lb4/Decorators_inject.html
318
-
319
-
320
-
321
-
322
-
323
- # [4.0.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@3.3.2...@loopback/rest@4.0.0) (2020-05-07)
324
-
325
-
326
- ### Features
327
-
328
- * **rest:** use @loopback/express for sequence, cors, and OpenAPI spec ([19e2510](https://github.com/strongloop/loopback-next/commit/19e25107da7eaadcdf29a04b2bb295d51555a050))
329
-
330
-
331
- ### BREAKING CHANGES
332
-
333
- * **rest:** `basePath` now also applies to endpoints that serve OpenAPI
334
- specs. For example, the OpenAPI specs are available at `/api/openapi.json`
335
- or `/api/openapi.yaml` if the base path is set to `/api`.
336
-
337
-
338
-
339
-
340
-
341
- ## [3.3.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@3.3.1...@loopback/rest@3.3.2) (2020-04-29)
342
-
343
- **Note:** Version bump only for package @loopback/rest
344
-
345
-
346
-
347
-
348
-
349
- ## [3.3.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@3.3.0...@loopback/rest@3.3.1) (2020-04-23)
350
-
351
- **Note:** Version bump only for package @loopback/rest
352
-
353
-
354
-
355
-
356
-
357
- # [3.3.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@3.2.1...@loopback/rest@3.3.0) (2020-04-22)
358
-
359
-
360
- ### Features
361
-
362
- * **rest:** ensure OpenAPI spec components are merged ([2efa27b](https://github.com/strongloop/loopback-next/commit/2efa27b283d86258fe705914c557536abaf2c435))
363
- * migrate loopback-example-passport repo as lb4 example ([dd3c328](https://github.com/strongloop/loopback-next/commit/dd3c328a138621bb3f6ae770b4db83ba21ecc2d6))
364
- * update package.json and .travis.yml for builds ([cb2b8e6](https://github.com/strongloop/loopback-next/commit/cb2b8e6a18616dda7783c0193091039d4e608131))
365
- * **rest:** add openapi schema consolidation ([6a039ed](https://github.com/strongloop/loopback-next/commit/6a039edd4e056089bca8cf2acd4ed7ddab55d55e))
366
-
367
-
368
-
369
-
370
-
371
- ## [3.2.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@3.2.0...@loopback/rest@3.2.1) (2020-04-11)
372
-
373
- **Note:** Version bump only for package @loopback/rest
374
-
375
-
376
-
377
-
378
-
379
- # [3.2.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@3.1.0...@loopback/rest@3.2.0) (2020-04-08)
380
-
381
-
382
- ### Bug Fixes
383
-
384
- * passport strategy adapter must support oauth2 flows ([67c2f02](https://github.com/strongloop/loopback-next/commit/67c2f02f74c08ee037827c0045e1f225d6ca8ede))
385
-
386
-
387
- ### Features
388
-
389
- * **rest:** improve Ajv validation to allow extensions of keywords and formats ([afdee34](https://github.com/strongloop/loopback-next/commit/afdee346f5b56932d59ff600478116b75eac797d))
390
- * **rest:** use the description field in Openapi ([4ca321c](https://github.com/strongloop/loopback-next/commit/4ca321c01a128b14dcbc5336901899ee61ff1460))
391
- * support any type ([03ce221](https://github.com/strongloop/loopback-next/commit/03ce221bb41a2ecd296ba235fe342d488fa2d639))
392
-
393
-
394
-
395
-
396
-
397
- # [3.1.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@3.0.1...@loopback/rest@3.1.0) (2020-03-24)
398
-
399
-
400
- ### Bug Fixes
401
-
402
- * **rest:** allow async custom keyword by setting {$async: true} to referenced schemas ([ede4bbd](https://github.com/strongloop/loopback-next/commit/ede4bbdba4d0bca3a558309118bc97924f48fd6e))
403
- * update package locks ([cd2f6fa](https://github.com/strongloop/loopback-next/commit/cd2f6fa7a732afe4a16f4ccf8316ff3142959fe8))
404
-
405
-
406
- ### Features
407
-
408
- * **rest:** add info spec enhancer to build `info` for OpenAPI spec from application metadata ([a440ae2](https://github.com/strongloop/loopback-next/commit/a440ae248f8a51abb573ee3f1246be82e1d38817))
409
-
410
-
411
-
412
-
413
-
414
- ## [3.0.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@3.0.0...@loopback/rest@3.0.1) (2020-03-17)
415
-
416
- **Note:** Version bump only for package @loopback/rest
417
-
418
-
419
-
420
-
421
-
422
- # [3.0.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@2.0.0...@loopback/rest@3.0.0) (2020-03-05)
423
-
424
-
425
- ### Bug Fixes
426
-
427
- * **cli:** extract messages for generators ([2f572bd](https://github.com/strongloop/loopback-next/commit/2f572bd75883420e38bfaa780bc38445aec92e65))
428
- * **rest:** improves error handling for express middleware ([02d0c91](https://github.com/strongloop/loopback-next/commit/02d0c91abb97830fd8652dde69ac4153720f3e75))
429
-
430
-
431
- ### chore
432
-
433
- * remove support for Node.js v8.x ([4281d9d](https://github.com/strongloop/loopback-next/commit/4281d9df50f0715d32879e1442a90b643ec8f542))
434
-
435
-
436
- ### Code Refactoring
437
-
438
- * **rest:** make getApiSpec() async ([fe3df1b](https://github.com/strongloop/loopback-next/commit/fe3df1b85904ee8b8a005fa6eddf150d28ad2a08))
439
-
440
-
441
- ### Features
442
-
443
- * **rest:** add async validation support ([5b9a1ef](https://github.com/strongloop/loopback-next/commit/5b9a1efe03a9728dc707eb050c24b0ac7e23a1ec))
444
- * **rest:** add openapi enhancer service ([62d55eb](https://github.com/strongloop/loopback-next/commit/62d55ebd956910cbb487611673f21ec7088f3dcc)), closes [#4380](https://github.com/strongloop/loopback-next/issues/4380)
445
- * **rest:** add support for ajv-errors ([d151475](https://github.com/strongloop/loopback-next/commit/d151475d8fc91b4b02e0067c1db7069620143dd2))
446
- * **rest:** allow controllers/routes to be added/removed after server is started ([b604563](https://github.com/strongloop/loopback-next/commit/b6045636885268d9ea5d31287351ddbf0da53a7c))
447
- * add `tslib` as dependency ([a6e0b4c](https://github.com/strongloop/loopback-next/commit/a6e0b4ce7b862764167cefedee14c1115b25e0a4)), closes [#4676](https://github.com/strongloop/loopback-next/issues/4676)
448
- * **rest:** bind controller routes to the context ([a645b17](https://github.com/strongloop/loopback-next/commit/a645b17d0338e56f8182437d6ade20f27577203d))
449
- * **rest:** fixed AjvErrorOptions type & added test for ajvErrors: Object ([aa711d0](https://github.com/strongloop/loopback-next/commit/aa711d068b476292cdf27f673228746d21999c52))
450
-
451
-
452
- ### BREAKING CHANGES
453
-
454
- * **rest:** Api specifications are now emitted as a Promise instead
455
- of a value object. Calls to getApiSpec function must switch from
456
- the old style to new style as follows:
457
-
458
- 1. Old style
459
-
460
- ```ts
461
- function() {
462
- // ...
463
- const spec = restApp.restServer.getApiSpec();
464
- // ...
465
- }
466
- ```
467
-
468
- 2. New style
469
-
470
- ```ts
471
- async function() {
472
- // ...
473
- const spec = await restApp.restServer.getApiSpec();
474
- // ...
475
- }
476
- ```
477
- * **rest:** `validateRequestBody` is now an async function to allow asynchronous validations by custom Ajv keywords and formats. See https://ajv.js.org/#asynchronous-validation
478
- for more details.
479
- * Node.js v8.x is now end of life. Please upgrade to version
480
- 10 and above. See https://nodejs.org/en/about/releases.
481
-
482
-
483
-
484
-
485
-
486
- # [2.0.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.26.1...@loopback/rest@2.0.0) (2020-02-06)
487
-
488
-
489
- ### Bug Fixes
490
-
491
- * suport complex objects for query params in api explorer ([a4ef640](https://github.com/strongloop/loopback-next/commit/a4ef64037a80d1ff7df37ba7912909a1bfcdbf51))
492
-
493
-
494
- ### BREAKING CHANGES
495
-
496
- * This fix has modified the api definitions described by the decorator
497
- 'param.query.object', to support Open-API's `url-encoded` definition for json query
498
- parameters.
499
-
500
- Previously, such parameters were described with `exploded: true` and
501
- `style: deepObject`, i.e exploded encoding, which turned out to be problematic as explained and discussed in,
502
- https://github.com/swagger-api/swagger-js/issues/1385 and
503
- https://github.com/OAI/OpenAPI-Specification/issues/1706
504
-
505
- ```json
506
- {
507
- "in": "query",
508
- "style": "deepObject"
509
- "explode": "true",
510
- "schema": {}
511
- }
512
- ```
513
-
514
- Exploded encoding worked for simple json objects as below but not for complex objects.
515
-
516
- ```
517
- http://localhost:3000/todos?filter[limit]=2
518
- ```
519
-
520
- To address these issues with exploded queries, this fix switches definition of json
521
- query params from the `exploded`, `deep-object` style to the `url-encoded` style
522
- definition in Open-API spec.
523
-
524
- LoopBack already supports receiving url-encoded payload for json query parameters.
525
-
526
- For instance, to filter api results from the GET '/todo-list' endpoint in the
527
- todo-list example with a specific relation, { "include": [ { "relation": "todo" } ] },
528
- the following url-encoded query parameter can be used,
529
-
530
- ```
531
- http://localhost:3000/todos?filter=%7B%22include%22%3A%5B%7B%22relation%22%3A%22todoList%22%7D%5D%7D
532
- ```
533
-
534
- The above was possible because the coercion behavior in LoopBack performed json
535
- parsing for `deep object` style json query params before this fix. This fix has
536
- modified that behavior by removing json parsing. Since the `exploded` `deep-object`
537
- definition has been removed from the `param.query.object` decorator, this new
538
- behaviour remains just an internal source code aspect as of now.
539
-
540
- In effect, this fix only modifies the open api definitions generated from LoopBack
541
- APIs. The 'style' and 'explode' fields are removed and the 'schema' field is moved
542
- under 'content[application/json]'. This is the definition that supports url-encoding
543
- as per Open-API spec.
544
-
545
- ```json
546
- {
547
- "in": "query"
548
- "content": {
549
- "application/json": {
550
- "schema": {}
551
- }
552
- }
553
- }
554
- ```
555
-
556
- Certain client libraries (like swagger-ui or LoopBack's api explorer) necessiate
557
- using Open-API's `url-encoded` style definition for json query params to support
558
- "sending" url-encoded payload.
559
-
560
- All consumers of LoopBack APIs may need to regenerate api definitions, if their
561
- client libraries require them to do so for url-encoding.
562
-
563
- Otherwise there wouldn't be any significant impact on API consumers.
564
-
565
- To preserve compatibility with existing REST API clients, this change is backward
566
- compatible. All exploded queries like `?filter[limit]=1` will continue to work for
567
- json query params, despite the fact that they are described differently in the
568
- OpenAPI spec.
569
-
570
- Existing api clients will continue to work after an upgrade.
571
-
572
- The signature of the 'param.query.object' decorator has not changed.
573
-
574
- There is no code changes required in the LoopBack APIs after upgrading to this
575
- fix. No method signatures or data structures are impacted.
576
-
577
-
578
-
579
-
580
-
581
- ## [1.26.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.26.0...@loopback/rest@1.26.1) (2020-02-05)
582
-
583
- **Note:** Version bump only for package @loopback/rest
584
-
585
-
586
-
587
-
588
-
589
- # [1.26.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.25.1...@loopback/rest@1.26.0) (2020-01-27)
590
-
591
-
592
- ### Features
593
-
594
- * **context:** index bindings by tag to speed up matching by tag ([566b9d9](https://github.com/strongloop/loopback-next/commit/566b9d9a35ce52d9aeefe17e36f91c9714616b21))
595
-
596
-
597
-
598
-
599
-
600
- ## [1.25.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.25.0...@loopback/rest@1.25.1) (2020-01-07)
601
-
602
- **Note:** Version bump only for package @loopback/rest
603
-
604
-
605
-
606
-
607
-
608
- # [1.25.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.24.0...@loopback/rest@1.25.0) (2019-12-09)
609
-
610
-
611
- ### Features
612
-
613
- * **context:** make it possible to set source information for interceptions ([2a1ccb4](https://github.com/strongloop/loopback-next/commit/2a1ccb409a889d8b30b03ddf3284c9e9d5554e27))
614
-
615
-
616
-
617
-
618
-
619
- # [1.24.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.23.0...@loopback/rest@1.24.0) (2019-11-25)
620
-
621
-
622
- ### Features
623
-
624
- * **rest:** upgrade to path-to-regexp 6.x and improve error messages ([ad44209](https://github.com/strongloop/loopback-next/commit/ad4420954e3d3c18d4a52ca7511985d026efcdc6))
625
-
626
-
627
-
628
-
629
-
630
- # [1.23.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.22.0...@loopback/rest@1.23.0) (2019-11-12)
631
-
632
-
633
- ### Bug Fixes
634
-
635
- * **rest:** improve null check to avoid compilation errors with TypeScript 3.7 ([ab47ef6](https://github.com/strongloop/loopback-next/commit/ab47ef63adc01b170ddc537ca973da631c5a8d8f))
636
-
637
-
638
- ### Features
639
-
640
- * **rest:** bind operation spec to the request context ([55311df](https://github.com/strongloop/loopback-next/commit/55311df23e8b4a22968b5c0edd826323538ba163))
641
-
642
-
643
-
644
-
645
-
646
- # [1.22.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.21.0...@loopback/rest@1.22.0) (2019-10-24)
647
-
648
-
649
- ### Bug Fixes
650
-
651
- * **openapi-v3:** preserve `additionalProperties: false` ([bc7691b](https://github.com/strongloop/loopback-next/commit/bc7691b0963ee297922bd4d9652a0eccf763f085))
652
-
653
-
654
- ### Features
655
-
656
- * improve debug logs for schema generators ([da88cdf](https://github.com/strongloop/loopback-next/commit/da88cdf9c75b0ca498b86f7cd5729f78a4b160f7))
657
- * simplify model schema with excluded properties ([b554ac8](https://github.com/strongloop/loopback-next/commit/b554ac8a08a518f112d111ebabcac48279ada7f8))
658
-
659
-
660
-
661
-
662
-
663
- # [1.21.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.20.1...@loopback/rest@1.21.0) (2019-10-07)
664
-
665
-
666
- ### Features
667
-
668
- * **rest:** add listenOnStart flag to control http listening for a rest server ([2c5a131](https://github.com/strongloop/loopback-next/commit/2c5a131))
669
-
670
-
671
-
672
-
673
-
674
- ## [1.20.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.20.0...@loopback/rest@1.20.1) (2019-09-28)
675
-
676
- **Note:** Version bump only for package @loopback/rest
677
-
678
-
679
-
680
-
681
-
682
- # [1.20.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.19.0...@loopback/rest@1.20.0) (2019-09-27)
683
-
684
-
685
- ### Features
686
-
687
- * **rest:** added support for sockets and pipes to RestServer ([e48ebb8](https://github.com/strongloop/loopback-next/commit/e48ebb8))
688
- * **rest:** allow developers to transform AJV error objects ([8c05b57](https://github.com/strongloop/loopback-next/commit/8c05b57))
689
- * self host oas spec by default on relative path in explorer ([887556e](https://github.com/strongloop/loopback-next/commit/887556e))
690
-
691
-
692
-
693
-
694
-
695
- # [1.19.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.18.1...@loopback/rest@1.19.0) (2019-09-17)
696
-
697
-
698
- ### Features
699
-
700
- * **eslint-config:** enable "no-misused-promises" rule ([88d5494](https://github.com/strongloop/loopback-next/commit/88d5494))
701
-
702
-
703
-
704
-
705
-
706
- ## [1.18.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.18.0...@loopback/rest@1.18.1) (2019-09-06)
707
-
708
- **Note:** Version bump only for package @loopback/rest
709
-
710
-
711
-
712
-
713
-
714
- # [1.18.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.17.0...@loopback/rest@1.18.0) (2019-09-03)
715
-
716
-
717
- ### Bug Fixes
718
-
719
- * make givenHttpServerConfig typing compatible with TypeScript 3.6 ([1edbc0b](https://github.com/strongloop/loopback-next/commit/1edbc0b))
720
-
721
-
722
- ### Features
723
-
724
- * **core:** allow application to accept a parent context ([ee50007](https://github.com/strongloop/loopback-next/commit/ee50007))
725
-
726
-
727
-
728
-
729
-
730
- # [1.17.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.16.8...@loopback/rest@1.17.0) (2019-08-19)
731
-
732
-
733
- ### Features
734
-
735
- * **rest:** add support for ajv-keywords ([f7bb80d](https://github.com/strongloop/loopback-next/commit/f7bb80d))
736
-
737
-
738
-
739
-
740
-
741
- ## [1.16.8](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.16.7...@loopback/rest@1.16.8) (2019-08-15)
742
-
743
- **Note:** Version bump only for package @loopback/rest
744
-
745
-
746
-
747
-
748
-
749
- ## [1.16.7](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.16.6...@loopback/rest@1.16.7) (2019-08-15)
750
-
751
- **Note:** Version bump only for package @loopback/rest
752
-
753
-
754
-
755
-
756
-
757
- ## [1.16.6](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.16.5...@loopback/rest@1.16.6) (2019-07-31)
758
-
759
- **Note:** Version bump only for package @loopback/rest
760
-
761
-
762
-
763
-
764
-
765
- ## [1.16.5](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.16.4...@loopback/rest@1.16.5) (2019-07-26)
766
-
767
- **Note:** Version bump only for package @loopback/rest
768
-
769
-
770
-
771
-
772
-
773
- ## [1.16.4](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.16.3...@loopback/rest@1.16.4) (2019-07-17)
774
-
775
-
776
- ### Bug Fixes
777
-
778
- * **rest:** correctly handle basePath set via basePath() API ([2118d80](https://github.com/strongloop/loopback-next/commit/2118d80))
779
-
780
-
781
-
782
-
783
-
784
- ## [1.16.3](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.16.2...@loopback/rest@1.16.3) (2019-06-28)
785
-
786
-
787
- ### Bug Fixes
788
-
789
- * **rest:** honor options for AJV validator caching ([1fd52a3](https://github.com/strongloop/loopback-next/commit/1fd52a3))
790
- * address violations of "no-floating-promises" rule ([0947531](https://github.com/strongloop/loopback-next/commit/0947531))
791
-
792
-
793
-
794
-
795
-
796
- ## [1.16.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.16.1...@loopback/rest@1.16.2) (2019-06-21)
797
-
798
- **Note:** Version bump only for package @loopback/rest
799
-
800
-
801
-
802
-
803
-
804
- ## [1.16.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.16.0...@loopback/rest@1.16.1) (2019-06-20)
805
-
806
- **Note:** Version bump only for package @loopback/rest
807
-
808
-
809
-
810
-
811
-
812
- # [1.16.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.15.0...@loopback/rest@1.16.0) (2019-06-17)
813
-
814
-
815
- ### Features
816
-
817
- * **rest:** expose request body validation options to be configurable ([00ec6df](https://github.com/strongloop/loopback-next/commit/00ec6df))
818
- * **rest:** set nullable to true by default for AJV validations ([73ad6ad](https://github.com/strongloop/loopback-next/commit/73ad6ad))
819
-
820
-
821
-
822
-
823
-
824
- # [1.15.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.14.0...@loopback/rest@1.15.0) (2019-06-06)
825
-
826
-
827
- ### Features
828
-
829
- * **testlab:** add generic helper `skipOnTravis` ([3221d9f](https://github.com/strongloop/loopback-next/commit/3221d9f))
830
-
831
-
832
-
833
-
834
-
835
- # [1.14.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.13.1...@loopback/rest@1.14.0) (2019-06-03)
836
-
837
-
838
- ### Features
839
-
840
- * replace tslint with eslint ([44185a7](https://github.com/strongloop/loopback-next/commit/44185a7))
841
-
842
-
843
-
844
-
845
-
846
- ## [1.13.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.13.0...@loopback/rest@1.13.1) (2019-05-31)
847
-
848
- **Note:** Version bump only for package @loopback/rest
849
-
850
-
851
-
852
-
853
-
854
- # [1.13.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.12.0...@loopback/rest@1.13.0) (2019-05-30)
855
-
856
-
857
- ### Bug Fixes
858
-
859
- * specify the type for handler ([9e0119d](https://github.com/strongloop/loopback-next/commit/9e0119d))
860
-
861
-
862
- ### Features
863
-
864
- * helpers for building JSON/OpenAPI schema referencing shared definitions ([bf07ff9](https://github.com/strongloop/loopback-next/commit/bf07ff9))
865
-
866
-
867
-
868
-
869
-
870
- # [1.12.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.11.2...@loopback/rest@1.12.0) (2019-05-23)
871
-
872
-
873
- ### Features
874
-
875
- * **context:** leave local bindings and parent unchanged during close ([198af88](https://github.com/strongloop/loopback-next/commit/198af88))
876
-
877
-
878
-
879
-
880
-
881
- ## [1.11.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.11.1...@loopback/rest@1.11.2) (2019-05-14)
882
-
883
- **Note:** Version bump only for package @loopback/rest
884
-
885
-
886
-
887
-
888
-
889
- ## [1.11.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.11.0...@loopback/rest@1.11.1) (2019-05-10)
890
-
891
- **Note:** Version bump only for package @loopback/rest
892
-
893
-
894
-
895
-
896
-
897
- # [1.11.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.10.5...@loopback/rest@1.11.0) (2019-05-09)
898
-
899
-
900
- ### Bug Fixes
901
-
902
- * **rest:** assign all component properties to target spec ([af06b69](https://github.com/strongloop/loopback-next/commit/af06b69))
903
-
904
-
905
- ### Features
906
-
907
- * **context:** add support for method interceptors ([293188d](https://github.com/strongloop/loopback-next/commit/293188d))
908
-
909
-
910
-
911
-
912
-
913
- ## [1.10.5](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.10.4...@loopback/rest@1.10.5) (2019-05-06)
914
-
915
-
916
- ### Bug Fixes
917
-
918
- * **rest:** aggressive redirection to Swagger UI ([9f0d8ca](https://github.com/strongloop/loopback-next/commit/9f0d8ca))
919
-
920
-
921
-
922
-
923
-
924
- ## [1.10.4](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.10.3...@loopback/rest@1.10.4) (2019-04-26)
925
-
926
- **Note:** Version bump only for package @loopback/rest
927
-
928
-
929
-
930
-
931
-
932
- ## [1.10.3](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.10.2...@loopback/rest@1.10.3) (2019-04-20)
933
-
934
-
935
- ### Bug Fixes
936
-
937
- * **rest:** fix a variable in sample code for README.md ([2bad701](https://github.com/strongloop/loopback-next/commit/2bad701))
938
-
939
-
940
-
941
-
942
-
943
- ## [1.10.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.10.1...@loopback/rest@1.10.2) (2019-04-11)
944
-
945
- **Note:** Version bump only for package @loopback/rest
946
-
947
-
948
-
949
-
950
-
951
- ## [1.10.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.10.0...@loopback/rest@1.10.1) (2019-04-09)
952
-
953
-
954
- ### Bug Fixes
955
-
956
- * **rest:** a small typo fix in code comments ([81d19bb](https://github.com/strongloop/loopback-next/commit/81d19bb))
957
-
958
-
959
-
960
-
961
-
962
- # [1.10.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.9.1...@loopback/rest@1.10.0) (2019-04-05)
963
-
964
-
965
- ### Bug Fixes
966
-
967
- * **rest:** make sure basePath is included in RestServer.url ([705bce4](https://github.com/strongloop/loopback-next/commit/705bce4))
968
-
969
-
970
- ### Features
971
-
972
- * **context:** pass resolution options into binding.getValue() ([705dcd5](https://github.com/strongloop/loopback-next/commit/705dcd5))
973
- * **rest:** add mountExpressRouter ([be21cde](https://github.com/strongloop/loopback-next/commit/be21cde))
974
-
975
-
976
-
977
-
978
-
979
- ## [1.9.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.9.0...@loopback/rest@1.9.1) (2019-03-22)
980
-
981
- **Note:** Version bump only for package @loopback/rest
982
-
983
-
984
-
985
-
986
-
987
- # [1.9.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.8.0...@loopback/rest@1.9.0) (2019-03-22)
988
-
989
-
990
- ### Features
991
-
992
- * **context:** honor binding scope from [@bind](https://github.com/bind) ([3b30f01](https://github.com/strongloop/loopback-next/commit/3b30f01))
993
- * **context:** tidy up context for resolving injections of a singleton binding ([f5bf43c](https://github.com/strongloop/loopback-next/commit/f5bf43c))
994
- * **rest:** add `requestedBaseUrl` API to RequestContext ([912bece](https://github.com/strongloop/loopback-next/commit/912bece))
995
- * **testlab:** add dummy HTTPS config ([a32c885](https://github.com/strongloop/loopback-next/commit/a32c885))
996
-
997
-
998
-
999
-
1000
-
1001
- # [1.8.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.7.0...@loopback/rest@1.8.0) (2019-03-12)
1002
-
1003
-
1004
- ### Features
1005
-
1006
- * **openapi-v3:** add operationId based on controller/method names ([89f905b](https://github.com/strongloop/loopback-next/commit/89f905b))
1007
- * **rest:** add strict option for routers ([c3c5dab](https://github.com/strongloop/loopback-next/commit/c3c5dab))
1008
- * **rest:** add support for redirect routes ([53bce7f](https://github.com/strongloop/loopback-next/commit/53bce7f))
1009
-
1010
-
1011
-
1012
-
1013
-
1014
- # [1.7.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.6.0...@loopback/rest@1.7.0) (2019-03-01)
1015
-
1016
-
1017
- ### Features
1018
-
1019
- * **rest:** allow express settings to be customized ([962f1cb](https://github.com/strongloop/loopback-next/commit/962f1cb))
1020
-
1021
-
1022
-
1023
-
1024
-
1025
- # [1.6.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.5.5...@loopback/rest@1.6.0) (2019-02-25)
1026
-
1027
-
1028
- ### Bug Fixes
1029
-
1030
- * **rest:** only return matched trie nodes with values ([669ede1](https://github.com/strongloop/loopback-next/commit/669ede1))
1031
-
1032
-
1033
- ### Features
1034
-
1035
- * **context:** introduce async context observers for bind/unbind events ([e5e5fc4](https://github.com/strongloop/loopback-next/commit/e5e5fc4))
1036
- * **rest:** add `disabled` option for OpenAPI spec endpoints ([af5b16a](https://github.com/strongloop/loopback-next/commit/af5b16a))
1037
- * **rest:** allow rest-server to be mounted on a path to express ([de8f626](https://github.com/strongloop/loopback-next/commit/de8f626))
1038
- * **rest:** introduce requestBodyParser options in RestServerOptions ([c7f59ba](https://github.com/strongloop/loopback-next/commit/c7f59ba))
1039
-
1040
-
1041
-
1042
-
1043
-
1044
- ## [1.5.5](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.5.4...@loopback/rest@1.5.5) (2019-02-08)
1045
-
1046
-
1047
- ### Bug Fixes
1048
-
1049
- * **rest:** sanitize json for JSON.parse() ([5042698](https://github.com/strongloop/loopback-next/commit/5042698))
1050
- * update to the most recent lodash version ([65ee865](https://github.com/strongloop/loopback-next/commit/65ee865))
1051
-
1052
-
1053
-
1054
-
1055
-
1056
- ## [1.5.4](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.5.3...@loopback/rest@1.5.4) (2019-01-28)
1057
-
1058
- **Note:** Version bump only for package @loopback/rest
1059
-
1060
-
1061
-
1062
-
1063
-
1064
- ## [1.5.3](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.5.2...@loopback/rest@1.5.3) (2019-01-15)
1065
-
1066
- **Note:** Version bump only for package @loopback/rest
1067
-
1068
-
1069
-
1070
-
1071
-
1072
- ## [1.5.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.5.1...@loopback/rest@1.5.2) (2019-01-14)
1073
-
1074
-
1075
- ### Bug Fixes
1076
-
1077
- * rework tslint comments disabling "no-unused-variable" rule ([a18a3d7](https://github.com/strongloop/loopback-next/commit/a18a3d7))
1078
-
1079
-
1080
-
1081
-
1082
-
1083
- ## [1.5.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.5.0...@loopback/rest@1.5.1) (2018-12-20)
1084
-
1085
- **Note:** Version bump only for package @loopback/rest
1086
-
1087
-
1088
-
1089
-
1090
-
1091
- # [1.5.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.4.0...@loopback/rest@1.5.0) (2018-12-13)
1092
-
1093
-
1094
- ### Bug Fixes
1095
-
1096
- * **rest:** add tests for request validation per media type ([7be76a4](https://github.com/strongloop/loopback-next/commit/7be76a4))
1097
- * **rest:** parse query string even when there is no rest query param ([ad905a5](https://github.com/strongloop/loopback-next/commit/ad905a5))
1098
-
1099
-
1100
- ### Features
1101
-
1102
- * **rest:** allow basePath for rest servers ([1016a09](https://github.com/strongloop/loopback-next/commit/1016a09))
1103
-
1104
-
1105
-
1106
-
1107
-
1108
- # [1.4.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.3.1...@loopback/rest@1.4.0) (2018-11-26)
1109
-
1110
-
1111
- ### Bug Fixes
1112
-
1113
- * **rest:** allow `.` to be used in openapi path template ([47c24cb](https://github.com/strongloop/loopback-next/commit/47c24cb))
1114
-
1115
-
1116
- ### Features
1117
-
1118
- * **rest:** allow body parsers to be extended ([86bfcbc](https://github.com/strongloop/loopback-next/commit/86bfcbc))
1119
- * **rest:** switch to express body-parser ([084837f](https://github.com/strongloop/loopback-next/commit/084837f))
1120
-
1121
-
1122
-
1123
-
1124
-
1125
- ## [1.3.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.3.0...@loopback/rest@1.3.1) (2018-11-17)
1126
-
1127
-
1128
- ### Bug Fixes
1129
-
1130
- * **rest:** allow users to disable Explorer redirects after RestServer was created ([34af6a0](https://github.com/strongloop/loopback-next/commit/34af6a0))
1131
-
1132
-
1133
-
1134
-
1135
-
1136
- # [1.3.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.2.0...@loopback/rest@1.3.0) (2018-11-14)
1137
-
1138
-
1139
- ### Features
1140
-
1141
- * **rest:** add config option to disable API Explorer redirects ([b4d9bc5](https://github.com/strongloop/loopback-next/commit/b4d9bc5))
1142
-
1143
-
1144
-
1145
-
1146
-
1147
- <a name="1.2.0"></a>
1148
- # [1.2.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.0.1...@loopback/rest@1.2.0) (2018-11-08)
1149
-
1150
-
1151
- ### Bug Fixes
1152
-
1153
- * **rest:** don't rely on transitive dependencies from express ([a3d5d0c](https://github.com/strongloop/loopback-next/commit/a3d5d0c))
1154
- * **rest:** handle overlapping paths with different vars ([17adc7a](https://github.com/strongloop/loopback-next/commit/17adc7a))
1155
- * **rest:** improve route sorting to group by path and verb ([ce31bf7](https://github.com/strongloop/loopback-next/commit/ce31bf7))
1156
- * **rest:** make sure the sorting test pass for node 11 ([614450b](https://github.com/strongloop/loopback-next/commit/614450b))
1157
- * fix static assets router blocking controller registration ([0e1b06f](https://github.com/strongloop/loopback-next/commit/0e1b06f))
1158
- * move serve-static [@types](https://github.com/types) to normal dependencies ([216bf85](https://github.com/strongloop/loopback-next/commit/216bf85)), closes [#1917](https://github.com/strongloop/loopback-next/issues/1917)
1159
- * optimize serving static files ([57a94a5](https://github.com/strongloop/loopback-next/commit/57a94a5))
1160
- * remove unnecessary dependency from [#1918](https://github.com/strongloop/loopback-next/issues/1918) ([63d367b](https://github.com/strongloop/loopback-next/commit/63d367b))
1161
-
1162
-
1163
- ### Features
1164
-
1165
- * add 'x-visibility' extension property to OpenAPI spec ([5634e18](https://github.com/strongloop/loopback-next/commit/5634e18))
1166
- * **rest:** add support for form request body ([2d9e0a8](https://github.com/strongloop/loopback-next/commit/2d9e0a8))
1167
- * **rest:** push route(verb, path, spec, fn) down to RestServer ([c49b65a](https://github.com/strongloop/loopback-next/commit/c49b65a))
1168
-
1169
-
1170
-
1171
-
1172
-
1173
- <a name="1.0.1"></a>
1174
- ## [1.0.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@1.0.0...@loopback/rest@1.0.1) (2018-10-17)
1175
-
1176
- **Note:** Version bump only for package @loopback/rest
1177
-
1178
-
1179
-
1180
-
1181
-
1182
- <a name="0.26.0"></a>
1183
- # [0.26.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.25.5...@loopback/rest@0.26.0) (2018-10-08)
1184
-
1185
-
1186
- ### Features
1187
-
1188
- * **rest:** switch to trie based routing ([a682ce2](https://github.com/strongloop/loopback-next/commit/a682ce2))
1189
-
1190
-
1191
-
1192
-
1193
-
1194
- <a name="0.25.5"></a>
1195
- ## [0.25.5](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.25.4...@loopback/rest@0.25.5) (2018-10-06)
1196
-
1197
- **Note:** Version bump only for package @loopback/rest
1198
-
1199
-
1200
-
1201
-
1202
-
1203
- <a name="0.25.4"></a>
1204
- ## [0.25.4](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.25.3...@loopback/rest@0.25.4) (2018-10-05)
1205
-
1206
- **Note:** Version bump only for package @loopback/rest
1207
-
1208
-
1209
-
1210
-
1211
-
1212
- <a name="0.25.3"></a>
1213
- ## [0.25.3](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.25.2...@loopback/rest@0.25.3) (2018-10-03)
1214
-
1215
-
1216
- ### Performance Improvements
1217
-
1218
- * improve schema validation peformance ([353b202](https://github.com/strongloop/loopback-next/commit/353b202))
1219
-
1220
-
1221
-
1222
-
1223
-
1224
- <a name="0.25.2"></a>
1225
- ## [0.25.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.25.1...@loopback/rest@0.25.2) (2018-09-28)
1226
-
1227
- **Note:** Version bump only for package @loopback/rest
1228
-
1229
-
1230
-
1231
-
1232
-
1233
- <a name="0.25.1"></a>
1234
- ## [0.25.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.25.0...@loopback/rest@0.25.1) (2018-09-27)
1235
-
1236
- **Note:** Version bump only for package @loopback/rest
1237
-
1238
-
1239
-
1240
-
1241
-
1242
- <a name="0.25.0"></a>
1243
- # [0.25.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.24.0...@loopback/rest@0.25.0) (2018-09-25)
1244
-
1245
-
1246
- ### Bug Fixes
1247
-
1248
- * **rest:** coerce string parameters (reject object values) ([1f49844](https://github.com/strongloop/loopback-next/commit/1f49844))
1249
-
1250
-
1251
- ### Features
1252
-
1253
- * builders for Filter and Where schemas ([ca8d96e](https://github.com/strongloop/loopback-next/commit/ca8d96e))
1254
- * **cli:** add responses for PingController.ping() ([ec52b89](https://github.com/strongloop/loopback-next/commit/ec52b89))
1255
- * **rest:** allow controller methods to handle response writing ([2bfd50e](https://github.com/strongloop/loopback-next/commit/2bfd50e))
1256
-
1257
-
1258
-
1259
-
1260
-
1261
- <a name="0.24.0"></a>
1262
- # [0.24.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.23.0...@loopback/rest@0.24.0) (2018-09-21)
1263
-
1264
-
1265
- ### Features
1266
-
1267
- * **testlab:** add createRestAppClient(), simplify usage in tests ([d75be77](https://github.com/strongloop/loopback-next/commit/d75be77))
1268
- * **testlab:** set port to 0 in givenHttpServerConfig ([90a0bfb](https://github.com/strongloop/loopback-next/commit/90a0bfb))
1269
-
1270
-
1271
-
1272
-
1273
-
1274
- <a name="0.23.0"></a>
1275
- # [0.23.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.22.2...@loopback/rest@0.23.0) (2018-09-19)
1276
-
1277
-
1278
- ### Bug Fixes
1279
-
1280
- * **rest:** return 404 when a model was not found ([7a56bad](https://github.com/strongloop/loopback-next/commit/7a56bad))
1281
-
1282
-
1283
- ### Features
1284
-
1285
- * **rest:** add error codes for REST validation errors ([1762765](https://github.com/strongloop/loopback-next/commit/1762765))
1286
- * **rest:** set status code to 204 when body is undefined ([047efcb](https://github.com/strongloop/loopback-next/commit/047efcb))
1287
-
1288
-
1289
-
1290
-
1291
-
1292
- <a name="0.22.2"></a>
1293
- ## [0.22.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.22.1...@loopback/rest@0.22.2) (2018-09-14)
1294
-
1295
- **Note:** Version bump only for package @loopback/rest
1296
-
1297
-
1298
-
1299
-
1300
-
1301
- <a name="0.22.1"></a>
1302
- ## [0.22.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.22.0...@loopback/rest@0.22.1) (2018-09-14)
1303
-
1304
-
1305
- ### Bug Fixes
1306
-
1307
- * **rest:** make sure validation system error is reported ([fe4fe16](https://github.com/strongloop/loopback-next/commit/fe4fe16))
1308
-
1309
-
1310
-
1311
-
1312
-
1313
- <a name="0.22.0"></a>
1314
- # [0.22.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.21.1...@loopback/rest@0.22.0) (2018-09-14)
1315
-
1316
-
1317
- ### Features
1318
-
1319
- * **openapi-v3:** add support for openapi responses ([0ecaecd](https://github.com/strongloop/loopback-next/commit/0ecaecd))
1320
-
1321
-
1322
-
1323
-
1324
-
1325
- <a name="0.21.1"></a>
1326
- ## [0.21.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.21.0...@loopback/rest@0.21.1) (2018-09-12)
1327
-
1328
-
1329
- ### Bug Fixes
1330
-
1331
- * **rest:** tidy up host/port parsing and client url building ([b692f45](https://github.com/strongloop/loopback-next/commit/b692f45))
1332
-
1333
-
1334
-
1335
-
1336
-
1337
- <a name="0.21.0"></a>
1338
- # [0.21.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.20.0...@loopback/rest@0.21.0) (2018-09-10)
1339
-
1340
-
1341
- ### Bug Fixes
1342
-
1343
- * **rest:** use direct import to work around a TS bug ([2cf3b2c](https://github.com/strongloop/loopback-next/commit/2cf3b2c))
1344
-
1345
-
1346
- ### Features
1347
-
1348
- * **rest:** make servers configurable for openapi specs ([99b80a9](https://github.com/strongloop/loopback-next/commit/99b80a9))
1349
-
1350
-
1351
-
1352
-
1353
-
1354
- <a name="0.20.0"></a>
1355
- # [0.20.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.19.6...@loopback/rest@0.20.0) (2018-09-08)
1356
-
1357
-
1358
- ### Bug Fixes
1359
-
1360
- * remove extra imports for mixin dependencies ([35b916b](https://github.com/strongloop/loopback-next/commit/35b916b))
1361
- * **rest:** use strong-error-handler for writing errors to the response body ([ac011f8](https://github.com/strongloop/loopback-next/commit/ac011f8))
1362
-
1363
-
1364
- ### Features
1365
-
1366
- * **rest:** allow static assets to be served by a rest server ([a1cefcc](https://github.com/strongloop/loopback-next/commit/a1cefcc))
1367
- * coerce object arguments from query strings ([d095693](https://github.com/strongloop/loopback-next/commit/d095693))
1368
-
1369
-
1370
-
1371
-
1372
-
1373
- <a name="0.19.6"></a>
1374
- ## [0.19.6](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.19.5...@loopback/rest@0.19.6) (2018-08-25)
1375
-
1376
- **Note:** Version bump only for package @loopback/rest
1377
-
1378
-
1379
-
1380
-
1381
-
1382
- <a name="0.19.5"></a>
1383
- ## [0.19.5](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.19.4...@loopback/rest@0.19.5) (2018-08-24)
1384
-
1385
-
1386
- ### Bug Fixes
1387
-
1388
- * **openapi-v3:** set required to true for path parameters ([2b13247](https://github.com/strongloop/loopback-next/commit/2b13247))
1389
-
1390
-
1391
-
1392
-
1393
-
1394
- <a name="0.19.4"></a>
1395
- ## [0.19.4](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.19.3...@loopback/rest@0.19.4) (2018-08-15)
1396
-
1397
-
1398
- ### Bug Fixes
1399
-
1400
- * **rest:** set openapi url based on x-forwarded-* headers ([8706038](https://github.com/strongloop/loopback-next/commit/8706038))
1401
-
1402
-
1403
-
1404
-
1405
- <a name="0.19.3"></a>
1406
- ## [0.19.3](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.19.2...@loopback/rest@0.19.3) (2018-08-08)
1407
-
1408
-
1409
-
1410
-
1411
- **Note:** Version bump only for package @loopback/rest
1412
-
1413
- <a name="0.19.2"></a>
1414
- ## [0.19.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.19.1...@loopback/rest@0.19.2) (2018-07-21)
1415
-
1416
-
1417
-
1418
-
1419
- **Note:** Version bump only for package @loopback/rest
1420
-
1421
- <a name="0.19.1"></a>
1422
- ## [0.19.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.19.0...@loopback/rest@0.19.1) (2018-07-20)
1423
-
1424
-
1425
-
1426
-
1427
- **Note:** Version bump only for package @loopback/rest
1428
-
1429
- <a name="0.19.0"></a>
1430
- # [0.19.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.18.0...@loopback/rest@0.19.0) (2018-07-20)
1431
-
1432
-
1433
- ### Features
1434
-
1435
- * add HTTPs protocol support ([6941a5d](https://github.com/strongloop/loopback-next/commit/6941a5d))
1436
-
1437
-
1438
-
1439
-
1440
- <a name="0.18.0"></a>
1441
- # [0.18.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.17.1...@loopback/rest@0.18.0) (2018-07-13)
1442
-
1443
-
1444
- ### Features
1445
-
1446
- * localize error in details ([3c9f6b4](https://github.com/strongloop/loopback-next/commit/3c9f6b4))
1447
-
1448
-
1449
-
1450
-
1451
- <a name="0.17.1"></a>
1452
- ## [0.17.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.17.0...@loopback/rest@0.17.1) (2018-07-11)
1453
-
1454
-
1455
-
1456
-
1457
- **Note:** Version bump only for package @loopback/rest
1458
-
1459
- <a name="0.17.0"></a>
1460
- # [0.17.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.16.0...@loopback/rest@0.17.0) (2018-07-10)
1461
-
1462
-
1463
- ### Features
1464
-
1465
- * add tests for array and object ([57b968a](https://github.com/strongloop/loopback-next/commit/57b968a))
1466
- * **rest:** add url property ([18b3408](https://github.com/strongloop/loopback-next/commit/18b3408))
1467
-
1468
-
1469
-
1470
-
1471
- <a name="0.16.0"></a>
1472
- # [0.16.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.15.1...@loopback/rest@0.16.0) (2018-07-09)
1473
-
1474
-
1475
- ### Features
1476
-
1477
- * body validation ([d284ad8](https://github.com/strongloop/loopback-next/commit/d284ad8))
1478
-
1479
-
1480
-
1481
-
1482
- <a name="0.15.1"></a>
1483
- ## [0.15.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.15.0...@loopback/rest@0.15.1) (2018-06-28)
1484
-
1485
-
1486
-
1487
-
1488
- **Note:** Version bump only for package @loopback/rest
1489
-
1490
- <a name="0.15.0"></a>
1491
- # [0.15.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.14.1...@loopback/rest@0.15.0) (2018-06-27)
1492
-
1493
-
1494
- ### Features
1495
-
1496
- * add `listening` property in the server interface ([ff0eab7](https://github.com/strongloop/loopback-next/commit/ff0eab7)), closes [#1368](https://github.com/strongloop/loopback-next/issues/1368)
1497
-
1498
-
1499
-
1500
-
1501
- <a name="0.14.1"></a>
1502
- ## [0.14.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.14.0...@loopback/rest@0.14.1) (2018-06-26)
1503
-
1504
-
1505
-
1506
-
1507
- **Note:** Version bump only for package @loopback/rest
1508
-
1509
- <a name="0.14.0"></a>
1510
- # [0.14.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.12.0...@loopback/rest@0.14.0) (2018-06-25)
1511
-
1512
-
1513
- ### Features
1514
-
1515
- * coercion for more types ([2b4b269](https://github.com/strongloop/loopback-next/commit/2b4b269))
1516
-
1517
-
1518
-
1519
-
1520
- <a name="0.13.0"></a>
1521
- # [0.13.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.12.0...@loopback/rest@0.13.0) (2018-06-25)
1522
-
1523
-
1524
- ### Features
1525
-
1526
- * coercion for more types ([2b4b269](https://github.com/strongloop/loopback-next/commit/2b4b269))
1527
-
1528
-
1529
-
1530
-
1531
- <a name="0.12.0"></a>
1532
- # [0.12.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.11.3...@loopback/rest@0.12.0) (2018-06-20)
1533
-
1534
-
1535
- ### Bug Fixes
1536
-
1537
- * **rest:** stop an app that has not been started ([1841ebb](https://github.com/strongloop/loopback-next/commit/1841ebb)), closes [#822](https://github.com/strongloop/loopback-next/issues/822)
1538
-
1539
-
1540
- ### Features
1541
-
1542
- * add type coercion ([2b8d816](https://github.com/strongloop/loopback-next/commit/2b8d816))
1543
-
1544
-
1545
-
1546
-
1547
- <a name="0.11.3"></a>
1548
- ## [0.11.3](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.11.2...@loopback/rest@0.11.3) (2018-06-11)
1549
-
1550
-
1551
-
1552
-
1553
- **Note:** Version bump only for package @loopback/rest
1554
-
1555
- <a name="0.11.2"></a>
1556
- ## [0.11.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.11.0...@loopback/rest@0.11.2) (2018-06-09)
1557
-
1558
-
1559
-
1560
-
1561
- **Note:** Version bump only for package @loopback/rest
1562
-
1563
- <a name="0.11.1"></a>
1564
- ## [0.11.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.11.0...@loopback/rest@0.11.1) (2018-06-09)
1565
-
1566
-
1567
-
1568
-
1569
- **Note:** Version bump only for package @loopback/rest
1570
-
1571
- <a name="0.11.0"></a>
1572
- # [0.11.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.10.5...@loopback/rest@0.11.0) (2018-06-08)
1573
-
1574
-
1575
- ### Bug Fixes
1576
-
1577
- * make the code compatible with TypeScript 2.9.x ([37aba50](https://github.com/strongloop/loopback-next/commit/37aba50))
1578
-
1579
-
1580
- ### Features
1581
-
1582
- * add http-server package ([bac8d8c](https://github.com/strongloop/loopback-next/commit/bac8d8c))
1583
-
1584
-
1585
-
1586
-
1587
- <a name="0.10.5"></a>
1588
- ## [0.10.5](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.10.4...@loopback/rest@0.10.5) (2018-05-28)
1589
-
1590
-
1591
-
1592
-
1593
- **Note:** Version bump only for package @loopback/rest
1594
-
1595
- <a name="0.10.4"></a>
1596
- ## [0.10.4](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.10.3...@loopback/rest@0.10.4) (2018-05-20)
1597
-
1598
-
1599
-
1600
-
1601
- **Note:** Version bump only for package @loopback/rest
1602
-
1603
- <a name="0.10.3"></a>
1604
- ## [0.10.3](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.10.2...@loopback/rest@0.10.3) (2018-05-14)
1605
-
1606
-
1607
- ### Bug Fixes
1608
-
1609
- * change index.d.ts files to point to dist8 ([42ca42d](https://github.com/strongloop/loopback-next/commit/42ca42d))
1610
-
1611
-
1612
-
1613
-
1614
- <a name="0.10.2"></a>
1615
- ## [0.10.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.10.1...@loopback/rest@0.10.2) (2018-05-14)
1616
-
1617
-
1618
-
1619
-
1620
- **Note:** Version bump only for package @loopback/rest
1621
-
1622
- <a name="0.10.1"></a>
1623
- ## [0.10.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.10.0...@loopback/rest@0.10.1) (2018-05-08)
1624
-
1625
-
1626
-
1627
-
1628
- **Note:** Version bump only for package @loopback/rest
1629
-
1630
- <a name="0.10.0"></a>
1631
- # [0.10.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.8.1...@loopback/rest@0.10.0) (2018-05-03)
1632
-
1633
-
1634
- ### Features
1635
-
1636
- * **context:** allow tags to have an optional value ([95acd11](https://github.com/strongloop/loopback-next/commit/95acd11))
1637
- * add helper package "dist-util" ([532f153](https://github.com/strongloop/loopback-next/commit/532f153))
1638
-
1639
-
1640
-
1641
-
1642
- <a name="0.9.0"></a>
1643
- # [0.9.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.8.1...@loopback/rest@0.9.0) (2018-05-03)
1644
-
1645
-
1646
- ### Features
1647
-
1648
- * **context:** allow tags to have an optional value ([95acd11](https://github.com/strongloop/loopback-next/commit/95acd11))
1649
- * add helper package "dist-util" ([532f153](https://github.com/strongloop/loopback-next/commit/532f153))
1650
-
1651
-
1652
-
1653
-
1654
- <a name="0.8.1"></a>
1655
- ## [0.8.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.8.0...@loopback/rest@0.8.1) (2018-04-26)
1656
-
1657
-
1658
-
1659
-
1660
- **Note:** Version bump only for package @loopback/rest
1661
-
1662
- <a name="0.8.0"></a>
1663
- # [0.8.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.7.0...@loopback/rest@0.8.0) (2018-04-25)
1664
-
1665
-
1666
- ### Features
1667
-
1668
- * upgrade to openapi3-ts@0.11.0 ([1ed79c9](https://github.com/strongloop/loopback-next/commit/1ed79c9))
1669
-
1670
-
1671
-
1672
-
1673
- <a name="0.7.0"></a>
1674
- # [0.7.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.6.3...@loopback/rest@0.7.0) (2018-04-16)
1675
-
1676
-
1677
-
1678
-
1679
- **Note:** Version bump only for package @loopback/rest
1680
-
1681
- <a name="0.6.3"></a>
1682
- ## [0.6.3](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.6.2...@loopback/rest@0.6.3) (2018-04-16)
1683
-
1684
-
1685
-
1686
-
1687
- **Note:** Version bump only for package @loopback/rest
1688
-
1689
- <a name="0.6.2"></a>
1690
- ## [0.6.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.6.1...@loopback/rest@0.6.2) (2018-04-12)
1691
-
1692
-
1693
-
1694
-
1695
- **Note:** Version bump only for package @loopback/rest
1696
-
1697
- <a name="0.6.1"></a>
1698
- ## [0.6.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.6.0...@loopback/rest@0.6.1) (2018-04-11)
1699
-
1700
-
1701
-
1702
-
1703
- **Note:** Version bump only for package @loopback/rest
1704
-
1705
- <a name="0.6.0"></a>
1706
- # [0.6.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.5.2...@loopback/rest@0.6.0) (2018-04-11)
1707
-
1708
-
1709
- ### Bug Fixes
1710
-
1711
- * change file names to fit advocated naming convention ([0331df8](https://github.com/strongloop/loopback-next/commit/0331df8))
1712
-
1713
-
1714
- ### Features
1715
-
1716
- * **context:** typed binding keys ([685195c](https://github.com/strongloop/loopback-next/commit/685195c))
1717
- * **rest:** add typing for controller instance/class/factory ([a1cbab3](https://github.com/strongloop/loopback-next/commit/a1cbab3))
1718
- * **rest:** allow factory for controller routes ([184371b](https://github.com/strongloop/loopback-next/commit/184371b))
1719
-
1720
-
1721
-
1722
-
1723
- <a name="0.5.3"></a>
1724
- ## [0.5.3](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.5.2...@loopback/rest@0.5.3) (2018-04-06)
1725
-
1726
-
1727
-
1728
-
1729
- **Note:** Version bump only for package @loopback/rest
1730
-
1731
- <a name="0.5.2"></a>
1732
- ## [0.5.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.5.1...@loopback/rest@0.5.2) (2018-04-04)
1733
-
1734
-
1735
-
1736
-
1737
- **Note:** Version bump only for package @loopback/rest
1738
-
1739
- <a name="0.5.1"></a>
1740
- ## [0.5.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.5.0...@loopback/rest@0.5.1) (2018-04-02)
1741
-
1742
-
1743
-
1744
-
1745
- **Note:** Version bump only for package @loopback/rest
1746
-
1747
- <a name="0.5.0"></a>
1748
- # [0.5.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.4.1...@loopback/rest@0.5.0) (2018-03-29)
1749
-
1750
-
1751
-
1752
-
1753
- **Note:** Version bump only for package @loopback/rest
1754
-
1755
- <a name="0.4.1"></a>
1756
- ## [0.4.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.4.0...@loopback/rest@0.4.1) (2018-03-23)
1757
-
1758
-
1759
-
1760
-
1761
- **Note:** Version bump only for package @loopback/rest
1762
-
1763
- <a name="0.4.0"></a>
1764
- # [0.4.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.3.4...@loopback/rest@0.4.0) (2018-03-21)
1765
-
1766
-
1767
- ### Features
1768
-
1769
- * **rest:** expose app.requestHandler function ([20a41ac](https://github.com/strongloop/loopback-next/commit/20a41ac))
1770
-
1771
-
1772
- ### BREAKING CHANGES
1773
-
1774
- * **rest:** `RestServer#handleHttp` was renamed to
1775
- `RestServer#requestHandler`.
1776
-
1777
-
1778
-
1779
-
1780
- <a name="0.3.4"></a>
1781
- ## [0.3.4](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.3.3...@loopback/rest@0.3.4) (2018-03-14)
1782
-
1783
-
1784
-
1785
-
1786
- **Note:** Version bump only for package @loopback/rest
1787
-
1788
- <a name="0.3.3"></a>
1789
- ## [0.3.3](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.3.2...@loopback/rest@0.3.3) (2018-03-13)
1790
-
1791
-
1792
-
1793
-
1794
- **Note:** Version bump only for package @loopback/rest
1795
-
1796
- <a name="0.3.2"></a>
1797
- ## [0.3.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.3.1...@loopback/rest@0.3.2) (2018-03-08)
1798
-
1799
-
1800
- ### Bug Fixes
1801
-
1802
- * **rest:** move [@types](https://github.com/types)/cors to dependency ([fee3520](https://github.com/strongloop/loopback-next/commit/fee3520))
1803
-
1804
-
1805
-
1806
-
1807
- <a name="0.3.1"></a>
1808
- ## [0.3.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.3.0...@loopback/rest@0.3.1) (2018-03-07)
1809
-
1810
-
1811
- ### Bug Fixes
1812
-
1813
- * **rest:** enable cors preflight ([d05bdae](https://github.com/strongloop/loopback-next/commit/d05bdae))
1814
-
1815
-
1816
-
1817
-
1818
- <a name="0.3.0"></a>
1819
- # [0.3.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.2.0...@loopback/rest@0.3.0) (2018-03-06)
1820
-
1821
-
1822
- ### Bug Fixes
1823
-
1824
- * fix typo of `additional` ([2fd7610](https://github.com/strongloop/loopback-next/commit/2fd7610))
1825
-
1826
-
1827
- ### Features
1828
-
1829
- * upgrade from swagger 2 to openapi 3 ([71e5af1](https://github.com/strongloop/loopback-next/commit/71e5af1))
1830
-
1831
-
1832
-
1833
-
1834
- <a name="0.2.0"></a>
1835
- # [0.2.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.1.2...@loopback/rest@0.2.0) (2018-03-01)
1836
-
1837
-
1838
-
1839
-
1840
- **Note:** Version bump only for package @loopback/rest
1841
-
1842
- <a name="0.1.2"></a>
1843
- ## [0.1.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.1.1...@loopback/rest@0.1.2) (2018-03-01)
1844
-
1845
-
1846
- ### Bug Fixes
1847
-
1848
- * **rest:** log unexpected errors to console ([#1058](https://github.com/strongloop/loopback-next/issues/1058)) ([b7b0fd8](https://github.com/strongloop/loopback-next/commit/b7b0fd8))
1849
- * **rest:** make the route binding key friendly for find ([e3577ab](https://github.com/strongloop/loopback-next/commit/e3577ab))
1850
-
1851
-
1852
- ### Features
1853
-
1854
- * **context:** add type as a generic parameter to `ctx.get()` and friends ([24b217d](https://github.com/strongloop/loopback-next/commit/24b217d))
1855
-
1856
-
1857
- ### BREAKING CHANGES
1858
-
1859
- * **context:** `ctx.get()` and `ctx.getSync()` require a type now.
1860
- See the example below for upgrade instructions:
1861
-
1862
- ```diff
1863
- - const c: MyController = await ctx.get('MyController');
1864
- + const c = await ctx.get<MyController>('MyController');
1865
- ```
1866
-
1867
- `isPromise` was renamed to `isPromiseLike` and acts as a type guard
1868
- for `PromiseLike`, not `Promise`. When upgrading affected code, you
1869
- need to determine whether the code was accepting any Promise
1870
- implementation (i.e. `PromiseLike`) or only native Promises. In the
1871
- former case, you should use `isPromiseLike` and potentially convert the
1872
- userland Promise instance to a native Promise via
1873
- `Promise.resolve(promiseLike)`. In the latter case, you can replace
1874
- `isPromise(p)` with `p instanceof Promise`.
1875
-
1876
-
1877
-
1878
-
1879
- <a name="0.1.1"></a>
1880
- ## [0.1.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@0.1.0...@loopback/rest@0.1.1) (2018-02-23)
1881
-
1882
-
1883
- ### Bug Fixes
1884
-
1885
- * **context:** fix optional param injection for methods ([801a82d](https://github.com/strongloop/loopback-next/commit/801a82d))
1886
-
1887
-
1888
-
1889
-
1890
- <a name="0.1.0"></a>
1891
- # [0.1.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.26...@loopback/rest@0.1.0) (2018-02-21)
1892
-
1893
-
1894
- ### Features
1895
-
1896
- * **rest:** app.route() and app.api() ([5c3fd62](https://github.com/strongloop/loopback-next/commit/5c3fd62))
1897
-
1898
-
1899
-
1900
-
1901
- <a name="4.0.0-alpha.26"></a>
1902
- # [4.0.0-alpha.26](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.25...@loopback/rest@4.0.0-alpha.26) (2018-02-15)
1903
-
1904
-
1905
-
1906
-
1907
- **Note:** Version bump only for package @loopback/rest
1908
-
1909
- <a name="4.0.0-alpha.25"></a>
1910
- # [4.0.0-alpha.25](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.24...@loopback/rest@4.0.0-alpha.25) (2018-02-07)
1911
-
1912
-
1913
- ### build
1914
-
1915
- * drop dist6 related targets ([#945](https://github.com/strongloop/loopback-next/issues/945)) ([a2368ce](https://github.com/strongloop/loopback-next/commit/a2368ce))
1916
-
1917
-
1918
- ### BREAKING CHANGES
1919
-
1920
- * Support for Node.js version lower than 8.0 has been dropped.
1921
- Please upgrade to the latest Node.js 8.x LTS version.
1922
-
1923
- Co-Authored-by: Taranveer Virk <taranveer@virk.cc>
1924
-
1925
-
1926
-
1927
-
1928
- <a name="4.0.0-alpha.24"></a>
1929
- # [4.0.0-alpha.24](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.23...@loopback/rest@4.0.0-alpha.24) (2018-02-04)
1930
-
1931
-
1932
- ### Bug Fixes
1933
-
1934
- * remove console output from tests ([ff4a320](https://github.com/strongloop/loopback-next/commit/ff4a320))
1935
-
1936
-
1937
-
1938
-
1939
- <a name="4.0.0-alpha.23"></a>
1940
- # [4.0.0-alpha.23](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.22...@loopback/rest@4.0.0-alpha.23) (2018-01-30)
1941
-
1942
-
1943
- ### Features
1944
-
1945
- * **repository-json-schema:** add in top-level metadata for json schema ([#907](https://github.com/strongloop/loopback-next/issues/907)) ([fe59e6b](https://github.com/strongloop/loopback-next/commit/fe59e6b))
1946
-
1947
-
1948
-
1949
-
1950
- <a name="4.0.0-alpha.22"></a>
1951
- # [4.0.0-alpha.22](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.21...@loopback/rest@4.0.0-alpha.22) (2018-01-29)
1952
-
1953
-
1954
-
1955
-
1956
- **Note:** Version bump only for package @loopback/rest
1957
-
1958
- <a name="4.0.0-alpha.21"></a>
1959
- # [4.0.0-alpha.21](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.20...@loopback/rest@4.0.0-alpha.21) (2018-01-26)
1960
-
1961
-
1962
-
1963
-
1964
- **Note:** Version bump only for package @loopback/rest
1965
-
1966
- <a name="4.0.0-alpha.20"></a>
1967
- # [4.0.0-alpha.20](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.19...@loopback/rest@4.0.0-alpha.20) (2018-01-26)
1968
-
1969
-
1970
- ### Bug Fixes
1971
-
1972
- * **rest:** correctly re-export decorators at runtime ([c81c0ac](https://github.com/strongloop/loopback-next/commit/c81c0ac))
1973
- * **rest:** fix assertion broken by new deps versions ([05a8e0c](https://github.com/strongloop/loopback-next/commit/05a8e0c))
1974
- * **rest:** fix yaml comparison to tolerate textual diffs ([615882c](https://github.com/strongloop/loopback-next/commit/615882c))
1975
- * apply source-maps to test errors ([76a7f56](https://github.com/strongloop/loopback-next/commit/76a7f56)), closes [#602](https://github.com/strongloop/loopback-next/issues/602)
1976
- * make mocha self-contained with the source map support ([7c6d869](https://github.com/strongloop/loopback-next/commit/7c6d869))
1977
-
1978
-
1979
- ### Features
1980
-
1981
- * **rest:** enable dependency injection for controller methods ([72afddd](https://github.com/strongloop/loopback-next/commit/72afddd))
1982
-
1983
-
1984
-
1985
-
1986
- <a name="4.0.0-alpha.19"></a>
1987
- # [4.0.0-alpha.19](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.18...@loopback/rest@4.0.0-alpha.19) (2018-01-19)
1988
-
1989
-
1990
- ### Bug Fixes
1991
-
1992
- * **rest:** export decorators for backward compatibility ([#850](https://github.com/strongloop/loopback-next/issues/850)) ([5166388](https://github.com/strongloop/loopback-next/commit/5166388))
1993
-
1994
-
1995
-
1996
-
1997
- <a name="4.0.0-alpha.18"></a>
1998
- # [4.0.0-alpha.18](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.17...@loopback/rest@4.0.0-alpha.18) (2018-01-11)
1999
-
2000
-
2001
- ### Bug Fixes
2002
-
2003
- * fix imports to use files owning the definitions ([a50405a](https://github.com/strongloop/loopback-next/commit/a50405a))
2004
-
2005
-
2006
-
2007
-
2008
- <a name="4.0.0-alpha.17"></a>
2009
- # [4.0.0-alpha.17](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.16...@loopback/rest@4.0.0-alpha.17) (2018-01-03)
2010
-
2011
-
2012
- ### Bug Fixes
2013
-
2014
- * fix version for [@loopback](https://github.com/loopback)/openapi-v2 ([d032129](https://github.com/strongloop/loopback-next/commit/d032129))
2015
-
2016
-
2017
-
2018
-
2019
- <a name="4.0.0-alpha.16"></a>
2020
- # [4.0.0-alpha.16](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.15...@loopback/rest@4.0.0-alpha.16) (2018-01-03)
2021
-
2022
-
2023
- ### Features
2024
-
2025
- * **rest:** set controller name as the default tag ([b008e07](https://github.com/strongloop/loopback-next/commit/b008e07))
2026
- * Create [@loopback](https://github.com/loopback)/openapi-v2 ([#804](https://github.com/strongloop/loopback-next/issues/804)) ([4ddd4bc](https://github.com/strongloop/loopback-next/commit/4ddd4bc))
2027
-
2028
-
2029
-
2030
-
2031
- <a name="4.0.0-alpha.15"></a>
2032
- # [4.0.0-alpha.15](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.14...@loopback/rest@4.0.0-alpha.15) (2017-12-21)
2033
-
2034
-
2035
- ### Features
2036
-
2037
- * **rest:** Improve decorators to infer param types ([37d881f](https://github.com/strongloop/loopback-next/commit/37d881f))
2038
- * **rest:** Single-server RestApplication ([80638b4](https://github.com/strongloop/loopback-next/commit/80638b4))
2039
-
2040
-
2041
-
2042
-
2043
- <a name="4.0.0-alpha.14"></a>
2044
- # [4.0.0-alpha.14](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.13...@loopback/rest@4.0.0-alpha.14) (2017-12-15)
2045
-
2046
-
2047
- ### Features
2048
-
2049
- * Expose reflectors via MetadataInspector ([5e6829f](https://github.com/strongloop/loopback-next/commit/5e6829f))
2050
- * Refactor REST decorators to use factories ([d03adf7](https://github.com/strongloop/loopback-next/commit/d03adf7))
2051
-
2052
-
2053
-
2054
-
2055
- <a name="4.0.0-alpha.13"></a>
2056
- # [4.0.0-alpha.13](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.12...@loopback/rest@4.0.0-alpha.13) (2017-12-11)
2057
-
2058
-
2059
- ### Bug Fixes
2060
-
2061
- * Fix node module names in source code headers ([0316f28](https://github.com/strongloop/loopback-next/commit/0316f28))
2062
- * **rest:** Fix compilation error caused by [@types](https://github.com/types)/node ([89f1401](https://github.com/strongloop/loopback-next/commit/89f1401))
2063
-
2064
-
2065
-
2066
-
2067
- <a name="4.0.0-alpha.12"></a>
2068
- # [4.0.0-alpha.12](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.11...@loopback/rest@4.0.0-alpha.12) (2017-12-01)
2069
-
2070
-
2071
- ### Bug Fixes
2072
-
2073
- * **rest:** move [@types](https://github.com/types)/http-errors from dev-dep ([11350bd](https://github.com/strongloop/loopback-next/commit/11350bd))
2074
-
2075
-
2076
-
2077
-
2078
- <a name="4.0.0-alpha.11"></a>
2079
- # [4.0.0-alpha.11](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.10...@loopback/rest@4.0.0-alpha.11) (2017-11-30)
2080
-
2081
-
2082
-
2083
-
2084
- **Note:** Version bump only for package @loopback/rest
2085
-
2086
- <a name="4.0.0-alpha.10"></a>
2087
- # [4.0.0-alpha.10](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.9...@loopback/rest@4.0.0-alpha.10) (2017-11-29)
2088
-
2089
-
2090
- ### Bug Fixes
2091
-
2092
- * **rest:** Fix parameter description ([c3e6afc](https://github.com/strongloop/loopback-next/commit/c3e6afc))
2093
- * **rest:** Improve rest metadata inheritance ([3f124f3](https://github.com/strongloop/loopback-next/commit/3f124f3))
2094
- * **rest:** Listen on all interfaces if host is not configured ([99daf63](https://github.com/strongloop/loopback-next/commit/99daf63))
2095
- * **rest:** Remove unused imports ([76a08ee](https://github.com/strongloop/loopback-next/commit/76a08ee))
2096
-
2097
-
2098
-
2099
-
2100
- <a name="4.0.0-alpha.9"></a>
2101
- # [4.0.0-alpha.9](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.8...@loopback/rest@4.0.0-alpha.9) (2017-11-14)
2102
-
2103
-
2104
- ### Features
2105
-
2106
- * **rest:** Make rest host and explorer configurable ([caa2598](https://github.com/strongloop/loopback-next/commit/caa2598))
2107
-
2108
-
2109
-
2110
-
2111
- <a name="4.0.0-alpha.8"></a>
2112
- # [4.0.0-alpha.8](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.7...@loopback/rest@4.0.0-alpha.8) (2017-11-09)
2113
-
2114
-
2115
- ### Bug Fixes
2116
-
2117
- * **rest:** Tidy up rest decorator metadata ([7d15bfe](https://github.com/strongloop/loopback-next/commit/7d15bfe))
2118
-
2119
-
2120
- ### Features
2121
-
2122
- * **rest:** Improve http error handling ([15d04fa](https://github.com/strongloop/loopback-next/commit/15d04fa))
2123
- * **rest:** Improve result serialization for http ([d5bc53e](https://github.com/strongloop/loopback-next/commit/d5bc53e))
2124
-
2125
-
2126
-
2127
-
2128
- <a name="4.0.0-alpha.7"></a>
2129
- # [4.0.0-alpha.7](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.6...@loopback/rest@4.0.0-alpha.7) (2017-11-06)
2130
-
2131
-
2132
-
2133
-
2134
- **Note:** Version bump only for package @loopback/rest
2135
-
2136
- <a name="4.0.0-alpha.6"></a>
2137
- # [4.0.0-alpha.6](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.5...@loopback/rest@4.0.0-alpha.6) (2017-10-31)
2138
-
2139
-
2140
-
2141
-
2142
- **Note:** Version bump only for package @loopback/rest
2143
-
2144
- <a name="4.0.0-alpha.5"></a>
2145
- # [4.0.0-alpha.5](https://github.com/strongloop/loopback-next/compare/@loopback/rest@4.0.0-alpha.4...@loopback/rest@4.0.0-alpha.5) (2017-10-31)
2146
-
2147
-
2148
-
2149
-
2150
- **Note:** Version bump only for package @loopback/rest
2151
-
2152
- <a name="4.0.0-alpha.4"></a>
2153
- # 4.0.0-alpha.4 (2017-10-25)
2154
-
2155
-
2156
- ### Bug Fixes
2157
-
2158
- * **rest:** Add index boilerplate ([02a025e](https://github.com/strongloop/loopback-next/commit/02a025e))
2159
- * **rest:** convert primitives to strings ([2e1ca13](https://github.com/strongloop/loopback-next/commit/2e1ca13))
2160
- * **rest:** Move server instantiation to class definition ([051b8e0](https://github.com/strongloop/loopback-next/commit/051b8e0))
2161
- * **testlab:** Remove sinon-should integration ([8841fce](https://github.com/strongloop/loopback-next/commit/8841fce))
2162
-
2163
-
2164
- ### Code Refactoring
2165
-
2166
- * **core:** Component servers are now key-value pairs ([866953a](https://github.com/strongloop/loopback-next/commit/866953a))
2167
-
2168
-
2169
- ### BREAKING CHANGES
2170
-
2171
- * **core:** Components must now provide key-value pairs in an
2172
- object called "servers".