Releases: joaoh82/rust_sqlite
v0.12.0
SQLRite v0.12.0
Per-product releases in this wave:
- 🦀 Rust engine → crates.io
- 🤖 MCP server → crates.io —
cargo install sqlrite-mcpor grab a prebuilt binary tarball; wires SQLRite into Claude Code / Cursor / any MCP client over stdio - 🔧 C FFI — prebuilt
libsqlrite_cfor Linux x86_64/aarch64, macOS aarch64, Windows x86_64 - 🖥️ Desktop — unsigned installers for Linux (AppImage + deb), macOS (dmg aarch64), Windows (msi)
- 🐍 Python → PyPI — abi3-py38 wheels for Linux x86_64/aarch64, macOS aarch64, Windows x86_64 + sdist
- 🟢 Node.js → npm — N-API bindings with prebuilt
.nodebinaries for Linux x86_64/aarch64, macOS aarch64, Windows x86_64 - 📝
sqlrite-notesexample → npm —npx sqlrite-notes init <dir>ingests a folder of markdown notes into a SQLRite DB and exposes it to Claude Desktop / any MCP client - 🌐 WASM → npm — browser/bundler-target WebAssembly build via wasm-pack
- 🐹 Go SDK →
go get github.com/joaoh82/rust_sqlite/sdk/go@v0.12.0—database/sqldriver via cgo againstlibsqlrite_c
Auto-generated changelog below ↓
What's Changed
- fix(release): scope sqlrite-engine crate with include allowlist (fixes crates.io 413) by @joaoh82 in #154
- docs(release): bump displayed version to 0.11.0 (site + install snippets) by @joaoh82 in #155
- SQLR-12 — make release.yml publish jobs idempotent (skip-if-already-published) by @joaoh82 in #156
- docs(release-secrets): document sqlrite-notes trusted publisher + Repository-field gotcha (SQLR-13) by @joaoh82 in #157
- feat(sql): JOIN ... USING / NATURAL / CROSS (SQLR-5) by @joaoh82 in #158
- release: v0.12.0 by @joaoh82 in #159
Full Changelog: v0.11.0...v0.12.0
WASM v0.12.0
Published to npm: https://www.npmjs.com/package/@joaoh82/sqlrite-wasm/v/0.12.0
npm install @joaoh82/sqlrite-wasm@0.12.0// Bundler target — works with webpack, vite, rollup, parcel
import init, { Database } from '@joaoh82/sqlrite-wasm';
await init();
const db = new Database();
db.exec("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)");
db.exec("INSERT INTO users (name) VALUES ('alice')");
const rows = db.query("SELECT id, name FROM users");
// → [{ id: 1, name: 'alice' }]What's in the package:
sqlrite_wasm_bg.wasm— the WebAssembly engine binarysqlrite_wasm.js— auto-generated JS glue (wasm-bindgen)sqlrite_wasm.d.ts— TypeScript typespackage.json— bundler-target metadata
Build target: bundler (webpack/vite/rollup-friendly).
For web / nodejs / deno targets, build from source via wasm-pack build sdk/wasm --target <target>.
Verify package provenance:
npm audit signaturesSee the umbrella release v0.12.0 for the full changelog.
What's Changed
- fix(release): scope sqlrite-engine crate with include allowlist (fixes crates.io 413) by @joaoh82 in #154
- docs(release): bump displayed version to 0.11.0 (site + install snippets) by @joaoh82 in #155
- SQLR-12 — make release.yml publish jobs idempotent (skip-if-already-published) by @joaoh82 in #156
- docs(release-secrets): document sqlrite-notes trusted publisher + Repository-field gotcha (SQLR-13) by @joaoh82 in #157
- feat(sql): JOIN ... USING / NATURAL / CROSS (SQLR-5) by @joaoh82 in #158
- release: v0.12.0 by @joaoh82 in #159
Full Changelog: sdk/go/v0.11.0...sqlrite-wasm-v0.12.0
Rust engine v0.12.0
Published to crates.io: https://crates.io/crates/sqlrite-engine/0.12.0
[dependencies]
sqlrite-engine = "0.12.0"// The [lib] name stays `sqlrite`, so the import alias is
// the short one even though the package name is longer.
use sqlrite::{Database, ExecutionResult};See the umbrella release v0.12.0 for the full changelog.
What's Changed
- fix(release): scope sqlrite-engine crate with include allowlist (fixes crates.io 413) by @joaoh82 in #154
- docs(release): bump displayed version to 0.11.0 (site + install snippets) by @joaoh82 in #155
- SQLR-12 — make release.yml publish jobs idempotent (skip-if-already-published) by @joaoh82 in #156
- docs(release-secrets): document sqlrite-notes trusted publisher + Repository-field gotcha (SQLR-13) by @joaoh82 in #157
- feat(sql): JOIN ... USING / NATURAL / CROSS (SQLR-5) by @joaoh82 in #158
- release: v0.12.0 by @joaoh82 in #159
Full Changelog: sdk/go/v0.11.0...sqlrite-v0.12.0
Python v0.12.0
Published to PyPI: https://pypi.org/project/sqlrite/0.12.0/
pip install sqlrite==0.12.0import sqlrite
conn = sqlrite.connect(":memory:")
conn.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)")
conn.execute("INSERT INTO users (name) VALUES (?)", ("alice",))
for row in conn.execute("SELECT * FROM users"):
print(row)Wheels in this release:
- Linux x86_64 (manylinux2014 or newer)
- Linux aarch64 (manylinux2014 or newer)
- macOS aarch64 (Apple Silicon)
- Windows x86_64
- Source distribution (
.tar.gz) — builds from source on other platforms via a local Rust toolchain
All wheels are abi3-py38, so one wheel per platform works on every CPython ≥ 3.8.
See the umbrella release v0.12.0 for the full changelog.
What's Changed
- fix(release): scope sqlrite-engine crate with include allowlist (fixes crates.io 413) by @joaoh82 in #154
- docs(release): bump displayed version to 0.11.0 (site + install snippets) by @joaoh82 in #155
- SQLR-12 — make release.yml publish jobs idempotent (skip-if-already-published) by @joaoh82 in #156
- docs(release-secrets): document sqlrite-notes trusted publisher + Repository-field gotcha (SQLR-13) by @joaoh82 in #157
- feat(sql): JOIN ... USING / NATURAL / CROSS (SQLR-5) by @joaoh82 in #158
- release: v0.12.0 by @joaoh82 in #159
Full Changelog: sdk/go/v0.11.0...sqlrite-py-v0.12.0
sqlrite-notes example v0.12.0
Published to npm: https://www.npmjs.com/package/sqlrite-notes/v/0.12.0
# Ingest a folder of markdown notes into a SQLRite database
# — no clone, no Rust toolchain, no env setup beyond an
# optional embedding API key.
npx sqlrite-notes@0.12.0 init ~/Documents/notesThe example uses @joaoh82/sqlrite@^0.12.0 for storage + retrieval (HNSW + BM25) and spawns sqlrite-mcp as a subprocess to expose the database to Claude Desktop / any MCP client. Install sqlrite-mcp separately — cargo install sqlrite-mcp or a prebuilt binary from the MCP release.
Verify package provenance:
npm audit signaturesFull docs: examples/nodejs-notes/README.md.
See the umbrella release v0.12.0 for the full changelog.
What's Changed
- fix(release): scope sqlrite-engine crate with include allowlist (fixes crates.io 413) by @joaoh82 in #154
- docs(release): bump displayed version to 0.11.0 (site + install snippets) by @joaoh82 in #155
- SQLR-12 — make release.yml publish jobs idempotent (skip-if-already-published) by @joaoh82 in #156
- docs(release-secrets): document sqlrite-notes trusted publisher + Repository-field gotcha (SQLR-13) by @joaoh82 in #157
- feat(sql): JOIN ... USING / NATURAL / CROSS (SQLR-5) by @joaoh82 in #158
- release: v0.12.0 by @joaoh82 in #159
Full Changelog: sdk/go/v0.11.0...sqlrite-notes-v0.12.0
Node.js v0.12.0
Published to npm: https://www.npmjs.com/package/@joaoh82/sqlrite/v/0.12.0
npm install @joaoh82/sqlrite@0.12.0const { Database } = require('@joaoh82/sqlrite');
const db = new Database(':memory:');
db.exec('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)');
const stmt = db.prepare('INSERT INTO users (name) VALUES (?)');
stmt.run('alice');
for (const row of db.prepare('SELECT * FROM users').iterate()) {
console.log(row);
}Binaries bundled in this release:
- Linux x86_64 (
sqlrite.linux-x64-gnu.node) - Linux aarch64 (
sqlrite.linux-arm64-gnu.node) - macOS aarch64 (
sqlrite.darwin-arm64.node) - Windows x86_64 (
sqlrite.win32-x64-msvc.node)
The package's index.js dispatcher auto-selects the right binary at require time — no platform-specific install step.
Verify package provenance:
npm audit signaturesSee the umbrella release v0.12.0 for the full changelog.
What's Changed
- fix(release): scope sqlrite-engine crate with include allowlist (fixes crates.io 413) by @joaoh82 in #154
- docs(release): bump displayed version to 0.11.0 (site + install snippets) by @joaoh82 in #155
- SQLR-12 — make release.yml publish jobs idempotent (skip-if-already-published) by @joaoh82 in #156
- docs(release-secrets): document sqlrite-notes trusted publisher + Repository-field gotcha (SQLR-13) by @joaoh82 in #157
- feat(sql): JOIN ... USING / NATURAL / CROSS (SQLR-5) by @joaoh82 in #158
- release: v0.12.0 by @joaoh82 in #159
Full Changelog: sdk/go/v0.11.0...sqlrite-node-v0.12.0
sqlrite-mcp v0.12.0
Published to crates.io: https://crates.io/crates/sqlrite-mcp/0.12.0
Model Context Protocol (MCP) server for SQLRite. Wraps a SQLRite database as a stdio-spawned subprocess that LLM agents (Claude Code, Cursor, mcp-inspector) can drive without custom integration code.
cargo install sqlrite-mcp// ~/.claude.json
{
"mcpServers": {
"sqlrite": {
"command": "sqlrite-mcp",
"args": ["/path/to/your.sqlrite"],
"env": { "SQLRITE_LLM_API_KEY": "sk-ant-…" }
}
}
}Seven tools: list_tables, describe_table, query, execute, schema_dump, vector_search, ask. Pass --read-only to hide execute. Pre-built binary tarballs (no Rust toolchain required) are attached to this release as well — see sqlrite-mcp-v0.12.0-{platform}.tar.gz.
Full docs: https://github.com/joaoh82/rust_sqlite/blob/main/docs/mcp.md
See the umbrella release v0.12.0 for the full changelog.
What's Changed
- fix(release): scope sqlrite-engine crate with include allowlist (fixes crates.io 413) by @joaoh82 in #154
- docs(release): bump displayed version to 0.11.0 (site + install snippets) by @joaoh82 in #155
- SQLR-12 — make release.yml publish jobs idempotent (skip-if-already-published) by @joaoh82 in #156
- docs(release-secrets): document sqlrite-notes trusted publisher + Repository-field gotcha (SQLR-13) by @joaoh82 in #157
- feat(sql): JOIN ... USING / NATURAL / CROSS (SQLR-5) by @joaoh82 in #158
- release: v0.12.0 by @joaoh82 in #159
Full Changelog: sdk/go/v0.11.0...sqlrite-mcp-v0.12.0
C FFI v0.12.0
Prebuilt libsqlrite_c for every supported platform, plus the sqlrite.h header.
Download the tarball for your platform, extract, and link:
tar xzf sqlrite-ffi-v0.12.0-<platform>.tar.gz
# lib/ — dynamic + static libraries
# include/sqlrite.h — header to #include
See the umbrella release v0.12.0 for the full changelog.
What's Changed
- fix(release): scope sqlrite-engine crate with include allowlist (fixes crates.io 413) by @joaoh82 in #154
- docs(release): bump displayed version to 0.11.0 (site + install snippets) by @joaoh82 in #155
- SQLR-12 — make release.yml publish jobs idempotent (skip-if-already-published) by @joaoh82 in #156
- docs(release-secrets): document sqlrite-notes trusted publisher + Repository-field gotcha (SQLR-13) by @joaoh82 in #157
- feat(sql): JOIN ... USING / NATURAL / CROSS (SQLR-5) by @joaoh82 in #158
- release: v0.12.0 by @joaoh82 in #159
Full Changelog: sdk/go/v0.11.0...sqlrite-ffi-v0.12.0
Desktop v0.12.0
SQLRite desktop app — unsigned installers. This release wave ships:
- Linux:
.AppImage+.deb(Debian/Ubuntu) +.rpm(Fedora/RHEL), x86_64 - macOS:
.dmg+ raw.app.tar.gz, Apple Silicon (aarch64). Intel Macs not supported yet — tracked as a Phase 6e follow-up (universal dmg). - Windows:
.msi+.exe(NSIS installer), x86_64
⚠️ Unsigned installer warnings
Installers aren't code-signed yet (Phase 6.1 wires up Apple Developer ID + Windows code-signing). First-launch warnings to expect:
macOS — "SQLRite is damaged and can't be opened" or "unidentified developer":
xattr -cr /Applications/SQLRite.appThis strips the com.apple.quarantine attribute your browser attached on download. macOS Gatekeeper shows "damaged" (not the gentler "unidentified developer") because Tauri ad-hoc signs the binary — Apple Silicon requires a signature, even an ad-hoc one, but quarantined ad-hoc signatures trip a stricter Gatekeeper path. The app is fine; the signature just isn't from a registered Apple Developer ID.
Windows — SmartScreen "Windows protected your PC":
Click "More info" → "Run anyway".
Linux — AppImage:
chmod +x SQLRite_*_amd64.AppImage
./SQLRite_*_amd64.AppImageSee the umbrella release v0.12.0 for the full changelog.
sqlrite-ask v0.12.0
Published to crates.io: https://crates.io/crates/sqlrite-ask/0.12.0
Natural-language → SQL adapter for SQLRite. Anthropic-first; OpenAI / Ollama follow-ups.
[dependencies]
sqlrite-engine = "0.12.0"
sqlrite-ask = "0.12.0"use sqlrite::Connection;
use sqlrite_ask::{AskConfig, ConnectionAskExt};
let conn = Connection::open("foo.sqlrite")?;
let cfg = AskConfig::from_env()?; // SQLRITE_LLM_API_KEY etc.
let resp = conn.ask("How many users are over 30?", &cfg)?;
println!("Generated SQL: {}", resp.sql);See the umbrella release v0.12.0 for the full changelog.
What's Changed
- fix(release): scope sqlrite-engine crate with include allowlist (fixes crates.io 413) by @joaoh82 in #154
- docs(release): bump displayed version to 0.11.0 (site + install snippets) by @joaoh82 in #155
- SQLR-12 — make release.yml publish jobs idempotent (skip-if-already-published) by @joaoh82 in #156
- docs(release-secrets): document sqlrite-notes trusted publisher + Repository-field gotcha (SQLR-13) by @joaoh82 in #157
- feat(sql): JOIN ... USING / NATURAL / CROSS (SQLR-5) by @joaoh82 in #158
- release: v0.12.0 by @joaoh82 in #159
Full Changelog: sdk/go/v0.11.0...sqlrite-ask-v0.12.0