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