chore(release): v1.0.3, and drop the bundle lockfile for a version floor - #99
Merged
Merged
Conversation
Bumps every version location and ships the Claude Desktop extension. The lockfile design from #98 could not work: the bundle is packed during the release that publishes the version it depends on, so `uv lock` in the release commit resolves against a version PyPI does not have yet, and a committed lock could only ever pin the previous release. Replaced with a floor, `scherlok[duckdb,mysql]>=X.Y.Z,<2`, raised on every release and held equal to the package version by tests. Installed extensions now also pick up later 1.x fixes without a reinstall. Cold-cache launch measured at 5.5s with resolution, against 4.3s with a lockfile. Bundle is 204 KB, 4 files.
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.
Ships the Claude Desktop extension from #98, and fixes a design flaw in it.
The flaw
The bundle pinned
scherlok==X.Y.Zand ranuv run --locked. But the bundle is packed during the release that publishes X.Y.Z, souv lockon the release commit cannot resolve — the version is not on PyPI yet — and a committed lockfile could only ever pin the previous release. I hit this on the first bump after merging #98.The fix
A floor instead:
scherlok[duckdb,mysql]>=X.Y.Z,<2, no lockfile, no--locked.tests/test_mcpb.pykeeps it equal to the package version.<2so a future major cannot break installed extensions.cryptography<50guard that protects Intel Macs stays.Release
Version bumped in all seven locations (
pyproject.toml,__init__.py,dbt_project.yml,server.json×2,mcpb/manifest.json,mcpb/pyproject.toml). CHANGELOG, MCP guide and the CONTRIBUTING checklist corrected to describe the floor rather than the lockfile.After merge, tagging
v1.0.3publishes to PyPI and GHCR, republishes to the MCP Registry, and for the first time attachesscherlok-1.0.3.mcpbto the GitHub release.