Recent Releases
| Version | Date | Theme | Status |
|---|---|---|---|
v0.27.6 | March 31, 2026 | Non-breaking patch release with workspace/versioning/docs alignment | Latest |
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.27.6
March 31, 2026 Latest 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
QailASTs 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 / 15throughput sweep; the latest March 31 median refresh is the live canonical read and stays positive on13 / 15throughput slices, all five p50 slices, and three 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 examplepipeline_batch->pipeline_execute_count). - Pipeline strategy: added
AstPipelineMode(Auto,OneShot,Cached) plus plan surfacesAutoCountPlanandAutoCountPath. - Prepared AST handle: added
PreparedAstQuerywith 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 applynow 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_uringstartup-path smoke tests. - Tooling: added
scripts/check-io-uring-linux-cross.shfor Linux cross-target validation with local zig fallback support. - Runtime introspection: added
PgConnection::transport_backend()for telemetry and verification. - Feature wiring: removed stale
tokio-uringcoupling, addednative-io-uringalias, and retainedio_uringcompatibility. - Versioning: workspace crates bumped to
0.26.5.
v0.26.3
March 21, 2026Highlights
- 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
QWB1wire 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_idonly; legacyoperator_idclaim 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 --forcewith 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-examplesand disabled by default.
v0.24.6
March 11, 2026Highlights
- PG auth: decode support for auth code
6(AuthenticationSCMCredential) with explicit startup guidance. - PG URL aliases: added
krbsrvname,gsshostname, andgsslibcompatibility mappings. - Tests: added regressions for SCM auth decode and GSS URL alias parsing.
v0.24.5 / v0.24.4 / v0.24.2
March 2026Notable 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_lockedsupport and user-scopedRlsContext::user(user_id).
Source of Truth
This page is synced from the core repo changelog: github.com/qail-io/qail/CHANGELOG.md