Skip to content

Releases: benaiad/sqlize

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 06 Apr 05:12
v0.3.0

What's new

Type safety and correctness

  • Domain newtypes, improved error model, and secret redaction
  • Replaced custom Scalar with DataFusion's ScalarValue
  • 9 type-driven fixes for correctness, safety, and design

Robustness

  • Enforced boundary contracts for API response shape and multi-spec resolution
  • Replaced assert! in AcceptHeader::new with Result
  • Resolved all clippy warnings across both crates

Docs

  • Rewrote README

v0.2.3

Choose a tag to compare

@github-actions github-actions released this 25 Mar 03:38

What's new

Improved CLI UX

  • sqlize --version now works
  • --help shows usage examples for single-spec, query mode, and multi-spec
  • REPL startup banner shows version, available commands, and a contextual sample query adapted to the loaded spec

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 25 Mar 00:03

What's new

Lazy paginating stream — API pages are now fetched on demand, one per poll. This enables JOINs to pull enough data from both sides without requiring subqueries with explicit LIMIT.

Configurable MAX_ROWS — Each table scan fetches up to max_rows (default 1000) when no SQL LIMIT is specified. Override with:

  • --max-rows 5000 (CLI flag)
  • SQLIZE_MAX_ROWS=5000 (env var)

SQL LIMIT is still respected when DataFusion pushes it down.

Single-object endpoints — GET endpoints that return a JSON object (not an array) are now included as one-row tables. e.g. GET /repos/{owner}/{repo} is queryable and works in JOINs:

SELECT r.name, r.stargazers_count, i.number, i.title
FROM repos r
JOIN repos_issues i ON r.owner = i.owner AND r.repo = i.repo
WHERE r.owner = 'openclaw' AND r.repo = 'openclaw'
  AND i.owner = 'openclaw' AND i.repo = 'openclaw'
  AND i.state = 'open'
LIMIT 5;

Fixes

  • Path params (owner, repo) now always use the WHERE clause value, not the response JSON
    field. Fixes JOINs on path param columns where a response field with the same name would shadow the string value.
  • Wrapped array detection now requires array items to be objects, preventing false matches on primitive arrays.
  • All response columns are now nullable to handle APIs that return null for spec-declared required fields.

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 24 Mar 02:45

What's new

DataFusion query engine — Replaced the custom SQL planner with Apache DataFusion, unlocking full SQL support:

  • JOIN — between tables in the same API, or across different APIs
  • GROUP BY, COUNT, SUM, AVG, MIN, MAX
  • Subqueries, CTEs, UNION/INTERSECT
  • CASE, CAST, and expression evaluation

Multi-spec federation — Query multiple APIs in one session:

sqlize --spec github:specs/github.json --spec stripe:specs/stripe.json
SELECT c.name, c.email, k.commit_message
FROM stripe.customers c
JOIN github.commits k ON c.name = k.author_login
WHERE k.owner = 'openclaw' AND k.repo = 'openclaw'
LIMIT 5;

Per-spec auth — Each spec resolves its own token via env var convention:

export SQLIZE_BEARER_ENV_VAR_GITHUB=GITHUB_TOKEN
export SQLIZE_BEARER_ENV_VAR_STRIPE=STRIPE_TEST_API_KEY

Falls back to SQLIZE_BEARER_TOKEN / SQLIZE_BEARER_ENV_VAR as global default.

Breaking changes

  • --spec now accepts multiple values. Single-spec usage is unchanged.
  • The custom SQL planner is removed. All queries now go through DataFusion. Most existing queries work as before, but error messages may differ.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 22 Mar 21:24

Install sqlize 0.1.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Benaiad/sqlize/releases/download/v0.1.0/sqlize-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/Benaiad/sqlize/releases/download/v0.1.0/sqlize-installer.ps1 | iex"

Download sqlize 0.1.0

File Platform Checksum
sqlize-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
sqlize-x86_64-apple-darwin.tar.xz Intel macOS checksum
sqlize-x86_64-pc-windows-msvc.zip x64 Windows checksum
sqlize-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
sqlize-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum