Skip to content

Doltlite 0.3.0

Choose a tag to compare

@github-actions github-actions released this 26 Mar 00:55
e31a332

⚠️ 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