v0.2.0
Pre-release
Pre-release
[0.2.0] - 2026-06-12
Features
- sql: Bind FOR VALID_TIME AS OF onto the bound plan (STL-162) (#78)
- exec: Vectorized operator framework — batch-at-a-time pull pipeline (STL-169) (#77)
- engine: Multi-statement BEGIN/COMMIT/ROLLBACK through pgwire (STL-174) (#79)
- pgwire: Extended-query protocol + prepared-statement cache (STL-182) (#80)
- exec: Both-axes (system + valid) version resolution in SnapshotScan (STL-163) (#81)
- storage: Distinguish empty/absent zone-map bounds for bytes columns (STL-120) (#82)
- engine: Honor SELECT projection + WHERE via a row codec (STL-151) (#83)
- sql: SQL:2011 period predicates over half-open intervals (STL-165) (#86)
- engine: Route bitemporal AS OF (sys + valid) through SessionEngine + pgwire (STL-164) (#85)
- sql: Portable hash-key function + published byte-spec (STL-179) (#90)
- types: First-class PERIOD type backing system/valid time (STL-180) (#87)
- storage: Checkpoint flushes delta tier to sealed segments + bounds recovery replay (STL-177) (#92)
- txn: Verify the commit-log hash chain on recovery + tamper-evidence test (STL-178) (#88)
- sql: TIMESTAMPTZ UTC-internal + half-open boundary semantics (STL-189) (#91)
- types: Add UUID + BYTEA scalar types with wire text encoders (STL-181) (#89)
- exec: Row-group-scoped late materialization in SnapshotScan (STL-155) (#96)
- cli: Interactive query shell over pg-wire (STL-185) (#95)
- cli: Datum-brand shell visual design + psql-parity meta-commands (STL-198) (#97)
- engine: Savepoints (SAVEPOINT / ROLLBACK TO / RELEASE) over multi-statement txns (STL-176) (#98)
- exec: Vectorized scalar expression evaluator + Filter operator (STL-170) (#99)
- engine: Snapshot isolation across multi-statement transactions (STL-175) (#100)
- exec: Wire vectorized Filter onto the live SELECT path (STL-206) (#102)
- exec: Zone-map row-group block skipping in the vectorized scan (STL-173) (#103)
- exec: Hash GROUP BY + aggregates (COUNT/SUM/MIN/MAX/AVG) (STL-171) (#104)
- exec: AVG returns a true fractional FLOAT8 average (STL-209) (#105)
- exec: Hash join operators — inner/left/semi/anti (STL-172) (#106)
- engine: Durable catalog log + SessionEngine cold-boot recovery (STL-210) (#107)
- exec: Vectorized evaluator — temporal/uuid/bytea/period types + div/mod (STL-207) (#108)
- pgwire: Binary-format encoders + format-code negotiation (STL-183) (#109)
- exec: Zero-copy shared-buffer Column for batch slicing + projection (STL-191) (#110)
- engine: Crash-atomic group commit — one WAL record + one fsync per COMMIT (STL-192) (#111)
- sql: Per-row period predicates over value columns (STL-193) (#112)
- sql: Write valid-time intervals through INSERT/UPDATE (STL-194) (#113)
- engine: Drive storage flush/checkpoint from SessionEngine (STL-195) (#115)
- cli: ⇥ completion from the live catalog + persisted shell history (STL-202) (#116)
- sql: Operator-facing CHECKPOINT/FLUSH admin command over pgwire (STL-219) (#118)
- storage: Bound Engine::flush row-groups so scans benefit from late materialization (STL-197) (#119)
- engine: Prune the MVCC write index below the oldest live snapshot (STL-204) (#120)
- engine: Read-your-own-writes — overlay buffered txn writes on snapshot reads (STL-203) (#121)
- pgwire: ROLLBACK TO SAVEPOINT recovers an aborted transaction (STL-205) (#122)
- pgwire: Statement-level RowDescription on Describe (STL-212) (#123)
- sql: Emit Div/Mod, new-type comparisons, and per-row PERIOD on the live WHERE path (STL-213) (#124)
- engine: Cross-table crash-atomic commit via per-transaction commit marker (STL-215) (#126)
- exec: Zero-copy Filter row selection via selection-vector batches (STL-214) (#125)
- storage: Poison the WAL on an fsync failure (STL-217) (#129)
- storage: Roll back an aborted group commit's in-memory writes (STL-216) (#130)
- cli: Adopt rustyline with-file-history for shell history (STL-221) (#136)
- engine: Valid-time read-your-own-writes overlay (STL-223) (#139)
- sql,cli: Varchar-family column types, civil-time DML literals, shell timing trailer (#140)
- storage,ci: Portable positioned-read backend + Windows CI leg (STL-160) (#143)
Bug Fixes
- exec: Strip the valid-time frame on a no-pin read (STL-218) (#114)
- engine: Close the dropped era's rows at DROP TABLE (STL-211) (#117)
- engine: Re-derive a dropped era's storage closes at recovery (STL-220) (#132)
- pgwire: Reject extended Bind with a mismatched parameter count (STL-222) (#131)
- engine: Read a valid-time UPDATE's prior version bare across tiers (STL-226) (#137)
- engine: Observe the clock for fresh read snapshots so AS OF now() tracks idle time (STL-227) (#144)
Performance
- exec: Zero-copy selection-vector join output gather (STL-224) (#138)
Documentation
- adr: ADR-0027 vectorized execution model (STL-188) (#93)
- config: Add a sample stele.toml for operators (STL-208) (#101)
Testing
- exec: Prove bitemporal DML deletion-gap survives index rebuild (STL-166) (#84)
- storage: Sealed-segment immutability oracle (STL-186) (#94)
- sim: Snapshot-isolation + provenance correctness oracle (STL-168) (#133)
- oracle: SQL-path bitemporal AS OF (sys, valid) DuckDB differential (STL-167) (#135)
- ci: JDBC + psycopg parameterized-query driver gate (STL-184) (#141)
- sim: Vectorized-exec + mixed commit/rollback txn scenarios under fault injection (STL-187) (#142)
Build System
- Bump toml from 0.8.23 to 1.1.2+spec-1.1.0 (#127)
- Bump workspace MSRV + pinned toolchain to Rust 1.89.0 (STL-225) (#134)
CI/CD
- Bump taiki-e/install-action from 2.81.4 to 2.81.10 (#128)