Skip to content

Releases: sebadob/s3-simple

v0.4.1

31 Oct 12:26
48e2d5a
Compare
Choose a tag to compare

There is the new copy_internal_from() for a Bucket, which allows you to do an internal copy on the S3 storage from
a different bucket (your key has access to) into the configured one. The already existing copy_internal() only allowed
copies inside the same bucket.

v0.4.0

20 Jul 15:44
Compare
Choose a tag to compare
  • make internal values for AccessKeyId, AccessKeySecret and Region pub for a better DX
    when used without env vars
  • added a new() fn for Credentials
  • clippy lints from latest Rust version have been applied
  • external deps have been updated

v0.3.0

17 Apr 09:59
Compare
Choose a tag to compare

Any request status returned from any action will be checked early from this version on.
Beforehand, you had to check the status yourself, because you got the full, unmodified S3Response to have the most
amount of freedom. This is still the case, but if the status is any non-success status, an S3Error will be returned
instead of the response itself. This makes it possible to get rid of any dedicated status checking on the client side,
as long as you only care about success or not.
You will still get access to the unmodified S3Response and you could check the status code if you are looking for
something special, but success only is being done internally for even more ease of use.

This makes it possible to go from:

old

let bucket = Bucket::try_from_env()?;

// upload
let res = bucket.put("test.txt", b"Hello S3").await?;
assert!(res.status().is_success());

// get it back
let res = bucket.get("test.txt").await?;
assert!(res.status().is_success());
let body = res.bytes().await?;
assert_eq!(body.as_ref(), b"Hello S3");

new

let bucket = Bucket::try_from_env()?;

// upload
bucket.put("test.txt", b"Hello S3").await?;

// get it back
let res = bucket.get("test.txt").await?;
let body = res.bytes().await?;
assert_eq!(body.as_ref(), b"Hello S3");

v0.2.0

12 Apr 19:30
Compare
Choose a tag to compare
  • removes the prelude module and exposes everything at the crate root for ease of use
  • internal code cleanup and reduced debug logging
  • optimized ci / test recipes to not fail with multiple shared test-runtimes in parallel
  • improved docs and readme
  • removed accidentally added examples/target folder from git

v0.1.1

12 Apr 18:24
Compare
Choose a tag to compare

This just fixes the description in the Cargo.toml for crates.io

v0.1.0

12 Apr 18:18
52508dc
Compare
Choose a tag to compare

Initial release with all the basic operations included and working.