v0.4.4
tursodatabase/tursov0.4.4Jan 30, 2026by github-actions[bot]
AI Summary
A maintenance release focusing on WAL stability, character handling fixes, and preventing database corruption during checkpoint operations.
Key Highlights
- Fix for WAL checkpoint crashes
- Fix for Busy snapshot handling
- CHAR() function Unicode support fix
- Improvements to WAL auto-truncation and fsync behavior
New Features
- Fix wal checkpoint
- Busy snapshot bugfix
- CHAR() function Unicode support
- fsync DB file before truncating WAL after checkpoint
- Checkpoint restart fix
Full Release Notes
## Release Notes ### Added * Implement simple strategy to restart WAL log if possible (Nikita Sivukhin) * core/mvcc: Add support for synchronous off mode (Pekka Enberg) ### Updated * Remove unused lints, variables and functions (Pedro Muniz) * WAL auto truncation: increase epoch to prevent stale pages reuse (Nikita Sivukhin) * Refactor core/lib.rs Connection impl out to its own file (Preston Thorpe) * Replace GPL-2.0 bloom crate with MIT-licensed fastbloom (Jussi Saurio) * core: Use fast monotonic time when possible (Pekka Enberg) ### Fixed * Fix wal checkpoint (Nikita Sivukhin) * Busy snapshot bugfix (Nikita Sivukhin) * fix(vdbe): CHAR() function should handle full Unicode range (Mikaël Francoeur) * do not call unlock_after_restart in case of error during wal truncation - because we already released these locks earlier (Nikita Sivukhin) * properly unlock WriteLock if restart failed and ignore Busy errors when attempt to restart WAL file failed (Nikita Sivukhin) * Checkpoint restart fix (Nikita Sivukhin) * core/vdbe/sorter: Propagate write errors instead of corrupting data (Preston Thorpe) * fix/connect: read page1 in transaction to prevent illegal WAL read (Jussi Saurio) * fix(parser): reject duplicate PRIMARY KEY clauses on a single column (Mikaël Francoeur) * fix: fsync DB file before truncating WAL after checkpoint (Jussi Saurio) * fix/vdbe: convert BusySnapshot to Busy if conn rolled back (Jussi Saurio) * sdk-kit: Export busy snapshot error to callers (Pekka Enberg) ## Install turso_cli 0.4.4 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tursodatabase/turso/releases/download/v0.4.4/turso_cli-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/tursodatabase/turso/releases/download/v0.4.4/turso_cli-installer.ps1 | iex" ``` ## Download turso_cli 0.4.4 | File | Platform | Checksum | |--------|----------|----------| | [turso_cli-aarch64-apple-darwin.tar.xz](https://github.com/tursodatabase/turso/releases/download/v0.4.4/turso_cli-aarch64-apple-darwin.tar.xz) | Apple Silicon macOS | [checksum](https://github.com/tursodatabase/turso/releases/download/v0.4.4/turso_cli-aarch64-apple-darwin.tar.xz.sha256) | | [turso_cli-x86_64-apple-darwin.tar.xz](https://github.com/tursodatabase/turso/releases/download/v0.4.4/turso_cli-x86_64-apple-darwin.tar.xz) | Intel macOS | [checksum](https://github.com/tursodatabase/turso/releases/download/v0.4.4/turso_cli-x86_64-apple-darwin.tar.xz.sha256) | | [turso_cli-x86_64-pc-windows-msvc.zip](https://github.com/tursodatabase/turso/releases/download/v0.4.4/turso_cli-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/tursodatabase/turso/releases/download/v0.4.4/turso_cli-x86_64-pc-windows-msvc.zip.sha256) | | [turso_cli-aarch64-unknown-linux-gnu.tar.xz](https://github.com/tursodatabase/turso/releases/download/v0.4.4/turso_cli-aarch64-unknown-linux-gnu.tar.xz) | ARM64 Linux | [checksum](https://github.com/tursodatabase/turso/releases/download/v0.4.4/turso_cli-aarch64-unknown-linux-gnu.tar.xz.sha256) | | [turso_cli-x86_64-unknown-linux-gnu.tar.xz](https://github.com/tursodatabase/turso/releases/download/v0.4.4/turso_cli-x86_64-unknown-linux-gnu.tar.xz) | x64 Linux | [checksum](https://github.com/tursodatabase/turso/releases/download/v0.4.4/turso_cli-x86_64-unknown-linux-gnu.tar.xz.sha256) | ## Verifying GitHub Artifact Attestations The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the [GitHub CLI](https://cli.github.com/manual/gh_attestation_verify): ```sh gh attestation verify <file-path of downloaded artifact> --repo tursodatabase/turso ``` You can also download the attestation from [GitHub](https://github.com/tursodatabase/turso/attestations) and verify against that directly: ```sh gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> ```