Releases: minio/minio-rs
Releases · minio/minio-rs
Release v0.4.0
Breaking changes
- Typed wrapper structs for string parameters — most API methods now accept
TryInto<BucketName>/TryInto<ObjectKey>/ etc., so&str/String/ pre-validated typed values all work at call sites. Validation happens once at the boundary. (#200) - Error type cleanup and reorganization. (#179)
- Request builders migrated to the
TypedBuilderderive macro — builder surface is regenerated; some method shapes may differ. (#184) - Credential provider type simplified from
Arc<Box<dyn CredentialProvider>>toArc<dyn CredentialProvider>. (#164) DeleteObjectsbatching lowered from 10,000 to 1,000 keys per request to match the documented S3 limit. (#208)- Default multipart part size raised to 64 MiB (from the previous default, via an intermediate 16 MiB step). (#207, #209)
New features
- Request hooks infrastructure — intercept and modify in-flight requests, e.g. for load balancing. (#188, see
examples/load_balancing_with_hooks.rs) - Additional checksum algorithms: CRC32, CRC32C, SHA1, SHA256, and CRC64NVME. (#195)
Performance
- Signing key memoization;
stat_objectnow issues HEAD instead of GET. (#197) - Eliminated intermediate
Vec<Bytes>allocation during HTTP request body preparation. (#192)
Fixes
- Virtual-hosted-style bucket requests now use
/as the URL path. (#205) - Two bugs fixed in
AppendObjectContentmultipart append. (#206) - Correct part size in multipart copy; added missing response properties. (#196)
rustlscan now be used alongsidesha2andhmac. (#175)- Form-decoding (not percent-decoding) is used for whitespace in URLs during signing. (#178)
delete_and_purge_bucketdeletes objects recursively. (#166)- HTTP header constants use proper capitalization. (#186)
Housekeeping / internal
- Codebase consolidation and test infrastructure refresh. (#194)
- Test macro for parameterized integration tests. (#170)
- Duplicated code removed; lazy response evaluation. (#162)
- Dropped direct
tokio/tokio-stream/tokio-utildependencies; library internals now use runtime-agnosticfutures-util/async-streamcombinators. Tokio is still pulled in transitively viareqwest/hyper, so a tokio-compatible runtime is still required at the call site. (#167) - Clippy cleanup and unused-import pruning. (#182, #177)
copy_objectdocumentation. (#172)- Added
.github/copilot-instructions.md. (#191)
Full changelog: v0.3.0...v0.4.0
Release v0.3.0
Release v0.2.0
What's Changed
Highlighted Changes
This is a rewrite of the library using a more robust and easier to use builder style and async using tokio.
New Contributors
- @HJLebbink made their first contribution in #71
- @OlalalalaO made their first contribution in #69
- @kyldvs made their first contribution in #83
- @anjalshireesh made their first contribution in #91
- @vajexal made their first contribution in #100
- @yaozongyou made their first contribution in #61
- @jeasai made their first contribution in #105
- @andrenatal made their first contribution in #112
- @jhonboy121 made their first contribution in #136
- @mishi321 made their first contribution in #103
Full Changelog: v0.1.0...v0.2.0