Releases: aloneguid/stowage
2.0.1
Local disk file storage provider now implements ILocalDiskFileStorage
interface, which exposes ToNativeLocalPath
method returning full path to the file on the local disk, specific to the OS you are running on. This is useful when you need to pass file paths to external tools or libraries that need native OS paths.
2.0.0
2.0.0 introduces massive ergonomic improvements and some breaking changes.
New features
Breaking change for AWS S3 and Minio users
Factory methods for S3 do not have bucket name anymore. Instead, you need to pass bucket name as a part of the file path.
Before v2: /directory/object
.
Since v2: /bucket/directory/object
.
This syntax makes accessing multiple buckets more ergonomic. In addition to that, Ls
operation on root folder simply returns the list of buckets.
Breaking change for Azure Storage users
In azure storage, URL now must start with container name.
Before v2: /directory/object
.
Since v2: /container/directory/object
.
Ls
operation on root folder simply returns the list of containers.
Other new features
- breaking:
Rm
operation now has norecurse
flag. Passing a file deletes a file, passing a folder deletes the folder recursively. It should have been as easy as that, not sure why that flag was there in the first place! - breaking: .NET Core support is dropped. The minimum supported framework is now .NET 5.
- New operation
Stat
retrieves object information without downloading it. - Azure Blob storage supports new authentication type - with Entra Id Service Principals.
Improvements
- AWS CLI configuration parser also picks up default region from
~/.aws/config
file. - S3 error messages are improved, taking response message from HTTP API response.
- S3 accepts session token when authenticating, allowing you to use credentials from AWS STS.
- Azure storage provider protocol upgraded to
2020-10-02
. - Enabled nullable reference types and fixed a lot of null checks.
Bugs fixed
- AWS
Rm
on folders was not deleting recursively. - Azure
Ls
command did not return more than 5k items.
1.5.1
1.5.0
New features
- S3 provider supports authentication with local AWS CLI profiles.
- S3 factory methods allow specifying session token (for STS temporary credentials).
Bugs fixed
- S3
Ls
operation was returning it's own folder object in the list. - S3
Ls
was facing number parsing overflow on multi-gigabyte files. - On some platforms
hmac256
was not working resulting in failure to sign AWS requests. - Multi-part uploads in S3 were sometimes not calculating chunk sizes properly.
1.4.0
New features
- Minio is officially supported. Additional factory method added allowing to connect to Minio instances without knowing the internals.
IOPath
has a new member -Prefix()
allowing to add prefix to an existing path.
Bugs fixed
- S3 provider was ignoring
continuationToken
which resulted in returning only the first page inLs
operation.
1.3.0
Bugs fixed
- S3 buffer size needs to be at least 5Mb when performing multipart upload by @alexhughes05 in #14.
- S3 authentication would fail if file name contains spaces by @alexhughes05 in #14.
- S3 authentication would fail if custom port number is used by @zitmen in #16.
Improvements
Internal changes
- CI/CD pipeline split into "build" and "release".
- Added release notes document to be used when publishing a github release.
- Applying consistent code style from my other projects.
1.2.7
1.2.6
bump to 1.2.6
1.2.5
bump version
1.2.4
add readme file to package