Skip to content

docs: v1.16.0 release follow-ups (docs nav, highlight API, LSP dialect, MCP wording) - #848

Merged
ajitpratap0 merged 2 commits into
mainfrom
docs/release-followups
Oct 21, 2026
Merged

ajitpratap0 merged 2 commits into
mainfrom
docs/release-followups

Conversation

@ajitpratap0

Copy link
Copy Markdown
Owner

Summary

Doc follow-ups deferred from the v1.16.0 release audit. Docs and comments only: no version bumps, no post-tag items, no CHANGELOG.md edits.

  • Website docs nav (website/src/lib/constants.ts): new pages for

    • Syntax Highlighting (/docs/guides/syntax-highlighting/, HIGHLIGHTING.md)
    • ChatGPT App (/docs/integrations/chatgpt/, CHATGPT_APP.md)
    • Upgrading GoSQLX (/docs/migration/upgrading/, MIGRATION.md)
    • highlight package (/docs/reference/api/highlight/)

    docs/README.md now links to them, and to MCP_GUIDE.md, which was missing from the index.

  • check-docs-content.mjs: MIGRATION.md is exempt from the "per-release heading label" rule only, because the guide is organised by release (## v1.13.0 → v1.14.0). Every other rule still applies to it.

  • New docs/api/highlight.md: moved out of API_REFERENCE.md, which keeps a "Moved to" stub so the #highlight-package anchor still works. I checked every signature against pkg/highlight and pkg/gosqlx/highlight.go, and compiled the examples.

  • docs/api/linter.md: documents (*Linter).SetDialect and gosqlx.LintWithDialect. The examples were compiled and run. The Linter struct is now shown with unexported fields only.

  • docs/api/lsp.md:

    • The semantic tokens section has the legend and a category → token type table, taken from semanticTokenSpecs and the legend unit test.
    • New SQL Dialect section covering initializationOptions.dialect and workspace/didChangeConfiguration (settings.gosqlx.dialect). It explains how missing and invalid values are handled, the diagnostics re-publish and workspace/semanticTokens/refresh.
  • cmd/gosqlx/cmd/doc.go: adds highlight (alias hl) to the command list, the file tree and the command reference. Adds --dialect notes (11 names; unknown names are rejected) and the lint SetDialect wiring. I kept these edits away from the Version = line that docs(release): prepare v1.16.0 #845 changes.

  • pkg/models/location.go (comment only): the example now says "byte column" instead of "20th character". The LSP conversion now re-measures in UTF-16, replacing Column - 1, which is only correct for ASCII-only lines (fix(tokenizer): one column per tab and token Start after trivia (#797) #826/fix(linter): report L006 column as a byte offset; tighten comment span test #840).

  • docs/MCP_GUIDE.md:

    • Rate Limits now says the limits come from the gosqlx-mcp binary's NewRateLimitMiddleware, not from Server.Start or Server.Handler.
    • The Embedding section has a warning and a compiled example that wraps Handler in NewRateLimitMiddleware.
    • lint_sql is described as running only the ten style rules L001–L010, with L005 capped at 100 characters, and not L011–L030.
  • README.md / docs/README.md: 8 dialects have dedicated grammar support. The 11 accepted names add generic, bigquery and redshift, the last two with keyword recognition and basic parsing only. This matches DIALECT_NAMES (8), keywords.DialectNames() (11) and the BigQuery/Redshift rows docs(release): prepare v1.16.0 #845 adds to SQL_COMPATIBILITY.md. The README headline still says "8 dialects", consistent with metrics.ts, llms.txt and CLAUDE.md.

  • Backfills: MIGRATION.md gets a v1.14.0 → v1.15.0 section and vscode-extension/CHANGELOG.md gets [1.15.0].

    • Both were missing. All facts come from CHANGELOG [1.15.0] and the v1.15.0 tag. I checked the API names with git grep at the tag.
    • At the tag, the Version constants in pkg/gosqlx and the CLI still read 1.14.0, and the integrations required v1.14.0.

Decisions made (conservative)

  • I left llms.txt and CLAUDE.md alone. They already say "8 dialects", which is accurate. docs(release): prepare v1.16.0 #845 edits lines next to theirs.
  • The VS Code [1.15.0] entry is dated 2026-07-30, the library release date, as earlier entries are. The Marketplace build for v1.15.0 was published later, through a manual vscode-publish dispatch.
  • The Python row is left out of the v1.15.0 companion table. Its version at the tag (__version__ = "0.1.0") disagrees with the v1.14.0 table (0.2.0), so it could not be verified.

Merge note for #845

git merge-tree against docs/v1.16.0-release shows two expected textual conflicts. Both PRs insert a section at the top of docs/MIGRATION.md and of vscode-extension/CHANGELOG.md. To resolve, keep both sections, with v1.16.0 above v1.15.0. No other file conflicts.

Test Plan

  • cd website && npm ci && npm run lint: 0 errors. The 7 warnings were already there.
  • npm run build: the four new docs pages prerender.
  • npm run check:docs, check:docs-links (54 files), check:anchors, check:metrics, check:seo (97 pages), check:contrast, check:rendered, check:layout and npm test (34 passing).
  • Throwaway programs compiling the highlight, SetDialect/LintWithDialect and MCP embedding examples.
  • gofmt, go vet, golangci-lint (0 issues) and go test -race on ./pkg/models/... and ./cmd/gosqlx/cmd/....

Breaking Changes

None. Docs, comments and a docs-check exemption only.

Release note

### Documentation
- New docs pages on gosqlx.dev: Syntax Highlighting, ChatGPT App, Upgrading GoSQLX (migration guide) and a `highlight` package API reference.
- `docs/api/lsp.md` documents semantic tokens and switching the dialect at runtime through `workspace/didChangeConfiguration`. `docs/api/linter.md` documents `Linter.SetDialect` and `gosqlx.LintWithDialect`.
- `MCP_GUIDE.md` now states that `Server.Start`/`Server.Handler` apply no rate limiting unless you wrap the handler in `NewRateLimitMiddleware`, and that `lint_sql` runs only the style rules L001–L010.
- The migration guide and the VS Code extension changelog gain the missing v1.15.0 sections.

🤖 Generated with Claude Code

https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

…P wording)

- Website docs nav: Syntax Highlighting, ChatGPT App, Upgrading GoSQLX
  (MIGRATION.md) and the new highlight package reference; docs/README.md
  index links for them. check-docs-content exempts MIGRATION.md from the
  per-release heading rule because it is organised by release.
- New docs/api/highlight.md (moved from API_REFERENCE.md, signatures
  checked against pkg/highlight and pkg/gosqlx).
- docs/api/linter.md: Linter.SetDialect and gosqlx.LintWithDialect.
- docs/api/lsp.md: semantic tokens legend and the dialect setting via
  initializationOptions and workspace/didChangeConfiguration.
- cmd/gosqlx/cmd/doc.go: highlight command and --dialect notes.
- pkg/models/location.go: byte-column example and a correct UTF-16 LSP
  conversion (comment only).
- MCP_GUIDE.md: rate limits come from gosqlx-mcp's middleware, not
  Server.Start/Handler; lint_sql runs L001-L010 only.
- README/docs README: 8 dialects with dedicated grammar vs 11 accepted
  dialect names.
- Backfill MIGRATION.md v1.14.0 -> v1.15.0 and vscode-extension
  CHANGELOG [1.15.0] from CHANGELOG [1.15.0].

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9
@vercel

vercel Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
gosqlx-website Ignored Ignored Preview Oct 21, 2026 6:27pm UTC

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Claude finished @ajitpratap0's task in 20s —— View job


Review of PR #848 (docs follow-ups)

I read the non-docs diffs and the docs changes to README.md, docs/README.md and MCP_GUIDE.md. I did not re-run the website checks or compile the examples. I also did not read docs/api/highlight.md, docs/api/linter.md, docs/api/lsp.md, MIGRATION.md or the VS Code changelog line by line. The PR body says you verified those with compiled examples and the website checks.

Verdict: looks good. I found no blocking issues.

What I checked

  • check-docs-content.mjs: the new skip hook matches how the other rules use skip(file, line). join is already imported. join('docs','MIGRATION.md') gives the right separator on each OS. The skip applies only to the per-release heading rule, as described.
  • constants.ts: the four new entries use the same shape as their neighbours. Slugs and files match the PR description. The Migration category summary is updated to fit the new page.
  • MCP_GUIDE.md: the rate-limit wording is clearer now. The embedding example gives NewRateLimitMiddleware the same cfg that the Handler was built from.
  • location.go (comment only): the byte-column wording is accurate. In the LSP snippet, lineText[:location.Column-1] assumes Column is at most len(lineText)+1, and the comment doesn't say so. Real code needs a bounds check. That's fine for an illustration.
  • doc.go: the edits stay clear of the Version = line that docs(release): prepare v1.16.0 #845 changes, as you intended.

Minor suggestions (non-blocking)

  1. pkg/models/location.go: add a short "clamp Column-1 to len(lineText)" remark, or a bounds check in the snippet, so readers don't copy a possible panic.
  2. README.md Multi-dialect bullet: it is now long. Consider moving the "11 accepted names" detail to the compatibility page and keeping the README to one sentence. This is a style choice.
  3. docs/README.md still has an older "Multi-Dialect" bullet further down that now lists 8 dialects. The first bullet names generic, bigquery and redshift and the later one doesn't. That is acceptable, but the two are inconsistent.
  4. The README headline says "8 dialects" and the flag accepts 11 names. The PR explains why, so I'd keep the new sentence prominent.
  5. Merge note: the expected MIGRATION.md and vscode-extension/CHANGELOG.md conflicts with docs(release): prepare v1.16.0 #845 are easy to resolve. Merge docs(release): prepare v1.16.0 #845 first, or rebase this PR afterwards and keep both sections with v1.16.0 above v1.15.0.

Performance, security and tests

  • No runtime code changes. Performance is unaffected.
  • No security concerns. The docs now state that embedded MCP servers have no rate limiting by default. That is a useful warning.
  • No test changes. The docs checks and compiled examples in your test plan cover the PR.

@github-actions github-actions Bot added documentation Improvements or additions to documentation cli labels Oct 21, 2026
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Claude finished @ajitpratap0's task in 15s —— View job


Review of PR #848 (docs follow-ups)

I re-read the non-docs diffs after the latest push: doc.go, location.go, check-docs-content.mjs and constants.ts. I did not re-run the website checks or compile the examples. I also did not read the large docs pages line by line (highlight.md, linter.md, lsp.md, MIGRATION.md, the VS Code changelog). The PR body says you verified those.

Verdict: no blocking issues.

What I checked

  • constants.ts: the four new entries follow the existing shape. Slugs and files match the PR description. The Migration summary now covers the upgrade page.
  • check-docs-content.mjs: the skip applies only to the per-release heading rule. It uses join('docs','MIGRATION.md'), so it is portable across OSes. The template literal ${join(...)} is redundant. You can pass join(...) directly.
  • doc.go: the highlight / hl entries and the --dialect notes are consistent with each other. The edits stay clear of the Version = line that docs(release): prepare v1.16.0 #845 changes.
  • location.go (comment only): the byte-column wording is accurate.

Minor suggestions (non-blocking)

  1. pkg/models/location.go: lineText[:location.Column-1] will panic if Column-1 > len(lineText). The snippet doesn't say so. Add a note to clamp, or a one-line bounds check, so readers don't copy a possible panic.
  2. check-docs-content.mjs: simplify to skip: (file) => file.endsWith(join('docs', 'MIGRATION.md')).
  3. docs/README.md and README.md: the multi-dialect wording is now long and inconsistent between the two places. One bullet names the 11 accepted names and an older bullet lists only 8. Consider keeping one sentence in the READMEs and moving the "11 accepted names" detail to SQL_COMPATIBILITY.md.
  4. Merge order: the conflicts with docs(release): prepare v1.16.0 #845 in MIGRATION.md and vscode-extension/CHANGELOG.md are easy to resolve. Keep both sections, with v1.16.0 above v1.15.0.

Performance, security and tests

  • There are no runtime changes, so performance is unaffected.
  • There are no security concerns. The new MCP warning that embedded servers have no rate limiting by default is useful.
  • No test changes are needed. The website checks and compiled examples in your test plan cover the PR.

@ajitpratap0
ajitpratap0 merged commit a769626 into main Oct 21, 2026
36 checks passed
@ajitpratap0
ajitpratap0 deleted the docs/release-followups branch October 21, 2026 18:36
ajitpratap0 pushed a commit that referenced this pull request Oct 22, 2026
…uide

Record the pygosqlx 0.3.0 API and wheels, the gosqlx_version double free,
LSP serverInfo/CLI version reporting, the Python CI and release workflows and
the #848 docs. MIGRATION companion table lists pygosqlx 0.3.0, libgosqlx
exports and the LSP serverInfo version, with matching behaviour-change notes.
Regenerate the v1.16.0 blog page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9
@ajitpratap0 ajitpratap0 mentioned this pull request Oct 22, 2026
12 of 14 tasks
ajitpratap0 added a commit that referenced this pull request Oct 22, 2026
* chore(parser): remove stray parser.go-e backup with conflict markers [vercel skip]

The sed backup file was committed by accident in #791. It is not compiled
but ships in the module zip.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

* chore(release): bump version to 1.16.0 [vercel skip]

gosqlx.Version and the CLI version were still 1.14.0 (v1.15.0 shipped with
them), so gosqlx --version, the MCP server info and /health reported 1.14.0.
Also bumps the VS Code extension, Claude Code plugin and marketplace, glama,
performance baseline label, llms.txt and the site's release badge. pygosqlx
__version__ now matches pyproject (0.2.0).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

* docs(changelog): finalize 1.16.0 release notes [vercel skip]

Turns [Unreleased] into [1.16.0] - 2026-10-21, adds the missing entries for
#734, #735, #780, #786, #789, #790, #791, #826, #835, #836, #837, #840, #841,
#843 and #844, updates the MCP and composite-field entries amended by #841
and #843, adds PR refs, and adds the compare links. The VS Code extension
gets a 1.16.0 entry, and split-changelog.js generates the /changelog page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

* docs: v1.15 to v1.16 migration guide and release doc fixes [vercel skip]

MIGRATION gains a v1.15.0 -> v1.16.0 section with a behaviour-change
checklist. ERROR_CODES documents E4001 dialect gating and the 11 dialect
names. CLI_GUIDE lists --dialect on format, parse, analyze and lint and all
11 dialects. SQL_COMPATIBILITY marks Oracle CONNECT BY/PRIOR and SQL Server
PIVOT as parsed. api/mcp.md matches the current Config and middleware API,
api/models.md drops the nonexistent Location.Offset and documents byte
columns, and HIGHLIGHTING notes ANSI control-character neutralization.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

* chore(website): regenerate sample AST and changelog pages

The website build rewrote both files on main: sample-ast.json gains the
WithOrdinality and ColumnAliases fields from #843, and v1-9-1.md drops the
emoji the changelog splitter strips.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

* docs(release): correct allocation claim, plugin history, E4001 and LoadConfig errors

Address review notes on #845: the lead paragraph understated the perf
audit's allocation cuts, the MIGRATION table listed a v1.15.0 plugin that
never shipped, E4001 also covers LIMIT under SQL Server, and LoadConfig
rejects more trusted-proxy misconfigurations than the API doc listed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

* docs(release): make glama.json match the MCP server

List all 11 validate_sql dialects, describe lint_sql as the 10 rules it
runs (L001-L010; the CLI and SDK have 30), sync tool descriptions with
pkg/mcp/server.go, and drop the unsourced 1.38M ops/sec claim in favour
of a link to the benchmarks page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

* docs(release): add #846-#851 to the v1.16.0 CHANGELOG and migration guide

Record the pygosqlx 0.3.0 API and wheels, the gosqlx_version double free,
LSP serverInfo/CLI version reporting, the Python CI and release workflows and
the #848 docs. MIGRATION companion table lists pygosqlx 0.3.0, libgosqlx
exports and the LSP serverInfo version, with matching behaviour-change notes.
Regenerate the v1.16.0 blog page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

* docs(release): address v1.16.0 release review; add #852

- Release date 2026-10-22 in CHANGELOG, MIGRATION, the extension changelog
  and the generated blog post (re-stamp at tag time if it slips).
- vscode-extension CHANGELOG: Fixed entry for the #846 version reporting.
- CHANGELOG: keep the Behavior changes list tight; name TranspileError and
  the LintResult/SecurityScanResult types in the pygosqlx 0.3.0 entry.
- MIGRATION: PyPI wheels row is conditional on the pygosqlx-v0.3.0 tag.
- Add #852 (sdist builds fail without libgosqlx; release tag lookup skips v1).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

* build(release): replace deprecated goreleaser keys (formats, version_template)

goreleaser check (v2.12.7) flagged archives.format, format_overrides.format
and snapshot.name_template as deprecated; release.yml runs goreleaser
'latest'. Snapshot release dry-run builds all six archives.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

* docs(release): add #853 to the v1.16.0 CHANGELOG

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

* feat(python): version pygosqlx in lockstep with GoSQLX (1.16.0)

pygosqlx wheels bundle libgosqlx built from the same commit, so its version
now matches the GoSQLX release. The first PyPI release is 1.16.0 (it was
0.2.0, never published); no older versions are backfilled.

- pygosqlx-release.yml also publishes on GoSQLX 'vX.Y.Z' tags (the floating
  'v1' tag does not match); 'pygosqlx-v*' stays for Python-only .postN
  releases. Both must match pyproject.toml and be on main.
- pyproject.toml / __version__ 1.16.0; the version test now asserts
  __version__ equals the bundled library's version().
- CHANGELOG, MIGRATION and python/README describe the lockstep scheme.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9

---------

Co-authored-by: Ajit Pratap Singh <ajitpratapsingh@Ajits-Mac-mini-2655.local>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant