Releases: tus/tusd
v2.5.0
What's Changed
Features
- s3store: Allow
+
in object IDs by @OwynWang in #1123 - filestore: Allow customising the storage path by @Acconut in #1083
- filestore: Expose
.info
path to hooks by @Acconut in #1162
Bug fixes
- cli: Adjust logging format from plugin hooks to CLI's format by @amiremohamadi in #1108
- filestore: Fix graceful termination when deleting upload by @blmhemu in #1120
- gcsstore: Fix error creating new uploads by @emilaleksanteri in #1131
- filelocker: Emit 404 if directory for lock does not exist by @Acconut in #1149
- handler: Emit pre-finish hook for concatenated uploads by @Acconut in #1185
New Contributors
- @blmhemu made their first contribution in #1118
- @amiremohamadi made their first contribution in #1108
- @OwynWang made their first contribution in #1123
- @emilaleksanteri made their first contribution in #1131
- @ehsansouri23 made their first contribution in #1101
Full Changelog: v2.4.0...v2.5.0
v2.5.0-rc2
Second release candidate for v2.5.0.
What's Changed
- filelocker: Emit 404 if directory for lock does not exist by @Acconut in #1149
- filestore: Expose
.info
path and fix absolute paths by @Acconut in #1162
Full Changelog: v2.5.0-rc1...v2.5.0-rc2
v2.5.0-rc1
First release candidate for v2.5.0.
v2.4.0
v2.3.0
What's Changed
- s3store: Fix downloads from some S3-compatible stores by @Acconut in #1071
- *: Allow upload ID to contain slashes by @Acconut in #1020
- handler: Validate upload IDs from pre-create hooks by @Acconut in #1072
- azurestore: Buffer upload data on disk instead of in-memory by @Acconut in #1070
- handler: Simultaneous support for -01 and -02 of IETF draft by @Nealsoni00 in #1066
- Upgrade dependencies
New Contributors
- @Nealsoni00 made their first contribution in #1066
Full Changelog: v2.2.2...v2.3.0
v2.2.2
v2.2.1
v2.2.0
⚠️ Breaking Change
Unfortunately, this minor release includes a breaking change if you are using tusd's S3 package github.com/tus/tusd/v2/pkg/s3store
programmatically. You are not affected if you are using tusd as a compiled program or are not using the S3 package.
On 2023-11-17, a new version of the S3 package from the AWS SDK for Go V2 was released (see their general release notes and the S3-specific release notes). Even though the new version number v1.43.0 indicates a minor release, the AWS SDK does not follow the SemVer schema. Indeed, this release included a breaking changes to their S3 API. This breaking change was needed to fix a major fault in the entire SDK, as is explained in aws/aws-sdk-go-v2#2162.
The problem is that this breaking change also affects tusd's users now. If tusd's s3store is used as a package and the user installed a more recent version of the AWS SDK, they will run into compilation errors. For example, this happened to a tusd user in #1033.
We have considered different approaches for handling this breaking change and have decided to upgrade the AWS SDK (#1039). This introduces a breaking change because tusd's s3store's API depends on definitions from the AWS SDK, which are slightly changing now. To fix any possible compilation or runtime errors, we ask you to upgrade all packages under the github.com/aws/aws-sdk-go-v2
namespace to their most recent version. These packages and tusd v2.2.0 should be compatible.
What's Changed
- Upgrade AWS SDK, Google Cloud SDK and go-plugin by @dependabot in #1039
- Upgrade other dependencies
Full Changelog: v2.1.0...v2.2.0
v2.1.0
What's Changed
- s3store: Correct handling of errors from S3-compatible stores by @jimydavis in #1019
- core: Support IETF draft-ietf-httpbis-resumable-upload-02 by @Acconut in #1027
- Update dependencies
New Contributors
- @jimydavis made their first contribution in #1019
Full Changelog: v2.0.0...v2.1.0
v2.0.0
Four years after the last major release of tusd, version 1.0.0, it is time for another big announcement: we are happy to say that tusd v2 is finished! The release is ready for production and has been battle tested at scale at Transloadit in the past months.
This major release focuses on two main aspects: interoperability and resilience. The reworked hook system makes it easier to integrate tusd into your application, while also extending its functionality. Furthermore, we focused on the way tusd handles degraded network connectivity and made numerous changes to improve its resilience in such circumstances.
There are no breaking changes in the HTTP interface for tus uploads. Existing tus clients will continue to be able to communicate with tusd, without any changes being necessary. You can replace your tusd v1 deployments with v2, and all clients will continue to function.
A description of the major features, the additional improvements, and the breaking changes is given in the accompanying blog post.