v0.14.3
December 31, 2025 LatestAdded
-
qail migrate createnow generates timestamped.up.qailand.down.qailfile pairs -
Format:
YYYYMMDDHHMMSS_name.up.qail/YYYYMMDDHHMMSS_name.down.qail -
Inline metadata:
@name,@created,@author,@depends -
Example:
qail migrate create add_users --author "orion"
v0.14.2
December 31, 2025 🎉 100% PostgreSQL Coverage - Expressions, DML,
and DDL
Wire Protocol Encoders (AST-Native)
DISTINCT ON (col1, col2, ...)queries-
COUNT(*) FILTER (WHERE ...)aggregate syntax -
Window
FRAMEclause (ROWS/RANGE BETWEEN ... AND ...) -
GROUP BYwithROLLUP,CUBE, andGROUPING SETS -
CREATE VIEWandDROP VIEWDDL -
Comprehensive tests:
complex_test.rs,expr_test.rs
Expression System (100% Grammar Coverage)
-
Expr::ArrayConstructor-ARRAY[col1, col2, ...] -
Expr::RowConstructor-ROW(a, b, c) -
Expr::Subscript- Array/string subscriptingarr[1] -
Expr::Collate- Collation expressionscol COLLATE "C" -
Expr::FieldAccess- Composite field selection(row).field -
GroupByMode::GroupingSets-GROUPING SETS ((a, b), (c)) -
Action::CreateViewandAction::DropView
CLI Improvements
-
qail diff --prettydisplaysMigrationClass(reversible/data-losing/irreversible)
Changed
-
Expr::Window.paramsfromVec<Value>toVec<Expr>for native AST philosophy
v0.14.1
December 30, 2025Fixed
-
Critical bug in
encode_update()where column names were encoded as$1placeholders
Added
-
Comprehensive battle test suite (
battle_test.rs) with 19 query operations -
Modularized
values.rsintovalues/directory
v0.14.0
December 30, 2025Added
-
MigrationClassenum for classifying migrations:Reversible,DataLosing,Irreversible - Type safety warnings for unsafe rollbacks
- FK ordering regression tests for parent-before-child table creation
Changed
-
Modularized
migrations.rs(1044 lines) into 9 focused modules
v0.13.x
December 2025- CTE with
RECURSIVEsupport - Connection pooling for qail-pg
- Enhanced JOIN condition encoding
- COPY protocol for bulk inserts
Earlier Versions
For complete history, see the full changelog on GitHub .