@@ -7,6 +7,68 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10+ ## [ 0.0.14] ( https://github.com/KarpelesLab/graphitesql/compare/v0.0.13...v0.0.14 ) - 2026-07-01
11+
12+ ### Added
13+
14+ - * (planner)* seek a fixed-prefix GLOB range on a BINARY index (B9f)
15+ - * (eqp)* render a non-flattenable LIMIT/OFFSET derived/CTE body as a CO-ROUTINE (B9c)
16+ - * (planner)* seek a trailing rowid range via a rowid/oid alias too (B9g)
17+ - * (planner)* seek a trailing rowid range after an index equality prefix (B9g)
18+ - * (planner)* seek a parenthesized column like the bare column
19+ - * (eqp)* honor the NOT INDEXED hint in EXPLAIN QUERY PLAN
20+ - * (eqp)* flatten a bare-LIMIT derived/CTE body under a pure-wildcard outer in EXPLAIN QUERY PLAN
21+ - * (planner)* seek col IS <non-null constant > like an equality
22+ - * (eqp)* render a DISTINCT derived/CTE/view body as a CO-ROUTINE in EXPLAIN QUERY PLAN
23+ - * (eqp)* render an aggregate derived/CTE/view body as a CO-ROUTINE in EXPLAIN QUERY PLAN
24+ - * (eqp)* render a FROM-less scalar subquery in EXPLAIN QUERY PLAN
25+ - * (eqp)* render a scalar node for a row-value UPDATE SET subquery in EXPLAIN QUERY PLAN
26+ - * (eqp)* render a scalar subquery node for single-row INSERT VALUES in EXPLAIN QUERY PLAN
27+ - * (eqp)* render a scalar subquery node for UPDATE/DELETE in EXPLAIN QUERY PLAN
28+ - * (eqp)* flatten an aliased derived/CTE projection and validate outer refs in EXPLAIN QUERY PLAN
29+ - * (eqp)* flatten a source-alias-qualified derived/CTE projection in EXPLAIN QUERY PLAN
30+ - * (eqp)* flatten a narrower derived/CTE projection in EXPLAIN QUERY PLAN
31+ - * (eqp)* flatten a derived/CTE source through an outer WHERE
32+ - * (eqp)* serve a redundant NULLS ORDER BY from the index without a sorter
33+ - * (eqp)* render partial-cover ORDER BY on a compound MERGE plan
34+ - * (eqp)* resolve named ORDER BY terms in the compound MERGE plan
35+ - * (eqp)* render MERGE plan for a top-level compound with ORDER BY
36+ - * (eqp)* render a compound CTE/derived body as CO-ROUTINE over COMPOUND QUERY
37+ - * (eqp)* honor a MATERIALIZED CTE hint with a MATERIALIZE node
38+ - * (eqp)* render a multi-row VALUES CTE body as a CO-ROUTINE with SCAN N CONSTANT ROWS
39+ - * (eqp)* render a multi-row VALUES clause in FROM as a SCAN/SEARCH N-ROW VALUES CLAUSE node
40+ - * (eqp)* fold a multi-row VALUES clause into a single SCAN N-ROW VALUES CLAUSE node
41+ - * (eqp)* render outer ORDER BY/GROUP BY/DISTINCT temp-b-tree node for a recursive CTE
42+ - * (eqp)* render CO-ROUTINE plan for a recursive CTE
43+ - * (eqp)* render SCALAR SUBQUERY for a GROUP BY projection subquery
44+ - * (planner)* seek a comma join on an unqualified equi-predicate
45+ - * (eqp)* render SCALAR SUBQUERY for an ORDER BY scalar subquery
46+ - * (eqp)* render SCALAR SUBQUERY N for a scalar subquery in the projection
47+ - * (eqp)* render SCALAR SUBQUERY N for a non-correlated scalar WHERE subquery
48+ - * (planner)* elide the sorter for a WITHOUT ROWID filtered full-scan's order
49+ - * (planner)* elide the sorter for a WITHOUT ROWID PK-seek's ordered output
50+ - * (planner)* elide the sorter for a WITHOUT ROWID PK-ordered scan
51+ - * (eqp)* elide the ORDER BY sorter for an ordinal over SELECT *
52+ - * (eqp)* elide the ORDER BY sorter for an ordinal/alias over an index-ordered scan
53+ - * (eqp)* fold an ORDER BY into the GROUP BY / DISTINCT b-tree by ordinal or alias
54+ - * (eqp)* drop the ORDER BY sorter for a single-row bare aggregate
55+ - * (eqp)* place distinct-aggregate temp-b-trees after the GROUP BY sorter
56+ - * (eqp)* emit USE TEMP B-TREE FOR <f >(DISTINCT) for distinct aggregates
57+ - * (eqp)* generalize the min/max SEARCH optimization
58+
59+ ### Documentation
60+
61+ - plan the remaining EQP-fidelity & access-path tracks (B9a–B9j)
62+
63+ ### Fixed
64+
65+ - * (planner)* apply the COLLATE-mismatch seek check to range bounds too
66+ - * (planner)* don't index-seek an equality whose COLLATE differs from the column
67+ - * (eqp)* render a view source in EXPLAIN QUERY PLAN instead of crashing
68+ - * (eqp)* render SEARCH for a min/max outer over a recursive CTE
69+ - * (exec)* stop recursive-CTE column-origin resolution from overflowing
70+ - * (eqp)* range-check positional GROUP BY / ORDER BY terms on the plan path
71+
1072## [ 0.0.13] ( https://github.com/KarpelesLab/graphitesql/compare/v0.0.12...v0.0.13 ) - 2026-06-30
1173
1274### Added
0 commit comments