NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules · #3381 by repository stars
Last release 10 days ago
06 Oct 2026
Ships fairly regularly
a new release about every 3 weeks
Some releases are documented
notes for 11 of 40 stable releases
1 version withdrawn
withdrawn after publishing
3 years old
81 releases · first in 2023
One column per quarter.
Nothing published for this version
Fix truncated obfuscation of PostgreSQL strings containing backslashes (#110) Backslash is now treated as a normal character in PostgreSQL strings (ex
Fix truncated obfuscation of PostgreSQL strings containing backslashes (#110)
Backslash is now treated as a normal character in PostgreSQL strings (except E'...' strings), so these strings no longer truncate the obfuscated query. In all dialects, a doubled quote ('') inside a string now stays part of one literal, which can slightly change obfuscated output.
Keep MySQL qualified identifiers intact when spaced around dots (#108)
Names like db . table (as found in performance_schema digest text) are now normalized to db.table and reported as a single table in metadata.
Nothing published for this version
Don't treat backslash as a string escape in SQL Server and Oracle (#103) SQL Server (T-SQL) and Oracle follow ANSI-SQL string semantics, where backsla
''). The lexer previously treated \ as an escape character for all dialects, so a literal like ESCAPE '\' had its closing quote misread as escaped, causing the scan to swallow the rest of the batch up to the next quote and truncate the obfuscated query.Preserve bracket-quoted T-SQL identifiers containing spaces ([#…
[Column With Spaces]) are no longer de-bracketed during normalization. Stripping the brackets produces bare spaces in identifier position, which breaks query structure. Simple identifiers ([schema], [table]) and dot-joined multi-part identifiers ([schema].[table]) are unaffected and continue to be de-bracketed as before. A secondary fix suppresses the spurious space that the normalizer was inserting between a dot-suffixed token and the bracket-quoted identifier that follows it (e.g. t. [Col] → t.[Col]).Nothing published for this version
Obfuscate EXTRACT field keywords ([ #98 ]( https://github.com/Data…
Obfuscate EXTRACT field keywords (#98)
The obfuscator now replaces the field argument of EXTRACT(field FROM source) with a placeholder when it matches a known PostgreSQL field name (epoch, year, month, dow, isodow, microseconds, timezone_hour, etc.). Previously, queries captured via pg_stat_activity kept epoch as an unquoted identifier while queries from pg_stat_statements had it normalized to $1 (and then to ?), splitting one logical query across two DBM signatures. Both code paths now converge on EXTRACT(? FROM source). Bare epoch/year/etc. outside an EXTRACT(...) call (e.g. as a column reference) and unrecognized field names are left untouched.
Fix handling of PostgreSQL VACUUM commands (#96)
Fixes a typo and reclassifies VACUUM from a generic keyword to a command so it is correctly extracted into statement metadata.
Handle multiline comment after keyword (#89)
The lexer now correctly tokenizes SQL keywords when they are directly followed by a multiline comment (e.g. select/**/*/**/from/**/events). Previously, the leading / of the comment could be absorbed into the preceding token, breaking keyword detection.
isExtractFieldKeyword (#99)
Replaces a strings.ToUpper + map lookup with an allocation-free strings.EqualFold scan over a small slice of EXTRACT field names.Nothing published for this version
Update CHANGELOG.md
Update CHANGELOG.md (#92)
SELECT * FROM t1, t2). Previously, only the first table after a table indicator keyword was collected. This also adds LATERAL as a recognized keyword so it is no longer misidentified as a table name during metadata extraction.Minimum Go version bumped to 1.25 ([ #87 ]( https://github.com/Dat…
go.mod minimum Go version has been raised to Go 1.25. CI now tests through Go 1.25.7.children field was changed from map[rune]*trieNode to a fixed-size [27]*trieNode array (A–Z + underscore). This replaces map lookups with direct array indexing during keyword matching, reducing allocations and improving lexer throughput.cmd/sqllexer CLI was refactored for cleaner config plumbing and now exposes all normalizer options as flags:
-keep-identifier-quotation-dollar-quoted-func-replace-positional-parameter-collect-procedures-uppercase-keywords-remove-space-between-parentheses-keep-trailing-semicolonFix multi-byte UTF-8 character handling ([ #85 ]( https://github.c…
Nothing published for this version
Clone StringBuilder and string slice fields to shrink heap memory usa…
Clone StringBuilder and string slice fields to shrink heap memory usa…
Fix normalization of Oracle positional bind parameters
Fix normalization of Oracle positional bind parameters
Add -replace-bind-parameter flag to cli
Add -replace-bind-parameter flag to cli (#79)
Nothing published for this version
Nothing published for this version
Bump versions in lint workflow
Bump versions in lint workflow (#73)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →