1 | # Changelog
|
2 | All notable changes to this project will be documented in this file.
|
3 |
|
4 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
5 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
6 |
|
7 | ## [Unreleased]
|
8 |
|
9 | ## [2.5.2] - 2022-03-14
|
10 | ### Changed
|
11 | - If a proxied call fails, it will now fallback to the `body` value of the proxied route if any, or to an empty JSON object.
|
12 | - Changed development node and npm version to LTS and therefore changed the package-lock.json format to v2.
|
13 |
|
14 | ## [2.5.1] - 2021-12-17
|
15 | ### Removed
|
16 | - Removed tags prefixed with `v`.
|
17 | ## [2.5.0] - 2021-12-17
|
18 | ### Added
|
19 | - SockJS example to demonstrate how Drosse can be extended on the http Server instance.
|
20 |
|
21 | ### Changed
|
22 | - **BREAKING CHANGE**: The `configureExpress` now takes the object `{ server, app, db}`
|
23 | as argument instead of just `app` as it used to be until now, which allows users
|
24 | to hook into the http server before it starts (check the [sockjs](./examples/sockjs) example).
|
25 |
|
26 | ## [2.4.0] - 2021-12-06
|
27 | ### Added
|
28 | - Support for websocket connections.
|
29 | - Websocket example to demonstrate how Drosse can be extended to mock a realtime backend with websocket.
|
30 |
|
31 | ## [2.3.4] - 2021-11-25
|
32 | ### Fixed
|
33 | - Fix ERR_HTTP_HEADERS_SENT during proxyRes callback.
|
34 |
|
35 | ## [2.3.3] - 2021-10-08
|
36 | ### Fixed
|
37 | - Proxy did send GET request with a wrong Content-Length header. Fixed.
|
38 |
|
39 | ## [2.3.2] - 2021-09-08
|
40 | ### Fixed
|
41 | - The curly braces parameters are really replaced inside static json now.
|
42 |
|
43 | ### Changed
|
44 | - Reworked the proxy workflow to modularize response hooks + used http-proxy-middleware built-in response handler.
|
45 |
|
46 | ### Added
|
47 | - Added a proxy response hook to transform hateoas links and remove their baseUrl (useful to avoid CORS issue when calling an hateoas API through Drosse's proxy)
|
48 |
|
49 | ## [2.3.1] - 2021-08-31
|
50 | ### Fixed
|
51 | - Fix an issue when running the `exit` command in CLI. A node sub-process was staying alive when it should have been killed.
|
52 | - Fix an issue when running the `rs` command in CLI. The server was restarted with CLI context lost.
|
53 |
|
54 | ## [2.3.0] - 2021-08-30
|
55 | ### Added
|
56 | - Added log message if the .drosserc.js file isn't loaded for some reason.
|
57 | - Added new 'rs' command in CLI to restart the server
|
58 |
|
59 | ### Changed
|
60 | - Simplified startup script. If no `-r` or `--root` param is provided, the first term passed after the command name will be taken as root directory.
|
61 |
|
62 | ## [2.2.0] - 2021-05-25
|
63 | ### Fixed
|
64 | - custom errorHandler was not loaded
|
65 | - dependencies issues
|
66 |
|
67 | ## [2.1.0] - 2021-04-17
|
68 | ### Added
|
69 | - Added a 'restart' function in the CLI context
|
70 | - Added drosse version on startup
|
71 | - Added a `dbAdapter` config property to allow database persistence adapter change. Supports custom adapters.
|
72 |
|
73 | ### Fixed
|
74 | - Error handling in services
|
75 |
|
76 | ## [2.0.0] - 2021-03-22
|
77 | ### Changed
|
78 | - Drosse runs now at 2 different layers. When it's started, it will start the express app in a child process and keep the CLI on the parent process. This will be helpful to offer a better control on the express app from external tools, like e2e testing frameworks or the upcoming Drosse-UI. And this separates as well the CLI (vorpal) layer, which needs to stay an Interface and not be mixed with business logic, from the pure app commands layer.
|
79 |
|
80 | ## [1.13.2] - 2021-03-10
|
81 | ### Added
|
82 | - added a `basePath` config
|
83 |
|
84 | ## [1.13.1] - 2021-03-09
|
85 | ### Added
|
86 | - added a `baseUrl` config
|
87 |
|
88 | ## [1.13.0] - 2021-03-05
|
89 | ### Added
|
90 | - auto scraping mode, no service needed
|
91 | - fallback from static files to scraped files
|
92 |
|
93 | ### Changed
|
94 | - renamed 'hoover' feature to 'scraper'
|
95 |
|
96 | ## [1.12.0] - 2021-02-26
|
97 | ### Added
|
98 | - new route option 'hoover' to use along with 'proxy'. Allow to save proxied route response body as a drosse mock content.
|
99 |
|
100 | ### Changed
|
101 | - Pass drosse config (state) and db to the vorpal CLI. Which allows to make db queries in CLI commands.
|
102 |
|
103 | ## [1.11.3] - 2021-02-25
|
104 | ### Added
|
105 | - Added new `configureExpress` property in `.drosserc.js` to define custom configurations on the `express` app instance.
|
106 |
|
107 | ## [1.11.2] - 2021-02-24
|
108 | ### Changed
|
109 | - App middlewares can now take a fourth argument (at the first place) and will then be curried and having the drosse API injected into the middleware function
|
110 |
|
111 | ## [1.11.1] - 2021-02-18
|
112 | ### Added
|
113 | - Support for async services
|
114 |
|
115 | ## [1.11.0] - 2021-02-12
|
116 | ### Added
|
117 | - Allow throttle for proxied routes
|
118 | - Allow to define throttle only with min or max
|
119 |
|
120 | ## [1.10.0] - 2021-01-20
|
121 | ### Changed
|
122 | - Changed the proxy configuration to make it actually usable intuitively. From now, the URL path to where the proxy is defined is removed from the proxied path.
|
123 |
|
124 | ### Added
|
125 | - Added `db drop` command in the REPL CLI.
|
126 | - Added documentation and examples for the proxy feature.
|
127 | - Added documentation for the assets feature.
|
128 | - Added documentation for the template feature.
|
129 | - Added documentation for the DB api.
|
130 |
|
131 | ### Fixed
|
132 | - Fix db.get.byRef to not overwrite custom content with generic content
|
133 |
|
134 | ## [1.9.0] - 2021-01-13
|
135 | ### Changed
|
136 | - Changed the Drosse repository to a monorepo. Now it holds as well drosse UI and drosse website.
|
137 |
|
138 | ## [1.8.0] - 2021-01-05
|
139 | ### Added
|
140 | - Added a REPL CLI with an extensible command system.
|
141 |
|
142 | ### Fixed
|
143 | - Avoid errors in case of silent:false configuration in the child-process
|
144 |
|
145 | ## [1.7.0] - 2020-12-30
|
146 | ### Added
|
147 | - Added a `config` property (aka state.get()) in the exposed API.
|
148 |
|
149 | ## [1.6.0] - 2020-12-24
|
150 | ### Added
|
151 | - Added `responseType` DROSSE config with "file" as possible value.
|
152 | - Added possibility to _cancel_ an inherited template by passing `"template": null` in the DROSSE config object.
|
153 | - Added support for loki `where()` method in both `db.get` and `db.list` namespaces from db API.
|
154 |
|
155 | ## [1.5.0] - 2020-12-18
|
156 | ### Added
|
157 | - Support for static assets through the `assets` keyword in `DROSSE` object.
|
158 |
|
159 | ## [1.4.1] - 2020-12-01
|
160 | ### Fixed
|
161 | - Fix routes creation order
|
162 |
|
163 | ## [1.4.0] - 2020-12-01
|
164 | ### Added
|
165 | - Add `drosse-serve` bin entry in package.json
|
166 | - A collection can be defined as a unique JSON file containing an array of objects.
|
167 |
|
168 | ### Changed
|
169 | - Skip reserved routes in logging module
|
170 | - Improved logging on startup
|
171 |
|
172 | ### Removed
|
173 | - Remove old logging module
|
174 |
|
175 |
|
176 | ## [1.3.0] - 2020-11-19
|
177 | TODO
|
178 |
|
179 | ## [1.2.0] - 2020-11-17
|
180 | TODO
|
181 |
|
182 | ## [1.1.0] - 2020-11-10
|
183 | TODO
|
184 |
|
185 | ## [1.0.0] - 2020-10-28
|
186 | TODO
|
187 |
|
188 | [Unreleased]: https://github.com/jota-one/drosse/compare/2.5.2...develop
|
189 | [2.5.2]: https://github.com/jota-one/drosse/compare/2.5.1...2.5.2
|
190 | [2.5.1]: https://github.com/jota-one/drosse/compare/2.5.0...2.5.1
|
191 | [2.5.0]: https://github.com/jota-one/drosse/compare/2.4.0...2.5.0
|
192 | [2.4.0]: https://github.com/jota-one/drosse/compare/2.3.4...2.4.0
|
193 | [2.3.4]: https://github.com/jota-one/drosse/compare/2.3.3...2.3.4
|
194 | [2.3.3]: https://github.com/jota-one/drosse/compare/2.3.2...2.3.3
|
195 | [2.3.2]: https://github.com/jota-one/drosse/compare/2.3.1...2.3.2
|
196 | [2.3.1]: https://github.com/jota-one/drosse/compare/2.3.0...2.3.1
|
197 | [2.3.0]: https://github.com/jota-one/drosse/compare/2.2.0...2.3.0
|
198 | [2.2.0]: https://github.com/jota-one/drosse/compare/2.1.0...2.2.0
|
199 | [2.1.0]: https://github.com/jota-one/drosse/compare/2.0.0...2.1.0
|
200 | [2.0.0]: https://github.com/jota-one/drosse/compare/1.13.2...2.0.0
|
201 | [1.13.2]: https://github.com/jota-one/drosse/compare/1.13.1...1.13.2
|
202 | [1.13.1]: https://github.com/jota-one/drosse/compare/1.13.0...1.13.1
|
203 | [1.13.0]: https://github.com/jota-one/drosse/compare/1.12.0...1.13.0
|
204 | [1.12.0]: https://github.com/jota-one/drosse/compare/1.11.3...1.12.0
|
205 | [1.11.3]: https://github.com/jota-one/drosse/compare/1.11.2...1.11.3
|
206 | [1.11.2]: https://github.com/jota-one/drosse/compare/1.11.1...1.11.2
|
207 | [1.11.1]: https://github.com/jota-one/drosse/compare/1.11.0...1.11.1
|
208 | [1.11.0]: https://github.com/jota-one/drosse/compare/1.10.0...1.11.0
|
209 | [1.10.0]: https://github.com/jota-one/drosse/compare/1.9.0...1.10.0
|
210 | [1.9.0]: https://github.com/jota-one/drosse/compare/1.8.0...1.9.0
|
211 | [1.8.0]: https://github.com/jota-one/drosse/compare/1.7.0...1.8.0
|
212 | [1.7.0]: https://github.com/jota-one/drosse/compare/1.6.0...1.7.0
|
213 | [1.6.0]: https://github.com/jota-one/drosse/compare/1.5.0...1.6.0
|
214 | [1.5.0]: https://github.com/jota-one/drosse/compare/1.4.1...1.5.0
|
215 | [1.4.1]: https://github.com/jota-one/drosse/compare/1.4.0...1.4.1
|
216 | [1.4.0]: https://github.com/jota-one/drosse/compare/1.3.0...1.4.0
|
217 | [1.3.0]: https://github.com/jota-one/drosse/compare/1.2.0...1.3.0
|
218 | [1.2.0]: https://github.com/jota-one/drosse/compare/1.1.0...1.2.0
|
219 | [1.1.0]: https://github.com/jota-one/drosse/compare/1.0.0...1.1.0
|
220 | [1.0.0]: https://github.com/jota-one/drosse/releases/tag/1.0.0
|