Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

V4 Development Tracker

オープン
#3,469 コメント 0 件 リアクション 2 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
20/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
活発
技術スタック
aws, ruby

調査の方向性

This issue is a development tracker and feedback request; it does not identify a specific file, test, or change to implement. Start by reviewing the V4 development branch and the listed migration changes. A concrete contribution should be tracked in a separate issue with a defined change and completion criteria.

索引モデルが issue の本文から書いたものです。

説明

announcement version-4

We are developing the next major version of the AWS SDK for Ruby and welcome your feedback as it takes shape.

This issue tracks the changes from V3.

V4 is experimental and under active development. APIs and behavior may change before general availability.
Use V3 for production workloads.

Some V3 features and convenience APIs are not yet available or are incomplete in the V4 development branch. Check that the features your application relies on are available before evaluating V4.

We will update this tracker as changes land. The changes below describe the development implementation and may be revised in response to testing and feedback.

Changes

Breaking changes
  • Ruby version. Minimum target increases from Ruby 2.7 to 3.1.
  • Resource interfaces. V3 resource interfaces, such as Aws::S3::Resource, are removed because they are no longer maintained. Use service clients, such as Aws::S3::Client, directly instead. We plan to provide migration support for customers using these interfaces, with the approach and timing still to be determined.
  • Authentication service gems. STS, SSO, SSOOIDC, and Signin are now separate service gems instead of being bundled with aws-sdk-core.
  • Removed service support. V4 does not support SimpleDB or AWS Import/Export because these services are in maintenance mode.
  • Signature Version 2 (SigV2). V4 removes SigV2 signing support, including the aws-sigv2 gem and the Aws::Plugins::SignatureV2 plugin.
Namespace and API changes
Area V3 V4
Service namespaces Names such as Aws::OpenSearchService and Aws::States. Aws::OpenSearchService becomes Aws::OpenSearch, and Aws::States becomes Aws::SFN. These names are provisional; preserving or restoring V3 names remains under consideration to reduce migration work.
Service model access Client.api exposes Seahorse API metadata. Client.api is replaced by Client.service, which returns a Smithy service schema.
Custom plugins and handlers Seahorse::Client::Plugin and Seahorse::Client::Handler. Seahorse::Client::Plugin and Seahorse::Client::Handler are replaced by Smithy::Client::Plugin and Smithy::Client::Handler.
Runtime types Seahorse response and handler-context classes. Smithy runtime classes replace Seahorse response and handler-context classes. Generated data types use Smithy schemas.
Service errors Shared base Aws::Errors::ServiceError. The shared service-error base changes to Smithy::Client::ServiceError.
Modeled errors remain under Aws::<Service>::Errors.
Networking errors Seahorse::Client::NetworkingError. Seahorse::Client::NetworkingError is replaced by Smithy::Client::NetworkingError.
Pagination errors Aws::PageableResponse::LastPageError. Aws::PageableResponse::LastPageError is replaced by Smithy::Client::LastPageError.
Presigning results Aws::SigV4::Signer#presign_url returns a URI. Aws::SigV4::Signer#presign_url returns a result object instead of a URI. Use .url for the URL string and .headers for any required headers.
Page enumeration Enumerate the response directly. Direct response enumeration is replaced by explicit page enumeration with response.each_page, such as response.each_page.map. Without a block, each_page returns a Smithy page enumerator with a smaller set of enumeration methods.
Response callbacks Response lifecycle helpers such as on_success and on_complete. V3 response lifecycle helpers such as on_success and on_complete are replaced by Smithy response and HTTP events. Use on_done for completed-response callbacks and review other custom callback registrations.
Logging customization Aws::Log formatters and filters. Smithy runtime formatters and filters replace Aws::Log classes. Custom formatters receive Smithy responses.
Configuration changes
Area V3 V4
HTTP timeout options http_open_timeout: and http_read_timeout:. http_open_timeout: is renamed to connect_timeout:, and http_read_timeout: is renamed to read_timeout:.
Connection timeout default 15 seconds. The connection timeout increases from 15 to 60 seconds with the current default Net::HTTP transport.
Set an explicit value if your application relies on the shorter timeout. The default transport remains subject to change.
Transport configuration Net::HTTP-specific connection and client-certificate settings are client options. Net::HTTP-specific connection and client-certificate settings move from client options to a transport instance supplied through transport:. Configure the supplied transport directly, including its timeouts and TLS settings. Connection-reuse defaults also change. Custom transports are supported; Net::HTTP is currently the default.
Retry mode legacy is available. legacy is removed. standard becomes the default retry mode, and adaptive remains available.
Retry limit retry_limit: counts retries. retry_limit: is replaced by max_attempts:. The new value counts all attempts, including the initial request, rather than only retries.
Retry customization Legacy retry backoff options. Legacy retry backoff options are removed. Use retry_strategy: to customize retry behavior.
Chunk callbacks on_chunk_sent: and on_chunk_received: client options. on_chunk_sent: and on_chunk_received: client options are unavailable in the current implementation. Response-body streaming to blocks or targets remains available.
S3 path-style access force_path_style:. force_path_style: is renamed to s3_force_path_style:.
S3 acceleration use_accelerate_endpoint:. use_accelerate_endpoint: is renamed to s3_use_accelerate_endpoint:.
S3 endpoint default Global us-east-1 endpoint. The default S3 endpoint for us-east-1 changes from the global endpoint to the regional endpoint. Set s3_us_east_1_regional_endpoint: 'legacy' to retain the global endpoint.
SQS Queue URL regions disable_queue_url_region_detection: controls region detection. disable_queue_url_region_detection: is unavailable. The signing region is derived from the Queue URL when its region can be resolved.
Protocol customization Customization through V3 protocol/runtime extensions. Protocol serialization is separated from HTTP transport. Use protocol: to supply a custom protocol implementation in place of V3 protocol/runtime extensions.
Authentication customization Signing-plugin extensions. Use auth_resolver: to customize authentication selection. Existing V3 signing-plugin extensions must migrate to the new authentication interfaces.
Credential changes
Area V3 V4
Client credentials credentials: on service clients or Aws.config. credentials: is replaced by credentials_provider: when configuring service clients or Aws.config.
Static credentials Positional arguments to Aws::Credentials.new. Aws::Credentials.new takes named options instead of positional arguments. Supply static credentials to service clients through Aws::StaticCredentialsProvider.
Credential providers V3 provider class names and a credentials accessor. Built-in credential provider classes are renamed. Custom providers used by service clients or directly with aws-sigv4 must follow Smithy identity-provider interfaces and expose identity instead of credentials.
Profile credentials Aws::SharedCredentials. Aws::SharedCredentials is replaced by profile resolution through the client credential-provider chain.
Profile selection AWS_PROFILE with an AWS_DEFAULT_PROFILE fallback. The AWS_DEFAULT_PROFILE fallback is removed. Use AWS_PROFILE to select a profile.
SSO configuration Legacy SSO profiles without a session are supported. SSO credentials now require an sso_session. Update legacy profiles that configure SSO without a session.
Credential environment variables Legacy credential variable aliases are accepted. Legacy credential variable aliases are removed. Use AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_SESSION_TOKEN.
Bearer authentication token_provider:. token_provider: is replaced by bearer_token: or bearer_token_provider: for bearer-authenticated clients.
Waiter changes

