UNPKG

8.39 kBMarkdownView Raw
1# Changelog
2All notable changes to this project will be documented in this file.
3
4The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5and 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}`
23as argument instead of just `app` as it used to be until now, which allows users
24to 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
177TODO
178
179## [1.2.0] - 2020-11-17
180TODO
181
182## [1.1.0] - 2020-11-10
183TODO
184
185## [1.0.0] - 2020-10-28
186TODO
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