0.11.0
Summary
Version 0.11.0 brings significant architectural changes to enhance database reliability and performance. The major changes include:
-
Database Engine Change: Replaced
sqlx
withrusqlite
as the SQLite database driver and removed support forredb
. This change provides better performance and reliability for database operations. -
Transaction Management: Introduced robust database transaction support that encapsulates all database changes. The new Transaction trait implements a rollback operation on Drop unless explicitly committed, ensuring data integrity.
-
Race Condition Prevention: Added READ-and-lock operations to securely read and lock records from the database for exclusive access, preventing race conditions in concurrent operations.
⚠️ Important Migration Note for redb Users
If you are currently running a mint with redb, you must migrate to SQLite before upgrading to v0.11. Follow these steps:
- Stop your current mint
- Back up your database
- Use the migration script available at: https://github.com/cashubtc/cdk/blob/main/misc/convert_redb_to_sqlite.sh
- Update your config file to target the SQLite database engine
- Start your mint with v0.11
Added
- cdk-lnbits: Support lnbits v1 and pre-v1 PR ([thesimplekid]).
- Support for Keyset v2 PR ([lollerfirst]).
- Add option to limit the token size of a send PR ([davidcaseria]).
- Database transaction support PR ([crodas]).
- Support for multsig refund PR ([thesimplekid]).
- Convert unit helper fn PR ([davidcaseria]).
Changed
- cdk-sqlite: remove sqlx in favor of rusqlite ([crodas]).
- cdk-lnd: use custom tonic gRPC instead of fedimint-tonic-grpc PR ([thesimplekid]).
- cdk-cln: remove the us of mutex on cln client PR ([thesimplekid]).
Fixed
- mint start up check was not checking unpaid quotes PR ([gudnuf]).
- Naming of blinded_message column on blind_signatures was y PR ([thesimplekid]).
- cdk-cli: Create wallets for non sat units if supported PR ([thesimplekid]).
Removed
- cdk-redb support for the mint PR ([thesimplekid]).
- cdk-sqlite remove unused melt_request table PR ([crodas])
New Contributors
- @coderwander made their first contribution in #804
- @gudnuf made their first contribution in #844
Full Changelog: v0.10.0...v0.11.0