## Version 8 - [ ] Drop Node v22, Add support fro Node v24 - [x] Update `engines` to `"node": ">=24"` - [x] Update GitHub Actions workflows `NODE_VERSION` and `node-version` - [x] update `"@types/node": "^24.0.0"` - [ ] update GitHub ruleset for `main` - [ ] docs - [x] Add `docs/upgrade/7-8.md` - [ ] update `docs/intro/09-release cycle.md` - [x] Use new RegExp.escape function in routers (https://nodejs.org/en/blog/release/v24.0.0) - [x] Use new URLPattern function in routers (https://nodejs.org/en/blog/release/v24.0.0) - 67x slower - skipping - [x] Drop references to callback in `core` (https://github.com/aws/aws-lambda-nodejs-runtime-interface-client/issues/137) - [x] Deprecate `@middy/do-not-wait-for-empty-event-loop`. `context.callbackWaitsForEmptyEventLoop` and `context.lambdaContext.callbackWaitsForEmptyEventLoop` will no longer be used. (https://github.com/aws/aws-lambda-nodejs-runtime-interface-client/issues/177) - [x] node26 runtime (https://github.com/aws/aws-lambda-roadmap/issues/56, https://aws.amazon.com/blogs/compute/introducing-public-preview-runtimes-on-aws-lambda-starting-with-node-js-26-and-python-3-15/) - `core` - [x] remove err.originalError - [x] Add in check for DuarbaleContext, throw error instead of triggering onError (update event-batch-* that have this check) - [x] `http-error-handler` all logger access to `request` - [x] Update middleware that need access to before context to use a new pattern - [x] Use the package name as the key within a middy context - [x] { ...request.context, middy: { 'pkg':{} } - [x] `s3-object-response` - [x] `http-content-negotiation` - [x] split `input-output-logger` into `event-logger` and `response-logger` - [x] move omit logic to `util` - [x] have all logger with same shape - [x] Update to use AggregateError pattern where better suited - [x] `sts` update RoleSessionName to use randomUUID ### Maybe - [ ] improve response streaming support (new middlewares?) - [ ] plugins as packages? - [ ] Move to JSDoc notation? https://www.youtube.com/watch?v=zPOHY-cZ1wE - [ ] Update abort signals if Lambda adds support ### Moved to v9 - [ ] Deprecate `Report-To`, default to `Reporting-Endpoints` (NEL still requires Report-To)
Version 8
Drop Node v22, Add support fro Node v24
enginesto"node": ">=24"NODE_VERSIONandnode-version"@types/node": "^24.0.0"maindocs
docs/upgrade/7-8.mddocs/intro/09-release cycle.mdUse new RegExp.escape function in routers (https://nodejs.org/en/blog/release/v24.0.0)
Use new URLPattern function in routers (https://nodejs.org/en/blog/release/v24.0.0) - 67x slower - skipping
Drop references to callback in
core([FEEDBACK REQUEST] Should AWS Lambda deprecate callback-style function handlers for Node.js 24 and later?聽aws/aws-lambda-nodejs-runtime-interface-client#137)Deprecate
@middy/do-not-wait-for-empty-event-loop.context.callbackWaitsForEmptyEventLoopandcontext.lambdaContext.callbackWaitsForEmptyEventLoopwill no longer be used. (Deprecate context.callbackWaitsForEmptyEventLoop?聽aws/aws-lambda-nodejs-runtime-interface-client#177)node26 runtime (Lambda managed runtime for Node.js 26聽aws/aws-lambda-roadmap#56, https://aws.amazon.com/blogs/compute/introducing-public-preview-runtimes-on-aws-lambda-starting-with-node-js-26-and-python-3-15/)
corehttp-error-handlerall logger access torequestUpdate middleware that need access to before context to use a new pattern
s3-object-responsehttp-content-negotiationsplit
input-output-loggerintoevent-loggerandresponse-loggerutilUpdate to use AggregateError pattern where better suited
stsupdate RoleSessionName to use randomUUIDMaybe
Moved to v9
Report-To, default toReporting-Endpoints(NEL still requires Report-To)