// HACKER NEWS — CYBERSECURITY
DoltLite: A SQLite fork with Git-style version control, built with 2k agent PRs
My baby is growing up. Just five months after launch, DoltLite is Beta, version 0.50.0.
DoltLite started as a lark. I needed a pet project to test with Steve Yegge’s innovative agent orchestrator, Gas Town. I wanted a real problem, not a toy. We wanted an embedded version of Dolt for years but rewriting Dolt’s storage engine in C or Rust was a bridge too far. SQLite seemed like a logical host for that engine. Could a team of agents pull it off? It only took about 2,000 pull requests but DoltLite going Beta proves a team of agents certainly could.
This article explains what DoltLite is and what a Beta launch means.
DoltLite is a fork of SQLite. Everything above the B-tree layer is the same. That means the SQL parser and analyzer, the file system interaction layer, and test harness are stock SQLite. With other Dolt products we had to implement a SQL engine on top of version-controlled storage. Building a SQL engine is hard. With DoltLite we got one for the cost of writing a version-controlled storage engine in C.
The B-tree layer is swapped out for a Prolly Tree backed by a single file chunk store. Prolly Trees are content-addressed B-trees. This magical data structure powers the version control functionality in all Dolt products.
That means you get all the version control features of Dolt and Git in a SQLite package. Have you ever wanted to branch, merge, and diff SQLite? DoltLite is for you. Or maybe even more importantly, have you ever wanted a conflict aware SQLite sync engine powered by Git-style push, pull, clone, and fetch? DoltLite is for you. You can even use DoltHub as your sync backend.
So what does DoltLite going Beta mean for you? Beta means four things:
Reports from the field on functionality and stability are universally positive. SQLite’s testing battery is truly impressive. DoltLite passes those tests as well as a custom suite of Dolt oracle tests. DoltLite is ready for you to try.
The biggest complaint about the development process for DoltLite was the storage format bumps. Storage format changes were not backward-compatible, requiring users to stay on the same version or manually dump and reimport their databases. It took 12 format changes to get to Beta. We’ve been on the current format for 57 releases, or over three months of calendar time. This format seems like one we can stick with.
The storage format is now stable. Any future breaking changes will have a supported migration path. DoltLite Beta means you can adopt without fear of a breaking storage format change.