NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3340 most downloaded on crates.io
Rust library for working with Amazon IAM credential,s, supports `s3` crate
Last release 3 days ago
04 Oct 2026
Release timing varies
gaps range from 2 weeks to 13 months
Rarely documented
notes for 3 of 31 stable releases
3 versions withdrawn
withdrawn after publishing
7 years old
34 releases · first in 2020
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
This release updates the companion crates to aws-creds 0.40.0 and aws-region 0.29.0.
This release updates the companion crates to aws-creds 0.40.0 and
aws-region 0.29.0.
tokio-rustls-tls-ring feature for using rustls with its Ring cryptoDebug output.Fixed generated Content-Length and Content-Type headers entering signatures
for bodyless requests, including ranged GET and DELETE operations. This resolves
signature mismatches on providers such as Cloudflare R2. Multipart initiation
retains the headers needed by Google Cloud Storage, and requests with bodies
retain their content headers. The fix is included in this release via
6c97cb9.
Thanks to the contributors who investigated this issue and proposed fixes:
Their contributions are acknowledged here because the fixes were consolidated
in the audit work rather than merging these PRs separately.
Preserved per-call headers across streamed multipart uploads, routing them to
the requests where S3-compatible services expect them. Thanks to
@mfroembgen for PR
#471 and its focused regression
coverage.
Credentials now contains private refresh-source metadata. External structCredentialsError::NoRefreshSource. Token-file, container, andNoRefreshSource variant if you exhaustively match CredentialsError.aws-region adds variants to its public exhaustive Region enum. DownstreamCommand::ListMultipartUploads and ListMultipartUploadsResult have newBucket::list_multiparts_uploads_page takes an additionalupload_id_marker argument. Update code constructing or destructuring theseCommand enum adds GetBucketPolicy, PutBucketPolicy, andDeleteBucketPolicy; update exhaustive matches accordingly.CredentialsError::SerdeXml, S3Error::SerdeXml, andS3Error::XmlSeError. Rust considers types from different quick-xml versionsA dependency audit still reports advisories in legacy optional async-std
transport dependency branches. The audit did not establish whether those
findings are reachable or exploitable; this release is not a clean security
assessment.
Release 0.37.0 - Performance, Reliability, and API Improvements
Release 0.37.0 - Performance, Reliability, and API Improvements
This release brings significant improvements in performance, memory management, and reliability, along with several bug fixes and new features.
🚀 Performance Improvements
Multipart Upload Optimizations
Memory-bounded parallelism: Implemented smart memory management that prevents OOM errors during large file uploads by dynamically adjusting concurrency based on available memory
Streaming improvements: Added AsyncRead implementation for ResponseDataStream enabling efficient streaming of large objects
🐛 Bug Fixes
Endpoint and URL Handling
Fixed trailing slash issues (#429): Custom endpoints with trailing slashes no longer cause 403 signature mismatch errors
Fixed standard port preservation (#419): Presigned URLs now correctly preserve explicit standard ports (80/443) for proper signature validation
Fixed LocalStack compatibility (#411): Added RUST_S3_SKIP_LOCATION_CONSTRAINT environment variable for LocalStack support
API Correctness
Fixed delete_bucket_lifecycle (#414): Corrected critical bug that was sending DeleteBucket instead of DeleteBucketLifecycle command, preventing potential data loss
Fixed content-length header (#428): Excluded content-length header for ListBuckets command
Fixed SSL config propagation (#415): Bucket::exists() now properly honors dangerous SSL configurations
Fixed sync implementation: Corrected Bucket::get_object_range_to_writer() sync implementation (#413)
✨ New Features
Builder Pattern for PUT Operations
Added a fluent builder API for PUT operations with custom headers:
bucket.put_object_builder("/my-file.txt", b"Hello, World!")
.with_content_type("text/plain")
.with_cache_control("public, max-age=3600")?
.with_metadata("author", "john-doe")?
.execute()
.await?
Region Support
Added support for R2 EU jurisdiction endpoints (#409)
Improved custom region handling with better error messages
📚 Documentation
Added comprehensive CLAUDE.md file for AI-assisted development guidelines
Clarified ETag handling behavior in response_data for PUT operations (#430)
Improved inline documentation for multipart operations
Full Changelog : v0.35.1...v.0.36.0
Full Changelog: v0.35.1...v.0.36.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →