UNPKG

8.55 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.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}`
27as argument instead of just `app` as it used to be until now, which allows users
28to 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
181TODO
182
183## [1.2.0] - 2020-11-17
184TODO
185
186## [1.1.0] - 2020-11-10
187TODO
188
189## [1.0.0] - 2020-10-28
190TODO
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