Repository navigation
fix(lsp,cli,ci): report the real version from LSP and release binaries - #846
Merged
Merged
Conversation
- LSP initialize now returns gosqlx.Version as serverInfo.version instead of the hard-coded "1.0.0". - gosqlx --version reads the cmd.Version variable, so release builds can stamp it with -X .../cmd/gosqlx/cmd.Version=<tag>; dev builds keep the hard-coded default. - vscode-publish stamps the bundled gosqlx binary with the tag version and the smoke test asserts it. - goreleaser: drop the no-op -X main.version ldflag (the example tools define no such variable). - test.yml: resolve the latest GoSQLX tag explicitly and pin it with go mod edit instead of an unpinned go get (Scorecard alert #315). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
|
Claude finished @ajitpratap0's task in 23s —— View job Review of PR #846The change is small, correct and well scoped. I found no blocking issues. I read the diff and the What I checked
Minor suggestions (non-blocking)
Test coverage: adequate for the change. The CI-workflow changes can only be validated by running them, so the unchecked "CI green" item is the remaining gate. LGTM pending CI. |
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
12 of 14 tasks
ajitpratap0
pushed a commit
that referenced
this pull request
Oct 22, 2026
- 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
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Makes the version that GoSQLX reports match the release.
initializenow returnsgosqlx.VersionasserverInfo.version. It used to return a hard-coded"1.0.0"(pkg/lsp/handler.go).pkg/lspalready importedpkg/gosqlx, so the import direction does not change.gosqlx --versionnow reads thecmd.Versionvariable throughrootCmd.Version = Versionininit(). Release builds can set it with-X github.com/ajitpratap0/GoSQLX/cmd/gosqlx/cmd.Version=<tag>. A plaingo buildstill prints the hard-coded default.gosqlxbinary gets the tag version (${RELEASE_TAG#v}, checked against semver, passed in throughenv). The linux-x64 smoke test now fails if--versiondoes not printgosqlx version <tag>.-X main.version={{.Version}}. GoReleaser only buildsexamples/sql-validatorandexamples/sql-formatter, and neither definesmain.version, so the flag did nothing.go get ...@latestwithout a pinned version. It now finds the latest tag withgo list -m ...@latest, logs it, pins it withgo mod edit -require, then runsgo mod tidy, which checks the module against sum.golang.org. The job still tests the newest tagged release.Design decisions (scoped worker, conservative choice)
cmd/gosqlxbuild was added to GoReleaser. That would change the release asset set (gosqlx_tools_*archives) during a release hold. If you want the CLI in GitHub release archives, add it in a later PR with the same-X .../cmd.Version={{.Version}}ldflag.gosqlx.Version, aconstinpkg/gosqlxthat-Xcannot override. It is not built with ldflags anywhere (deploy-mcp builds from source at the tagged commit). It already reports the library version, which PR docs(release): prepare v1.16.0 #845 bumps. I left it alone because changing the publicconstto avarwould break the API.rootCmd.Versionininit()and did not edit theVersion: "1.14.0"literal, so this PR does not conflict with the release PR docs(release): prepare v1.16.0 #845, which edits that line. The literal is now overridden at init. Removing it later is optional cleanup.Code-scanning alerts left open (no upstream fix, or repo settings outside this PR's scope)
golang.org/x/crypto/openpgpis unmaintained; no fixed version), GHSA-vfj7-8cjw-p6xm (braces, last affected 3.0.3, no fix), GHSA-hp3w-g68c-fv3c (sprintf-js, last affected 1.1.3, no fix).Test Plan
gofmt,go vet,golangci-lint run ./pkg/lsp/... ./cmd/gosqlx/...(0 issues)go test -race ./pkg/lsp/ ./cmd/gosqlx/...passes. New assertions: initialize returnsgosqlx.Version(pkg/lsp/server_test.go), androotCmd.Version == Version(cmd/gosqlx/cmd/version_test.go)go build ./cmd/gosqlx && ./gosqlx --versionprintsgosqlx version 1.14.0(the dev default)go build -ldflags "-s -w -X github.com/ajitpratap0/GoSQLX/cmd/gosqlx/cmd.Version=9.9.9"printsgosqlx version 9.9.9. A Windows cross-compile with the same ldflags also builds.v1.15.0, then build and run succeededgoreleaser check. The YAML change only removes the ldflag argument.Breaking Changes
None. LSP clients now see the real library version in
serverInfo.versioninstead of1.0.0.Release note
serverInfo.versioninstead of a hard-coded1.0.0. Thegosqlxbinary bundled with the VS Code extension now prints the release tag fromgosqlx --version. The CLI version can be stamped at build time with-ldflags "-X github.com/ajitpratap0/GoSQLX/cmd/gosqlx/cmd.Version=<version>".🤖 Generated with Claude Code
https://claude.ai/code/session_01RkzVu3JY9Y6BRWfjesWts9