Repository navigation
chore(deps): update dependency @modelcontextprotocol/client to v2.4.0 - #4478
Merged
ScriptedAlchemy merged 19 commits intoOct 25, 2026
Merged
Conversation
|
Remove the host-bundle byte ceiling and its CI enforcement, plus the workflow-artifact payload ceiling. Preserve content digests and declared length verification while allowing large artifacts through installation, repair, replay, and storage. Use PAX release archives so tar packaging does not impose USTAR's per-entry size ceiling. Add lifecycle and persistence coverage above the former size limits.
Contributor
Author
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
ScriptedAlchemy
enabled auto-merge
October 23, 2026 22:42
…xtprotocol-client-2.x-lockfile
Preserve a convergence pass when live projection consumes a wake while a summary page is running. Requeue after the page completes so the inner projection loop cannot consume the follow-up work again. Add a controlled regression covering page completion, admission, and cancellation. Keep the original background-summary fixture intact.
Keep convergence owed by a consumed live wake local to the summary worker. A summary-only follow-up must not invoke the projector or count as another projection pass. Verify the unchanged coalescing regression, 49 scheduler tests, the committed-frontier background-summary regression, and the Bazel rustfmt check.
ScriptedAlchemy
disabled auto-merge
October 24, 2026 16:08
ScriptedAlchemy
enabled auto-merge (squash)
October 24, 2026 16:55
1 task
This was referenced Oct 25, 2026
auto-merge was automatically disabled
October 25, 2026 01:30
Head branch was modified
The fake cursor-agent in the LCM effects tests ran under a 5 s provider timeout, the smallest admitted value. On a loaded runner the /bin/sh child is starved past 5 s, the provider kills it, and the session is parked as cursor_agent_unavailable until the summarizer binding changes. The test then waits out its 30 s poll for summaries that can never publish. Use the provider default budget so the stand-in is not killed by scheduling delay. The polling waits are unchanged. Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
This was referenced Oct 25, 2026
This was referenced Oct 25, 2026
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.
Merge #4478 first, followed by #4526, #4510, #4524, #4489, #4485, #4527, #4528, #4530, #4531, #4529, #4534, and #4541.
This PR is number 1 of 13, based on
master. Merge #4526 next.#4521 has already merged into this branch.
Use merge commits. After merging a parent PR, change its child's base to
masterbefore merging the child. Auto-merge is disabled.Update
@modelcontextprotocol/clientfrom2.3.1to2.4.0and rebuild the embedded extension bundles.2.3.1→2.4.0Upstream release notes
modelcontextprotocol/typescript-sdk (@modelcontextprotocol/client)
v2.4.0Compare Source
Minor Changes
#3057
c05225aThanks @steipete! -ServerEventtakes optionalparams, which thesubscriptions/listenrouter delivers with its own subscription ID, so a gateway can forward change notifications with their_metaand extension params.#3047
46d9c99Thanks @KKonstantinov, @tobi-oye, @mattzcarey! - Add the Skills extension (SEP-2640), reachable through newext/skillssubpaths; package root exports are unchanged.@modelcontextprotocol/server/ext/skills:SkillsExtension(attach(server)servesskills/list,skills/get,resources/directory/readand askill://{+path}resource template),SkillsExtension.load(files)returning aSkillCatalogwithentriesandreload(), theSkillFilesstorage adapter withmemorySkillFiles,SkillSourcefor generated catalogs,skillEntry, andSkillCatalogError. Invalid skills are skipped with a warning (onWarning), or fail understrict. A file whose bytes are valid UTF-8 is served astext, whatever its MIME type; any other file as a base64blob.@modelcontextprotocol/server/ext/skills/node:loadSkills(folder)andnodeSkillFiles(folder).@modelcontextprotocol/client/ext/skills:SkillsClientwithlist()(throws on an invalid entry;skipInvalid: truekeeps the valid ones and returns the rest ininvalid),get(),read(skill, path?)(size, digest andSKILL.mdfrontmatter verified,SkillVerificationErroron a mismatch; a copy from the response cache that fails a check is fetched once more withcacheMode: 'refresh'first) andreadDirectory().@modelcontextprotocol/core/ext/skills: schemas, types and constants, includingSKILL_LIMITS. The result schemas follow the stable spec, sottlMsandcacheScopeare required.SkillsExtension.attachis@experimental: how an extension is wired to a server may change in a minor release. The rest of the Skills API is stable.Works on 2025-11-25 and 2026-07-28. On 2026-07-28 only, the server sends the caching fields (
ttlMs,cacheScope), andSkillsClientrequires them and returns them fromlist(),get()andreadDirectory().Patch Changes
#3083
ef38c67Thanks @claude! - The bundled Ajv validator is now built with fast-uri 3.1.8 (was 3.1.0). fast-uri 3.1.6 and later reject a$idor$refwhose text before the first colon is not a valid URI scheme (my_tool:output), or whose URN namespace is not valid (urn:my_tool:output): a schema that uses one no longer compiles, and a tool that carries it fails with an invalid-schema error. An underscore without a colon (my_tool_output) and a$refinto#/$defs/...or#/definitions/...are not affected.#2960
43c45f4Thanks @claude! - A server whose tool putsx-mcp-headeron anumber-typed parameter keeps checking that tool'sMcp-Param-*headers ontools/call, as 2.3.0 does: a header that is missing for a value in the body, or that disagrees with the body, is answered400with JSON-RPC error-32020. Clients on a 2026-07-28 connection other than stdio no longer list such a tool and send noMcp-Param-*headers for it, so a call that carries a value for a declared parameter is rejected the same way; the server logs a warning each time tools are listed. Use an integer (z.int()) or remove the annotation.#3081
5820f79Thanks @claude! - A tooloutputSchemawhose root is a$refto atype: "object"entry of its own$defsordefinitions(what zod writes forz.object({...}).meta({ id })), or a union of such refs, is now treated as an object schema. On 2025-era connections the tool's schema andstructuredContentare no longer wrapped in{ result: ... }, so a 2025-era client that readstructuredContent.resultfor such a tool now readsstructuredContent. On every era the advertised schema gainstype: "object"at its root.#3057
c05225aThanks @steipete! - Connecting aServerorMcpServerto aPerRequestHTTPServerTransportclassified at a modern revision thatsupportedProtocolVersionslists and the SDK implements now binds that revision, instead of answering-32022.#3005
b381559Thanks @chaeyn! - Reflect resource and resource templateupdate({ title })changes in list responses. Preserve other metadata and individual resource titles when a template supplies list entries.#3002
895007fThanks @Hugo-DDT! -createMcpHandlernow sendsAllow: POSTon every405it answers to a non-POST request, withlegacy: 'stateless'(the default) and withlegacy: 'reject'.#2762
b022522Thanks @pcarleton! -x-mcp-headeron anumber-typed tool parameter is now rejected, matching the 2026-07-28 spec ("Parameters with typenumberare not permitted"; clients MUST exclude such tools fromtools/list). Previouslynumberwas accepted only to satisfy an older conformance fixture that has since been corrected.integer,stringandbooleanare unaffected.Updated dependencies [
46d9c99]:Renovate settings
Renovate can create this branch at any time. No auto-merge schedule is set. Auto-merge is disabled, so merge the PR manually after review.
Renovate rebases the branch when it conflicts or when you select the checkbox below. Close this PR to stop reminders for this update.
This PR was generated by Mend Renovate. View the repository job log.
Session scheduler repair
Commit dc524ef9 fixes a lost convergence pass found during the Linux fleet failure in
refresh_begins_at_the_committed_frontier_after_background_summaries_publish.During summary processing, temporal projection could consume a wake while the current summary page still used earlier inputs. If neither operation reported more work, the worker went idle without another convergence pass. The worker now retains the needed pass locally and requeues it after the running page finishes. Both successful completion paths share that step. Admission and cancellation behavior stay unchanged.
Repair validation
git diff --checkpassed.The recorded test command was:
cargo test --locked -p tracedecay-session-runtime \ --features tracedecay-rusqlite-runtime/test-runtime \ --lib -- --test-threads=1Compilation used one job, no debug information or incremental compilation, no test optimization, and 256 codegen units for
asupersync. The final run setTMPDIRto its isolated fixture directory.Readiness fixture validation
At
be21c0c070c591d9b20b5072d1f1c9edf611ae9c, canonical Bazel runtime acceptance passed 139 tests, with the affected formatting check. Invocation:60a5ed65-4329-4943-b174-a4bc6d043094. The readiness wait uses the existing status authority and readiness budget before pagination assertions. The earlierd6cd8688exact and full-suite passes remain historical; this result covers the correction.