Releases: joaoh82/rust_sqlite
Release list
sqlrite-ask v0.13.0
Published to crates.io: https://crates.io/crates/sqlrite-ask/0.13.0
Natural-language → SQL adapter for SQLRite. Anthropic-first; OpenAI / Ollama follow-ups.
[dependencies]
sqlrite-engine = "0.13.0"
sqlrite-ask = "0.13.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.13.0 for the full changelog.
What's Changed
- docs(release): bump displayed version to 0.12.0 (site + install snippets) by @joaoh82 in #160
- feat(sql): HAVING — post-aggregation filter (SQLR-52) by @joaoh82 in #161
- Release v0.13.0 by @github-actions[bot] in #162
Full Changelog: sdk/go/v0.12.0...sqlrite-ask-v0.13.0
Go SDK v0.13.0
go get github.com/joaoh82/rust_sqlite/sdk/go@v0.13.0package main
import (
"database/sql"
"fmt"
_ "github.com/joaoh82/rust_sqlite/sdk/go" // registers "sqlrite" driver
)
func main() {
db, _ := sql.Open("sqlrite", ":memory:")
defer db.Close()
_, _ = db.Exec("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)")
_, _ = db.Exec("INSERT INTO users (name) VALUES ('alice')")
rows, _ := db.Query("SELECT id, name FROM users")
defer rows.Close()
for rows.Next() {
var id int64
var name string
rows.Scan(&id, &name)
fmt.Printf("%d: %s\n", id, name)
}
}Prebuilt libsqlrite_c (cgo dependency)
The Go binding uses cgo against the libsqlrite_c shared library shipped by sqlrite-ffi. The tarballs attached below are the same ones from this release wave's C FFI release — provided here so Go users have a one-stop-shop:
sqlrite-ffi-v0.13.0-linux-x86_64.tar.gzsqlrite-ffi-v0.13.0-linux-aarch64.tar.gzsqlrite-ffi-v0.13.0-macos-aarch64.tar.gzsqlrite-ffi-v0.13.0-windows-x86_64.tar.gz
Extract for your platform, then point cgo at it:
tar xzf sqlrite-ffi-v0.13.0-<platform>.tar.gz
export CGO_CFLAGS="-I$(pwd)/sqlrite-ffi-v0.13.0-<platform>/include"
export CGO_LDFLAGS="-L$(pwd)/sqlrite-ffi-v0.13.0-<platform>/lib -lsqlrite_c"
export LD_LIBRARY_PATH="$(pwd)/sqlrite-ffi-v0.13.0-<platform>/lib"
go build ./...(On macOS use DYLD_LIBRARY_PATH instead of LD_LIBRARY_PATH. On Windows, place the .dll next to your binary or on %PATH%.)
See the umbrella release v0.13.0 for the full changelog.
What's Changed
- docs(release): bump displayed version to 0.12.0 (site + install snippets) by @joaoh82 in #160
- feat(sql): HAVING — post-aggregation filter (SQLR-52) by @joaoh82 in #161
- Release v0.13.0 by @github-actions[bot] in #162
Full Changelog: sdk/go/v0.12.0...sdk/go/v0.13.0
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