Skip to content

Releases: raptor-js/kernel

v0.22.0

27 Mar 14:38

Choose a tag to compare

Changes

  • Added support for optionally adding middleware to the kernel via configuration.

Example:

import { Kernel, type Context } from "@raptor/kernel";

const app = new Kernel({
  middleware: [
    (context: Context) => "Hello, Dr Malcolm!"
  ]
});

v0.21.0

27 Mar 09:17

Choose a tag to compare

Changes

  • Added new hostname configuration option to Kernel, allowing you to specific a different hostname from localhost, such as 0.0.0.0 when working within a docker container.
  • Return the Response instance immediately if found within the middleware stack.

No changes required for existing applications in this release.

v0.20.1

17 Mar 21:31

Choose a tag to compare

v0.20.0

04 Mar 13:30

Choose a tag to compare

Changes

  • Moved from recursive middleware chain execution to iterative, which improves performance as systems scale. This performance improvement helps Raptor to become the fastest of all tested middleware frameworks in Deno (other runtimes should reflect the same performance statistics).
  • Improve config-driven support for overriding the ServerManager and ResponseManager, as well as support for adding and configuring response processors.

v0.19.0

27 Feb 13:16

Choose a tag to compare

Changes

  • Restructure the interfaces directory to split into two; interfaces and types for clarity.
  • Add HttpMethod type to core framework, allowing any package to use the helper.
  • Fix documentation URLs pointing to old domain(s).

v0.18.0

22 Feb 18:22

Choose a tag to compare

Changes

  • Kernel options have now been moved to a configuration object, this is aligned with the rest of the Raptor ecosystem now moving to a consistent, configurable instantiation of core classes.

Upgrading from 0.17.x to 0.18.0

The only real change required is to change the definition of port from the serve method to the new Config object, which is passed optionally to the Kernel constructor.

Example

const app = new Kernel({ port: 8000 });

app.serve();

v0.17.1

17 Feb 17:53

Choose a tag to compare

In this release

  • Minor README updates to new domain URLs.

v0.17.0

17 Feb 17:51

Choose a tag to compare

In this release

No application changes required for this release.

  • Added ability to method-chain within the Kernel, for optional syntactic-sugar.

v0.16.1

24 Jan 11:23

Choose a tag to compare

In this release

  • Add the ContentNegotiator service to the exported files in mod.ts.

v0.16.0

24 Jan 11:15

Choose a tag to compare

In this release

  • Improve the extending of the response manager and processors. Developers now need to implement the ResponseProcessor interface. The type method is no longer required, as the type argument of the register method is now used for registering processors for a specific response body type.
  • The response manager is now easily swappable and extendable, allowing an easy way to change how the base response management works. This is helpful if you want to add a completely new response body type to the stack (for more advanced use cases).
  • A server manager service has been added and is also swappable and extendable by developers. This allows existing runtimes to be changed and new server/runtimes to be supported, if needed.
  • All tests have been moved from the legacy tests folder and now sit next to the associated file. A significant number of tests have also been added to the system, making the overall framework far more robust and tested.

Applications that have overridden or extended the response processing system will need to be updated to support the new mechanics with v0.16.0.