chore: merge main (post-#2354/#2095/#1845) into v2-2026-07-28#2374
Open
felixweinberger wants to merge 9 commits into
Open
chore: merge main (post-#2354/#2095/#1845) into v2-2026-07-28#2374felixweinberger wants to merge 9 commits into
felixweinberger wants to merge 9 commits into
Conversation
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
#2354) Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
Brings in #2095 (moduleResolution: bundler, .js-extension removal), #2367 (refresh-retry test), and #2354 (packages/core → core-internal rename; new @modelcontextprotocol/core public Zod-schema package). Conflict resolution: - modify/delete on docs/migration{,-SKILL}.md → kept deleted (#2360); #2354's content re-homed into docs/migration/upgrade-to-v2.md. - modify/delete on examples/{client,server}/ (old layout, removed by #2363) and the .changeset task pair (consumed) → kept deleted. - modify/delete on codemod expressMiddleware{,.test}.ts (removed by #2361) → kept deleted. - 33 file-location conflicts (integration-added files under packages/core/src/{shared,types}/ + test/{shared,types}/) → accepted git's directory-rename suggestion (now in packages/core-internal/). - packages/core/{src/index.ts,eslint.config.mjs} → took main's (the new public schema package). Integration's old-core barrel + wire-layer eslint rules ported into packages/core-internal/. - 41 import-block content conflicts (client, server, middleware, e2e, core-internal, examples) → kept integration's import set, applied main's two transforms (relative .js extension stripped, @modelcontextprotocol/core → core-internal). - codemod transforms/index.ts → 8 transforms; neither expressMiddleware (#2361) nor specSchemaAccess (#2354) remains. - pnpm-lock.yaml → ours (regenerated in the follow-up rename commit). Auto-merged cleanly: codemod importMap.ts (kept both #2361's 5 entries and #2354's schemaSymbolTarget routing), specSchemaNames.ts, .changeset/, CLAUDE.md, typedoc, publish.yml, package.json files.
…ore-internal #2354 renamed packages/core → packages/core-internal and repurposed packages/core/ as the public Zod-schema package. The merge applied that rename to files main knew about; this commit follows through for the ~310 files the integration branch added/modified that #2354 never saw: - git mv packages/core/{src/wire,test/wire,test/corpus, test/packageTopologyPins.test.ts} → packages/core-internal/ (218 files; git's directory-rename detection moved the src/shared/ + test/{shared,types}/ additions in the merge commit but not the integration-only subtrees). - 51 source/test files (client, server, middleware/node, e2e, integration) — `from '@modelcontextprotocol/core'` → `from '@modelcontextprotocol/core-internal'`. - 29 integration-added .changeset/*.md frontmatter entries — same swap. - examples/eslint.config.mjs + test/conformance/eslint.config.mjs — the no-restricted-imports ban targets core-internal now (the new @modelcontextprotocol/core is a public package and is allowed). - packageTopologyPins.test.ts — pin @modelcontextprotocol/core as a public package (exportKeys ['.']) and pin core-internal as private. - pnpm-lock.yaml — regenerated (artifactory-taint = 0). Intentionally NOT swapped (these reference the new public core): packages/codemod/**/*.ts (importMap routing target, importPaths/ mockPaths tests, generated/versions, batchTest), packages/core/**, .changeset/{add-core-public-package,pre.json}.
…files #2095 switched the workspace to moduleResolution: bundler and removed the .js extension from every relative import/export it knew about. The integration branch added/modified ~120 files since the merge-base that #2095 never touched; this sweeps them to the same convention. - 118 files: `from './…/x.js'` → `from './…/x'` (relative imports and re-exports only — package and ajv/dist deep imports unchanged). - 4 files: dynamic `import('./…/x.js')` and inline-import type references — same. Residual relative-.js count after this commit (packages/ test/ examples/, codemod fixtures excluded): 0.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…n-into-integration
🦋 Changeset detectedLatest commit: 7de6b6d The changes in this PR will be included in the next version bump. This PR includes changesets to release 7 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
@modelcontextprotocol/client
@modelcontextprotocol/codemod
@modelcontextprotocol/core
@modelcontextprotocol/server
@modelcontextprotocol/server-legacy
@modelcontextprotocol/express
@modelcontextprotocol/fastify
@modelcontextprotocol/hono
@modelcontextprotocol/node
commit: |
…ngeset frontmatter
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
main(post-#2095/#2367/#2354/#1845) into the integration branch, plus the two follow-up sweeps the merge requires.Motivation and Context
Brings the integration branch up to date with main now that the alpha has shipped. #2354 renamed
core→core-internaland madecorethe public schema package; #2095 switched tomoduleResolution: bundlerand dropped.jsfrom relative imports. Integration's ~65 commits touch many of the same files, so this is one merge + two mechanical sweeps rather than a 65-commit replay.How Has This Been Tested?
Full gates at
2f001e8ad(the .js-sweep tip): typecheck/lint/build, core-internal 1293/1293, core 2/2, client 697, server 350, server-legacy 168, codemod 390, all middleware, integration 348, e2e 2629+155xfail, run:examples 65/65, all conformance legs baseline-clean. Thef7cf6d222merge on top adds only CHANGELOGs + version bumps from #1845.Breaking Changes
None beyond what #2354/#2095 already shipped on main.
Types of changes
Checklist
Additional context
Recommend merging this PR with a merge-commit (not squash) so git records that
mainis an ancestor ofv2-2026-07-28— otherwisegit log v2-2026-07-28..mainkeeps listing #2095/#2354/etc. as "not in integration."Conflict-resolution detail:
logs/agent-reports/67-integration-merge.md. Five items flagged in that report:sdk-shared#2354 landed as a directory rename (auth schemas atcoreroot, no/authsubpath); plan §2 applied with the substitutionsaveTokens(storedTokens, ctx)signatureinvalidLink:falsedid not land — the §2.4 concern is mootclient2026-leg shows 226/0 vs 374 prior —client:allunchanged at 438/0, baseline passes; likely profile scopedocs/superpowers/planning files landed verbatim from v2: codemod iterations, canonical zod schema exports fromsdk-shared#2354