Home Expressions
Docs
Drivers Gateway SDKs Benchmarks
Changelog
GitHub
Blog Status Roadmap

Recent Releases

Version Date Theme Status
v0.28.0 April 27, 2026 Breaking cleanup release for panic-safe builders, canonical tenant naming, and legacy API removal Latest
v0.27.10 April 23, 2026 LSP schema cache reload, completion gating, diagnostics ordering, and UTF-16 range fixes Stable
v0.27.9 April 17, 2026 Scanner parsing fixes for inline comments and mixed explicit-apply command blocks Stable
v0.27.8 April 7, 2026 Shadow migration database-name quoting fix for hyphenated names Stable
v0.27.7 April 4, 2026 Gateway auth contract tightening and migration scanner delta handling Stable
v0.27.6 March 31, 2026 Non-breaking patch release with workspace/versioning/docs alignment Stable
v0.27.5 March 30, 2026 Legacy syntax guidance cleanup and docs/search alignment Stable
v0.27.4 March 30, 2026 Native DSL benchmark correction and aggregate fast-path tuning Stable
v0.27.3 March 28, 2026 Filter-cage semantic parity hardening and parser/transpiler/encoder regression safety Stable
v0.27.2 March 27, 2026 Replay/idempotency isolation hardening and branch lifecycle correctness Stable
v0.27.1 March 26, 2026 QWB2 parse-free binary ingress hardening and workspace release bump Stable
v0.27.0 March 25, 2026 Pipeline API naming consistency and AST execution strategy/planner release Stable
v0.26.6 March 24, 2026 Strict migration apply ordering and final-state policy verification Stable
v0.26.5 March 23, 2026 Linux io_uring backend hardening and feature wiring cleanup Stable
v0.26.3 March 21, 2026 Workspace version bump and docs/readme refresh Stable
v0.26.2 March 20, 2026 PostgreSQL protocol 3.2 default startup and compatibility downgrade path Stable
v0.26.1 March 20, 2026 Release CI fixes and crate/readme parity cleanup Stable
v0.26.0 March 20, 2026 Tenant-only runtime semantics and gateway correctness Stable
v0.25.1 March 18, 2026 Migration safety and receipt integrity Stable
v0.25.0 March 12, 2026 AST-only runtime path (raw SQL APIs removed) Stable
v0.24.6 March 11, 2026 PG auth and GSS URL compatibility Stable

Dedicated Driver, Gateway, and SDK Pages

  • Rust PostgreSQL: /rust (qail-pg reference page).
  • Zig PostgreSQL: /zig (qail-zig landing page), /zig/docs (docs), and /zig/changelog (separate Zig release history).
  • Qdrant Vector: /qdrant (qail-qdrant capability page).
  • Gateway AutoREST: /gateway (qail-gateway landing page).
  • SDKs: /sdk (TypeScript, Swift, Kotlin SDK page).

v0.28.0

April 27, 2026 Latest
Breaking API Cleanup + Panic-Safety Hardening — redundant compatibility APIs were removed after the panic-safety audit, while the surviving builders and encoders now use the canonical fallible paths.

Breaking Changes

  • RLS builder API: the redundant try_with_rls() compatibility alias was removed; use with_rls(&ctx)?.
  • Relation join API: the redundant try_join_on() alias was removed; use fallible join_on(...)?.
  • Wire encoding: try_encode_cmd_binary() was removed; encode_cmd_binary() is the fallible binary encoder.
  • Analyzer mode: unused AnalysisMode::Regex was removed; non-Rust files report TextSemantic.
  • Build validation: the string-only validate_against_schema() wrapper was removed; use structured validate_against_schema_diagnostics().
  • PostgreSQL cancel keys: legacy i32 cancel-key wrappers were removed; use bytes-native cancel key APIs.

Highlights

  • Builder safety: RLS insert scoping now returns structured build errors for unsupported positional payloads instead of exposing a panic surface.
  • Encoder safety: binary AST encoding now keeps payload-size failures on the fallible path.
  • Tenant naming: docs and runtime guidance now consistently use tenant_id; legacy operator_id JWT claims are not mapped into tenant scope.
  • Compatibility cleanup: old aliases and stale docs were removed ahead of the 0.28.x line.

