Skip to content

Commit 0f8556e

Browse files
Merge pull request #3411 from aws/staging/04f3c4b2-1743-43f1-bc29-b1e9492bff52
Pull request: release <- staging/04f3c4b2-1743-43f1-bc29-b1e9492bff52
2 parents d380f52 + 1287f0b commit 0f8556e

File tree

565 files changed

+7032
-2539
lines changed

Some content is hidden

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

565 files changed

+7032
-2539
lines changed

.changes/2.29.7.json

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"version": "2.29.7",
3+
"date": "2024-11-06",
4+
"entries": [
5+
{
6+
"type": "bugfix",
7+
"category": "AWS SDK for Java v2",
8+
"contributor": "",
9+
"description": "Moves setting the default backoff strategies for all retry strategies to the builder as per the javadocs instead of only doing it in the `DefaultRetryStrategy` builder methods."
10+
},
11+
{
12+
"type": "feature",
13+
"category": "AWS CodeBuild",
14+
"contributor": "",
15+
"description": "AWS CodeBuild now adds additional compute types for reserved capacity fleet."
16+
},
17+
{
18+
"type": "feature",
19+
"category": "AWS Lake Formation",
20+
"contributor": "",
21+
"description": "API changes for new named tag expressions feature."
22+
},
23+
{
24+
"type": "feature",
25+
"category": "AWS S3 Control",
26+
"contributor": "",
27+
"description": "Fix ListStorageLensConfigurations and ListStorageLensGroups deserialization for Smithy SDKs."
28+
},
29+
{
30+
"type": "feature",
31+
"category": "AWS SDK for Java v2",
32+
"contributor": "",
33+
"description": "Improve unmarshalling performance of all JSON protocols by unifying parsing with unmarshalling instead of doing one after the other."
34+
},
35+
{
36+
"type": "feature",
37+
"category": "Amazon GuardDuty",
38+
"contributor": "",
39+
"description": "GuardDuty RDS Protection expands support for Amazon Aurora PostgreSQL Limitless Databases."
40+
},
41+
{
42+
"type": "feature",
43+
"category": "Amazon Verified Permissions",
44+
"contributor": "",
45+
"description": "Adding BatchGetPolicy API which supports the retrieval of multiple policies across multiple policy stores within a single request."
46+
},
47+
{
48+
"type": "feature",
49+
"category": "QApps",
50+
"contributor": "",
51+
"description": "Introduces category apis in AmazonQApps. Web experience users use Categories to tag and filter library items."
52+
}
53+
]
54+
}

CHANGELOG.md

+32
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,36 @@
11
#### 👋 _Looking for changelogs for older versions? You can find them in the [changelogs](./changelogs) directory._
2+
# __2.29.7__ __2024-11-06__
3+
## __AWS CodeBuild__
4+
- ### Features
5+
- AWS CodeBuild now adds additional compute types for reserved capacity fleet.
6+
7+
## __AWS Lake Formation__
8+
- ### Features
9+
- API changes for new named tag expressions feature.
10+
11+
## __AWS S3 Control__
12+
- ### Features
13+
- Fix ListStorageLensConfigurations and ListStorageLensGroups deserialization for Smithy SDKs.
14+
15+
## __AWS SDK for Java v2__
16+
- ### Features
17+
- Improve unmarshalling performance of all JSON protocols by unifying parsing with unmarshalling instead of doing one after the other.
18+
19+
- ### Bugfixes
20+
- Moves setting the default backoff strategies for all retry strategies to the builder as per the javadocs instead of only doing it in the `DefaultRetryStrategy` builder methods.
21+
22+
## __Amazon GuardDuty__
23+
- ### Features
24+
- GuardDuty RDS Protection expands support for Amazon Aurora PostgreSQL Limitless Databases.
25+
26+
## __Amazon Verified Permissions__
27+
- ### Features
28+
- Adding BatchGetPolicy API which supports the retrieval of multiple policies across multiple policy stores within a single request.
29+
30+
## __QApps__
31+
- ### Features
32+
- Introduces category apis in AmazonQApps. Web experience users use Categories to tag and filter library items.
33+
234
# __2.29.6__ __2024-11-01__
335
## __AWS SDK for Java v2__
436
- ### Features

README.md

