All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
12.0.0 / 2022-04-03
- Update Awilix to v7.
11.0.0 / 2022-02-15
- Update Awilix to v6.
- Update @meltwater/mlabs-logger to v9.
- Update prom-client to v14.
10.2.0 / 2021-06-04
- Register default
execIdas hostname.
10.1.0 / 2021-01-05
- No longer use peer dependencies.
10.0.0 / 2021-01-03
- Publish as both ES and CommonJS module.
- (Breaking) Renamed export
createClienttocreateHttpClient. - (Breaking) Update prom-client to v13.
- (Breaking) Use Conditional Exports to provide ES or CommonJS module. Cannot import or require internal paths.
- (Breaking) Drop support for Node.js versions before 12.13.0.
- (Breaking) The
defaultexport.
9.0.0 / 2020-11-17
- Update all dependencies and test on Node Fermium.
- License to MIT.
8.3.0 / 2020-06-17
- Update all dependencies.
8.2.1 / 2020-05-05
- Disallow invalid metric prefix and coerce to snake case to optimistically fix invalid prefix.
8.2.0 / 2020-04-22
- Downgrade to @koa/router v8. See koajs/router#79.
8.1.0 / 2020-04-13
- Update to @koa/router v9.
8.0.0 / 2020-02-25
- Replace koa-router with @koa/router.
- Update to uuid v7.
- Update to confit to v3.
- Update to prom-client v12.
- Update to @hapi/boom v9.
7.11.0 / 2019-10-21
- Update to @hapi/boom v8.
7.10.0 / 2019-09-26
- New option
originstocorsconfig to whitelist origins.
- Update to koa-helmet v5.
7.9.0 / 2019-05-31
- Merge
process.versionsinto root package data.
7.8.0 / 2019-05-09
- Generate and log
execIdon every request.
- Update to Chokidar v3.
7.7.1 / 2019-05-03
- Move to
@hapi/boomfromboom,
7.7.0 / 2019-04-19
- Option to delay startup for
startupDelaymilliseconds.
7.6.0 / 2019-04-11
- Open source under the Apache License, Version 2.0!
7.5.0 / 2019-03-28
- Update to @meltwater/mlabs-health v1.2.0.
- Update to @meltwater/mlabs-logger v5.2.0.
- Update to @koa/cors v3.
7.4.0 / 2019-02-27
- Return
watcherandreadyfromcreateServer.
- Ensure watcher ready event is not missed.
7.3.2 / 2019-02-20
- Ensure watcher is ready before loading config.
7.3.1 / 2019-02-20
- Race condition on startup config watcher: see paulmillr/chokidar#612.
7.3.0 / 2019-02-15
shutdownTimeoutto prevent stop promise from hanging server.
7.2.0 / 2019-01-18
- Request logs now include
reqMethod,reqUrl, andresStatusCodeat the top-level.
7.1.1 / 2019-01-05
- Resolve
startandstoponly when needed.
7.1.0 / 2019-01-04
- Register the HTTP server as
server.
- Update to makenew-node-lib v5.3.1.
7.0.1 / 2018-12-17
- Update to makenew-node-lib v5.3.0.
7.0.0 / 2018-10-22
createHealthCheckfunction.- New option
exitOnUnhandledRejection(defaulttrue). - App metrics via new dependencies and config options.
- Top level log properties to categorize log messages:
isLifecycleLog,isRequestLog,isAppLog, andisHealthLog.
- (Breaking) Update Awilix peer dependency to version 4.
- (Breaking) Process will exit on
unhandledRejection. Disable this with the config optionexitOnUnhandledRejection. - (Breaking)
isLifecyclelog property renamed toisLifecycleLog.
- Use final logger to ensure logging on exit.
6.0.0 / 2018-09-27
- (Breaking)
httpGetJsontakes an options object and not a string. The string parameter was incompatible withhttp.request. - Update to koa-mount v4.
- Update to new minimum @meltwater package versions.
- Update to @meltwater/mlabs-logger v5.0.0.
- Update to makenew-node-lib v5.1.0.
httpGetJsonsends accepts header and properly handles errors.
5.1.0 / 2018-08-30
- Update to @meltwater/mlabs-logger v5.0.0.
- Update to makenew-node-lib v4.7.2.
5.0.0 / 2018-06-06
- (Breaking) Health middleware now waits for health checks to resolve before returning health status.
- All previously required dependencies are now optional. If one is unregistered, a default will be registered instead.
- Both
configPathandcreateDependenciesare now optional. - A global
reqIdis registered for dependencies that need it outside of a request (on startup for example).
- New option
exitOnFalseStart(defaulttrue). Iffalse, the server will not crash ifstartrejects, but it will never enter a ready state.
4.0.1 / 2018-05-27
- Only call
stopand other shutdown logic once.
4.0.0 / 2018-05-25
- Option to shutdown on config changes:
shutdownOnChange. Default istrue.
3.0.0 / 2018-05-11
- Readiness middleware to track if server is ready to handle requests.
- Option to delay shutdown for
shutdownDelaymilliseconds.
- Server will not shutdown on config change: instead it will fail readiness check.
- Koa server starts before registered
startfunction is called.
koaHealthyresponded with JSON instead of plain text when requests do not send accept header.
2.3.0 / 2018-04-13
- Serve Prometheus metrics at
/metricsby adding aregistryto dependencies.
2.2.0 / 2018-04-03
- Handle errors on server listen by logging and shutting down.
2.1.2 / 2018-03-29
- Update to koa-helmet v4.
- Update to mlabs-logger v4.1.1.
- Update to makenew-node-lib v4.6.1.
2.1.1 / 2018-02-27
- Update to @meltwater/phi v2.
- Update to makenew-node-lib v4.5.0.
2.1.0 / 2018-02-25
- Use default config value when environment variable is empty string.
- Update to makenew-node-lib v4.4.1.
- Case where log
outputModewould be ignored.
2.0.0 / 2018-02-02
- Filter logs in development with new options
logFiltersandfilter. - Select
logOutputModein development. - Corresponding overrides for the above with
LOG_OUTPUT_MODEandLOG_FILTER. - Ability to override log
versionproperty. - Convenience method
httpGetJson.
- Update to mlabs-logger version 4 which now uses Pino.
- Default logger properties must be under the
baseoption. The base option will be merged with the standard Pino base defaults. - (Breaking) Logs are now formatted in development according to log
outputMode. No need to pipe logs through an external CLI formatter. - (Breaking) Remove
useProductionlogger option and replace withuseDevandaddReq. - Update to makenew-node-lib v4.3.4.
1.7.0 / 2018-01-25
- If
ctx.bodyis set and an error is thrown (either directly or viactx.status), the body will be respected and sent unmodified instead of sending the standard error payload.
- Throw a corresponding Boom error when
ctx.statusis set. Previously only a 404 status would throw a proper error.
1.6.1 / 2018-01-18
- Update to makenew-node-lib v4.1.12.
1.6.0 / 2018-01-18
- Log
reqNamefromx-request-nameheader. - Log
statusCodeunderhttpproperty.
- Update to makenew-node-lib v4.1.11.
1.5.0 / 2018-01-10
createServernow returnsexitfunction.
- Update to makenew-node-lib v4.1.10.
1.4.1 / 2018-01-03
- Update to makenew-node-lib v4.1.9.
- Update chokidar to version 2.
1.4.0 / 2017-12-14
- Do not load hidden files (dotfiles) as secrets of configs.
1.3.1 / 2017-12-14
- Watching recursive config paths on Linux.
1.3.0 / 2017-12-14
- Override log level with
LOG_LEVEL.
1.2.0 / 2017-12-13
- Load all config files under
env.dandlocal.d. - Load contents of files under
secret.dinto config.
1.1.0 / 2017-12-12
- All lifecycle logs messages set
isLifecycle: true.
- Update to makenew-node-lib v4.1.8.
- Initial release.