Skip to content

Commit 6c7e8d6

Browse files
ajitpratap0Ajit Pratap Singhclaude
authored
docs: v1.13.0 release — version bump, docs, website, blog post (#421)
* docs(changelog): promote [Unreleased] to [1.13.0] - 2026-03-20 * chore(release): bump version constants to v1.13.0 * chore(release): fix missed version in cmd/gosqlx/doc.go * chore(bench): update performance baselines to v1.13.0 (2026-03-20) * docs: update all documentation to v1.13.0 — add ClickHouse, fix LSP guide staleness - GETTING_STARTED.md: replace v1.12.0 "What's New" block with v1.13.0 (ClickHouse dialect, LSP semantic tokens, LSP debouncing, parser API consolidation, security and website updates); bump Go requirement to 1.26+; update all version strings - USAGE_GUIDE.md: bump version/date header to v1.13.0 / 2026-03-20 - ARCHITECTURE.md: bump version/date header to v1.13.0 / 2026-03-20 - SQL_COMPATIBILITY.md: bump version/date headers and footer; update Overall Compliance heading to v1.13.0; add new ClickHouse dialect section (PREWHERE, FINAL, GLOBAL IN, MergeTree family, 30+ keywords) - LINTING_RULES.md: bump version/date header to v1.13.0 / 2026-03-20 - LSP_GUIDE.md: fix staleness (was v1.6.0 Dec 2025) → v1.13.0 / 2026-03-20; add Semantic Tokens section (6-type legend) and Diagnostic Debouncing section - CLAUDE.md: Go 1.25+ → 1.26+; current version v1.12.0 → v1.13.0; add ClickHouse to multi-dialect support list - README.md: Go badge 1.25+ → 1.26+; stats row 1.25M+/6 dialects → 1.38M+/7 dialects; body text ops/sec updated to 1.38M+ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add ClickHouse to README dialect feature list * docs: fix review issues — stale LSP footer, missing ClickHouse in dialects table, perf stat, PRAGMA contradiction Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: remove stale PRAGMA limitation from SQLite section (fixed in v1.9.0) * feat(website): v1.13.0 — ClickHouse dialect, 7 dialects, new blog post Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(website): expand blog post v1-13-0 with full spec content — title, description, code examples, tables, all sections * fix(ci): bump action.yml go-version 1.24 → 1.26 to match go.mod Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Ajit Pratap Singh <ajitpratapsingh@Ajits-Mac-mini-2655.local> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 7f307b3 commit 6c7e8d6

File tree

26 files changed

+280
-77
lines changed

26 files changed

+280
-77
lines changed

CHANGELOG.md

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.13.0] - 2026-03-20
11+
1012
### Added
11-
- ClickHouse SQL dialect (`DialectClickHouse = "clickhouse"`) with 30+ keywords: PREWHERE, FINAL, ENGINE, GLOBAL, ASOF, TTL, CODEC, FORMAT, SETTINGS, DISTRIBUTED, MergeTree family engines, ClickHouse-specific data types (FixedString, LowCardinality, Nullable, DateTime64, IPv4, IPv6)
12-
- `PrewhereClause` field on `SelectStatement` AST node for ClickHouse's pre-filter optimization clause
13-
- `Final` field on `TableReference` for ClickHouse's FINAL table modifier (forces MergeTree part merge before read)
13+
- ClickHouse SQL dialect support (`DialectClickHouse = "clickhouse"`) with 30+ keywords
14+
- `PrewhereClause` field on `SelectStatement` AST for ClickHouse PREWHERE optimization
15+
- `Final` field on `TableReference` for ClickHouse MergeTree FINAL modifier
1416
- PREWHERE clause parsing in ClickHouse dialect mode
1517
- FINAL modifier parsing in ClickHouse dialect mode
16-
- GLOBAL IN / GLOBAL NOT IN expression parsing in ClickHouse dialect mode
18+
- GLOBAL IN / GLOBAL NOT IN expression parsing (ClickHouse)
19+
- ClickHouse data types: FixedString, LowCardinality, Nullable, DateTime64, IPv4, IPv6
20+
- MergeTree engine family keywords (MERGETREE, REPLACINGMERGETREE, AGGREGATINGMERGETREE, etc.)
21+
- LSP semantic token provider (`textDocument/semanticTokens/full`) with 6-type legend: keyword, identifier, number, string, operator, comment
22+
- LSP diagnostic debouncing (300ms) — prevents excessive re-parsing on rapid typing
23+
- LSP document cleanup on `textDocument/didClose`
24+
- Glama MCP registry integration with stdio transport support
25+
- Auto-trigger Glama build on GitHub release via CI (`glama-sync.yml`)
26+
- Sentry error monitoring, tracing, and session replay on website
27+
28+
### Changed
29+
- `ParseFromModelTokens` is now the canonical parse entry point (positions always populated)
30+
- Docker base image Go 1.25 → 1.26 to match go.mod requirement
31+
- Next.js 16.1.6 → 16.1.7 (CVE-2026-27979, CVE-2026-27980, CVE-2026-29057)
32+
- Website rebuilt on Next.js 16 App Router with comprehensive a11y, SEO, and performance audit
33+
- Lighthouse Desktop: 100 Performance / 100 Accessibility / 100 SEO (maintained)
34+
- CI: Vercel deployment working-directory bug fixed (doubled path `website/website/`)
35+
36+
### Deprecated
37+
- `parser.Parse([]token.Token)` — use `ParseFromModelTokens` instead
38+
- `ParseFromModelTokensWithPositions` — consolidated into `ParseFromModelTokens`
39+
- `ConversionResult.PositionMapping` — always nil, will be removed in v2
40+
41+
### Fixed
42+
- Production playground WASM 404 (CI working-directory path doubling)
43+
- WASM service worker cache versioning
44+
- Broken `.md` relative links in docs → `/docs/` URL paths
45+
- JSON-LD BreadcrumbList and Article markup on docs pages
46+
- Horizontal overflow at 320–390px viewport
47+
- Keyboard accessibility (tabIndex) on scrollable code blocks
1748

1849
## [1.12.1] - 2026-03-15 — Website Performance & Mobile Optimization
1950

@@ -1626,7 +1657,10 @@ For questions about upgrading or changelog entries:
16261657
- Open an issue: https://github.com/ajitpratap0/GoSQLX/issues
16271658
- Join discussions: https://github.com/ajitpratap0/GoSQLX/discussions
16281659

1629-
[Unreleased]: https://github.com/ajitpratap0/GoSQLX/compare/v1.8.0...HEAD
1660+
[Unreleased]: https://github.com/ajitpratap0/GoSQLX/compare/v1.12.1...HEAD
1661+
[1.13.0]: https://github.com/ajitpratap0/GoSQLX/compare/v1.12.1...v1.13.0
1662+
[1.12.1]: https://github.com/ajitpratap0/GoSQLX/compare/v1.12.0...v1.12.1
1663+
[1.12.0]: https://github.com/ajitpratap0/GoSQLX/compare/v1.10.2...v1.12.0
16301664
[1.8.0]: https://github.com/ajitpratap0/GoSQLX/compare/v1.7.0...v1.8.0
16311665
[1.7.0]: https://github.com/ajitpratap0/GoSQLX/compare/v1.6.0...v1.7.0
16321666
[1.6.0]: https://github.com/ajitpratap0/GoSQLX/compare/v1.5.1...v1.6.0

CLAUDE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
66

77
GoSQLX is a **production-ready**, **race-free**, high-performance SQL parsing SDK for Go that provides lexing, parsing, and AST generation with zero-copy optimizations. The library is designed for enterprise use with comprehensive object pooling for memory efficiency.
88

9-
**Requirements**: Go 1.25+ (upgraded from 1.23 to fix stdlib vulnerabilities; `mark3labs/mcp-go` requires 1.23)
9+
**Requirements**: Go 1.26+ (upgraded from 1.23 to fix stdlib vulnerabilities; `mark3labs/mcp-go` requires 1.23)
1010

11-
**Production Status**: ✅ Validated for production deployment (v1.6.0+, current: v1.12.0)
11+
**Production Status**: ✅ Validated for production deployment (v1.6.0+, current: v1.13.0)
1212
- Thread-safe with zero race conditions (20,000+ concurrent operations tested)
1313
- 1.38M+ ops/sec sustained, 1.5M peak with memory-efficient object pooling
1414
- ~80-85% SQL-99 compliance (window functions, CTEs, set operations, MERGE, etc.)
15-
- Multi-dialect support: PostgreSQL, MySQL, SQL Server, Oracle, SQLite
15+
- Multi-dialect support: PostgreSQL, MySQL, SQL Server, Oracle, SQLite, ClickHouse
1616

