Skip to content

[pull] canary from vercel:canary - #2088

Merged
pull[bot] merged 5 commits into
MLH-Fellowship:canaryfrom
vercel:canary
Sep 26, 2026
Merged

pull[bot] merged 5 commits into
MLH-Fellowship:canaryfrom
vercel:canary

Conversation

@pull

@pull pull Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

lukesandberg and others added 5 commits September 26, 2026 22:24
## Summary

A dynamically imported local-only ESM module could load through a facade
while static named imports resolved to its locals module. For shared
singletons, that meant two runtime identities. This backs off the facade
split introduced for export mangling in #97770, addressing the
remote-components regression reproduced in #99279.

Modules with actual re-exports still split as before, and unsplit
modules remain eligible for export-name mangling when their names can be
changed safely. Escaping namespaces keep their original export names.
Focused execution coverage checks that mixed dynamic/static imports
register a single module identity; the affected namespace and snapshot
expectations are updated.

## Verification

- `cargo test -p turbopack-tests --test execution` — 311 passed.
- `cargo test -p turbopack-tests --test snapshot` — 132 passed.
- Turbopack ECMAScript unit suite — 590 passed.
- `pnpm build-all`, `cargo fmt --all -- --check`, Prettier and
lint-staged checks passed.
- Both #99279 production Turbopack fixtures passed with shared-singleton
assertions in a disposable checkout; those unmerged fixtures are not
included here.

<!-- NEXT_JS_LLM -->


<!-- fleet faf1202d-c919-4f7d-bb74-d3fe954bbc57 -->

---------

Co-authored-by: vercel-fleet-prod[bot] <318278635+vercel-fleet-prod[bot]@users.noreply.github.com>
Co-authored-by: Luke Sandberg <210140+lukesandberg@users.noreply.github.com>
### Why?

Apps without a Git repository should still be able to use agentic
upgrades, including upgrades started from a configured reminder.

### How?

Check for duplicate work using the repository and provider capabilities
available to the app. Direct the agent to upgrade in place when Git is
absent, and use Git worktrees, commits, and pull requests when
available.

<!-- NEXT_JS_LLM -->
Stacked on #99217.

### Why?

Apps using RC, beta, or numbered preview releases should be able to
upgrade to a newer release on the same prerelease channel. Configured
latest reminders should use the same channel selection as explicit
upgrades.

### How?

Resolve latest targets from the installed channel's npm dist-tag and
require the selected target to stay on that channel. Include RC, beta,
and numbered preview versions in configured latest reminders. Reject
commit-specific preview builds, which have no matching dist-tag, and
keep security and unsupported Future Defaults requests blocked.

<!-- NEXT_JS_LLM -->
Stacked on #99223.

### Why?

Stable security advisories can misclassify prerelease versions because
prerelease ordering does not reliably establish which security fixes
they contain. A blocked upgrade needs a clear way to continue on the
installed channel.

### How?

Explain the advisory limitation in the security error and give the full
`npx next@canary upgrade --ai=latest` command, with instructions to run
it from the app directory. Give unsupported Future Defaults requests the
same latest-channel recovery command.

<!-- NEXT_JS_LLM -->
@pull pull Bot locked and limited conversation to collaborators Sep 26, 2026
@pull pull Bot added the ⤵️ pull label Sep 26, 2026
@pull
pull Bot merged commit 447d9cb into MLH-Fellowship:canary Sep 26, 2026
3 of 5 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants