Skip to content

godolt v0.1.0 Release Notes

Release Date: 2026-08-16

Overview

godolt wraps Dolt's operational surface for Go programs, following the gogit precedent — a standalone, dependency-light service-integration module. This is the initial release: a SQL-wire client for the primary workload (many concurrent sessions against dolt sql-server), plus CLI-exec operations for the cold path (bootstrap, before a server exists) and backups (no SQL-callable equivalent exists).

Highlights

  • SQL-wire Client for remotes, push/pull/fetch, and active branch — zero added driver dependencies, the caller supplies the *sql.DB
  • CLI-exec bootstrap (Clone, InitDir) and backup (BackupAdd, BackupSync, BackupRestore) operations for the cold path

Installation

go get github.com/grokify/godolt@v0.1.0

Features

SQL-wire client (the primary workload)

  • New(db *sql.DB) *Client — wraps an existing connection to a dolt sql-server; the caller owns the driver, pooling, and DSN
  • Client.RemoteAdd, Client.RemoteRemove, Client.Remotes — register, remove, and list configured remotes via CALL DOLT_REMOTE(...)
  • Client.Push, Client.Pull, Client.Fetch — sync against a remote via CALL DOLT_PUSH/DOLT_PULL/DOLT_FETCH, returning the server's status message
  • Client.ActiveBranch — the connection's active branch via SELECT active_branch()
  • Argument validation (quotable) rejects characters that could escape a single-quoted SQL literal, since Dolt stored procedures don't support placeholders in all versions

CLI-exec cold path

  • Clone(ctx, remoteURL, dir) — clone a remote into a fresh directory
  • InitDir(ctx, dir, name, email) — initialize a new Dolt database directory with a committer identity
  • Available() — reports whether the dolt CLI is on PATH
  • BackupAdd, BackupSync, BackupRestore — named backup targets, snapshot/sync, and restore (--force to overwrite an existing restore directory); no DOLT_BACKUP stored procedure exists, so these are CLI-exec only. Verified safe to run against a directory a live dolt sql-server is actively serving

Use Cases

  • Multi-tenant services — many concurrent sessions against a shared dolt sql-server, without an embedded-driver bottleneck
  • Service bootstrap — initialize or clone a Dolt database directory before a server exists to connect to
  • Operational backups — schedule backup sync against a live server without stopping it first

Documentation

  • README with installation, usage examples, and a full API reference table
  • MIT license
  • README badges for CI, lint, SAST, godoc, MkDocs, visualization, and license status

Build

  • Shared CI workflows: Go CI (test matrix across Linux/macOS/Windows), Go Lint (golangci-lint), Go SAST (CodeQL), and Dependabot config
  • .gitignore for MkDocs build output and local env files

License

MIT