feature(lambda): update ZIP runtime list and default to nodejs22.x - #31
Merged
Conversation
Refresh the runtime options against the current AWS Lambda supported runtimes table and move the default off nodejs20.x, deprecated by AWS on Apr 30, 2026. - Add nodejs24.x, nodejs22.x, python3.14, java25, dotnet10, ruby4.0 and ruby3.4 to the service spec; drop nodejs18.x - Default runtime is now nodejs22.x, in the spec and in every bash and tofu fallback - The scope-creation placeholder no longer pins nodejs20.x, which AWS blocks for create-function starting Feb 1, 2027
fedemaleh
approved these changes
Jul 31, 2026
This was referenced Jul 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates the runtime list offered for
.zipdeployments and moves the default offa runtime that AWS has already deprecated.
Why now
nodejs20.xreached end of support on 2026-04-30. AWS blocks creatingfunctions on a deprecated runtime from 2027-02-01, and blocks updating them
six months later. Until then it keeps working, so nothing is broken today — but
every new scope created with the current default starts on a runtime with a
deadline attached.
What changes
The list goes to 18 runtimes, adding the ones AWS released since it was last
touched:
nodejs24.x,nodejs22.x,python3.14,java25,dotnet10,ruby4.0andruby3.4.nodejs18.xcomes out, being past end of support.nodejs20.xstays available — it is deprecated but still functional, andremoving it would leave existing scopes describing a runtime the schema no longer
admits.
The default becomes
nodejs22.x.The part that matters beyond the list
Six fallbacks hardcoded
nodejs20.xand now readnodejs22.x. One of them isnot cosmetic:
create_placeholder_lambdabuilds the function that holds a scopeuntil its first deployment. That call is a
CreateFunction, so it is the onethat stops working on 2027-02-01 — after that date, creating a Lambda scope
would fail while existing scopes kept deploying normally.
Verified
Registered in an AWS implementation and used to create a scope: the function was
created on
nodejs22.x, arm64, and served traffic through its ALB. A secondapplication was later deployed on the same runtime and invoked both over HTTP and
through a DynamoDB stream trigger.
🤖 Generated with Claude Code