Releases: ajitpratap0/GoSQLX
v1.10.0
MCP Server — All SQL Tools as Model Context Protocol Tools
GoSQLX v1.10.0 adds a full MCP Server that exposes all GoSQLX SQL capabilities as Model Context Protocol tools over streamable HTTP. Integrate GoSQLX into Claude, Cursor, and any MCP-compatible AI assistant.
✨ New Features
- MCP Server (
pkg/mcp/,cmd/gosqlx-mcp/): 7 SQL tools over streamable HTTPvalidate_sql— validate SQL syntax with optional dialectformat_sql— format SQL with configurable indentation and keyword casingparse_sql— parse SQL and return AST summary (statement count and types)extract_metadata— extract tables, columns, and functions referenced in SQLsecurity_scan— scan SQL for injection patterns (tautologies, UNION attacks, stacked queries, comment bypasses)lint_sql— lint SQL against all 10 GoSQLX style rules (L001–L010)analyze_sql— run all 6 tools concurrently and return a composite report
- Bearer Token Auth: Optional authentication via
GOSQLX_MCP_AUTH_TOKENenvironment variable - Multi-Dialect: Validate against postgresql, mysql, sqlite, sqlserver, oracle, snowflake, or generic
📝 Documentation
docs/MCP_GUIDE.md— comprehensive MCP server guide- Architecture diagram updated with MCP layer
- API reference updated with
pkg/mcppackage - Configuration guide updated with MCP environment variables
🔧 Build
- Go minimum bumped to 1.23.0 (required by
github.com/mark3labs/mcp-go v0.45.0) - Taskfile:
mcp,mcp:build,mcp:test,mcp:installtasks added
Quick Start
# Install
go install github.com/ajitpratap0/GoSQLX/cmd/gosqlx-mcp@v1.10.0
# Run
gosqlx-mcp # default :8080
GOSQLX_MCP_PORT=9090 gosqlx-mcp # custom port
GOSQLX_MCP_AUTH_TOKEN=secret gosqlx-mcp # with authClaude Desktop Configuration
{
"mcpServers": {
"gosqlx": {
"command": "gosqlx-mcp",
"env": { "GOSQLX_MCP_PORT": "8080" }
}
}
}Full Changelog: v1.9.3...v1.10.0
v1.9.3
Why v1.9.3?
v1.9.2 was cached by the Go module proxy before the LICENSE fix (PR #356) landed. This release ensures pkg.go.dev correctly detects the Apache-2.0 license.
Changes since v1.9.2
- PR #356: Replace LICENSE files with exact official Apache 2.0 text
- PR #355: Fix remaining 1.9.0 version references
- PR #354: Fix cobra command version string
Full changelog: https://github.com/ajitpratap0/GoSQLX/blob/main/CHANGELOG.md
v1.9.2
GoSQLX v1.9.2
High-performance SQL parsing SDK for Go with zero-copy tokenization and object pooling.
Changelog
Bug Fixes
- 24f17c3 fix: remove leading blank line from vscode-extension/LICENSE (#352)
- 8dd346a fix: replace LICENSE files with exact official Apache 2.0 text (#356)
- ecfe063 fix: update cobra command version string to 1.9.2 (#354)
- 9a9b54a fix: update remaining 1.9.0 version references to 1.9.2 in doc comments (#355)
Documentation
Full Changelog: v1.9.1...v1.9.2
v1.9.1
GoSQLX v1.9.1
High-performance SQL parsing SDK for Go with zero-copy tokenization and object pooling.
Changelog
Other
Documentation
Full Changelog: v1.9.0...v1.9.1
v1.9.0
GoSQLX v1.9.0
High-performance SQL parsing SDK for Go with zero-copy tokenization and object pooling.
Changelog
New Features
- ecadf2d feat: add source positions to AST nodes for LSP/linter accuracy (#324) (#337)
- a7f35b6 feat: deepen dialect system — dialect-aware parsing (#323) (#336)
- 2f6f09b feat: enhance schema validator with catalog, cross-ref validation, type checking (#344)
Bug Fixes
- 95753a5 fix: address Claude review feedback across PRs #334-337 (#338)
- fb92525 fix: address UAT bugs — error positions, MySQL VALUES(), hint grammar, ParseWithDialect (#340)
- e18bdee fix: address all 19 post-UAT bugs — parser, CLI, security, AST (v1.8.0) (#348)
- b7968b1 fix: address multi-agent review issues — pool safety, EOF sentinel, ReDoS guard, formatter pool (#347)
- 9cbce26 fix: bump minimatch 10.2.1→10.2.3 (CVE-2026-27903, CVE-2026-27904) (#346)
- 95e5b23 fix: phase 1 quick wins (#325, #332, #327, #333) (#334)
Performance
Other
- c054555 refactor: decompose parseSelectStatement() god function (#321) (#335)
- 2fb1acc refactor: decompose parser package — split oversized files into focused modules (#343)
- c641250 refactor: move formatting logic from ast to pkg/formatter (#342)
- 84fa19a refactor: unify token type systems — eliminate conversion layer (#345)
Documentation
Full Changelog: v1.8.0...v1.9.0
v1.8.0
What's New in v1.8.0
The biggest GoSQLX release yet — 76 commits, 30+ PRs since v1.7.0.
🆕 Dialect Engine & Multi-Dialect Support
- Dialect Mode Engine — runtime dialect selection for parsing, validation, and formatting
- MySQL Support —
LIMIT offset, count,REPLACE INTO, backtick identifiers,AUTO_INCREMENT,UNSIGNED,ZEROFILL,IF(),GROUP_CONCAT(),STRAIGHT_JOIN,USE INDEX/FORCE INDEX/IGNORE INDEX,INSERT IGNORE - SQL Server (T-SQL) Support —
SELECT TOP N,WITH (NOLOCK)table hints,CROSS/OUTER APPLY,MERGEwithOUTPUT, square bracket identifiers[column],@@ROWCOUNT/@@IDENTITYglobals,N'unicode'strings,TOP WITH TIES,#temp/##globaltables
🆕 WASM Build & Web Playground
- Browser-based SQL parsing via WebAssembly
- Zero-install playground for trying GoSQLX
🆕 Query Transform API
- Programmatic SQL rewriting:
AddWhereCondition(),SetLimit(),AddOrderBy() - Safe, AST-based transformations (not string manipulation)
🆕 Comment Preservation
- SQL comments retained in AST and round-tripped through formatting
🆕 AST-based Formatter
- Style presets, intelligent indentation
- DDL statement formatting support
⚡ Performance
- ~50% faster parsing via complete token type overhaul (string → int constants)
- 1.5M+ ops/sec peak, 1.46M+ sustained (30s load test)
IsCompoundKeywordStart()now O(1) via cached map lookupgosqlx.Parse()now uses parser pool (60-80% memory reduction)gosqlx.Validate()uses fast-path (avoids full AST construction)
🔒 Security
- Enhanced SQL injection detection with LIKE/blind injection patterns
- AST-based security scanner (8 detection patterns)
🔧 Other Highlights
- Error recovery for multi-error parsing
- AST-to-SQL serialization with round-trip support
- Dollar-quoted string support (PostgreSQL)
- Schema-aware validation package
- Query optimization advisor
- Snowflake dialect support
- Python bindings foundation (CGo)
- GitHub Action for SQL lint/validation
- Fuzz testing in 4 packages, 84%+ test coverage
- Apache-2.0 relicense
⚠️ Breaking Changes
- Token type system overhaul — if you use low-level
token.Typestring comparisons, see MIGRATION.md for upgrade guide - High-level API (
gosqlx.Parse(),gosqlx.Validate()) is fully backward compatible
Full Changelog: v1.7.0...v1.8.0
Upgrade
go get github.com/ajitpratap0/GoSQLX@v1.8.0
go install github.com/ajitpratap0/GoSQLX/cmd/gosqlx@v1.8.0v1.7.0
What's New in v1.7.0
Schema-Qualified Names
- Full
schema.tableanddb.schema.tablesupport in SELECT, INSERT, UPDATE, DELETE, and all DDL statements - Backward-compatible: stored as dotted strings in existing Name fields
PostgreSQL Enhancements
- Type Casting:
::operator (SELECT 1::int,col::text) - UPSERT:
INSERT ... ON CONFLICT DO UPDATE/NOTHING - Positional Parameters:
$1,$2style placeholders - JSONB Operators: Additional
@?and@@operators - Regex Operators:
~,~*,!~,!~*for pattern matching
Parser Enhancements (Batches 5-8)
- ARRAY constructor expressions with subscript/slice operations
- WITHIN GROUP clause for ordered-set aggregates
- INTERVAL expressions (
INTERVAL '1 day') - FOR UPDATE/SHARE row-level locking clauses
- Multi-row INSERT VALUES
- Enhanced BETWEEN support in expressions
Bug Fixes
- Fixed schema-qualified table names (
schema.table_name) causing E2002 errors (#202) - Fixed double-quoted identifiers in DML and DDL statements (#200)
Documentation
- Updated SQL compatibility matrix, upgrade guide, and all version references
- Comprehensive CHANGELOG with all 9 PRs documented
Full Changelog: v1.6.0...v1.7.0
Upgrade
go get github.com/ajitpratap0/GoSQLX@v1.7.0
go install github.com/ajitpratap0/GoSQLX/cmd/gosqlx@v1.7.0No breaking changes - fully backward compatible with v1.6.x.
v1.6.0
🚀 GoSQLX v1.6.0 - Major Feature Release
This release represents a major milestone with 20+ PRs merged, adding comprehensive PostgreSQL support, a full Language Server Protocol implementation, VSCode extension, and significant performance optimizations.
✨ Highlights
| Feature | Description |
|---|---|
| 🐘 PostgreSQL Extensions | LATERAL JOIN, JSON/JSONB operators, DISTINCT ON, FILTER clause |
| 🔌 LSP Server | Full Language Server Protocol for IDE integration |
| 📝 VSCode Extension | Official extension with syntax highlighting & autocomplete |
| ⚡ Performance | 14x faster tokens, 575x faster keyword suggestions |
| 🔍 Linter Rules | 10 built-in rules (L001-L010) with auto-fix |
🐘 PostgreSQL Features (PRs #173-#177)
LATERAL JOIN Support
SELECT u.name, recent_orders.total
FROM users u
LEFT JOIN LATERAL (
SELECT SUM(amount) as total FROM orders WHERE user_id = u.id
) AS recent_orders ON trueJSON/JSONB Operators
- Arrow operators:
->,->> - Path operators:
#>,#>> - Containment:
@>,<@ - Existence:
?,?|,?& - Delete:
#-
SELECT data -> 'user' ->> 'email',
data #> '{address,city}'
FROM users
WHERE data @> '{"active": true}'DISTINCT ON & FILTER Clause
SELECT DISTINCT ON (user_id) user_id, created_at, status
FROM orders ORDER BY user_id, created_at DESC;
SELECT COUNT(*) FILTER (WHERE status = 'completed') FROM orders;🔌 Language Server Protocol (PRs #128-#129)
Full LSP implementation for IDE integration:
- Diagnostics: Real-time syntax error detection
- Hover: Documentation for 60+ SQL keywords
- Completion: 100+ keywords, functions, and 22 snippets
- Formatting: SQL code formatting
- Document Symbols: Statement outline navigation
- Signature Help: Function signatures for 20+ SQL functions
- Code Actions: Quick fixes (add semicolon, uppercase keywords)
gosqlx lsp # Start LSP server
gosqlx lsp --log /tmp/lsp.log # With debug logging📝 VSCode Extension (PRs #132, #135)
Official GoSQLX extension for Visual Studio Code:
- Real-time SQL validation via LSP
- SQL syntax highlighting with TextMate grammar
- SQL formatting with customizable options
- Intelligent autocomplete
- Multi-dialect support
🔍 Linter Rules (PRs #164, #176)
10 built-in rules with auto-fix:
| Rule | Description |
|---|---|
| L001 | Avoid SELECT * |
| L002 | Missing table aliases in JOIN |
| L003 | Implicit column aliases |
| L004 | Missing WHERE in UPDATE/DELETE |
| L005 | Inefficient LIKE patterns |
| L006 | Use explicit JOIN syntax |
| L007 | ORDER BY ordinal numbers |
| L008 | Inconsistent keyword casing |
| L009 | Missing column list in INSERT |
| L010 | DISTINCT without ORDER BY |
gosqlx lint query.sql
gosqlx lint --fix query.sql⚡ Performance Improvements
- 14x faster token type comparison with O(1) int-based lookups
- 575x faster keyword suggestions with caching
- 22.5x faster config file loading
- 1.38M+ ops/sec sustained throughput maintained
🛠️ Developer Tools
- go-task: Modern Taskfile.yml replacing Makefile
- Structured Errors: Error codes E1001-E3004
- Security Scanner: Enhanced SQL injection detection
- Test Coverage: AST 80%+, Models 100%
📦 Installation
# Library
go get github.com/ajitpratap0/GoSQLX@v1.6.0
# CLI
go install github.com/ajitpratap0/GoSQLX/cmd/gosqlx@v1.6.0📋 Full Changelog
See CHANGELOG.md for the complete list of changes.
Full Changelog: v1.5.1...v1.6.0
v1.5.0
GoSQLX v1.5.0 - Phase 1 Test Coverage Achievement
Release Date: November 15, 2025
Release Type: Minor Version Release
Focus: Comprehensive Test Coverage & Quality Assurance
🎯 Executive Summary
GoSQLX v1.5.0 marks a major quality milestone with the completion of Phase 1 comprehensive test coverage improvements across CLI, Parser, and Tokenizer packages. This release establishes GoSQLX as enterprise-grade software with test coverage exceeding industry standards.
✅ Key Achievements
- ✅ Triple Coverage Success: All three Phase 1 coverage targets met or exceeded
- ✅ 3,094 Lines of Tests: Comprehensive test suite across 7 new test files
- ✅ 115+ Real-World Queries: Production SQL validation (95%+ success rate)
- ✅ Zero Race Conditions: 20,000+ concurrent operations tested
- ✅ International Validation: Full UTF-8 testing across 8 languages
- ✅ Code Quality: 529 lines removed through refactoring
📊 Test Coverage Achievements
| Package | Baseline | Target | Achieved | Status |
|---|---|---|---|---|
| CLI | ~50% | 60% | 63.3% | ✅ Exceeded by 3.3% |
| Parser | 57.4% | 75% | 75.0% | ✅ Met exactly |
| Tokenizer | 60.0% | 70% | 76.5% | ✅ Exceeded by 6.5% |
Improvement Metrics:
- CLI: +13.3 percentage points
- Parser: +17.6 percentage points
- Tokenizer: +16.5 percentage points
🚀 Production Readiness Enhancements
Battle-Tested Reliability
- 3,094 lines of new test code across 7 comprehensive test files
- 115+ production SQL queries tested across multiple dialects (PostgreSQL, MySQL, SQL Server, Oracle)
- 95%+ success rate on real-world SQL queries
- Zero race conditions detected across 20,000+ concurrent operations
International Support
- Full UTF-8 testing across 8 languages
- Chinese, Japanese, Korean, Arabic, Russian, Spanish, French, German
- Emoji support validated
- Comprehensive multi-byte character handling
Code Quality Improvements
- 529 lines removed through refactoring
- Enhanced error handling across all CLI commands
- Improved UTF-8 character handling
- Consolidated input reading logic
📦 Installation
Go Module
```bash
go get github.com/ajitpratap0/GoSQLX@v1.5.0
```
CLI Tool
```bash
go install github.com/ajitpratap0/GoSQLX/cmd/gosqlx@v1.5.0
```
🔄 Upgrade from v1.4.0
100% Backward Compatible - This is a drop-in replacement for v1.4.0.
```bash
Update dependency
go get -u github.com/ajitpratap0/GoSQLX@v1.5.0
Update CLI (if installed)
go install github.com/ajitpratap0/GoSQLX/cmd/gosqlx@v1.5.0
Verify
go list -m github.com/ajitpratap0/GoSQLX
```
No breaking changes - All existing APIs and functionality remain fully supported.
📈 Performance Metrics (Maintained)
All performance metrics maintained from v1.4.0:
| Metric | Value | Status |
|---|---|---|
| Sustained Throughput | 1.38M+ ops/sec | ✅ Maintained |
| Peak Throughput | 1.5M+ ops/sec | ✅ Maintained |
| Token Processing | 8M+ tokens/sec | ✅ Maintained |
| Simple Query Latency | <280ns (p50) | ✅ Maintained |
| Complex Query Latency | <1μs | ✅ Maintained |
| Memory Efficiency | 60-80% reduction | ✅ Maintained |
Zero performance regression across all test scenarios.
📚 Documentation
New Documentation (v1.5.0)
- RELEASE_NOTES_v1.5.0.md - Complete release documentation (400+ lines)
- UPGRADE_GUIDE.md - Comprehensive upgrade instructions (300+ lines)
Updated Documentation
- CHANGELOG.md - v1.5.0 release notes added
- README.md - Updated with v1.5.0 highlights
- TASKS.md - Phase 1 tasks marked complete
Phase 1 Summary Documents (from v1.4.0)
- CLI_REFACTORING_SUMMARY.md - CLI coverage details
- PARSER_COVERAGE_SUMMARY.md - Parser test details
- TOKENIZER_COVERAGE_SUMMARY.md - Tokenizer test details
- SESSION_PROGRESS_SUMMARY.md - Overall progress tracking
🔗 Related Pull Requests
-
PR #85: Phase 1 Test Coverage Implementation
- 81 files changed, 25,883 insertions, 1,735 deletions
- 20 commits (12 feature + 8 CI/CD fixes)
- All 16 CI checks passing
-
PR #86: v1.5.0 Release Documentation
- 5 files changed, 886 lines added/modified
- Comprehensive release notes and upgrade guide
🎯 What's Next
Recommended Priorities (from TASKS.md)
- TEST-003: Increase Keywords Coverage to 75% (current: 50.6%)
- QW-002: Enhanced Error Messages with context and suggestions
- TEST-004: Add Fuzz Testing for security and robustness
- FEAT-002: Streaming Parser API for large files (>10MB)
- INT-001: IDE Integration (VS Code, GoLand)
Upcoming Releases
- v1.6.0: Keywords package coverage + Enhanced error messages
- v1.7.0: Fuzz testing + Security hardening
- v2.0.0: Dialect specialization + Advanced features
🤝 Contributors
Special thanks to all contributors who made this release possible!
Core Team
- @ajitpratap0 - Lead Developer
Community
- All users who reported issues and provided feedback
- Contributors who submitted bug reports and feature requests
📄 License
MIT License - see LICENSE file for details
🔗 Resources
- Repository: https://github.com/ajitpratap0/GoSQLX
- Documentation: https://pkg.go.dev/github.com/ajitpratap0/GoSQLX
- Issues: https://github.com/ajitpratap0/GoSQLX/issues
- Discussions: https://github.com/ajitpratap0/GoSQLX/discussions
- Full Release Notes: RELEASE_NOTES_v1.5.0.md
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
v1.4.0
GoSQLX v1.4.0
High-performance SQL parsing SDK for Go with zero-copy tokenization and object pooling.
Changelog
Other
- 2a1d7e1 Feature/enhanced cli (#14)
- aa4737c Merge branch 'main' of https://github.com/ajitpratap0/GoSQLX
- b42d0fe Merge branch 'main' of https://github.com/ajitpratap0/GoSQLX
- 52fdd11 Technical Roadmap 2025: CLI-First Platform Evolution (#13)
Documentation
Full Changelog: v1.3.0...v1.4.0