Repository navigation
v0.17.2 — Fable 5.1 Audit: 6 Critical Bugs + $N Renumbering
Breaking Changes (pre-v1.0)
WithSensitiveFieldsremoved — useMaskArgs()in custom hooksWithLoggerno longer logs parameters by default
Added
MaskArgs(query, args)— safe parameter masking for custom hooksExpressionvalues inUpdateQuery.Set()(enablesSET n = n + ?)
Changed
- Logger removed from query hot-path —
WithLogger()= QueryHook wrapper (30µs → 0) WithQueryHookcomposes (chains) instead of replacing
Fixed
One()no longer masks errors asErrNotFound— context cancellation propagates- Statement cache race condition —
GetOrSet()atomic cache-or-insert - SQL placeholder lexer —
?inside strings, JSONB?|,?&,??, comments handled - PostgreSQL
$Ncollision in subqueries —renderSQL+ single-pass architecture GroupByExpr/OrderByExprparams now renumbered on PostgreSQL- Arg count validation —
count(?) != len(args)caught at Build() time - Documentation: 17 subquery examples fixed, security guides updated
Validated by Fable 5.1 across 6 review rounds.