Skip to content

v3.0.0

Latest

Choose a tag to compare

@djmitche djmitche released this 03 Jan 18:42
· 34 commits to main since this release
d751a7f

What's Changed

BREAKING CHANGES

General

  • All Replica methods are now async.
  • All Storage and StorageTxn methods are now async.
  • Minimum Supported Rust Version (MSRV) is now 1.88.0

Storage

  • The Storage trait now requires Send. This makes the type usable in common async contexts.
  • The StorageConfig type has been removed. Storage instances are now to be created directly. This is necessary because the Storage trait is no longer object-compatible, so Replica is generic over the storage type, and must be created with a value of a type that implements Storage.
  • Replica now takes a type parameter S implementing Storage

Server

  • ServerConfig::Aws has two new fields, and the type of region has changed. These changes allow using AWS storage with non-AWS implementations of S3 such as Minio and Ceph. The new fields can be omitted for users of the "real" S3.
  • The AWS implementation no longer uses IMDS (instance metadata) to fetch credentials.

Non-Breaking Changes

  • WASM support - TaskChampion can now be built for WASM, and features an IndexedDB storage implementation and support for the server-sync protocol via the Fetch API.
  • Performance generating snapshots in debug builds has been improved dramatically (#593)
  • server-aws, server-gcp, and server-sync all use the same HTTP backend, unifying behavior and moderately reducing binary size (this necessitated dropping IMDS support, as mentioned above)
  • The set of allowed tags is now expanded to include non-alphanumeric characters (#659)

New Contributors

Full Changelog: v2.0.3...v3.0.0