Doltlite 0.3.0
⚠️ Breaking Change
Existing .doltlite files are incompatible with this release. The content-addressing hash function changed from xxHash32 to SHA-512 (truncated to 20 bytes, matching Dolt). Databases created with v0.2.x must be recreated.
What's New
Remotes
Push, fetch, pull, and clone between doltlite databases — over the filesystem or HTTP.
-- Filesystem remotes
SELECT dolt_remote('add', 'origin', 'file:///path/to/remote.db');
SELECT dolt_push('origin', 'main');
SELECT dolt_clone('file:///path/to/source.db');
-- HTTP remotes
SELECT dolt_remote('add', 'origin', 'http://myserver:8080/mydb.db');
SELECT dolt_push('origin', 'main');doltlite-remotesrv is now bundled in the release — a standalone HTTP server for serving doltlite databases:
./doltlite-remotesrv -p 8080 /path/to/databases/
Committer Configuration
SELECT dolt_config('user.name', 'Tim Sehn');
SELECT dolt_config('user.email', 'tim@dolthub.com');
-- All commits now use this author (merge, cherry-pick, revert too)Security & Correctness
- SHA-512 content addressing (was xxHash32 — not collision-resistant)
- Checked write()/fsync() return values in commit path
- OOM propagation in GC mark phase
- Merge schema validation fixes
- Integer overflow and bounds checks throughout
Code Quality
- Split 12 long functions into focused helpers
- Renamed 20+ cryptic variables
- 118 remote integration tests, 26 config tests