v0.27.10

April 23, 2026 Stable
LSP Workspace Reload Fixes — schema reload, completion context, diagnostics ordering, and UTF-16-safe ranges were tightened for editor users.

Highlights

  • Schema cache reload: LSP schema resolution is now workspace-scoped and reload-aware, preventing stale diagnostics and completions after schema edits.
  • Completion gating: suggestions are constrained to active Rust builder and QAIL query contexts instead of appearing broadly in unrelated cursor locations.
  • Diagnostics lifecycle: document versions are tracked, out-of-order changes are ignored, and closed documents clear diagnostics correctly.
  • Range correctness: hover and embedded-query hit testing now use UTF-16-safe ranges for non-ASCII text.
  • Versioning/docs: workspace crates and docs/install/readme references were bumped to 0.27.10.

v0.27.9

April 17, 2026 Stable
Scanner + Explicit Apply Parsing Fixes — migration scanner handling for inline-commented column arrays and explicit-apply mixed command blocks is now hardened.

Highlights

  • Scanner inline comment handling: const column arrays with inline comments now parse correctly in scanner preprocessing without swallowing the remainder of the statement.
  • Explicit apply parsing: parse_qail_to_commands_strict now accepts mixed command blocks (for example enum + alter + partial index) in explicit apply mode.
  • Versioning/docs: workspace crates and install/readme references were bumped to 0.27.9.

v0.27.8

April 7, 2026 Stable
Shadow Migration Quoting Patchqail migrate shadow now safely handles hyphenated database names.

Highlights

  • Shadow DB handling: create/drop operations now quote shadow database identifiers so names like qail-engine-db_shadow work correctly.
  • Versioning/docs: workspace crates and install/readme references were bumped to 0.27.8.

v0.27.7

April 4, 2026 Stable
Gateway Auth Contract + Scanner Delta Update — platform-admin auth aliases were removed and migration scanner behavior was tightened.

Highlights

  • Gateway auth contract: platform scope now requires explicit platform_admin=true; legacy aliases are rejected.
  • Migration scanner delta support: scanner now understands migration deltas and preserves helper-scoped tenant filters in an explicit AND cage.
  • Driver docs positioning: qail-pg docs/examples were reframed around the driver-first native AST execution path.
  • Versioning/docs: workspace crates and install/readme references were bumped to 0.27.7.

v0.27.6

March 31, 2026 Stable
Non-Breaking Patch Release — workspace crates, docs, and install snippets were bumped to 0.27.6 with no API contract changes versus 0.27.5.

Highlights

  • Versioning/docs: bumped workspace crate manifests and docs/install/readme references to 0.27.6.
  • Release contract: this is a non-breaking patch release; runtime and API behavior are unchanged from 0.27.5.

v0.27.4

March 30, 2026 Stable
Native DSL Benchmark + Aggregate Hot Path — the canonical pgx comparison now measures native QAIL ASTs, and the aggregate receive path runs on the zero-copy fast path.

Highlights

  • Benchmark surface correction: the public Rust PostgreSQL benchmark now measures qail-rs from native Qail ASTs against pgx SQL strings instead of starting qail-rs from raw SQL.
  • Aggregate fast path: grouped scalar aggregate results now use the dedicated four-column zero-copy receive path with tighter query/pipeline buffer reuse.
  • Current benchmark read: the March 30 one-round native snapshot was a 15 / 15 throughput sweep; the latest April 22 median refresh is the live canonical read and stays positive on 14 / 15 throughput slices, all five p50 slices, and four of five p99 slices.
  • Versioning/docs: workspace crates and docs references were bumped to 0.27.4.

v0.27.3

March 28, 2026 Stable
Filter-Cage Semantics Patch — OR-filter intent is preserved across execution paths with reinforced parser/transpiler/encoder parity guards.

Highlights

  • Semantic parity: chained or_filter(...) behavior is now consistently preserved as grouped predicate intent (AND (... OR ...)) across runtime SQL generation paths.
  • Regression coverage: parser/transpiler/encoder parity checks were extended to prevent future OR-to-AND behavior drift.
  • Versioning/docs: workspace crates and docs references were bumped to 0.27.3.

