Skip to content

Releases: durch/rust-s3

v0.37.1

09 Dec 21:50
db637a9

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.37.0...v0.37.1

v0.37.0

16 Sep 21:56
771be16

Choose a tag to compare

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

v0.36.0

16 Sep 17:13

Choose a tag to compare

Full Changelog: v0.35.1...v.0.36.0

v0.36.0-beta.2

06 Sep 18:26

Choose a tag to compare

v0.36.0-beta.2 Pre-release
Pre-release

v.0.36.0-beta.1

02 Sep 11:21

Choose a tag to compare

v.0.36.0-beta.1 Pre-release
Pre-release
  • CORS rule support

Full Changelog: v0.36.0-alpha.5...v.0.36.0-beta.1

v0.36.0-alpha.5

01 Sep 13:53

Choose a tag to compare

v0.36.0-alpha.5 Pre-release
Pre-release
  • Introduces automatic retries for all requests

Full Changelog: v0.36.0-alpha.3...v0.36.0-alpha.5

v0.36.0-alpha.3

01 Sep 08:51

Choose a tag to compare

v0.36.0-alpha.3 Pre-release
Pre-release

v0.36.0-alpha.2

31 Aug 20:58

Choose a tag to compare

v0.36.0-alpha.2 Pre-release
Pre-release
  • Major change - dropping hyper in favour of reqwest as a tokio backend http client lib

Full Changelog: v0.36.0-alpha.1...v0.36.0-alpha.2

v0.36.0-alpha.1

30 Aug 21:22

Choose a tag to compare

v0.36.0-alpha.1 Pre-release
Pre-release

v0.35.1

30 Aug 20:37

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.34.0...v0.35.0