Skip to content

Commit 24073bb

Browse files
Merge pull request #3677 from aws/staging/0c8db67a-75a8-4945-9e53-c7b475ff0de0
Pull request: release <- staging/0c8db67a-75a8-4945-9e53-c7b475ff0de0
2 parents fae3dab + 28d4e7a commit 24073bb

File tree

521 files changed

+1927
-966
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

521 files changed

+1927
-966
lines changed

.changes/2.30.26.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"version": "2.30.26",
3+
"date": "2025-02-21",
4+
"entries": [
5+
{
6+
"type": "bugfix",
7+
"category": "AWS SDK for Java v2",
8+
"contributor": "",
9+
"description": "Transfer-Encoding headers will no longer be signed during SigV4 authentication"
10+
},
11+
{
12+
"type": "feature",
13+
"category": "AWS CRT HTTP Client",
14+
"contributor": "",
15+
"description": "Allow users to configure the number of TCP keep alive probes in the AWS CRT HTTP client through `keepAliveProbes`."
16+
},
17+
{
18+
"type": "feature",
19+
"category": "Agents for Amazon Bedrock",
20+
"contributor": "",
21+
"description": "Introduce a new parameter which represents the user-agent header value used by the Bedrock Knowledge Base Web Connector."
22+
},
23+
{
24+
"type": "feature",
25+
"category": "Amazon AppStream",
26+
"contributor": "",
27+
"description": "Added support for Certificate-Based Authentication on AppStream 2.0 multi-session fleets."
28+
},
29+
{
30+
"type": "feature",
31+
"category": "DynamoDB Enhanced Client",
32+
"contributor": "",
33+
"description": "Add ability to provide a custom `MethodHandles.Lookup` object when using either `BeanTableSchema` or `ImmutableTableSchema`. By setting a custom `MethodHandles.Lookup` it allows these schemas to be used in applications where the item class and the SDK are loaded by different `ClassLoader`s."
34+
},
35+
{
36+
"type": "feature",
37+
"category": "AWS SDK for Java v2",
38+
"contributor": "",
39+
"description": "Updated endpoint and partition metadata."
40+
}
41+
]
42+
}

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,28 @@
11
#### 👋 _Looking for changelogs for older versions? You can find them in the [changelogs](./changelogs) directory._
2+
# __2.30.26__ __2025-02-21__
3+
## __AWS CRT HTTP Client__
4+
- ### Features
5+
- Allow users to configure the number of TCP keep alive probes in the AWS CRT HTTP client through `keepAliveProbes`.
6+
7+
## __AWS SDK for Java v2__
8+
- ### Features
9+
- Updated endpoint and partition metadata.
10+
11+
- ### Bugfixes
12+
- Transfer-Encoding headers will no longer be signed during SigV4 authentication
13+
14+
## __Agents for Amazon Bedrock__
15+
- ### Features
16+
- Introduce a new parameter which represents the user-agent header value used by the Bedrock Knowledge Base Web Connector.
17+
18+
## __Amazon AppStream__
19+
- ### Features
20+
- Added support for Certificate-Based Authentication on AppStream 2.0 multi-session fleets.
21+
22+
## __DynamoDB Enhanced Client__
23+
- ### Features
24+
- Add ability to provide a custom `MethodHandles.Lookup` object when using either `BeanTableSchema` or `ImmutableTableSchema`. By setting a custom `MethodHandles.Lookup` it allows these schemas to be used in applications where the item class and the SDK are loaded by different `ClassLoader`s.
25+
226
# __2.30.25__ __2025-02-20__
327
## __AWS CodeBuild__
428
- ### Features

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ To automatically manage module versions (currently all modules have the same ver
5151
<dependency>
5252
<groupId>software.amazon.awssdk</groupId>
5353
<artifactId>bom</artifactId>
54-
<version>2.30.25</version>
54+
<version>2.30.26</version>
5555
<type>pom</type>
5656
<scope>import</scope>
5757
</dependency>
@@ -85,12 +85,12 @@ Alternatively you can add dependencies for the specific services you use only:
8585
<dependency>
8686
<groupId>software.amazon.awssdk</groupId>
8787
<artifactId>ec2</artifactId>
88-
<version>2.30.25</version>
88+
<version>2.30.26</version>
8989
</dependency>
9090
<dependency>
9191
<groupId>software.amazon.awssdk</groupId>
9292
<artifactId>s3</artifactId>
93-
<version>2.30.25</version>
93+
<version>2.30.26</version>
9494
</dependency>
9595
```
9696

@@ -102,7 +102,7 @@ You can import the whole SDK into your project (includes *ALL* services). Please
102102
<dependency>
103103
<groupId>software.amazon.awssdk</groupId>
104104
<artifactId>aws-sdk-java</artifactId>
105-
<version>2.30.25</version>
105+
<version>2.30.26</version>
106106
</dependency>
107107
```
108108

archetypes/archetype-app-quickstart/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>archetypes</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.30.25</version>
23+
<version>2.30.26</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

archetypes/archetype-lambda/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>archetypes</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.30.25</version>
23+
<version>2.30.26</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetype-lambda</artifactId>

archetypes/archetype-tools/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>archetypes</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.30.25</version>
23+
<version>2.30.26</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

archetypes/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>aws-sdk-java-pom</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.30.25</version>
23+
<version>2.30.26</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetypes</artifactId>

aws-sdk-java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<parent>
1818
<groupId>software.amazon.awssdk</groupId>
1919
<artifactId>aws-sdk-java-pom</artifactId>
20-
<version>2.30.25</version>
20+
<version>2.30.26</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>aws-sdk-java</artifactId>

bom-internal/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>aws-sdk-java-pom</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.30.25</version>
23+
<version>2.30.26</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

bom/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<parent>
1818
<groupId>software.amazon.awssdk</groupId>
1919
<artifactId>aws-sdk-java-pom</artifactId>
20-
<version>2.30.25</version>
20+
<version>2.30.26</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>bom</artifactId>

bundle-logging-bridge/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.30.25</version>
24+
<version>2.30.26</version>
2525
</parent>
2626
<artifactId>bundle-logging-bridge</artifactId>
2727
<packaging>jar</packaging>

bundle-sdk/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.30.25</version>
24+
<version>2.30.26</version>
2525
</parent>
2626
<artifactId>bundle-sdk</artifactId>
2727
<packaging>jar</packaging>

bundle/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.30.25</version>
24+
<version>2.30.26</version>
2525
</parent>
2626
<artifactId>bundle</artifactId>
2727
<packaging>jar</packaging>

codegen-lite-maven-plugin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>aws-sdk-java-pom</artifactId>
25-
<version>2.30.25</version>
25+
<version>2.30.26</version>
2626
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828
<artifactId>codegen-lite-maven-plugin</artifactId>

codegen-lite/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.30.25</version>
24+
<version>2.30.26</version>
2525
</parent>
2626
<artifactId>codegen-lite</artifactId>
2727
<name>AWS Java SDK :: Code Generator Lite</name>

codegen-maven-plugin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>aws-sdk-java-pom</artifactId>
25-
<version>2.30.25</version>
25+
<version>2.30.26</version>
2626
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828
<artifactId>codegen-maven-plugin</artifactId>

codegen/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.30.25</version>
24+
<version>2.30.26</version>
2525
</parent>
2626
<artifactId>codegen</artifactId>
2727
<name>AWS Java SDK :: Code Generator</name>

core/annotations/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>core</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.30.25</version>
23+
<version>2.30.26</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

core/arns/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>core</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.30.25</version>
23+
<version>2.30.26</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

core/auth-crt/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>core</artifactId>
25-
<version>2.30.25</version>
25+
<version>2.30.26</version>
2626
</parent>
2727

2828
<artifactId>auth-crt</artifactId>

core/auth/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>core</artifactId>
25-
<version>2.30.25</version>
25+
<version>2.30.26</version>
2626
</parent>
2727

2828
<artifactId>auth</artifactId>

core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/AbstractAws4Signer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public abstract class AbstractAws4Signer<T extends Aws4SignerParams, U extends A
6868
private static final FifoCache<SignerKey> SIGNER_CACHE =
6969
new FifoCache<>(SIGNER_CACHE_MAX_SIZE);
7070
private static final List<String> LIST_OF_HEADERS_TO_IGNORE_IN_LOWER_CASE =
71-
Arrays.asList("connection", "x-amzn-trace-id", "user-agent", "expect");
71+
Arrays.asList("connection", "x-amzn-trace-id", "user-agent", "expect", "transfer-encoding");
7272

7373
protected SdkHttpFullRequest.Builder doSign(SdkHttpFullRequest request,
7474
Aws4SignerRequestParams requestParams,

core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/util/HeaderTransformsHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
public final class HeaderTransformsHelper {
3333

3434
private static final List<String> LIST_OF_HEADERS_TO_IGNORE_IN_LOWER_CASE =
35-
Arrays.asList("connection", "x-amzn-trace-id", "user-agent", "expect");
35+
Arrays.asList("connection", "x-amzn-trace-id", "user-agent", "expect", "transfer-encoding");
3636

3737
private HeaderTransformsHelper() {
3838
}

core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4SignerTest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,4 +398,18 @@ public void signing_with_Crc32Checksum_with__trailer_header_already_present() th
398398
assertThat(signed.firstMatchingHeader(SignerConstant.X_AMZ_CONTENT_SHA256)).isNotPresent();
399399
assertThat(signed.firstMatchingHeader("Authorization")).hasValue(expectedAuthorization);
400400
}
401+
402+
@Test
403+
public void TransferEncodingIsNotSigned_NotSigned() {
404+
AwsBasicCredentials credentials = AwsBasicCredentials.create("akid", "skid");
405+
SdkHttpFullRequest.Builder request = generateBasicRequest();
406+
request.putHeader("Transfer-Encoding", "chunked");
407+
408+
SdkHttpFullRequest actual = SignerTestUtils.signRequest(signer, request.build(), credentials, "demo", signingOverrideClock, "us-east-1");
409+
410+
assertThat(actual.firstMatchingHeader("Authorization"))
411+
.hasValue("AWS4-HMAC-SHA256 Credential=akid/19810216/us-east-1/demo/aws4_request, " +
412+
"SignedHeaders=host;x-amz-archive-description;x-amz-date, " +
413+
"Signature=581d0042389009a28d461124138f1fe8eeb8daed87611d2a2b47fd3d68d81d73");
414+
}
401415
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
17+
package software.amazon.awssdk.auth.signer.internal.util;
18+
import java.util.Arrays;
19+
import java.util.Collections;
20+
import java.util.HashMap;
21+
import java.util.List;
22+
import java.util.Map;
23+
import java.util.TreeMap;
24+
import org.junit.jupiter.api.Test;
25+
26+
import static org.junit.jupiter.api.Assertions.*;
27+
28+
class HeaderTransformsHelperTest {
29+
30+
@Test
31+
void shouldExcludeIgnoredHeadersWhenCanonicalizing() {
32+
Map<String, List<String>> headers = new HashMap<>();
33+
34+
// Ignored headers that should be excluded from signing
35+
headers.put("connection", Collections.singletonList("keep-alive"));
36+
headers.put("x-amzn-trace-id", Collections.singletonList("Root=1-234567890"));
37+
headers.put("user-agent", Collections.singletonList("md/user"));
38+
headers.put("expect", Collections.singletonList("100-continue"));
39+
headers.put("transfer-encoding", Collections.singletonList("chunked"));
40+
41+
// Headers that should be included in signing
42+
headers.put("Content-Type", Collections.singletonList("application/json"));
43+
headers.put("Host", Collections.singletonList("example.com"));
44+
45+
Map<String, List<String>> canonicalizedHeaders = HeaderTransformsHelper.canonicalizeSigningHeaders(headers);
46+
47+
assertEquals(2, canonicalizedHeaders.size(), "Should only contain non-ignored headers");
48+
49+
// Verify included headers
50+
assertTrue(canonicalizedHeaders.containsKey("content-type"), "Should contain content-type header");
51+
assertTrue(canonicalizedHeaders.containsKey("host"), "Should contain host header");
52+
53+
// Verify excluded headers
54+
assertFalse(canonicalizedHeaders.containsKey("connection"), "Should not contain connection header");
55+
assertFalse(canonicalizedHeaders.containsKey("x-amzn-trace-id"), "Should not contain x-amzn-trace-id header");
56+
assertFalse(canonicalizedHeaders.containsKey("user-agent"), "Should not contain user-agent header");
57+
assertFalse(canonicalizedHeaders.containsKey("expect"), "Should not contain expect header");
58+
assertFalse(canonicalizedHeaders.containsKey("transfer-encoding"), "Should not contain transfer-encoding header");
59+
}
60+
61+
}

core/aws-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>core</artifactId>
25-
<version>2.30.25</version>
25+
<version>2.30.26</version>
2626
</parent>
2727

2828
<artifactId>aws-core</artifactId>

core/checksums-spi/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>core</artifactId>
25-
<version>2.30.25</version>
25+
<version>2.30.26</version>
2626
</parent>
2727

2828
<artifactId>checksums-spi</artifactId>

core/checksums/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>core</artifactId>
25-
<version>2.30.25</version>
25+
<version>2.30.26</version>
2626
</parent>
2727

2828
<artifactId>checksums</artifactId>

0 commit comments

Comments
 (0)