v0.27.2

March 27, 2026 Stable
Security + Correctness Patch — replay/idempotency isolation hardening, branch overlay/write-path correctness fixes, and strict branch lifecycle validation.

Highlights

  • Idempotency isolation: request fingerprints now include behavior-changing headers (prefer, x-transaction-id, x-branch-id, x-qail-result-format).
  • Anonymous replay safety: unauthenticated requests now bypass idempotency caching to prevent cross-client key collisions when auth is disabled.
  • Branch overlay correctness: update overlays now patch matching rows by PK, preserve PK identity for branch-only rows, and get-by-id can resolve branch-only overlays.
  • Branch lifecycle hardening: overlay read/write/merge/stats SQL paths now operate only on active branches, branch create fails when parent is missing/inactive, and branch delete returns not found for non-active/non-existent branches.
  • Auth gate ordering: branch read endpoints now enforce branch-admin authorization before DB execution.
  • Versioning: workspace crates bumped to 0.27.2.

v0.27.1

March 26, 2026
Binary Ingress Hardening Patch — strict QWB2 parse-free decode, bounded binary AST payload handling, and workspace crate version bump.

Highlights

  • QWB2 strictness: binary endpoint now rejects legacy QWB1/raw-text payloads and uses strict QWB2 AST decode for ingress.
  • Safety: binary AST decode now applies explicit payload limits to prevent unbounded allocation on malformed payloads.
  • Gateway benchmark parity: release notes include text-vs-binary gateway benchmark validation under identical endpoint shape.
  • Versioning: workspace crates bumped to 0.27.1.

v0.27.0

March 25, 2026
Pipeline API Consistency Release — unified pipeline_execute_* naming, AST pipeline strategy controls, and prepared AST hot-path execution.

Highlights

  • Breaking API rename: standardized pipeline method names to pipeline_execute_* across driver/connection/pool surfaces (for example pipeline_batch -> pipeline_execute_count).
  • Pipeline strategy: added AstPipelineMode (Auto, OneShot, Cached) plus plan surfaces AutoCountPlan and AutoCountPath.
  • Prepared AST handle: added PreparedAstQuery with dedicated prepared AST execution APIs for repeat-query hot paths.
  • Encoder fast path: added AstEncoder::encode_cmd_sql_reuse(...) for caller-buffer SQL/param reuse.
  • Runtime hardening: cached AST pipeline now rolls back newly registered statements on encode/protocol failures and improves desync resilience.
  • Policy behavior: gateway policy engine now denies when policies exist but none match table/operation, while preserving allow behavior for an empty policy set.
  • Versioning: workspace crates bumped to 0.27.0.

v0.26.6

March 24, 2026
Migration Apply Correctness — strict apply ordering and policy verification now align to final migration intent.

Highlights

  • Strict ordering: destructive/rename hints (drop*, rename) now execute before declarative create paths in strict migration compilation.
  • Policy verification: migrate apply now validates policy state by final expected (table, policy) after all commands in a migration complete.
  • Reliability: drop-and-recreate policy sequences in a single migration no longer fail from intermediate-state checks.
  • Tests: added strict policy replace ordering coverage and final-intent expectation tests.
  • Versioning: workspace crates bumped to 0.26.6.

v0.26.5

March 23, 2026
Linux io_uring Backend Hardening — startup backend checks, native feature wiring cleanup, and CI smoke coverage.

Highlights

  • Coverage: added forced QAIL_PG_IO_BACKEND=io_uring startup-path smoke tests.
  • Tooling: added scripts/check-io-uring-linux-cross.sh for Linux cross-target validation with local zig fallback support.
  • Runtime introspection: added PgConnection::transport_backend() for telemetry and verification.
  • Feature wiring: removed stale tokio-uring coupling, added native-io-uring alias, and retained io_uring compatibility.
  • Versioning: workspace crates bumped to 0.26.5.

v0.26.3

March 21, 2026

