diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 3722537ae..88f18ea29 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,6 +1,9 @@
version: 2
updates:
-
+ - package-ecosystem: "maven"
+ directory: "/aws-lambda-java-runtime-interface"
+ schedule:
+ interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
diff --git a/.github/workflows/aws-lambda-java-core.yml b/.github/workflows/aws-lambda-java-core.yml
index 267d901c9..b1bed919f 100644
--- a/.github/workflows/aws-lambda-java-core.yml
+++ b/.github/workflows/aws-lambda-java-core.yml
@@ -14,13 +14,16 @@ on:
- 'aws-lambda-java-core/**'
- '.github/workflows/aws-lambda-java-core.yml'
+permissions:
+ contents: read
+
jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
diff --git a/.github/workflows/aws-lambda-java-events-sdk-transformer.yml b/.github/workflows/aws-lambda-java-events-sdk-transformer.yml
index 66f6b2bfe..1f1f08870 100644
--- a/.github/workflows/aws-lambda-java-events-sdk-transformer.yml
+++ b/.github/workflows/aws-lambda-java-events-sdk-transformer.yml
@@ -14,13 +14,16 @@ on:
- 'aws-lambda-java-events-sdk-transformer/**'
- '.github/workflows/aws-lambda-java-events-sdk-transformer.yml'
+permissions:
+ contents: read
+
jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
diff --git a/.github/workflows/aws-lambda-java-events.yml b/.github/workflows/aws-lambda-java-events.yml
index 04ab53a50..2d101018d 100644
--- a/.github/workflows/aws-lambda-java-events.yml
+++ b/.github/workflows/aws-lambda-java-events.yml
@@ -14,13 +14,16 @@ on:
- 'aws-lambda-java-events/**'
- '.github/workflows/aws-lambda-java-events.yml'
+permissions:
+ contents: read
+
jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
diff --git a/.github/workflows/aws-lambda-java-log4j2.yml b/.github/workflows/aws-lambda-java-log4j2.yml
index 7ae54cbe1..e9f6a56c1 100644
--- a/.github/workflows/aws-lambda-java-log4j2.yml
+++ b/.github/workflows/aws-lambda-java-log4j2.yml
@@ -14,13 +14,16 @@ on:
- 'aws-lambda-java-log4j2/**'
- '.github/workflows/aws-lambda-java-log4j2.yml'
+permissions:
+ contents: read
+
jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
diff --git a/.github/workflows/aws-lambda-java-profiler.yml b/.github/workflows/aws-lambda-java-profiler.yml
index db9fc225e..a3afe3729 100644
--- a/.github/workflows/aws-lambda-java-profiler.yml
+++ b/.github/workflows/aws-lambda-java-profiler.yml
@@ -22,7 +22,7 @@ jobs:
contents: read
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: Set up JDK
uses: actions/setup-java@v4
@@ -58,6 +58,10 @@ jobs:
working-directory: ./experimental/aws-lambda-java-profiler
run: ./integration_tests/invoke_function.sh
+ - name: Invoke Java Custom Options function
+ working-directory: ./experimental/aws-lambda-java-profiler
+ run: ./integration_tests/invoke_function_custom_options.sh
+
- name: Download from s3
working-directory: ./experimental/aws-lambda-java-profiler
run: ./integration_tests/download_from_s3.sh
diff --git a/.github/workflows/aws-lambda-java-serialization.yml b/.github/workflows/aws-lambda-java-serialization.yml
index c24c48d72..13b7e08b0 100644
--- a/.github/workflows/aws-lambda-java-serialization.yml
+++ b/.github/workflows/aws-lambda-java-serialization.yml
@@ -14,13 +14,16 @@ on:
- 'aws-lambda-java-serialization/**'
- '.github/workflows/aws-lambda-java-serialization.yml'
+permissions:
+ contents: read
+
jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
diff --git a/.github/workflows/aws-lambda-java-tests.yml b/.github/workflows/aws-lambda-java-tests.yml
index a28bca886..720c52c11 100644
--- a/.github/workflows/aws-lambda-java-tests.yml
+++ b/.github/workflows/aws-lambda-java-tests.yml
@@ -14,13 +14,16 @@ on:
- 'aws-lambda-java-tests/**'
- '.github/workflows/aws-lambda-java-tests.yml'
+permissions:
+ contents: read
+
jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
diff --git a/.github/workflows/repo-sync.yml b/.github/workflows/repo-sync.yml
index 25f05029a..2d97bc868 100644
--- a/.github/workflows/repo-sync.yml
+++ b/.github/workflows/repo-sync.yml
@@ -9,6 +9,10 @@ on:
- '.github/workflows/repo-sync.yml'
workflow_dispatch:
+permissions:
+ contents: write
+ pull-requests: write
+
jobs:
repo-sync:
name: Repo Sync
@@ -16,7 +20,7 @@ jobs:
env:
IS_CONFIGURED: ${{ secrets.SOURCE_REPO != '' }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
if: ${{ env.IS_CONFIGURED == 'true' }}
- uses: repo-sync/github-sync@v2
name: Sync repo to branch
diff --git a/.github/workflows/runtime-interface-client_merge_to_main.yml b/.github/workflows/runtime-interface-client_merge_to_main.yml
index e07b191e1..3560207f3 100644
--- a/.github/workflows/runtime-interface-client_merge_to_main.yml
+++ b/.github/workflows/runtime-interface-client_merge_to_main.yml
@@ -28,7 +28,7 @@ jobs:
contents: read
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: Set up JDK 1.8
uses: actions/setup-java@v4
@@ -47,6 +47,10 @@ jobs:
- name: Available buildx platforms
run: echo ${{ steps.buildx.outputs.platforms }}
+ - name: Build and install serialization dependency locally
+ working-directory: ./aws-lambda-java-serialization
+ run: mvn clean install
+
- name: Test Runtime Interface Client xplatform build - Run 'build' target
working-directory: ./aws-lambda-java-runtime-interface-client
run: make build
diff --git a/.github/workflows/runtime-interface-client_pr.yml b/.github/workflows/runtime-interface-client_pr.yml
index 33c6df50b..dcad4fa0a 100644
--- a/.github/workflows/runtime-interface-client_pr.yml
+++ b/.github/workflows/runtime-interface-client_pr.yml
@@ -10,18 +10,29 @@ on:
- 'aws-lambda-java-runtime-interface-client/**'
- '.github/workflows/runtime-interface-client_*.yml'
+permissions:
+ contents: read
+
jobs:
smoke-test:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
java-version: 8
distribution: corretto
+
+ - name: Build and install core dependency locally
+ working-directory: ./aws-lambda-java-core
+ run: mvn clean install
+
+ - name: Build and install serialization dependency locally
+ working-directory: ./aws-lambda-java-serialization
+ run: mvn clean install
- name: Runtime Interface Client smoke tests - Run 'pr' target
working-directory: ./aws-lambda-java-runtime-interface-client
@@ -32,7 +43,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: Set up JDK 1.8
uses: actions/setup-java@v4
@@ -50,6 +61,14 @@ jobs:
- name: Available buildx platforms
run: echo ${{ steps.buildx.outputs.platforms }}
+
+ - name: Build and install core dependency locally
+ working-directory: ./aws-lambda-java-core
+ run: mvn clean install
+
+ - name: Build and install serialization dependency locally
+ working-directory: ./aws-lambda-java-serialization
+ run: mvn clean install
- name: Test Runtime Interface Client xplatform build - Run 'build' target
working-directory: ./aws-lambda-java-runtime-interface-client
diff --git a/.github/workflows/samples.yml b/.github/workflows/samples.yml
index 8346b7c2f..aebb708a7 100644
--- a/.github/workflows/samples.yml
+++ b/.github/workflows/samples.yml
@@ -14,11 +14,14 @@ on:
- 'samples/**'
- '.github/workflows/samples.yml'
+permissions:
+ contents: read
+
jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
@@ -42,7 +45,7 @@ jobs:
custom-serialization:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
# Set up both Java 8 and 21
- name: Set up Java 8 and 21
uses: actions/setup-java@v4
diff --git a/.gitignore b/.gitignore
index 9f99cc415..1adf36493 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,3 +35,4 @@ experimental/aws-lambda-java-profiler/extension/build/
experimental/aws-lambda-java-profiler/integration_tests/helloworld/bin
!experimental/aws-lambda-java-profiler/extension/gradle/wrapper/*.jar
/scratch/
+.vscode
diff --git a/README.md b/README.md
index fdc08a759..b6c67b9e8 100644
--- a/README.md
+++ b/README.md
@@ -43,7 +43,7 @@ public class HandlerStream implements RequestStreamHandler {
com.amazonaws
aws-lambda-java-core
- 1.2.3
+ 1.3.0
```
@@ -75,7 +75,7 @@ public class SqsHandler implements RequestHandler {
com.amazonaws
aws-lambda-java-events
- 3.15.0
+ 3.16.0
```
@@ -163,7 +163,7 @@ The purpose of this package is to allow developers to deploy their applications
com.amazonaws
aws-lambda-java-runtime-interface-client
- 2.6.0
+ 2.8.6
```
diff --git a/aws-lambda-java-core/RELEASE.CHANGELOG.md b/aws-lambda-java-core/RELEASE.CHANGELOG.md
index ebd0566ff..aebc8ecd9 100644
--- a/aws-lambda-java-core/RELEASE.CHANGELOG.md
+++ b/aws-lambda-java-core/RELEASE.CHANGELOG.md
@@ -1,3 +1,11 @@
+### September 3, 2025
+`1.4.0`
+- Getter support for x-ray trace ID through the Context object
+
+### May 26, 2025
+`1.3.0`
+- Adding support for multi tenancy ([#545](https://github.com/aws/aws-lambda-java-libs/pull/545))
+
### August 17, 2023
`1.2.3`:
- Extended logger interface with level-aware logging backend functions
diff --git a/aws-lambda-java-core/pom.xml b/aws-lambda-java-core/pom.xml
index 0dd848a96..cca9d0cdf 100644
--- a/aws-lambda-java-core/pom.xml
+++ b/aws-lambda-java-core/pom.xml
@@ -5,7 +5,7 @@
com.amazonaws
aws-lambda-java-core
- 1.2.3
+ 1.4.0
jar
AWS Lambda Java Core Library
@@ -36,13 +36,6 @@
1.8
-
-
- sonatype-nexus-staging
- https://oss.sonatype.org/service/local/staging/deploy/maven2/
-
-
-
dev
@@ -115,14 +108,12 @@
- org.sonatype.plugins
- nexus-staging-maven-plugin
- 1.6.3
+ org.sonatype.central
+ central-publishing-maven-plugin
+ 0.8.0
true
- sonatype-nexus-staging
- https://aws.oss.sonatype.org/
- false
+ central
diff --git a/aws-lambda-java-core/src/main/java/com/amazonaws/services/lambda/runtime/Context.java b/aws-lambda-java-core/src/main/java/com/amazonaws/services/lambda/runtime/Context.java
index a0850e78c..ed9311a11 100644
--- a/aws-lambda-java-core/src/main/java/com/amazonaws/services/lambda/runtime/Context.java
+++ b/aws-lambda-java-core/src/main/java/com/amazonaws/services/lambda/runtime/Context.java
@@ -100,4 +100,23 @@ public interface Context {
*/
LambdaLogger getLogger();
+ /**
+ *
+ * Returns the tenant ID associated with the request.
+ *
+ * @return null by default
+ */
+ default String getTenantId() {
+ return null;
+ }
+
+ /**
+ *
+ * Returns the X-Ray trace ID associated with the request.
+ *
+ * @return null by default
+ */
+ default String getXrayTraceId() {
+ return null;
+ }
}
diff --git a/aws-lambda-java-events-sdk-transformer/pom.xml b/aws-lambda-java-events-sdk-transformer/pom.xml
index 6a2b1735c..d719ec8ac 100644
--- a/aws-lambda-java-events-sdk-transformer/pom.xml
+++ b/aws-lambda-java-events-sdk-transformer/pom.xml
@@ -5,7 +5,7 @@
com.amazonaws
aws-lambda-java-events-sdk-transformer
- 3.1.0
+ 3.1.1
jar
AWS Lambda Java Events SDK Transformer Library
@@ -63,7 +63,7 @@
com.amazonaws
aws-lambda-java-events
- 3.11.2
+ 3.16.1
provided
@@ -160,18 +160,16 @@
- org.sonatype.plugins
- nexus-staging-maven-plugin
- 1.6.3
+ org.sonatype.central
+ central-publishing-maven-plugin
+ 0.8.0
true
- sonatype-nexus-staging
- https://aws.oss.sonatype.org/
- false
+ central
-
+
\ No newline at end of file
diff --git a/aws-lambda-java-events/README.md b/aws-lambda-java-events/README.md
index 87c61f345..43c25d76a 100644
--- a/aws-lambda-java-events/README.md
+++ b/aws-lambda-java-events/README.md
@@ -74,7 +74,7 @@
com.amazonaws
aws-lambda-java-events
- 3.15.0
+ 3.16.0
...
diff --git a/aws-lambda-java-events/RELEASE.CHANGELOG.md b/aws-lambda-java-events/RELEASE.CHANGELOG.md
index 6c1769751..a4bcd10a0 100644
--- a/aws-lambda-java-events/RELEASE.CHANGELOG.md
+++ b/aws-lambda-java-events/RELEASE.CHANGELOG.md
@@ -1,3 +1,7 @@
+### June 17, 2025
+`3.16.0`:
+- Add Schema metadata related attributes in KafkaEvent ([#548](https://github.com/aws/aws-lambda-java-libs/pull/548))
+
### January 31, 2025
`3.15.0`:
- Fix `CognitoUserPoolPreTokenGenerationEventV2` model ([#519](https://github.com/aws/aws-lambda-java-libs/pull/519))
diff --git a/aws-lambda-java-events/pom.xml b/aws-lambda-java-events/pom.xml
index f1364e7ab..714c825d9 100644
--- a/aws-lambda-java-events/pom.xml
+++ b/aws-lambda-java-events/pom.xml
@@ -1,11 +1,11 @@
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
com.amazonaws
aws-lambda-java-events
- 3.15.0
+ 3.16.1
jar
AWS Lambda Java Events Library
@@ -37,6 +37,8 @@
1.18.22
UTF-8
UTF-8
+ 2.20.1
+ 2.40.1
@@ -62,13 +64,13 @@
com.fasterxml.jackson.core
jackson-databind
- 2.14.2
+ ${jackson.version}
test
net.javacrumbs.json-unit
json-unit-assertj
- 2.36.1
+ ${json.unit}
test
@@ -152,20 +154,18 @@
- org.sonatype.plugins
- nexus-staging-maven-plugin
- 1.6.3
+ org.sonatype.central
+ central-publishing-maven-plugin
+ 0.8.0
true
- sonatype-nexus-staging
- https://aws.oss.sonatype.org/
- false
+ central
org.apache.maven.plugins
maven-resources-plugin
- 3.2.0
+ 3.3.1
UTF-8
@@ -173,7 +173,7 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.8.1
+ 3.11.0
@@ -189,4 +189,4 @@
-
+
\ No newline at end of file
diff --git a/aws-lambda-java-events/src/main/java/com/amazonaws/services/lambda/runtime/events/ConnectEvent.java b/aws-lambda-java-events/src/main/java/com/amazonaws/services/lambda/runtime/events/ConnectEvent.java
index 38547ac2a..e94875614 100644
--- a/aws-lambda-java-events/src/main/java/com/amazonaws/services/lambda/runtime/events/ConnectEvent.java
+++ b/aws-lambda-java-events/src/main/java/com/amazonaws/services/lambda/runtime/events/ConnectEvent.java
@@ -59,7 +59,7 @@ public static class ContactData implements Serializable, Cloneable {
private String initiationMethod;
private String instanceArn;
private String previousContactId;
- private String queue;
+ private Queue queue;
private SystemEndpoint systemEndpoint;
}
@@ -80,4 +80,13 @@ public static class SystemEndpoint implements Serializable, Cloneable {
private String address;
private String type;
}
+ @Data
+ @Builder(setterPrefix = "with")
+ @NoArgsConstructor
+ @AllArgsConstructor
+ public static class Queue implements Serializable, Cloneable {
+ private String name;
+ private String ARN;
+ }
+
}
diff --git a/aws-lambda-java-events/src/main/java/com/amazonaws/services/lambda/runtime/events/KafkaEvent.java b/aws-lambda-java-events/src/main/java/com/amazonaws/services/lambda/runtime/events/KafkaEvent.java
index dd051d48f..aa6c00de3 100644
--- a/aws-lambda-java-events/src/main/java/com/amazonaws/services/lambda/runtime/events/KafkaEvent.java
+++ b/aws-lambda-java-events/src/main/java/com/amazonaws/services/lambda/runtime/events/KafkaEvent.java
@@ -43,6 +43,8 @@ public static class KafkaEventRecord {
private String key;
private String value;
private List