Skip to content

feat(retries): make standard the default retry mode - #3376

Open
Alan4506 wants to merge 1 commit into
aws:masterfrom
Alan4506:retries-2026-default
Open

Alan4506 wants to merge 1 commit into
aws:masterfrom
Alan4506:retries-2026-default

Conversation

@Alan4506

Copy link
Copy Markdown
Contributor

Do not merge before November 2026. This is the "no sooner than November 2026" rollout announced in #3285.

Summary

Makes standard the default retry mode and removes the AWS_NEW_RETRIES_2026 opt-in gate introduced in #3269. The retry behavior itself is unchanged from what the flag enabled.

legacy mode is still available via AWS_RETRY_MODE=legacy, retry_mode = legacy in the shared config file, or 'retries' => ['mode' => 'legacy']. AWS_NEW_RETRIES_2026 is no longer read.

Changes

  • Retry/ConfigurationProvider: DEFAULT_MODE is 'standard'; getDefaultMode() no longer checks the flag.
  • ClientResolver, S3Client, StsClient, DynamoDbClient, DynamoDbStreamsClient: the OptIn::isEnabled() branches collapse to the new behavior, so standard/adaptive always use Retry\V3\RetryMiddleware.
  • Removed (@internal, only reachable with the flag off): Retry/V3/OptIn, RetryMiddlewareV2, Retry/QuotaManager, and their tests.
  • Tests: flag toggling removed; opted-in/opted-out pairs collapse to the new behavior; fallback expectations are standard. Added a zero-config SNS test for the new default (3 attempts, 50 ms base).
  • Changelog: .changes/nextrelease/feat-retries-default.json.

Testing

  • Unit tests: pass.
  • make build: no diff.
  • PHPStan and phpcs: no new issues.

Related

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@Alan4506
Alan4506 requested a review from a team as a code owner October 14, 2026 18:51

@stobrien89 stobrien89 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good except for Aws\Retry\Configuration::__construct() still defaults to legacy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants