Releases: joshiii-xyz/basalt
Releases · joshiii-xyz/basalt
Release list
Basalt v0.1.3
Release Notes
- Corrected packaged release documentation so the published crate describes
the current release state instead of the pre-publication0.1.2candidate. - Made release-status wording version-neutral so the crate, binary release, and
MCP Registry metadata stay consistent across future releases.
Install Basalt 0.1.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/joshiii-xyz/basalt/releases/download/v0.1.3/basalt-db-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/joshiii-xyz/basalt/releases/download/v0.1.3/basalt-db-installer.ps1 | iex"Download Basalt 0.1.3
| File | Platform | Checksum |
|---|---|---|
| basalt-db-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| basalt-db-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| basalt-db-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| basalt-db-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| basalt-db-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
Basalt v0.1.2
Basalt 0.1.2 is the hardened CLI-first release for local, single-owner, reversible SQL workspaces.\n\nHighlights:\n- Durable snapshot and WAL recovery with corruption detection and backward-compatible format handling.\n- Bounded CLI, SQL parser, imports, previews, history, and MCP stdio frames.\n- Symlink/path protections, workspace locking, metadata validation, and crash-safe undo.\n- Verified Linux, macOS, and Windows release artifacts with checksums and installers.\n\nThe MCP Registry entry is published separately at version 0.1.2.
0.1.1 — 2026-09-02
Release Notes
- Added checked-in MCP Registry metadata and a release check that keeps its
Cargo package, version, launch argument, repository, and ownership marker
synchronized without publishing anything automatically. - Made CLI workspace imports share the durable recovery ledger with MCP imports;
CSV, JSON, JSON Lines, and SQL dump imports now return a change ID and can be
inspected or undone as the latest workspace change. - Workspace MCP writes now request per-operation user approval through the
modern MCP multi-round-trip input flow when the connected client advertises
form elicitation; legacy initialized clients retain elicitation/create and
clients without elicitation retain the explicit startup write policy. - Workspace diffs now report exact added and removed row counts using a
deterministic row-multiset comparison, while keeping the no-keyed-patch
limitation explicit. - Made durable snapshot replacement work on Windows as well as Unix, and
added a regression test for rewriting an existing snapshot. - Made workspace inspection use stored live-row counts without scanning table
data, and reject a workspace whose canonical database is missing instead of
silently creating an empty replacement. - Enforced the MCP execution budget inside the SQL engine so
max_rowsis not
the only protection against large scans, joins, aggregates, or mutations;
over-budget operations fail before their state or response is published. - Capped MCP workspace imports by rows, columns, and cells, and capped
workspace MCP plans at 10,000 affected rows so bounded content and reviewed
writes cannot expand into unbounded agent operations. - Added persisted plan lookup and import provenance to workspace history so an
agent can recover exact review context after an MCP restart. - Added release-archive verification for checksums, required files, executable
contents, and unsafe archive members; the release host job also runs the
extracted Linux artifact through the installed-binary smoke journey. - Pinned CI and release GitHub Actions to reviewed commit SHAs, with the
generated release workflow pins kept indist-workspace.toml. - Bounded MCP workspace diffs to 10,000 inspected rows per compared database
and removed unnecessary checkpoint writes from history and diff reads. - Serialized workspace MCP operations within one server process so concurrent
valid requests cannot race the workspace database lock. - Added explicit
--init-workspaceMCP bootstrap for creating only a missing
workspace path without replacing existing data. - MCP export and diff row limits now reject oversized tables before row data is
materialized, while the CLI keeps its complete-table behavior. - Keep a workspace lock for the full lifetime of CLI and MCP ownership, closing
the undo window where another process could write while a recovery snapshot is
being installed. - Bounded MCP and workspace preview requests to 32 mutating statements per
call, in addition to their existing SQL and statement limits. - Bounded workspace MCP exports by row count and content size before building a
response, directing larger exports to the CLI. - Hardened workspace export protection so path aliases cannot overwrite the
workspace database or manifest. - Made exact workspace apply and undo retries return the original receipt after
a lost response, while rejecting retries against moved workspace state; MCP
metadata now advertises those retries as idempotent. - Made bounded workspace MCP imports return their original receipt on an exact
retry after a lost response by persisting an import request fingerprint. - Allowed an exact retry of a failed workspace MCP import when its recorded
base state is still unchanged; unresolved or moved imports remain blocked. - Included the exact SQL in CLI and MCP workspace preview reports so an
operator can review the operation before approving its plan ID. - Validated MCP preview response size before persisting plan metadata, so an
oversized response cannot leave an orphaned plan behind. - Added concise Claude Code and Cursor project configuration paths for the
installed workspace MCP server, while keeping server-side writes explicit. - Corrected the MCP workspace import annotation to identify it as additive
rather than destructive, with a wire-level regression check. - Added versioned local workspaces with
basalt init, read-only workspace
queries, and JSON inspection. - Added atomic CSV, JSON/object, JSON Lines, and Basalt SQL dump imports plus
deterministic CSV, JSON Lines, and SQL exports, with a 64 MiB input limit. - Added end-to-end workspace coverage for initialization, type inference,
reopen, format round trips, and failed-import rollback. - Added exact-state write plans, durable recovery points, schema and
row-multiset diffs,
change history, and latest-change-only undo for workspaces. - Added workspace-aware MCP tools for inspect, preview, apply, history, diff,
undo, and bounded export. MCP is read-only by default; direct SQL writes,
workspace applies/undos, and checkpointing require explicit--allow-writes. - Added bounded CSV, JSON, and JSON Lines workspace MCP imports. Each approved
import is atomic, path-free, and recorded with a recovery point and change ID;
SQL dump imports remain CLI-only. - Scoped MCP tool discovery by mode so direct database clients do not receive
workspace-only tools and workspace clients cannot bypass the plan lifecycle
with unrestricted SQL execution. - Added a
basalt-dbpackage boundary while preserving thebasaltbinary,
reproducibledistrelease configuration, checksummed installer workflow,
clean-binary smoke test, and scheduled RustSec dependency audit. - Added a reproducible workspace workflow benchmark with SQLite and optional
DuckDB baselines, explicit process-model notes, and no blanket performance
claim. - Added a release preflight that validates the packaged crate and runs the
installed-binary CLI/MCP smoke journey from an isolated temporary prefix. - Added machine-readable
--jsonreports for workspace imports and exports,
while keeping stdout exports as clean data streams. - Isolated packaged-crate installation build artifacts so release preflight
cannot replace the checkout's development binary with stale packaged code. - Added a recorded benchmark snapshot with host and client versions, median
operation timings, and the complete process-model caveat. - Added a documented file-format compatibility policy and differential checks
for a deliberately small shared SQL subset. - Added optional libFuzzer targets for arbitrary SQL parsing and snapshot/state
decoding, plus a bounded in-memory snapshot validation API. - Completed the embedded SQL engine, storage, indexes, transactions, WAL
recovery, planner, and command-line frontend. - Added script execution, CSV/JSON-lines output, schema discovery, crash
recovery coverage, and reproducible project checks. - Added an official
rmcpstdio server with typed SQL tools, schema resources,
bounded results, stateful MCP transactions, and wire-level protocol tests. - Verified the installed-binary MCP smoke path against modern
2026-07-28
discovery and per-request metadata while retaining legacy handshake coverage. - Hardened numeric literal parsing, integer and real overflow handling, and
recovery from incomplete WAL tails. - Added cross-process ownership for durable database paths and documented the
CLI-first SQL and release contracts.
Install Basalt 0.1.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/joshiii-xyz/basalt/releases/download/v0.1.1/basalt-db-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/joshiii-xyz/basalt/releases/download/v0.1.1/basalt-db-installer.ps1 | iex"Download Basalt 0.1.1
| File | Platform | Checksum |
|---|---|---|
| basalt-db-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| basalt-db-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| basalt-db-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| basalt-db-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| basalt-db-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |