Skip to content

Releases: joaoh82/rust_sqlite

v0.3.0

04 May 07:36
be871bc

Choose a tag to compare

SQLRite v0.3.0

Per-product releases in this wave:

  • 🦀 Rust enginecrates.io
  • 🤖 MCP servercrates.iocargo install sqlrite-mcp or grab a prebuilt binary tarball; wires SQLRite into Claude Code / Cursor / any MCP client over stdio
  • 🔧 C FFI — prebuilt libsqlrite_c for Linux x86_64/aarch64, macOS aarch64, Windows x86_64
  • 🖥️ Desktop — unsigned installers for Linux (AppImage + deb), macOS (dmg aarch64), Windows (msi)
  • 🐍 PythonPyPI — abi3-py38 wheels for Linux x86_64/aarch64, macOS aarch64, Windows x86_64 + sdist
  • 🟢 Node.jsnpm — N-API bindings with prebuilt .node binaries for Linux x86_64/aarch64, macOS aarch64, Windows x86_64
  • 🌐 WASMnpm — browser/bundler-target WebAssembly build via wasm-pack
  • 🐹 Go SDKgo get github.com/joaoh82/rust_sqlite/sdk/go@v0.3.0database/sql driver via cgo against libsqlrite_c

Auto-generated changelog below ↓

What's Changed

  • fix(release): swap publish-ask / publish-crate ordering by @joaoh82 in #85
  • feat(ddl): DEFAULT clause, DROP TABLE/INDEX, ALTER TABLE by @joaoh82 in #86
  • release: v0.3.0 by @joaoh82 in #87

Full Changelog: v0.2.0...v0.3.0

WASM v0.3.0

04 May 07:33
be871bc

Choose a tag to compare

Published to npm: https://www.npmjs.com/package/@joaoh82/sqlrite-wasm/v/0.3.0

npm install @joaoh82/sqlrite-wasm@0.3.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 binary
  • sqlrite_wasm.js — auto-generated JS glue (wasm-bindgen)
  • sqlrite_wasm.d.ts — TypeScript types
  • package.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 signatures

See the umbrella release v0.3.0 for the full changelog.

What's Changed

  • fix(release): swap publish-ask / publish-crate ordering by @joaoh82 in #85
  • feat(ddl): DEFAULT clause, DROP TABLE/INDEX, ALTER TABLE by @joaoh82 in #86
  • release: v0.3.0 by @joaoh82 in #87

Full Changelog: sdk/go/v0.2.0...sqlrite-wasm-v0.3.0

Rust engine v0.3.0

04 May 07:33
be871bc

Choose a tag to compare

Published to crates.io: https://crates.io/crates/sqlrite-engine/0.3.0

[dependencies]
sqlrite-engine = "0.3.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.3.0 for the full changelog.

What's Changed

  • fix(release): swap publish-ask / publish-crate ordering by @joaoh82 in #85
  • feat(ddl): DEFAULT clause, DROP TABLE/INDEX, ALTER TABLE by @joaoh82 in #86
  • release: v0.3.0 by @joaoh82 in #87

Full Changelog: sdk/go/v0.2.0...sqlrite-v0.3.0

Python v0.3.0

04 May 07:35
be871bc

Choose a tag to compare

Published to PyPI: https://pypi.org/project/sqlrite/0.3.0/

pip install sqlrite==0.3.0
import 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.3.0 for the full changelog.

What's Changed

  • fix(release): swap publish-ask / publish-crate ordering by @joaoh82 in #85
  • feat(ddl): DEFAULT clause, DROP TABLE/INDEX, ALTER TABLE by @joaoh82 in #86
  • release: v0.3.0 by @joaoh82 in #87

Full Changelog: sdk/go/v0.2.0...sqlrite-py-v0.3.0

Node.js v0.3.0

04 May 07:35
be871bc

Choose a tag to compare

Published to npm: https://www.npmjs.com/package/@joaoh82/sqlrite/v/0.3.0

npm install @joaoh82/sqlrite@0.3.0
const { 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 signatures

See the umbrella release v0.3.0 for the full changelog.

What's Changed

  • fix(release): swap publish-ask / publish-crate ordering by @joaoh82 in #85
  • feat(ddl): DEFAULT clause, DROP TABLE/INDEX, ALTER TABLE by @joaoh82 in #86
  • release: v0.3.0 by @joaoh82 in #87

Full Changelog: sdk/go/v0.2.0...sqlrite-node-v0.3.0

sqlrite-mcp v0.3.0

04 May 07:34
be871bc

Choose a tag to compare

Published to crates.io: https://crates.io/crates/sqlrite-mcp/0.3.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.3.0-{platform}.tar.gz.

Full docs: https://github.com/joaoh82/rust_sqlite/blob/main/docs/mcp.md

See the umbrella release v0.3.0 for the full changelog.

What's Changed

  • fix(release): swap publish-ask / publish-crate ordering by @joaoh82 in #85
  • feat(ddl): DEFAULT clause, DROP TABLE/INDEX, ALTER TABLE by @joaoh82 in #86
  • release: v0.3.0 by @joaoh82 in #87

Full Changelog: sdk/go/v0.2.0...sqlrite-mcp-v0.3.0

C FFI v0.3.0

04 May 07:33
be871bc

Choose a tag to compare

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.3.0-<platform>.tar.gz
# lib/   — dynamic + static libraries
# include/sqlrite.h — header to #include

See the umbrella release v0.3.0 for the full changelog.

What's Changed

  • fix(release): swap publish-ask / publish-crate ordering by @joaoh82 in #85
  • feat(ddl): DEFAULT clause, DROP TABLE/INDEX, ALTER TABLE by @joaoh82 in #86
  • release: v0.3.0 by @joaoh82 in #87

Full Changelog: sdk/go/v0.2.0...sqlrite-ffi-v0.3.0

Desktop v0.3.0

04 May 07:35
be871bc

Choose a tag to compare

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.app

This 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.AppImage

See the umbrella release v0.3.0 for the full changelog.

sqlrite-ask v0.3.0

04 May 07:33
be871bc

Choose a tag to compare

Published to crates.io: https://crates.io/crates/sqlrite-ask/0.3.0

Natural-language → SQL adapter for SQLRite. Anthropic-first; OpenAI / Ollama follow-ups.

[dependencies]
sqlrite-engine = "0.3.0"
sqlrite-ask    = "0.3.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.3.0 for the full changelog.

What's Changed

  • fix(release): swap publish-ask / publish-crate ordering by @joaoh82 in #85
  • feat(ddl): DEFAULT clause, DROP TABLE/INDEX, ALTER TABLE by @joaoh82 in #86
  • release: v0.3.0 by @joaoh82 in #87

Full Changelog: sdk/go/v0.2.0...sqlrite-ask-v0.3.0

Go SDK v0.3.0

04 May 07:35
be871bc

Choose a tag to compare

go get github.com/joaoh82/rust_sqlite/sdk/go@v0.3.0
package 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.3.0-linux-x86_64.tar.gz
  • sqlrite-ffi-v0.3.0-linux-aarch64.tar.gz
  • sqlrite-ffi-v0.3.0-macos-aarch64.tar.gz
  • sqlrite-ffi-v0.3.0-windows-x86_64.tar.gz

Extract for your platform, then point cgo at it:

tar xzf sqlrite-ffi-v0.3.0-<platform>.tar.gz
export CGO_CFLAGS="-I$(pwd)/sqlrite-ffi-v0.3.0-<platform>/include"
export CGO_LDFLAGS="-L$(pwd)/sqlrite-ffi-v0.3.0-<platform>/lib -lsqlrite_c"
export LD_LIBRARY_PATH="$(pwd)/sqlrite-ffi-v0.3.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.3.0 for the full changelog.

What's Changed

  • fix(release): swap publish-ask / publish-crate ordering by @joaoh82 in #85
  • feat(ddl): DEFAULT clause, DROP TABLE/INDEX, ALTER TABLE by @joaoh82 in #86
  • release: v0.3.0 by @joaoh82 in #87

Full Changelog: sdk/go/v0.2.0...sdk/go/v0.3.0