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.
2.0.0 - 2024-10-14
- Major update improving simplicity
- Simplified build, now exported as ESM modules only.
- Separated out Node.js support into its own export,
"@fanoutio/serve-grip/node"
.- This exports a version of
ServeGrip
that works with Node.js'sIncomingMessage
objects. - Added conditional export "node" that makes this available on the main
@fanoutio/serve-grip
export as well when the condition"node"
is present when resolving imports.
- This exports a version of
- Removed
IGripApiRequest
andIGripApiResponse
interfaces.- Subclasses of
ServeGripBase
are now to work directly with the TRequest and TResponse objects.
- Subclasses of
1.3.1 - 2023-09-14
- Bump dependency versions
1.3.0 - 2023-09-04
- Revert to npm instead of pnpm
- Support Fastly Fanout
- Use
getVerifyKey
andgetVerifyIss
to validateGrip-Sig
- Allow use of
gripVerifyKey
during configuration - README updates
1.2.0 - 2022-06-06
- Use pnpm
- Add extension points so that other implementations can be created by extending
ServeGripBase
with implementations ofIGripApiRequest
andIGripApiResponse
.
1.1.7 - 2021-01-07
- Added Koa support and examples
1.0.0 - 2020-08-24
- Initial Version. Replaces
@fanoutio/express-grip
. - Rewritten in TypeScript and exporting types files to enable static type checking and IDE completion.
- CommonJS and ESM builds are standard TypeScript builds, so that they can be imported in Node and in modern bundlers that offer features such as tree shaking.
- Source code formatted with Prettier.
- Added this Changelog file.
- Adds support for Next.js.
- Added a shimmed
Buffer
object to browser build, as it is needed during JWT authorization. - Added demos that can be run out of the box, for http and ws, for both express and Next.js. These are designed to be used with pushpin (https://pushpin.org).
- Distributed as
@fanouio/serve-grip
to replace@fanouio/express-grip
. - The default export is no longer a single global instance that represents the middleware.
Instead, this package exports a named ES6 class
ServeGrip
that accepts the options to define the instance's behavior. - Source files moved from
/lib
to/src
- Improved README by being more straightforward with the basic use case.
- Unlike express-grip, no longer requires the use of pre- and post- middlewares. A single middleware is able to provide the necessary headers and content after routes have run.