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