Highlights

  • Versioning: workspace crates bumped to 0.26.3.
  • Docs/readmes: refreshed installation snippets and version references to 0.26.3.

v0.26.2

March 20, 2026
PostgreSQL Protocol 3.2 Readiness — startup now prefers protocol 3.2 while preserving compatibility with older nodes.

Highlights

  • Startup: default StartupMessage protocol is now 3.2 (196610).
  • Compatibility: explicit protocol-version rejection triggers a one-shot retry using protocol 3.0 (196608).
  • Wire decode: backend NegotiateProtocolVersion ('v') is now parsed and handled.
  • Cancel path: cancel secret keys are now bytes-native (4..=256) with legacy i32 wrappers retained for compatibility.
  • Hardening: integration tests now cover startup negotiation and downgrade boundaries.
  • Versioning: workspace crates bumped to 0.26.2.

v0.26.1

March 20, 2026
Patch and Metadata Parity — release reliability and docs/readme consistency updates.

Highlights

  • CI: fixed publish workflow breakage after tenant-only runtime cutover.
  • Gateway: binary examples aligned to QWB1 wire format.
  • Packaging: crate metadata/readme parity updates across release-track crates.
  • Versioning: workspace crates bumped to 0.26.1.

v0.26.0

March 20, 2026
Tenant-Only Runtime Release — tenant_id is now the runtime contract across RLS context and gateway auth scoping.

Highlights

  • Breaking: removed RlsContext::operator(...) and runtime operator-scoped aliases in favor of tenant-only constructors.
  • Breaking: gateway runtime auth resolves tenant scope from tenant_id only; legacy operator_id claim no longer maps tenant context.
  • Gateway: fixed policy evaluation to avoid premature deny when later matching allow policies exist.
  • Gateway: expanded optimize_qail_for_execution(&mut cmd) coverage for consistent execution planning.
  • Analyzer: reduced false positives from comment/string-literal noise and tightened semantic diagnostics.
  • SDK/Docs: direct SDK support surfaced for TypeScript, Swift, and Kotlin; Node.js native binding remains deferred.
  • Versioning: workspace crates bumped to 0.26.0.

v0.25.1

March 18, 2026
Migration Integrity Release — safer rollback controls, receipt signing, and stronger lock/verification behavior.

Highlights

  • CLI: added migrate down --force with non-TTY unsafe guard and wait-for-lock support.
  • CLI: added JSON output mode for migrate analyze.
  • Migrations: optional HMAC signing support for migration receipts.
  • Migrations: advisory locks now scoped by database with stronger timeout diagnostics.
  • Integrity: receipt signature verification enforced on apply and rollback paths.
  • Versioning: workspace crates bumped to 0.25.1.

v0.25.0

March 12, 2026
Breaking Change — runtime path is AST-only by default.

Breaking Changes

  • qail-core: removed raw SQL helpers including Qail::raw_sql(...).
  • qail-pg: removed direct raw-SQL APIs from the primary runtime contract in this release line (later versions may expose compatibility wrappers for legacy tests/examples).
  • Encoder: AST runtime path no longer allows raw SQL pass-through.

Migration Guidance

  • Use AST-native builders (Qail::get/add/set/del, typed filters, typed joins).
  • Use session AST commands (Qail::session_set, session_reset) instead of raw strings.
  • Legacy raw examples moved behind legacy-raw-examples and disabled by default.

v0.24.6

March 11, 2026

Highlights

  • PG auth: decode support for auth code 6 (AuthenticationSCMCredential) with explicit startup guidance.
  • PG URL aliases: added krbsrvname, gsshostname, and gsslib compatibility mappings.
  • Tests: added regressions for SCM auth decode and GSS URL alias parsing.

v0.24.5 / v0.24.4 / v0.24.2

March 2026

Notable Changes

  • v0.24.5: docs domain moved to dev.qail.io, snippets/version references aligned.
  • v0.24.4: standardized wording around SQL strings vs protocol bytes across docs.
  • v0.24.2: added skip_locked support and user-scoped RlsContext::user(user_id).

Source of Truth

This page is synced from the core repo changelog: github.com/qail-io/qail/CHANGELOG.md