All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Update
vergen
to version 8
- Update
aws-sdk-*
crates to version1.*.0
- Update
aws-sdk-*
crates to version1.*.0
- Add ability to create empty archive (#124)
- Update to Rust version 1.71.0
- Update
aws-sdk-*
crates to version0.27.0
- Update
aws-smithy-*
crates to version0.56
-
Add
CredentialsProvider
trait to support custom way to provide credentialsThe code that uses this crate as a lib can implement this trait and pass it into config
-
Add
aws-sdk-sts v0.27.0
as a dependency forssstar
crate -
Add new
role_credentials_provider
module that implements auto refreshing credentialsThis provider assumes the role and gets the temporary credentials and refreshes the credentials when they are close to expiration.
-
Rename several
CreateProgressCallback
methods to remove thetar_
prefix to reflect the fact that the archive might not be tar format in the future. -
Change
CreateProgressCallback
trait to add databyte_offset
and objecttimestamp
parameters toarchive_object_written
methodThis is a bit of an abuse of the progress callback since this information is not needed for progress reporting and instead will be used in Elastio to populate the index of the S3 backup, however it's an easy change to make that will facilitate our initial indexing impl without having to wait for the new storage API to stabilize.
-
Update AWS SDK crates from 0.54 to 0.55 and 0.24 to 0.27
-
Update to Rust version 1.69.0
-
Update to
rust-cache
action v2 -
Remove
coverage
GHA job since it's consistently broken and thetarpaulin
GHA seems abandoned -
Replace deprecated
tempfile
dependency withtempdir
. This is a dev-only dependency so this shouldn't have any runtime impact. -
Add new
storage
module with new public API for writing to custom archive formats instead of tarThis isn't actually implemented yet, but we're releasing the API in an experimental state to collect feedback. This new storage API is subject to change and should not be relied upon until we finalize it. For now it's hidden behind the
storage
feature and is not enabled by default. -
Move all dependencies to the workspace level to make it easier to update dependencies in the future.
-
Add new field
user_agent
toConfig
to allow callers to customize the user agent when talking to S3 APIs.This is not a breaking change since
Config
is marked with thenon_exhaustive
attribute.
- Update AWS SDK crates from 0.52 to 0.54
- Update Tokio to 1.25 and tokio-util to 0.7.7
- Update misc dependencies:
- async-trait v0.1.57 -> v0.1.64
- aws-smith-http to 0.54.4
- base64 v0.20.0 -> v0.21.0
- bytes v1.2.1 -> v1.4.0
- clap v4.0.32 -> v4.1.6
- futures v0.3.24 -> v0.3.26
- http to 0.2.9
- indicatif v0.17.1 -> v0.17.3
- once_cell v1.15.0 -> v1.17.1
- regex v1.6.0 -> v1.7.1
- tokio-stream to 0.1.12
- tracing-test v0.2.3 -> v0.2.4
- vergen v7.4.2 -> v7.5.1
- which v4.3.0 -> v4.4.0
- Add
aws_session_token
option forssstar::Config
to allow to use AWS temporal credentials
- Add
Sync
trait requirement to the inner reader ofssstar::SourceArchive::Reader(..)
. Now, the inner reader requires implementation of traits:Read + Send + Sync
- Update
base64
to 0.20
- The performance of
extract
writing many files to object storage should be improved now. In general, theextract
speed should more or less match the performance of thecreate
operation which produced the archive to be extracted. - Integration tests are updated to work correctly with the multipart checksum logic in recent MinIO releases.
- Increment MSRV to 1.64
- Update AWS SDK for S3 from 0.17 to 0.22
- Update AWS SDK common crates like
aws-config
,aws-http
, etc from 0.47 to 0.52 - Update
clap
from 3.x to 4.x
- Report average bytes per second rates at the end of each stage of operation. This modifies the signature of the progress callback traits.
First release published via GitHub Actions. Functionally identical to 0.1.0.
Incomplete release missing ssstar-cli
Incomplete release missing ssstar
and ssstar-cli
Initial release