V4 waiters follow the Smithy waiter interface. Their configuration differs from V3:

Area V3 V4
Wait budget max_attempts: limits the number of polling attempts. max_attempts: is replaced by max_wait_time:. The limit changes from a number of polling attempts to a time budget in seconds.
Polling delay Fixed delay:. Fixed delay: is replaced by min_delay: and max_delay:. Polling uses randomized exponential backoff.
Callbacks and block configuration before_attempt, before_wait, and block-based waiter configuration. before_attempt, before_wait, and block-based waiter configuration are unavailable in the current development implementation. We plan to provide migration support for customers using these V3 features.
Error namespace Aws::Waiters::Errors. The waiter error namespace changes from Aws::Waiters::Errors to Smithy::Client::Waiters.
Exhausted wait budget TooManyAttemptsError. TooManyAttemptsError is replaced by MaxWaitTimeExceededError.
Other noteworthy changes
  • Smithy runtime. V4 uses Smithy Ruby for code generation and Smithy::Client in place of Seahorse for the client runtime.
  • Code generation tools. V4 uses Smithy Ruby to generate service clients. Custom generation workflows built around the V3 build tools will need to adapt to the new tooling.
  • Updated dependencies. V4 uses aws-sdk-core 4.x and new major versions of the signing and partition gems, along with separate Smithy runtime and codec gems for JSON, XML, and CBOR serialization.
  • Item pagination. Use each_item to enumerate items across pages for operations whose paginator defines an item collection.
  • Serialization performance. Improving request serialization and response parsing performance is a focus of V4.

Try V4

V4 targets Ruby 3.1 or later. Preview gem installation instructions will be added when a published preview is available.

Help shape V4

We would especially like to hear:

  1. What is your biggest pain point with the Ruby SDK today?
  2. What would make V4 worth migrating to?
  3. Which services, integrations, or V3 features must work before you can evaluate V4?
  4. Which changes above would make migration difficult?

Share general feedback and priorities here.

For specific feature requests or reproducible bugs, open a separate issue so we can track and discuss each one.

主要言語
Ruby
スター
3.7k
フォーク
1.2k
平均マージ
1日 15時間
マージ済み PR(30日)
26

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

aws/aws-sdk-ruby のほかの issue

aws/aws-sdk-ruby の issue をすべて見る

似ている issue

Ruby の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。