build: prepare 0.2.0 release metadata - #28
Merged
Conversation
Synchronize the package version to 0.2.0 across pyproject.toml, server.json (server and PyPI package coordinates), uv.lock, and the README pinned install example. Convert the accumulated Unreleased changelog into the dated 0.2.0 section with its release link, keeping an empty Unreleased landing section per Keep a Changelog. Add the README pinned install example to the release version-sync checklist, which previously omitted it. Co-Authored-By: Claude Fable 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.
Intent
Prepare the captain-approved 0.2.0 release metadata for netixc/stremio-mcp (PR phase only). The captain approved releasing 0.2.0 — superseding an earlier 0.1.1 proposal — once the ANDROID_TV_PORT guard landed, which merged as PR #27; this branch (fm/stremio-mcp-release-readiness-scout, one commit 474edae on top of main 3b453aa) synchronizes release metadata only and deliberately changes no runtime behavior, dependencies, tests, or APIs. Scope: pyproject.toml version 0.2.0; server.json server version and PyPI package version 0.2.0; uv.lock self-package regenerated via 'uv lock' (only the version line changes); README pinned install example 'uvx --from stremio-mcp-server==0.2.0'; CHANGELOG.md converts the accumulated Unreleased notes into '## [0.2.0] - 2026-07-22' (exact heading format enforced by publish.yml), adds the [0.2.0] release-tag link, and deliberately keeps an empty '## [Unreleased]' landing section per Keep a Changelog 1.1.0 even though docs/releasing.md says 'replace' — this was sanctioned; docs/releasing.md step 1 checklist now also lists the README pinned install example, a durable correction for an omission found during the release-readiness scout. Hard prohibition for this phase: no tag, no PyPI publish, no GitHub release, no MCP Registry mutation — tagging v0.2.0 happens only post-merge under a separate authorization; the eventual GitHub release stays marked prerelease per the captain. The release date 2026-07-22 is today's intended release date and is deliberate. Locally proven at 474edae: uv sync --locked; 132 unit tests OK; compileall OK; uv build produced 0.2.0 wheel+sdist whose METADATA declares exactly httpx>=0.28.1 and mcp<2,>=1.28.1 with no requests; ReleaseMetadataTests/CliTests subset OK; server.json valid against the MCP Registry /v0/validate endpoint; wheel console scripts verified; empty-env wheel startup exit 0 in the publish.yml shape; 0.2.0 confirmed absent from PyPI, GitHub tags, and the MCP Registry.
What Changed
0.2.0acrosspyproject.toml,server.json(server and PyPI package versions),uv.lock(self-package), and the README pinned install example (uvx --from stremio-mcp-server==0.2.0).## [Unreleased]notes into## [0.2.0] - 2026-07-22inCHANGELOG.md, added the[0.2.0]release-tag link, and kept an empty## [Unreleased]landing section per Keep a Changelog 1.1.0.docs/releasing.mdstep 1 checklist to also cover the README pinned install example. No runtime behavior, dependencies, tests, or APIs changed; locked setup, 132 unit tests, compileall, anduv build(0.2.0 wheel + sdist) all pass.Risk Assessment
✅ Low: The change is purely release-metadata synchronization to 0.2.0 with no runtime, dependency, test, or API changes; all version strings, the changelog heading/date, and the publish.yml-enforced format are internally consistent and match the authoritative intent.
Testing
Beyond the baseline locked sync, 132-test unit run, and compileall (all OK), I built the package and proved the release metadata as an end user/publish pipeline would experience it: the 0.2.0 wheel+sdist build, its METADATA declaring exactly httpx>=0.28.1 and mcp<2,>=1.28.1 with the two expected console scripts, an empty-env wheel startup exiting 0 in the publish.yml shape, and a simulation of publish.yml's tag/changelog gate for v0.2.0 that passes on the '## [0.2.0] - 2026-07-22' heading and tag link. Cross-file version consistency (pyproject, server.json server+package, uv.lock, README pin) is 0.2.0 everywhere, the empty Unreleased section is preserved, and the PR-phase prohibitions hold (no v0.2.0 git tag, metadata-only diff, no publish/release/registry action). This is a packaging/CLI change with no rendered UI surface, so no screenshot applies; the reviewer-visible evidence is the build artifacts and CLI transcript captured in the evidence file. I did not re-run the live MCP Registry /v0/validate call (network-dependent and outside a metadata diff's needs) — local server.json consistency is fully proven instead. All checks pass with no findings.Evidence: 0.2.0 release-metadata verification transcript
Evidence: Wheel METADATA + empty-env startup
Evidence: publish.yml gate + version consistency
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
uv sync --locked— self-package resolves to stremio-mcp-server==0.2.0uv run --locked python -m unittest discover -s tests -v— 132 tests OKuv run --locked python -m compileall -q src tests— OKuv build— produced dist/stremio_mcp_server-0.2.0-py3-none-any.whl and .tar.gzWheel METADATA inspection — Version: 0.2.0, Requires-Dist exactly httpx>=0.28.1 and mcp<2,>=1.28.1 (no requests), console scripts stremio-mcp / stremio-mcp-server -> stremio_mcp:cliEmpty-env startup in the publish.yml shape —ANDROID_TV_HOST= TMDB_API_KEY= STREMIO_AUTH_KEY= uvx --no-env-file --from <wheel> stremio-mcp-server </dev/nullexit 0Simulated publish.yml 'Verify tag and release notes' logic for GITHUB_REF_NAME=v0.2.0 — tag==v{version}, changelog heading regex matches, date 2026-07-22 valid ISO, [0.2.0] tag link presentCross-file version consistency check — pyproject / server.json server / server.json pypi package / README pin all 0.2.0git tag -l 'v0.2*'empty andgit diff --name-onlyshows metadata-only scope (no src/ or tests/)✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.