Skip to content

Releases: ajitpratap0/GoSQLX

v1.10.0

13 Mar 17:44
241b46e

Choose a tag to compare

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 HTTP
    • validate_sql — validate SQL syntax with optional dialect
    • format_sql — format SQL with configurable indentation and keyword casing
    • parse_sql — parse SQL and return AST summary (statement count and types)
    • extract_metadata — extract tables, columns, and functions referenced in SQL
    • security_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_TOKEN environment 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/mcp package
  • 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:install tasks 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 auth

Claude Desktop Configuration

{
  "mcpServers": {
    "gosqlx": {
      "command": "gosqlx-mcp",
      "env": { "GOSQLX_MCP_PORT": "8080" }
    }
  }
}

Full Changelog: v1.9.3...v1.10.0

v1.9.3

08 Mar 14:25
a524570

Choose a tag to compare

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

08 Mar 09:15
8dd346a

Choose a tag to compare

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

28 Feb 10:38
d437540

Choose a tag to compare

GoSQLX v1.9.1

High-performance SQL parsing SDK for Go with zero-copy tokenization and object pooling.

Changelog

Other

  • ecb9ae0 community: open-source health files, LLM discovery, and SEO improvements (#350)

Documentation

Full Changelog: v1.9.0...v1.9.1

v1.9.0

27 Feb 21:15
2f79691

Choose a tag to compare

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

Performance

  • 203b180 perf: add pool recycling for all 13 DDL statement types (#341)

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

24 Feb 18:47
5d35f10

Choose a tag to compare

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 SupportLIMIT 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) SupportSELECT TOP N, WITH (NOLOCK) table hints, CROSS/OUTER APPLY, MERGE with OUTPUT, square bracket identifiers [column], @@ROWCOUNT/@@IDENTITY globals, N'unicode' strings, TOP WITH TIES, #temp/##global tables

🆕 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 lookup
  • gosqlx.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.Type string 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.0

v1.7.0

12 Feb 10:43
8ae371b

Choose a tag to compare

What's New in v1.7.0

Schema-Qualified Names

  • Full schema.table and db.schema.table support 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, $2 style 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.0

No breaking changes - fully backward compatible with v1.6.x.

v1.6.0

11 Dec 12:39
563ea8b

Choose a tag to compare

🚀 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 true

JSON/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

15 Nov 09:21
44395f8

Choose a tag to compare

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)

Updated Documentation

Phase 1 Summary Documents (from v1.4.0)


🔗 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)

  1. TEST-003: Increase Keywords Coverage to 75% (current: 50.6%)
  2. QW-002: Enhanced Error Messages with context and suggestions
  3. TEST-004: Add Fuzz Testing for security and robustness
  4. FEAT-002: Streaming Parser API for large files (>10MB)
  5. 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

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


🎉 Thank you for using GoSQLX! 🎉

⭐ Star This Repo


🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

v1.4.0

07 Sep 19:22

Choose a tag to compare

GoSQLX v1.4.0

High-performance SQL parsing SDK for Go with zero-copy tokenization and object pooling.

Changelog

Other

Documentation

Full Changelog: v1.3.0...v1.4.0