NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #928 most downloaded on Packagist
A validating SQL lexer and parser with a focus on MySQL dialect.
Last release 11 months ago
31 Oct 2025
Ships fairly regularly
a new release about every 3 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
93 releases · first in 2015
Fixed API regression on DELETE statement
Added support for CASE expressions
No change release to sync GitHub releases with Packagist
One column per quarter.
Fix parsing of DEFINER without backquotes
Fix parsing of REPLACE INTO ...
Fix parsing of INSERT...SELECT and INSERT...SET syntax
table_copy LIKE tableAdd support for FULL OUTER JOIN
* Fix parsing of query with \
Recognize REGEXP and RLIKE operators
Add FULLTEXT and SPATIAL keywords
Fix parsing DEFAULT value on CREATE
Condition: Allow keyword INTERVAL.
INTERVAL.Expression: Refactored parsing options.
Context: Added custom mode that avoids escaping when possible.
ArrayObj: Handle more complex expressions in arrays.
IF in conditions.; as operator.BIT data type.DEFAULT option may be an expression.DESC as alias for DESCRIBE..gitignore to ignore composer.lock.ContextGenerator.Downgraded PHPUnit to 4.8. Removed old PHP versions.
NULL in expressions.UNION ALL as a type of UNION.SET operations.STRAIGHT_JOIN as a known type of join.MATCH and AGAINST.FLUSH and DEALLOCATE).Expressions may begin with a function that is also a reserved keyword (e.g. IF).
IF).Fixed a bug where formatter split the function name and the parameters list.
Use JOIN expressions for flag detection.
Fix error message in SqlParser\Components\OptionsArray.
SqlParser\Components\OptionsArray.Avoid building a field multiple times if clause has synonyms.
Add EXISTS as an acceptable keyword in conditions.
Handle backslashes separately for SqlParser\Utils\BufferedQuery. Fixes a bug where backslashes in combination with strings weren't handled properly.
SqlParser\Utils\BufferedQuery. Fixes a bug where backslashes in combination with strings weren't handled properly.SqlParser\Components\Reference::$table is now an instance of SqlParser\Components\Expression to support references from other tables.
Breaking changes:
SqlParser\Components\Reference::$table is now an instance of SqlParser\Components\Expression to support references from other tables.Add definitions for all JOIN clauses.
Properly parse options when the value of the option is '='.
Only RANGE and LIST type partitions support VALUES.
Added utilities for handling tokens and tokens list.
Added missing NOT IN operator. This caused troubles when parsing conditions that contained the NOT IN operator.
NOT IN operator.Added support for OUTER as an optional keyword in joins.
OUTER as an optional keyword in joins.Fixed a bug related to (sub)partitions options not being included in the built component. Also, the option ENGINE was unrecognized.
ENGINE was unrecognized.Better parsing for CREATE TABLE statements (related to breaking change 1).
Breaking changes:
SqlParser\Components\Key::$columns is now an array of arrays. Each array must contain a name key which represents the name of the column and an optional length key which represents the length of the column.[6.0.0]: https://github.com/phpmyadmin/sql-parser/compare/5.11.1...6.0.0 [5.11.1]: https://github.com/phpmyadmin/sql-parser/compare/5.11.0...5.11.1 [5
Your coding agent can read these notes before it upgrades. Set up the MCP server →