Skip to content

Commit 962a3b5

Browse files
dagniralextwoodsaws-sdk-java-automationzoewanggRanVaknin
authored
Bump version to 2.36.0 (#6495)
* Set the RESOLVED_ACCOUNT_ID (T) user-agent metric only when accountID is actually resolved from credentials (#6472) * Timestream InfluxDB Update: This release adds support for creating and managing InfluxDB 3 Core and Enterprise DbClusters. * Amazon GuardDuty Update: Added default pagination value for ListMalwareProtectionPlans API and updated UpdateFindingsFeedback API * Amazon DocumentDB with MongoDB compatibility Update: Add support for NetworkType field in CreateDbCluster, ModifyDbCluster, RestoreDbClusterFromSnapshot and RestoreDbClusterToPointInTime for DocumentDB. * Amazon Elastic Compute Cloud Update: Introducing EC2 Capacity Manager for monitoring and analyzing capacity usage across On-Demand Instances, Spot Instances, and Capacity Reservations. * Elastic Load Balancing Update: This release expands Listener Rule Conditions to support RegexValues and adds support for a new Transforms field in Listener Rules. * Amazon Lightsail Update: Add support for manage Lightsail Bucket CORS configuration * Amazon Bedrock Update: Amazon Bedrock Automated Reasoning Policy now offers enhanced AWS KMS integration. The CreateAutomatedReasoningPolicy API includes a new kmsKeyId field, allowing customers to specify their preferred KMS key for encryption, improving control and compliance with AWS encryption mandates. * Updated endpoints.json and partitions.json. * Release 2.35.8. Updated CHANGELOG.md, README.md and all pom.xml. * Update to next snapshot version: 2.35.9-SNAPSHOT * Add tests to verify legacy signer code path (#6473) * Add more auth and signer tests and refactor existing tests * Fix tests * Mixed version compatibility detection (#6477) * Add mixed version compatibility detection workflow - Detects changes to base classes (AwsRequest, AwsResponse, SdkPojo, etc.) - Requires manual review via 'mixed-version-compatibility-reviewed' label - Prevents merge until team approves compatibility impact * Improve mixed version detection: filter false positives - Filter out comments containing 'public.*(' patterns - Filter out string literals with 'public.*(' patterns - Filter out javadoc examples with 'public.*(' patterns - Reduces noise while maintaining detection accuracy * Fix false positive filtering for block comments Add filtering for block comments that start with /* This should catch patterns like: /* Example usage: public void method() */ * Address feedback: show only changed class names in error message - Extract class names from actually changed files, not all possible files - Makes error message dynamic and specific to detected changes - Addresses maintainability concern from code review * Add comments, expand exclusion of patterns * Bump version to 2.36.0 Bumping the version to release #6466. --------- Co-authored-by: Alex Woods <[email protected]> Co-authored-by: AWS <> Co-authored-by: aws-sdk-java-automation <[email protected]> Co-authored-by: Zoe Wang <[email protected]> Co-authored-by: Ran Vaknin <[email protected]>
1 parent 5cbd30a commit 962a3b5

File tree

542 files changed

+3704
-1146
lines changed

Some content is hidden

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

542 files changed

+3704
-1146
lines changed

.changes/2.35.x/2.35.8.json

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
{
2+
"version": "2.35.8",
3+
"date": "2025-10-15",
4+
"entries": [
5+
{
6+
"type": "bugfix",
7+
"category": "AWS SDK for Java v2",
8+
"contributor": "",
9+
"description": "Set the RESOLVED_ACCOUNT_ID (T) user-agent metric only when accountID is actually resolved from credentials."
10+
},
11+
{
12+
"type": "feature",
13+
"category": "Amazon Bedrock",
14+
"contributor": "",
15+
"description": "Amazon Bedrock Automated Reasoning Policy now offers enhanced AWS KMS integration. The CreateAutomatedReasoningPolicy API includes a new kmsKeyId field, allowing customers to specify their preferred KMS key for encryption, improving control and compliance with AWS encryption mandates."
16+
},
17+
{
18+
"type": "feature",
19+
"category": "Amazon DocumentDB with MongoDB compatibility",
20+
"contributor": "",
21+
"description": "Add support for NetworkType field in CreateDbCluster, ModifyDbCluster, RestoreDbClusterFromSnapshot and RestoreDbClusterToPointInTime for DocumentDB."
22+
},
23+
{
24+
"type": "feature",
25+
"category": "Amazon Elastic Compute Cloud",
26+
"contributor": "",
27+
"description": "Introducing EC2 Capacity Manager for monitoring and analyzing capacity usage across On-Demand Instances, Spot Instances, and Capacity Reservations."
28+
},
29+
{
30+
"type": "feature",
31+
"category": "Amazon GuardDuty",
32+
"contributor": "",
33+
"description": "Added default pagination value for ListMalwareProtectionPlans API and updated UpdateFindingsFeedback API"
34+
},
35+
{
36+
"type": "feature",
37+
"category": "Amazon Lightsail",
38+
"contributor": "",
39+
"description": "Add support for manage Lightsail Bucket CORS configuration"
40+
},
41+
{
42+
"type": "feature",
43+
"category": "Elastic Load Balancing",
44+
"contributor": "",
45+
"description": "This release expands Listener Rule Conditions to support RegexValues and adds support for a new Transforms field in Listener Rules."
46+
},
47+
{
48+
"type": "feature",
49+
"category": "Timestream InfluxDB",
50+
"contributor": "",
51+
"description": "This release adds support for creating and managing InfluxDB 3 Core and Enterprise DbClusters."
52+
},
53+
{
54+
"type": "feature",
55+
"category": "AWS SDK for Java v2",
56+
"contributor": "",
57+
"description": "Updated endpoint and partition metadata."
58+
}
59+
]
60+
}
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Mixed Version Compatibility Review
2+
3+
permissions:
4+
contents: read
5+
pull-requests: read
6+
7+
on:
8+
merge_group:
9+
pull_request:
10+
types: [ opened, synchronize, reopened, labeled, unlabeled ]
11+
branches:
12+
- master
13+
14+
jobs:
15+
mixed-version-compatibility-check:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
22+
- name: Check for mixed version compatibility risks
23+
id: compatibility-check
24+
run: |
25+
git fetch origin ${{ github.base_ref }} --depth 1
26+
27+
# Define the specific base class files that are risky for mixed versions
28+
BASE_CLASS_FILES="core/aws-core/src/main/java/software/amazon/awssdk/awscore/AwsRequest.java
29+
core/aws-core/src/main/java/software/amazon/awssdk/awscore/AwsResponse.java
30+
core/aws-core/src/main/java/software/amazon/awssdk/awscore/AwsResponseMetadata.java
31+
core/aws-core/src/main/java/software/amazon/awssdk/awscore/exception/AwsServiceException.java
32+
core/sdk-core/src/main/java/software/amazon/awssdk/core/SdkPojo.java"
33+
34+
# Check if any of the base class files were modified
35+
CHANGED_BASE_FILES=$(git diff --name-only remotes/origin/${{ github.base_ref }} -- $BASE_CLASS_FILES || true)
36+
37+
if [ -z "$CHANGED_BASE_FILES" ]; then
38+
echo "No base class changes detected."
39+
echo "has_risk=false" >> $GITHUB_OUTPUT
40+
exit 0
41+
fi
42+
43+
echo "Base class changes detected in:"
44+
echo "$CHANGED_BASE_FILES"
45+
46+
# Look for new public methods in the changed base class files
47+
# Filter out obvious false positives: comments, string literals, javadoc
48+
NEW_METHODS=$(git diff remotes/origin/${{ github.base_ref }} -- $BASE_CLASS_FILES | \
49+
50+
grep '^+.*public.*(' | \ # Find lines with new public methods
51+
grep -v '^+[[:space:]]*//.*' | \ # Line comments
52+
grep -v '^+[[:space:]]*\*.*' | \ # Javadoc lines
53+
grep -v '^+[[:space:]]*/\*.*' || true # Block comments
54+
55+
if [ -n "$NEW_METHODS" ]; then
56+
echo "::warning::New public methods detected in base classes:"
57+
echo "$NEW_METHODS" | while read line; do
58+
echo "::warning::$line"
59+
done
60+
echo "has_risk=true" >> $GITHUB_OUTPUT
61+
echo "risk_type=new_methods" >> $GITHUB_OUTPUT
62+
else
63+
echo "::warning::Base class files modified but no new public methods detected"
64+
echo "has_risk=true" >> $GITHUB_OUTPUT
65+
echo "risk_type=other_changes" >> $GITHUB_OUTPUT
66+
fi
67+
68+
- name: Fail if compatibility risks found without approval
69+
if: ${{ steps.compatibility-check.outputs.has_risk == 'true' && !contains(github.event.pull_request.labels.*.name, 'mixed-version-compatibility-reviewed') }}
70+
run: |
71+
# Define the base class files
72+
BASE_CLASS_FILES="core/aws-core/src/main/java/software/amazon/awssdk/awscore/AwsRequest.java
73+
core/aws-core/src/main/java/software/amazon/awssdk/awscore/AwsResponse.java
74+
core/aws-core/src/main/java/software/amazon/awssdk/awscore/AwsResponseMetadata.java
75+
core/aws-core/src/main/java/software/amazon/awssdk/awscore/exception/AwsServiceException.java
76+
core/sdk-core/src/main/java/software/amazon/awssdk/core/SdkPojo.java"
77+
78+
# Extract class names from the actually changed files
79+
CHANGED_BASE_FILES=$(git diff --name-only remotes/origin/${{ github.base_ref }} -- $BASE_CLASS_FILES || true)
80+
CHANGED_CLASS_NAMES=$(echo "$CHANGED_BASE_FILES" | sed 's|.*/||' | sed 's|\.java||' | paste -sd ',' - | sed 's/,/, /g')
81+
82+
echo "::error::Mixed version compatibility risk detected!"
83+
echo "::error::Changes were made to base classes that generated service code implements:"
84+
echo "::error::- $CHANGED_CLASS_NAMES"
85+
echo "::error::"
86+
echo "::error::This may break customers using mixed SDK versions if:"
87+
echo "::error::- New methods are added with UnsupportedOperationException defaults"
88+
echo "::error::- Core behavior changes invoke existing methods in new ways"
89+
echo "::error::- Interface contracts change in subtle ways"
90+
echo "::error::"
91+
echo "::error::Please review with the team for mixed version impact and add"
92+
echo "::error::'mixed-version-compatibility-reviewed' label after approval."
93+
echo "::error::"
94+
echo "::error::If this introduces compatibility issues, consider:"
95+
echo "::error::- Bumping minor version"
96+
echo "::error::- Documenting compatibility impact in release notes"
97+
echo "::error::- Ensuring older service modules can handle the changes"
98+
exit 1
99+
100+
- name: Success message when approved
101+
if: ${{ steps.compatibility-check.outputs.has_risk == 'true' && contains(github.event.pull_request.labels.*.name, 'mixed-version-compatibility-reviewed') }}
102+
run: |
103+
echo "✅ Mixed version compatibility risk detected but approved for merge"
104+
echo "Base class changes have been reviewed and approved by the team"

0 commit comments

Comments
 (0)