Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
// Append -bullseye or -buster to pin to an OS version.
// Use -bullseye variants on local arm64/Apple Silicon.
"args": {
"VARIANT": "22-bullseye"
"VARIANT": "24-bullseye"
}
},
"customizations": {
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ body:
attributes:
label: AWS Lambda function runtime
options:
- 24.x
- 22.x
- 20.x
validations:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/bootstrap_region.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: "22"
node-version: 24
- name: Setup dependencies
uses: aws-powertools/actions/.github/actions/cached-node-modules@29979bc5339bf54f76a11ac36ff67701986bb0f0
- id: credentials
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/make-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
- name: Setup NodeJS
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: "22"
node-version: 24
cache: "npm"
registry-url: 'https://registry.npmjs.org'
- name: Setup auth tokens
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/make-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
pull-requests: write
runs-on: ubuntu-latest
env:
NODE_VERSION: "22"
NODE_VERSION: "24"
outputs:
RELEASE_VERSION: ${{ steps.version-n-changelog.outputs.new-version }}
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
- name: Setup NodeJS
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: "22"
node-version: 24
cache: "npm"
registry-url: 'https://registry.npmjs.org'
- name: Setup auth tokens
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish_layer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: "22"
node-version: 24
- name: Setup dependencies
uses: aws-powertools/actions/.github/actions/cached-node-modules@29979bc5339bf54f76a11ac36ff67701986bb0f0
- name: CDK build
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/quality_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
NODE_ENV: dev
strategy:
matrix:
version: [20, 22]
version: [20, 22, 24]
workspace: [
"packages/batch",
"packages/commons",
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
- name: Setup NodeJS
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: 22
node-version: 24
cache: "npm"
- name: Setup dependencies
uses: aws-powertools/actions/.github/actions/cached-node-modules@29979bc5339bf54f76a11ac36ff67701986bb0f0
Expand All @@ -86,7 +86,7 @@ jobs:
- name: Setup NodeJS
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: 22
node-version: 24
cache: "npm"
- name: Setup dependencies
uses: aws-powertools/actions/.github/actions/cached-node-modules@29979bc5339bf54f76a11ac36ff67701986bb0f0
Expand All @@ -104,7 +104,7 @@ jobs:
- name: Setup NodeJS
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: 22
node-version: 24
cache: "npm"
- name: Setup dependencies
uses: aws-powertools/actions/.github/actions/cached-node-modules@29979bc5339bf54f76a11ac36ff67701986bb0f0
Expand All @@ -120,7 +120,7 @@ jobs:
- name: Setup NodeJS
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: 22
node-version: 24
cache: "npm"
- name: Setup dependencies
uses: aws-powertools/actions/.github/actions/cached-node-modules@29979bc5339bf54f76a11ac36ff67701986bb0f0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
NODE_ENV: dev
strategy:
matrix:
version: [20, 22]
version: [20, 22, 24]
workspace: [
"packages/batch",
"packages/commons",
Expand Down Expand Up @@ -92,7 +92,7 @@ jobs:
name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: 22
node-version: 24
cache: "npm"
- &setup_dependencies
name: Setup dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable_deploy_layer_stack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: "22"
node-version: 24
- name: Setup dependencies
uses: aws-powertools/actions/.github/actions/cached-node-modules@29979bc5339bf54f76a11ac36ff67701986bb0f0
- name: Download artifact
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable_publish_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
- name: Setup NodeJS
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: "22"
node-version: 24
cache: "npm"
- name: Setup dependencies
uses: aws-powertools/actions/.github/actions/cached-node-modules@29979bc5339bf54f76a11ac36ff67701986bb0f0
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/run-e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
packages/tracer,
layers,
]
version: [20, 22]
version: [20, 22, 24]
arch: [x86_64, arm64]
fail-fast: false
steps:
Expand All @@ -53,11 +53,11 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: '22'
node-version: 24
- name: Setup dependencies
uses: aws-powertools/actions/.github/actions/cached-node-modules@3b5b8e2e58b7af07994be982e83584a94e8c76c5 # v1.5.0
with:
node-version: '22'
node-version: 24
- name: Setup AWS credentials
uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0
with:
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
lts/jod
lts/krypton
2 changes: 1 addition & 1 deletion docs/contributing/setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ graph LR
Unless you're using the pre-configured Cloud environment, you'll need the following installed:

* [GitHub account](https://github.com/join){target="_blank" rel="nofollow"}. You'll need to be able to fork, clone, and contribute via pull request.
* [Node.js 22.x](https://nodejs.org/download/release/latest-v22.x/){target="_blank" rel="nofollow"}. The repository contains an `.nvmrc` file, so if you use tools like [nvm](https://github.com/nvm-sh/nvm#nvmrc), [fnm](https://github.com/Schniz/fnm) you can switch version quickly.
* [Node.js 24.x](https://nodejs.org/download/release/latest-v24.x/){target="_blank" rel="nofollow"}. The repository contains an `.nvmrc` file, so if you use tools like [nvm](https://github.com/nvm-sh/nvm#nvmrc), [fnm](https://github.com/Schniz/fnm) you can switch version quickly.
* [npm 10.x](https://www.npmjs.com/). We use it to install dependencies and manage the workspaces.
* [Docker](https://docs.docker.com/engine/install/){target="_blank" rel="nofollow"}. We use it to run documentation, and non-JavaScript tooling.
* [Fork the repository](https://github.com/aws-powertools/powertools-lambda-typescript/fork). You'll work against your fork of this repository.
Expand Down
2 changes: 1 addition & 1 deletion docs/contributing/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ To run integration tests you'll need to set up an AWS account and obtain credent
* `npm test:e2e -ws` to run all the integration tests for all the modules sequentially
* `test:e2e:parallel` to run all the integration tests for all the modules in parallel
* `npm test:e2e -w packages/metrics` to run all the integration tests for the `metrics` module
* `npm run test:e2e:nodejs22x -w packages/metrics` to run all the integration tests for the `metrics` module using the `nodejs22x` runtime
* `npm run test:e2e:nodejs24x -w packages/metrics` to run all the integration tests for the `metrics` module using the `nodejs24x` runtime

The tests will deploy the necessary AWS resources using AWS CDK, and will run the Lambda functions using the AWS SDK. After that, the tests will verify the Lambda functions behave as expected by checking logs, metrics, traces, and other resources as needed. Finally, the tests will destroy all the AWS resources created at the beginning.

Expand Down
2 changes: 1 addition & 1 deletion docs/features/logger.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ Check API docs to learn more about [Logger constructor options](https://docs.aws
ShoppingCartApiFunction:
Type: AWS::Serverless::Function
Properties:
Runtime: nodejs22.x
Runtime: nodejs24.x
Environment:
Variables:
POWERTOOLS_LOG_LEVEL: WARN
Expand Down
2 changes: 1 addition & 1 deletion docs/features/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ The `Metrics` utility is instantiated outside of the Lambda handler. In doing th
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
Runtime: nodejs22.x
Runtime: nodejs24.x
Environment:
Variables:
POWERTOOLS_SERVICE_NAME: orders
Expand Down
6 changes: 3 additions & 3 deletions docs/features/tracer.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ To use it in an ESM project, you can instruct your bundler to use the `require`
super(scope, id, props);

const handler = new NodejsFunction(this, 'helloWorldFunction', {
runtime: Runtime.NODEJS_22_X,
runtime: Runtime.NODEJS_24_X,
handler: 'handler',
entry: 'src/index.ts',
bundling: {
Expand All @@ -90,7 +90,7 @@ To use it in an ESM project, you can instruct your bundler to use the `require`
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
Runtime: nodejs22.x
Runtime: nodejs24.x
Handler: src/index.handler
Metadata:
BuildMethod: esbuild
Expand Down Expand Up @@ -140,7 +140,7 @@ The `Tracer` utility is instantiated outside of the Lambda handler. In doing thi
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
Runtime: nodejs22.x
Runtime: nodejs24.x
Tracing: Active
Environment:
Variables:
Expand Down
13 changes: 7 additions & 6 deletions docs/getting-started/lambda-layers.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,8 @@ Change `{aws::region}` to your AWS region, e.g. `eu-west-1`, and run the followi
"Version": 24,
"CompatibleRuntimes": [
"nodejs20.x",
"nodejs22.x"
"nodejs22.x",
"nodejs24.x"
],
"LicenseInfo": "MIT-0",
"CompatibleArchitectures": [
Expand Down Expand Up @@ -142,7 +143,7 @@ Change `{aws::region}` to your AWS region, e.g. `eu-west-1`, and run the followi
);

new NodejsFunction(this, 'Function', {
runtime: Runtime.NODEJS_22_X,
runtime: Runtime.NODEJS_24_X,
// Add the Layer to a Lambda function
layers: [powertoolsLayer],
code: Code.fromInline(`...`),
Expand Down Expand Up @@ -191,7 +192,7 @@ Change `{aws::region}` to your AWS region, e.g. `eu-west-1`, and run the followi
);

new NodejsFunction(this, 'Function', {
runtime: Runtime.NODEJS_22_X,
runtime: Runtime.NODEJS_24_X,
// Add the Layer to a Lambda function
layers: [powertoolsLayer],
code: Code.fromInline(`...`),
Expand Down Expand Up @@ -281,7 +282,7 @@ Change `{aws::region}` to your AWS region, e.g. `eu-west-1`, and run the followi
function_name = "lambda_function_name"
role = ...
handler = "index.handler"
runtime = "nodejs22.x"
runtime = "nodejs24.x"
layers = ["arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScriptV2:40"]
source_code_hash = filebase64sha256("lambda_function_payload.zip")
}
Expand All @@ -298,7 +299,7 @@ Change `{aws::region}` to your AWS region, e.g. `eu-west-1`, and run the followi
resource "aws_lambda_function" "test_lambda" {
...

runtime = "nodejs22.x"
runtime = "nodejs24.x"

layers = [data.aws_ssm_parameter.powertools_version.value]
}
Expand All @@ -323,7 +324,7 @@ Change `{aws::region}` to your AWS region, e.g. `eu-west-1`, and run the followi
tracingConfig: {
mode: 'Active'
},
runtime: aws.lambda.Runtime.NodeJS22dX,
runtime: aws.lambda.Runtime.NodeJS24dX,
handler: 'index.handler',
role: role.arn,
architectures: ['x86_64']
Expand Down
4 changes: 2 additions & 2 deletions docs/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ Here is an example using `esbuild` bundler.
super(scope, id, props);

const handler = new NodejsFunction(this, 'helloWorldFunction', {
runtime: Runtime.NODEJS_22_X,
runtime: Runtime.NODEJS_24_X,
handler: 'handler',
entry: 'src/index.ts',
bundling: {
Expand All @@ -105,7 +105,7 @@ Here is an example using `esbuild` bundler.
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
Runtime: nodejs22.x
Runtime: nodejs24.x
Handler: src/index.handler
Metadata:
BuildMethod: esbuild
Expand Down
2 changes: 1 addition & 1 deletion examples/app/template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Transform: AWS::Serverless-2016-10-31
# https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-template-anatomy-globals.html
Globals:
Function:
Runtime: nodejs22.x
Runtime: nodejs24.x
Tracing: Active
Architectures:
- arm64
Expand Down
2 changes: 1 addition & 1 deletion examples/snippets/batch/templates/sam/dynamodb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Globals:
Function:
Timeout: 5
MemorySize: 256
Runtime: nodejs22.x
Runtime: nodejs24.x
Tracing: Active
Environment:
Variables:
Expand Down
2 changes: 1 addition & 1 deletion examples/snippets/batch/templates/sam/kinesis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Globals:
Function:
Timeout: 5
MemorySize: 256
Runtime: nodejs22.x
Runtime: nodejs24.x
Tracing: Active
Environment:
Variables:
Expand Down
2 changes: 1 addition & 1 deletion examples/snippets/batch/templates/sam/sqs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Globals:
Function:
Timeout: 5
MemorySize: 256
Runtime: nodejs22.x
Runtime: nodejs24.x
Tracing: Active
Environment:
Variables:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Globals:
Function:
Timeout: 5
MemorySize: 256
Runtime: nodejs22.x
Runtime: nodejs24.x
Tracing: Active
Environment:
Variables:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Globals:
Function:
Timeout: 5
MemorySize: 256
Runtime: nodejs22.x
Runtime: nodejs24.x
Environment:
Variables:
# Powertools for AWS Lambda (TypeScript) env vars: https://docs.aws.amazon.com/powertools/typescript/latest/environment-variables/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export class BedrockAgentsStack extends Stack {
const fn = new NodejsFunction(this, 'AirlineAgentFunction', {
functionName: fnName,
logGroup,
runtime: Runtime.NODEJS_22_X,
runtime: Runtime.NODEJS_24_X,
entry: './src/index.ts',
handler: 'handler',
bundling: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Globals:
Function:
Timeout: 30
MemorySize: 256
Runtime: nodejs22.x
Runtime: nodejs24.x

Resources:
HelloWorldFunction:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Globals:
Function:
Timeout: 5
MemorySize: 256
Runtime: nodejs22.x
Runtime: nodejs24.x
Tracing: Active
Environment:
Variables:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Globals:
Function:
Timeout: 5
MemorySize: 256
Runtime: nodejs22.x
Runtime: nodejs24.x
Tracing: Active
Environment:
Variables:
Expand Down
Loading
Loading