Releases: entropic-dev/boltzmann
Boltzmann v0.6.0
Boltzmann v0.5.3
--honeycomb
: RespectHONEYCOMB_*
env vars in addition toHONEYCOMBIO_*
env vars.
Boltzmann v0.5.2
Patch release: the nodemon.json configuration is now templated so it works correctly for typescript projects as well as javascript.
Boltzmann v0.5.1
Fixes for three bugs:
- Fixed a problem with routing when a version header is entirely absent.
- Removed unused pino dependency from the javascript deps list.
- The entire
services
section of the github test workflow is now hidden if no services are needed.
Boltzmann v0.5.0
Boltzmann is now implemented in 100% TypeScript. It can scaffold either JavaScript or TypeScript projects.
$ npm init boltzmann --typescript # for typescript
$ npm init boltzmann # for javascript
If you had previously used Boltzmann for TypeScript you will find that the type definitions are much more complete & fully featured.
Breaking changes
- TypeScript users must use
import { .. } from './boltzmann'
instead ofimport { .. } from './boltzmann.js'
– note the lack of the.js
. - The signatures of handlers changed. Handlers are no longer called with route parameters as a second argument. Parameters are now available as
context.params
. - Routing happens before middleware; middleware that adjusts the URL will no longer affect routing behavior
- AJV validates schemas for
validate.{body,params,query}
; invalid schemas will throw errors in development. - AJV version bumped from v6 to v8.
dataPath
is nowinstancePath
. Dotted lookup inside is now/
-based
instead. E.g., given an error at "foo":- BEFORE:
{"dataPath": ".foo.bar"}
- AFTER:
{"instancePath": "/foo/bar"}
- BEFORE:
- Error messaging changed ("must" replaces "should"):
- BEFORE: "should have required property 'bar'"
- AFTER: "must have required property 'bar'"
- All schema errors are now returned, not just the first.
- ajv@7 changes how ajv instances are constructed and removes builtin
formats and keywords. See 1. - ajv@8 changes some details about error formatting. See 2.
- Handy-redis upgraded from 1.8.1 to v2.2.1
- This changes the exported type.
Boltzmann v0.4.3
f35f2f88e3490476474f40d2d4e5bdd1f6fd3619 fix(typedefs): allow configuration of test middleware
Boltzmann v0.4.2
4377991e64180d3ad6389177c4f9a7f6a3a5c03a allow context.url to be set to a URL instance (#82)
4bcc721ad09342bf8b91448e9fd92b85eb2f3ab7 fix: update context.body ts signature from {string:string} to {string: any} (#80)
9cf81e2b41537a93a6eec541e7d2f3d2fd162880 make docs header not overlap in safari (#81)
Boltzmann v0.4.1
typescript: export {Augmented,}TestHandler typedefs
Boltzmann v0.4.0
This release exports the logging middleware as middleware.log
, for optional use in tests where you want to see request logs.
Boltzmann v0.3.0
TypeScript support lands in this release of Boltzmann! Scaffolding with --typescript
creates a project ready to work on with transpilation tools installed. Full types are provided for both boltzmann and tap tests. See the TypeScript example for a taste of what a TypeScript handler looks like.
Boltzmann's scaffolding output has been redesigned to make it more concise and actionable. It now does a better job of managing run scripts in projects that were scaffolded with earlier versions of the tool. It also attempts to detect and respect changes you may have made to standard run scripts.
Breaking change: the test
run script now looks for test files in tests
instead of test
singular. This is more conventional but is a change from previous versions. If you wish to continue to target test
, your edits to that run script will be respected by future versions.
Documentation updates: The templates feature is now documented. The docs site now features a new layout designed for legibility. The latest Boltzmann docs can always be found at https://www.boltzmann.dev/en/docs/latest/ .