NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #318 most downloaded on pub.dev
Parses sqlite statements and performs static analysis on them
Last release 3 months ago
07 Jul 2026
Release timing varies
gaps range from 3 weeks to 6 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
83 releases · first in 2019
We rely on SourceFile.codeUnits , added in 1.10.0.
We rely on SourceFile.codeUnits, added in 1.10.0.
0.44.6 which contained breaking changes and should not
have been released as a patch version.DartPlaceholder to a sealed class.Fix join analysis to properly treat the left side of a RIGHT or FULL join as nullable ( #3812 ).
RIGHT or FULLCaseInsensitiveMap.containsKey to be case-insensitive.One column per quarter.
Support ALTER TABLE ADD/DROP CONSTRAINT statements.
ALTER TABLE ADD/DROP CONSTRAINT statements.Support ALTER TABLE ALTER COLUMN statements.
ALTER TABLE ALTER COLUMN statements.Add support for features added in SQLite 3.52.0.
supportPostgresCasts field on EngineOptions to parse :: casts.Better error recovery for select statements without result columns.
Expose optional table name token for StarResultColumn.
StarResultColumn.Refactor the different parse methods on SqlEngine into a single one taking an ParserEntrypoint enum.
parse methods on SqlEngine into a single one
taking an ParserEntrypoint enum.Queryable and TableOrSubquery sealed classes, remove Queryable.when.References and TableReferences.AS clauses into an explicit AST node with better spans.Make NamedWindowDeclaration an AST node.
NamedWindowDeclaration an AST node.DROP, VACUUM, REINDEX, ATTACH, DETACH, SAVEPOINT
RELEASE, ROLLBACK, ANALYZE, PRAGMA and ALTER TABLE statements.SchemaBuffer class to apply ALTER TABLE and DROP statements to CREATE
statements.Allow parsing SQL from FileSpans, which is convenient for SQL embedded as text in outer structures.
FileSpans, which is convenient for SQL embedded as
text in outer structures.Support new features introduced in SQLite version 3.51.0.
Fix unresolved references in CTEs resolving against the scope of the main query.
Improve error message on unknown columns when it looks like the identifier should have been a string literal.
lag, lead and nth_value to be nullable.Support new features introduced in SQLite version 3.50.0.
Replace ColonNamedVariable with NamedVariable for all named variables.
ColonNamedVariable with NamedVariable for all named variables.Add support for the dbstat module.
dbstat module.Fix false-positive lint for a parameter count mismatch on bm25().
bm25().fts5 function calls.Improve recovery in parser when encountering syntax errors.
When using the parse methods on SqlEngine, tokenizer errors are now included in the result instead of throwing an exception.
parse methods on SqlEngine, tokenizer errors are now
included in the result instead of throwing an exception.Fix upcoming unreachable_switch_default lint.
unreachable_switch_default lint.Resolve json_extract return types from context if possible.
json_extract return types from context if possible.INSTEAD OF triggers are not used on views.TableWrite.Refine nullability analysis for subquery expressions: Queries with aggregate invocations are no longer considered nullable (the aggregate invocation h
Make columns coming from subquery expressions nullable.
Add support for the geopoly module.
Fix IN expressions accepting aliases, causing some queries to get parsed incorrectly.
IN expressions accepting aliases, causing some queries to get parsed
incorrectly.Expand support for IN expressions, they now support tuples on the left-hand side and the shorthand syntax for table references and table-valued functi
IN expressions, they now support tuples on the left-hand
side and the shorthand syntax for table references and table-valued functions.CREATE VIEW statements.INT64 hint for CREATE TABLE statements.Allow selecting from virtual tables using the table-valued function syntax.
Fix explicit NULL column constraints being dropped when converting nodes to SQL.
NULL column constraints being dropped when converting nodes
to SQL.old and new in
triggers.Support the column-name-list syntax for updates, thanks to @tibotix.
Treat the result of sum() as nullable when inferring types.
sum() as nullable when inferring types.ORDER BY clauses as part of aggregate functions.concat, concat_ws and string_agg.Turn ResolvedType.hints into a list, supporting multiple type hints.
ResolvedType.hints into a list, supporting multiple type hints.Fix star columns expanding to more columns than they should.
Add CaseInsensitiveMap.of to wrap existing maps.
CaseInsensitiveMap.of to wrap existing maps.Add the sqlite3_schema table to the builtin tables supported by every SqlEngine instance.
sqlite3_schema table to the builtin tables supported by every
SqlEngine instance.timediff and octet_length functions from sqlite 3.43.0.Add SqlEngine.parseMultiple to parse multiple statements into one AST.
SqlEngine.parseMultiple to parse multiple statements into one AST.Fix WITH clauses not being resolved for compound select statements.
WITH clauses not being resolved for compound select statements.Fix false-positive "unknown table" errors when the same table is used in a join with and then without an alias.
Report syntax error for WITH clauses in triggers.
WITH clauses in triggers.Add previous and next fields for tokens
previous and next fields for tokensParser support for constructor names in WITH drift syntax.
WITH drift syntax.IIF functions.Fix false-positive warnings about AS aliases in subqueries used in triggers.
AS aliases in subqueries used in triggers.Support the unhex function added in sqlite 3.41.0
unhex function added in sqlite 3.41.0Add mappedBy to ExpressionResultColumn when parsing in drift mode.
mappedBy to ExpressionResultColumn when parsing in drift mode.Fix missing space when formatting aggregate functions.
Remove token parameter from constructor in Literal subclasses and NumberedVariable.
Literal subclasses and NumberedVariable.Better analysis support for ANY columns in STRICT tables.
ANY columns in STRICT tables.ResultColumn in queries.Make Fts5Table constructor public.
Fts5Table constructor public.Analysis support for the spellfix extension.
Support resolving the fts5vocab module when fts5 is enabled - thanks to @FaFre.
Gracefully handle tokenizer errors related to @ or $ variables.
@ or $ variables.Apply type hints for date times on textual datetime functions as well.
Refactor how tables and columns are resolved internally.
DISTINCT misuse in aggregate function calls.RIGHT and FULL join operators added in sqlite 3.39.0.IS DISTINCT FROM and IS NOT DISTINCT FROM syntax added in sqlite
3.39.0.SUM() calls around int "subtypes" (like booleans).Analysis support for new features in sqlite version 3.38.
moor references with drift references.Fix SQL generation for upsert statements with a conflict target.
Support LIST columns for a drift-specific feature.
LIST columns for a drift-specific feature.Improve handling of drift-specific column types in STRICT tables.
STRICT tables.Make the result of group_concat nullable.
group_concat nullable.Support features introduced in sqlite version 3.37, most notably STRICT tables.
STRICT tables.Fix the AST comparator missing errors for different amount of children.
Fix unnecessary errors around fts5 tables
fts5 tablesvisitMoorSpecific visitor methodBEGIN and COMMIT statementsRETURNING clauses.Your coding agent can read these notes before it upgrades. Set up the MCP server →