Update Rust crate rust-s3 to 0.37.0 #97
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/rust-s3-0.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
0.36.0-beta.2
->0.37.0
Release Notes
durch/rust-s3 (rust-s3)
v0.37.0
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
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below:
File name: Cargo.lock