Skip to content

Releases: minio/minio-rs

Release v0.4.0

23 Apr 16:24
e47dddb

Choose a tag to compare

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 TypedBuilder derive macro — builder surface is regenerated; some method shapes may differ. (#184)
  • Credential provider type simplified from Arc<Box<dyn CredentialProvider>> to Arc<dyn CredentialProvider>. (#164)
  • DeleteObjects batching 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_object now 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 AppendObjectContent multipart append. (#206)
  • Correct part size in multipart copy; added missing response properties. (#196)
  • rustls can now be used alongside sha2 and hmac. (#175)
  • Form-decoding (not percent-decoding) is used for whitespace in URLs during signing. (#178)
  • delete_and_purge_bucket deletes 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-util dependencies; library internals now use runtime-agnostic futures-util / async-stream combinators. Tokio is still pulled in transitively via reqwest / hyper, so a tokio-compatible runtime is still required at the call site. (#167)
  • Clippy cleanup and unused-import pruning. (#182, #177)
  • copy_object documentation. (#172)
  • Added .github/copilot-instructions.md. (#191)

Full changelog: v0.3.0...v0.4.0

Release v0.3.0

06 Jun 21:38
7d0fcaa

Choose a tag to compare

New Contributors

Full Changelog: v0.2.0...v0.3.0

Release v0.2.0

21 May 23:15
621669c

Choose a tag to compare

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

Full Changelog: v0.1.0...v0.2.0