Repository navigation
release: 1.6.0 - #136
Merged
Merged
release: 1.6.0#136
Conversation
Prepare index-it-mcp 1.6.0: the mcp 2.x port (#124 with #128, #131 and #127 in #132, re-check fixes in #135), so index-it-mcp co-installs with PMCP 3.x, and the watcher sweep, incremental sync and generation-retention fixes (#114 and #111 in #129, follow-ups in #130). - Bump to 1.6.0 in pyproject, __version__, the project's uv.lock entry, the Release Automation default, both Docker installers, the release docs and the release-gate tests. - Turn [Unreleased] into [1.6.0] - 2026-11-09 (Changed / Fixed / Upgrade notes / Known follow-ups). Upgrade notes: mcp>=2.2,<2.4 is required, so drop any mcp<2 pin; PMCP 3.x co-install; Claude Code negotiates 2026-07-28 without Tasks; the cap widens per re-tested mcp minor; retention is automatic but never prunes pre-upgrade generations. Follow-ups #133, #134, #121, #117. - Docs: 1.6.0 is the prepared candidate, 1.5.1 is published with partial delivered acceptance, and 1.3.0 through 1.5.0 are yanked on PyPI. - The raw JSON-RPC initialize probe now requires serverInfo.version to equal the installed index-it-mcp version (#128), so release smoke guards it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
Contents since 1.5.1
Prepared minor release
index-it-mcp1.6.0, frommainatc2a3451. Full detail is in CHANGELOG## [1.6.0] - 2026-11-09.mcp2.x SDK (Port to the mcp 2.x SDK (co-install with pmcp 3) #124), with STDIO initialize reports the mcp library version instead of the package version #128, grammars prefetch: retry transient GitHub download failures (CI failed on 504) #131 and PMCP pilot: pass a prefetched grammar cache to the fixture (offline acceptance blocked) #127:mcp>=2.2,<2.4(locked at 2.3.0) and addsjsonschemaas a direct dependency;reindexandwrite_summaries, plustasks/get|result|list|cancel;tools/callvalidation adapter keeps the 1.x input validation andisErrorresults;serverInfo.versionis now the package version (STDIO initialize reports the mcp library version instead of the package version #128);grammars prefetchretries transient download failures (grammars prefetch: retry transient GitHub download failures (CI failed on 504) #131);This PR:
pyproject.toml,__version__, the project'suv.lockentry (uv lock --checkpasses), the Release Automation default, both Docker installers, the release docs and the release-gate tests;[Unreleased]into[1.6.0] - 2026-11-09(sections Changed / Fixed / Upgrade notes / Known follow-ups, with an empty[Unreleased]kept on top);v13-release.mdandpublic-package-identity.md:1.2.0and its RCs also declare an unboundedmcpand are not yanked; this is recorded inpublic-package-identity.mdand needs an owner decision;PUBLISHED_VERSION = "1.5.1"stays;YANKED_VERSIONSreplacesUNBOUNDED_MCP_VERSIONS. The docs must say "prepared candidate", "Published1.5.1", "partial", "yanked" andmcp>=2.2,<2.4, and must tell users to remove anymcp<2pin;initializeprobe now requiresserverInfo.versionto equal the installedindex-it-mcpversion. The new contract test fails when a server reports themcplibrary version (2.3.0).Upgrade notes (from the CHANGELOG)
mcp2.x is required (>=2.2,<2.4). Drop anymcp<2pin installed next toindex-it-mcp(the workaround for 1.4.1/1.5.0, and what 1.5.1 requires); it makes the install unresolvable.phase-loop-runtime==0.7.30with a cleanuv pip check. 1.5.1 could not.tasks/*answer-32601. Tools, schemas and results do not change. Clients that negotiate 2025-11-25, such asClientSessionand the PMCP 3.x gateway, keep Tasks.mcpminor at a time. Each new minor is re-tested before the cap is widened, because the Tasks runtime depends on the provisionalServer.middleware.MCP_INDEX_GENERATION_RETENTIONdefault 2, plus the newest failed generation). Pre-upgrade generations are never pruned automatically.MCP_WATCHER_SWEEP_MINUTESas a Watcher sweep treats never-indexed files as drift and triggers a full rebuild every hour #114 workaround can return to the default. Re-run PMCP pilotprepareto getgrammar_cache.Packaging and co-install (dev0, fresh Python 3.12.14 venvs,
--no-config --resolution highest)uv buildproducedindex_it_mcp-1.6.0-py3-none-any.whl(f75278ad…52bbe4df) andindex_it_mcp-1.6.0.tar.gz(64c08dcc…95861242). The wheel declaresRequires-Dist: mcp<2.4,>=2.2andjsonschema>=4.20.0.uv pip checkindex-it-mcp --versionversion 1.6.0serverInfo.version1.6.0, protocol 2025-06-18, 8 toolspmcp>=3,<4mcp>=2.2,<3)version 1.6.0serverInfo.version1.6.0, 8 toolsphase-loop-runtime==0.7.30version 1.6.0serverInfo.version1.6.0, 8 toolsIn every venv,
grammars prefetchverified 47/47 grammars into a fresh private cache (tree-sitter-language-pack 1.20.0).release_smoke.py --wheel --stdio --unconstrainedon head 4fb4a2d passed, with a freshly prefetched grammar cache (47/47) andMCP_REQUIRE_GRAMMARS=1:serverInfo.version1.6.0 with 8 tools; two STDIO query sessions passed;18717a87…bc71587e2).Tests run (dev0, serial,
nice, one file per invocation, no xdist)Load (~1–2 on 24 cores), memory and I/O pressure were checked first. 75 files, no failures, all on Python 3.12:
tests/docs/test_*.pyfiles, including p23 doc truth, p8, p26, pubname public docs and the identity contract;tests/test_release_notes.py: 4 passedtests/test_release_metadata.py: 27 passedtests/smoke/test_release_smoke_contract.py: 31 passedtests/test_p25_release_gates.py: 7 passedtests/test_requirements_consolidation.pytests/test_workflow_release_policy.py: 42 passedtests/test_localci_workflow_posture.py: 5 passedtests/test_p26_alpha_evidence.py: 6 passedtests/test_v13_pmcp_pilot.py: 167 passed, 1 skippedblack,isortandflake8are clean on the changed Python files. The full suite was not run on dev0; hosted CI covers it.Remaining publish steps (each needs owner approval)
index-it-mcp==1.6.0, the GitHub release and tagv1.6.0,refs/tags/release-claims/v1.6.0and the GHCR candidate image do not exist or are partial. Record the merge commit and tree.Release Automationwithmode=publish,version=v1.6.0,auto_merge=false,expected_commit=<merge sha>,expected_tree=<accepted tree>,--ref main. Never redispatch after a partial failure (see the Publication Gate indocs/operations/v13-release.md).release_smoke.py --wheel-path <PyPI wheel> --wheel-sha256 <registry sha256> --unconstrained --image-ref <ghcr>@sha256:<digest>with a prefetched grammar cache;pip install index-it-mcp==1.6.0, with and withoutpmcp3.x andphase-loop-runtime==0.7.30:uv pip check, plusserverInfo.version1.6.0;prepareand offline. The pilot still uses pmcp 2.7.3 (PMCP pilot: move from pmcp 2.7.3 to 3.x and re-run offline/rehearsal acceptance #133).No tag, dispatch, publish, yank or merge was done in this PR.
🤖 Generated with Claude Code
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.