+4-4
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.29.6</version>
54+
<version>2.29.7</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.29.6</version>
88+
<version>2.29.7</version>
8989
</dependency>
9090
<dependency>
9191
<groupId>software.amazon.awssdk</groupId>
9292
<artifactId>s3</artifactId>
93-
<version>2.29.6</version>
93+
<version>2.29.7</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.29.6</version>
105+
<version>2.29.7</version>
106106
</dependency>
107107
```
108108

archetypes/archetype-app-quickstart/pom.xml

+1-1
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.29.6</version>
23+
<version>2.29.7</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

archetypes/archetype-lambda/pom.xml

+1-1
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.29.6</version>
23+
<version>2.29.7</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetype-lambda</artifactId>

archetypes/archetype-tools/pom.xml

+1-1
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.29.6</version>
23+
<version>2.29.7</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

archetypes/pom.xml

+1-1
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.29.6</version>
23+
<version>2.29.7</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetypes</artifactId>

aws-sdk-java/pom.xml

+1-1
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.29.6</version>
20+
<version>2.29.7</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>aws-sdk-java</artifactId>

bom-internal/pom.xml

+1-1
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.29.6</version>
23+
<version>2.29.7</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

bom/pom.xml

+1-1
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.29.6</version>
20+
<version>2.29.7</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>bom</artifactId>

bundle-logging-bridge/pom.xml

+1-1
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.29.6</version>
24+
<version>2.29.7</version>
2525
</parent>
2626
<artifactId>bundle-logging-bridge</artifactId>
2727
<packaging>jar</packaging>

bundle-sdk/pom.xml

+1-1
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.29.6</version>
24+
<version>2.29.7</version>
2525
</parent>
2626
<artifactId>bundle-sdk</artifactId>
2727
<packaging>jar</packaging>

bundle/pom.xml

+1-1
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.29.6</version>
24+
<version>2.29.7</version>
2525
</parent>
2626
<artifactId>bundle</artifactId>
2727
<packaging>jar</packaging>

codegen-lite-maven-plugin/pom.xml

+1-1
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.29.6</version>
25+
<version>2.29.7</version>
2626
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828
<artifactId>codegen-lite-maven-plugin</artifactId>

codegen-lite/pom.xml

+1-1
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.29.6</version>
24+
<version>2.29.7</version>
2525
</parent>
2626
<artifactId>codegen-lite</artifactId>
2727
<name>AWS Java SDK :: Code Generator Lite</name>

codegen-maven-plugin/pom.xml

+1-1
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.29.6</version>
25+
<version>2.29.7</version>
2626
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828
<artifactId>codegen-maven-plugin</artifactId>

codegen/pom.xml

+1-1
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.29.6</version>
24+
<version>2.29.7</version>
2525
</parent>
2626
<artifactId>codegen</artifactId>
2727
<name>AWS Java SDK :: Code Generator</name>

codegen/src/main/java/software/amazon/awssdk/codegen/model/config/customization/CustomizationConfig.java

+12
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,11 @@ public class CustomizationConfig {
347347
*/
348348
private boolean batchManagerSupported;
349349

350+
/**
351+
* A boolean flag to indicate if the fast unmarshaller code path is enabled.
352+
*/
353+
private boolean enableFastUnmarshaller;
354+
350355
private CustomizationConfig() {
351356
}
352357

@@ -914,4 +919,11 @@ public void setBatchManagerSupported(boolean batchManagerSupported) {
914919
this.batchManagerSupported = batchManagerSupported;
915920
}
916921

922+
public boolean getEnableFastUnmarshaller() {
923+
return enableFastUnmarshaller;
924+
}
925+
926+
public void setEnableFastUnmarshaller(boolean enableFastUnmarshaller) {
927+
this.enableFastUnmarshaller = enableFastUnmarshaller;
928+
}
917929
}

codegen/src/main/java/software/amazon/awssdk/codegen/poet/builder/BaseClientBuilderClass.java

+8
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
import software.amazon.awssdk.identity.spi.IdentityProvider;
7474
import software.amazon.awssdk.identity.spi.IdentityProviders;
7575
import software.amazon.awssdk.identity.spi.TokenIdentity;
76+
import software.amazon.awssdk.protocols.json.internal.unmarshall.SdkClientJsonProtocolAdvancedOption;
7677
import software.amazon.awssdk.regions.ServiceMetadataAdvancedOption;
7778
import software.amazon.awssdk.utils.AttributeMap;
7879
import software.amazon.awssdk.utils.CollectionUtils;
@@ -479,6 +480,13 @@ private MethodSpec finalizeServiceConfigurationMethod() {
479480
.addCode(" .fipsEnabled(c.get($T.FIPS_ENDPOINT_ENABLED))", AwsClientOption.class)
480481
.addCode(" .build());");
481482

483+
if (model.getMetadata().isJsonProtocol()) {
484+
if (model.getCustomizationConfig().getEnableFastUnmarshaller()) {
485+
builder.addStatement("builder.option($1T.ENABLE_FAST_UNMARSHALLER, true)",
486+
SdkClientJsonProtocolAdvancedOption.class);
487+
}
488+
}
489+
482490
builder.addStatement("return builder.build()");
483491
return builder.build();
484492
}

codegen/src/main/java/software/amazon/awssdk/codegen/poet/model/AwsServiceModel.java

+13-2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import java.util.Collection;
3939
import java.util.Collections;
4040
import java.util.List;
41+
import java.util.Map;
4142
import java.util.Optional;
4243
import java.util.function.BiConsumer;
4344
import java.util.function.Consumer;
@@ -98,7 +99,6 @@ public TypeSpec poetSpec() {
9899
if (shapeModel.isEventStream()) {
99100
return eventStreamInterfaceSpec();
100101
}
101-
102102
List<FieldSpec> fields = shapeModelSpec.fields();
103103

104104
TypeSpec.Builder specBuilder = TypeSpec.classBuilder(className())
@@ -110,9 +110,9 @@ public TypeSpec poetSpec() {
110110
.addFields(fields)
111111
.addFields(shapeModelSpec.staticFields())
112112
.addMethod(addModifier(sdkFieldsMethod(), FINAL))
113+
.addMethod(addModifier(sdkFieldNameToFieldMethod(), FINAL))
113114
.addTypes(nestedModelClassTypes());
114115

115-
116116
if (shapeModel.isUnion()) {
117117
specBuilder.addField(unionTypeField());
118118
}
@@ -316,6 +316,17 @@ private MethodSpec sdkFieldsMethod() {
316316
.build();
317317
}
318318

319+
private MethodSpec sdkFieldNameToFieldMethod() {
320+
ParameterizedTypeName sdkFieldType = ParameterizedTypeName.get(ClassName.get(SdkField.class),
321+
WildcardTypeName.subtypeOf(ClassName.get(Object.class)));
322+
return MethodSpec.methodBuilder("sdkFieldNameToField")
323+
.addModifiers(PUBLIC)
324+
.addAnnotation(Override.class)
325+
.returns(ParameterizedTypeName.get(ClassName.get(Map.class), ClassName.get(String.class), sdkFieldType))
326+
.addCode("return SDK_NAME_TO_FIELD;")
327+
.build();
328+
}
329+
319330
private MethodSpec getterCreator() {
320331
TypeVariableName t = TypeVariableName.get("T");
321332
return MethodSpec.methodBuilder("getter")

codegen/src/main/java/software/amazon/awssdk/codegen/poet/model/ModelBuilderSpecs.java

+13
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import java.util.ArrayList;
3232
import java.util.EnumSet;
3333
import java.util.List;
34+
import java.util.Map;
3435
import java.util.Set;
3536
import java.util.function.Consumer;
3637
import javax.lang.model.element.Modifier;
@@ -141,6 +142,7 @@ public TypeSpec beanStyleBuilder() {
141142
builderClassBuilder.addMethods(accessors());
142143
builderClassBuilder.addMethod(buildMethod());
143144
builderClassBuilder.addMethod(sdkFieldsMethod());
145+
builderClassBuilder.addMethod(sdkFieldNameToFieldMethod());
144146

145147
if (shapeModel.isUnion()) {
146148
builderClassBuilder.addMethod(handleUnionValueChangeMethod());
@@ -169,6 +171,17 @@ private MethodSpec sdkFieldsMethod() {
169171
.build();
170172
}
171173

174+
private MethodSpec sdkFieldNameToFieldMethod() {
175+
ParameterizedTypeName sdkFieldType = ParameterizedTypeName.get(ClassName.get(SdkField.class),
176+
WildcardTypeName.subtypeOf(ClassName.get(Object.class)));
177+
return MethodSpec.methodBuilder("sdkFieldNameToField")
178+
.addModifiers(PUBLIC)
179+
.addAnnotation(Override.class)
180+
.returns(ParameterizedTypeName.get(ClassName.get(Map.class), ClassName.get(String.class), sdkFieldType))
181+
.addCode("return SDK_NAME_TO_FIELD;")
182+
.build();
183+
}
184+
172185
private TypeName builderImplSuperClass() {
173186
if (isRequest()) {
174187
return new AwsServiceBaseRequestSpec(intermediateModel).className().nestedClass("BuilderImpl");

0 commit comments

Comments
 (0)