1717
## Architecture
1818

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
### Parse SQL at the speed of Go
88

9-
[![Go Version](https://img.shields.io/badge/Go-1.25+-00ADD8?style=for-the-badge&logo=go)](https://go.dev)
9+
[![Go Version](https://img.shields.io/badge/Go-1.26+-00ADD8?style=for-the-badge&logo=go)](https://go.dev)
1010
[![Release](https://img.shields.io/github/v/release/ajitpratap0/GoSQLX?style=for-the-badge&color=orange)](https://github.com/ajitpratap0/GoSQLX/releases)
1111
[![License](https://img.shields.io/badge/License-Apache--2.0-blue.svg?style=for-the-badge)](LICENSE)
1212
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge)](http://makeapullrequest.com)
@@ -28,7 +28,7 @@
2828

2929
<br/>
3030

31-
| **1.25M+ ops/sec** | **<1μs latency** | **85% SQL-99** | **6 dialects** | **0 race conditions** |
31+
| **1.38M+ ops/sec** | **<1μs latency** | **85% SQL-99** | **7 dialects** | **0 race conditions** |
3232
|:---:|:---:|:---:|:---:|:---:|
3333

3434
</div>
@@ -37,7 +37,7 @@
3737

3838
## What is GoSQLX?
3939

40-
GoSQLX is a **production-ready SQL parsing SDK** for Go. It tokenizes, parses, and generates ASTs from SQL with zero-copy optimizations and intelligent object pooling - handling **1.25M+ operations per second** with sub-microsecond latency.
40+
GoSQLX is a **production-ready SQL parsing SDK** for Go. It tokenizes, parses, and generates ASTs from SQL with zero-copy optimizations and intelligent object pooling - handling **1.38M+ operations per second** with sub-microsecond latency.
4141

4242
```go
4343
ast, _ := gosqlx.Parse("SELECT u.name, COUNT(*) FROM users u JOIN orders o ON u.id = o.user_id GROUP BY u.name")
@@ -48,7 +48,7 @@ ast, _ := gosqlx.Parse("SELECT u.name, COUNT(*) FROM users u JOIN orders o ON u.
4848

4949
- **Not an ORM** - a parser. You get the AST, you decide what to do with it.
5050
- **Not slow** - zero-copy tokenization, sync.Pool recycling, no allocations on hot paths.
51-
- **Not limited** - PostgreSQL, MySQL, SQL Server, Oracle, SQLite, Snowflake. CTEs, window functions, MERGE, set operations.
51+
- **Not limited** - PostgreSQL, MySQL, SQL Server, Oracle, SQLite, Snowflake, ClickHouse. CTEs, window functions, MERGE, set operations.
5252
- **Not just a library** - CLI, VS Code extension, GitHub Action, MCP server, WASM playground, Python bindings.
5353

5454
<br/>

action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ runs:
115115
- name: Setup Go
116116
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
117117
with:
118-
go-version: '1.24'
118+
go-version: '1.26'
119119

120120
# Disable cache when testing in repository to always build from latest source
121121
# - name: Cache GoSQLX binary

cmd/gosqlx/cmd/doc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@
341341
//
342342
// Version information:
343343
//
344-
// Version = "1.12.1" - Current CLI version
344+
// Version = "1.13.0" - Current CLI version
345345
//
346346
// # Dependencies
347347
//

cmd/gosqlx/cmd/root.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,16 @@ import (
2828
// This version tracks feature releases and compatibility.
2929
// Format: MAJOR.MINOR.PATCH (Semantic Versioning 2.0.0)
3030
//
31+
// Version 1.13.0 includes:
32+
// - ClickHouse SQL dialect support (PREWHERE, FINAL, GLOBAL IN)
33+
// - LSP semantic tokens + diagnostic debouncing
34+
// - Parser API consolidation (ParseFromModelTokens canonical)
3135
// Version 1.12.1 includes:
3236
// - MCP Server: All GoSQLX SQL capabilities as Model Context Protocol tools over streamable HTTP
3337
// - 7 MCP tools: validate_sql, format_sql, parse_sql, extract_metadata, security_scan, lint_sql, analyze_sql
3438
// - Optional bearer token auth via GOSQLX_MCP_AUTH_TOKEN
3539
// - Go minimum bumped to 1.23.0 (required by mark3labs/mcp-go)
36-
var Version = "1.12.1"
40+
var Version = "1.13.0"
3741

3842
var (
3943
// verbose enables detailed output for debugging and troubleshooting.
@@ -121,7 +125,7 @@ Key features:
121125
• CI/CD integration with proper exit codes
122126
123127
Performance: 1.5M+ operations/second sustained, 1.97M peak. 100-1000x faster than competitors.`,
124-
Version: "1.12.1",
128+
Version: "1.13.0",
125129
}
126130

127131
// Execute adds all child commands to the root command and sets flags appropriately.

cmd/gosqlx/doc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
//
2525
// # Version
2626
//
27-
// Current version: 1.12.1
27+
// Current version: 1.13.0
2828
//
2929
// # Architecture
3030
//

doc.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
// zero-copy tokenization and comprehensive object pooling. It offers enterprise-grade SQL lexing,
1717
// parsing, and AST generation with support for multiple SQL dialects and advanced SQL features.
1818
//
19-
// GoSQLX v1.12.1 includes both a powerful Go SDK and a high-performance CLI tool for SQL processing,
19+
// GoSQLX v1.13.0 includes both a powerful Go SDK and a high-performance CLI tool for SQL processing,
2020
// validated for production deployment with race-free concurrent operation and extensive real-world testing.
2121
//
2222
// Production Status: VALIDATED FOR PRODUCTION DEPLOYMENT (v1.6.0+)
@@ -278,6 +278,7 @@
278278
//
279279
// # Version History
280280
//
281+
// v1.13.0: ClickHouse dialect, LSP semantic tokens, parser API consolidation
281282
// v1.12.1: Website performance - mobile 94, desktop 100, self-hosted fonts, CLS 0
282283
// v1.12.0: Custom domain gosqlx.dev, remote MCP server at mcp.gosqlx.dev
283284
// v1.11.1: Website audit fixes, SEO, lazy WASM, design polish

docs/ARCHITECTURE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# GoSQLX Architecture Documentation
22

3-
**Version**: v1.12.0
4-
**Last Updated**: 2026-03-13
3+
**Version**: v1.13.0
4+
**Last Updated**: 2026-03-20
55

66
## Table of Contents
77
- [System Overview](#system-overview)

docs/GETTING_STARTED.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22

33
Welcome! This guide will get you parsing SQL in under 5 minutes. No prior experience with GoSQLX required.
44

5-
**What's New in v1.12.0:**
6-
- **MCP Server**: All GoSQLX SQL capabilities as Model Context Protocol tools over streamable HTTP
7-
- 7 MCP tools: `validate_sql`, `format_sql`, `parse_sql`, `extract_metadata`, `security_scan`, `lint_sql`, `analyze_sql`
8-
- Optional bearer token auth via `GOSQLX_MCP_AUTH_TOKEN`
9-
- Go minimum bumped to 1.23.0 (required by `mark3labs/mcp-go`)
10-
- 19 post-UAT fixes: parser, CLI output, security scanner (see CHANGELOG for full list)
11-
- Enhanced SQL-99 compliance with NULLS FIRST/LAST ordering
5+
**What's New in v1.13.0:**
6+
- **ClickHouse Dialect**: Parse ClickHouse SQL including PREWHERE, FINAL, GLOBAL IN, and 30+ ClickHouse keywords
7+
- **LSP Semantic Tokens**: `textDocument/semanticTokens/full` with 6-type legend for richer IDE highlighting
8+
- **LSP Debouncing**: 300ms diagnostic debounce prevents excessive re-parsing on rapid typing
9+
- **Parser API Consolidation**: `ParseFromModelTokens` is now the canonical entry point (positions always populated)
10+
- **Security**: Next.js 16.1.7 (3 CVE fixes), Docker Go 1.26 base image
11+
- **Website**: Comprehensive a11y + SEO audit, Sentry monitoring, Glama MCP registry
1212

1313
---
1414

1515
## Step 1: Install GoSQLX (30 seconds)
1616

17-
**Requirements**: Go 1.23+
17+
**Requirements**: Go 1.26+
1818

1919
### Option A: Install CLI Tool (Recommended)
2020
```bash
@@ -29,7 +29,7 @@ go get github.com/ajitpratap0/GoSQLX
2929
**Verify installation:**
3030
```bash
3131
# Check Go version
32-
go version # Should show Go 1.21+
32+
go version # Should show Go 1.26+
3333

3434
# If you installed CLI:
3535
gosqlx --version
@@ -60,7 +60,7 @@ echo "select * from users where age>18" | gosqlx format
6060
echo "SELECT COUNT(*) FROM orders GROUP BY status" | gosqlx analyze
6161
```
6262

63-
**Available CLI Commands (v1.12.0):**
63+
**Available CLI Commands (v1.13.0):**
6464
- `validate` - Ultra-fast SQL validation with security scanning
6565
- `format` - High-performance SQL formatting with style options
6666
- `analyze` - Advanced SQL analysis with complexity metrics
@@ -70,7 +70,7 @@ echo "SELECT COUNT(*) FROM orders GROUP BY status" | gosqlx analyze
7070
- `config` - Manage configuration files (.gosqlx.yml)
7171
- `completion` - Shell autocompletion for bash/zsh/fish
7272

73-
**New in v1.12.0:**
73+
**New in v1.13.0:**
7474
```bash
7575
# Security scanning for SQL injection
7676
gosqlx validate --security query.sql
@@ -137,7 +137,7 @@ go run main.go
137137

138138
---
139139

140-
## Step 4: v1.12.0 Feature Examples (2 minutes)
140+
## Step 4: v1.13.0 Feature Examples (2 minutes)
141141

142142
### PostgreSQL Extensions
143143

@@ -423,7 +423,7 @@ gosqlx lsp --log /tmp/lsp.log
423423
- **[API Reference](/docs/api-reference)** - Complete API documentation
424424
- **[Examples](https://github.com/ajitpratap0/GoSQLX/tree/main/examples)** - Real-world code examples
425425

426-
### v1.12.0 Feature Guides:
426+
### v1.13.0 Feature Guides:
427427
- **PostgreSQL Extensions:**
428428
- LATERAL JOIN for correlated subqueries
429429
- JSON/JSONB operators (->/->>/#>/@>/?/etc.)
@@ -453,7 +453,7 @@ gosqlx lsp --log /tmp/lsp.log
453453
### Advanced Topics:
454454
- **Low-Level API** - For performance-critical applications (>100K queries/sec)
455455
- **Object Pooling** - Manual resource management for fine-grained control
456-
- **Multi-Dialect Support** - PostgreSQL, MySQL, SQL Server, Oracle, SQLite
456+
- **Multi-Dialect Support** - PostgreSQL, MySQL, SQL Server, Oracle, SQLite, ClickHouse
457457
- **Unicode Support** - Full international character support
458458
- **SQL Compatibility** - See [SQL Compatibility](/docs/sql-compatibility) for dialect matrix
459459

@@ -490,7 +490,7 @@ gosqlx validate "your SQL here"
490490

491491
---
492492

493-
## v1.12.0 Feature Highlights
493+
## v1.13.0 Feature Highlights
494494

495495
### Production-Ready Performance
496496
- **1.38M+ operations/second** sustained throughput
@@ -501,7 +501,7 @@ gosqlx validate "your SQL here"
501501
### SQL Compliance
502502
- **~80-85% SQL-99 compliance** including window functions, CTEs, set operations
503503
- **95%+ success rate** on real-world SQL queries
504-
- **Multi-dialect support** - PostgreSQL, MySQL, SQL Server, Oracle, SQLite
504+
- **Multi-dialect support** - PostgreSQL, MySQL, SQL Server, Oracle, SQLite, ClickHouse
505505
- **Full Unicode support** for international SQL processing
506506

507507
### Enterprise Features
@@ -518,7 +518,7 @@ gosqlx validate "your SQL here"
518518
- ✓ Installing GoSQLX (library and CLI)
519519
- ✓ Validating and formatting SQL with CLI
520520
- ✓ Parsing SQL in Go applications with simple API
521-
- ✓ Using v1.12.0 features (PostgreSQL extensions, security, linting, LSP)
521+
- ✓ Using v1.13.0 features (PostgreSQL extensions, security, linting, LSP)
522522
- ✓ Common use cases and patterns
523523
- ✓ Where to find more help
524524

@@ -530,4 +530,4 @@ gosqlx validate "your SQL here"
530530

531531
---
532532

533-
*Built by the GoSQLX community - Production-ready since v1.12.0*
533+
*Built by the GoSQLX community - Production-ready since v1.12.0, ClickHouse dialect since v1.13.0*

0 commit comments

Comments
 (0)