This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/python@4.3.0
### Minor Changes
- support newer python versions
([#11675](https://github.com/vercel/vercel/pull/11675))
## @vercel/build-utils@8.2.1
### Patch Changes
- [node] update node@16 deprecation day
([#11671](https://github.com/vercel/vercel/pull/11671))
## vercel@34.2.4
### Patch Changes
- Updated dependencies
\[[`3eb9d8c89`](3eb9d8c892),
[`83741a0eb`](83741a0eb9)]:
- @vercel/python@4.3.0
- @vercel/build-utils@8.2.1
- @vercel/node@3.1.6
- @vercel/static-build@2.5.10
## @vercel/client@13.2.8
### Patch Changes
- Updated dependencies
\[[`83741a0eb`](83741a0eb9)]:
- @vercel/build-utils@8.2.1
## @vercel/gatsby-plugin-vercel-builder@2.0.32
### Patch Changes
- Updated dependencies
\[[`83741a0eb`](83741a0eb9)]:
- @vercel/build-utils@8.2.1
## @vercel/node@3.1.6
### Patch Changes
- Updated dependencies
\[[`83741a0eb`](83741a0eb9)]:
- @vercel/build-utils@8.2.1
## @vercel/static-build@2.5.10
### Patch Changes
- Updated dependencies \[]:
- @vercel/gatsby-plugin-vercel-builder@2.0.32
## @vercel-internals/types@1.0.37
### Patch Changes
- Updated dependencies
\[[`83741a0eb`](83741a0eb9)]:
- @vercel/build-utils@8.2.1
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
When we added the option of getting `al2023` in addition to `al2`, this required a python version bump for those apps on `al2023`. Python 3.10 had a breaking minor change. https://github.com/vercel/vercel/pull/11541 mostly fixed it, with some comments.
OP hasn't replied to feedback on that PR, so I've take it over from them.
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## vercel@34.2.3
### Patch Changes
- Don't create streaming lambdas for pages router routes
([#11660](https://github.com/vercel/vercel/pull/11660))
- Updated dependencies
\[[`c9d53d4e3`](c9d53d4e3e),
[`5f561f8cf`](5f561f8cfa)]:
- @vercel/next@4.2.14
## @vercel/next@4.2.14
### Patch Changes
- Don't create streaming lambdas for pages router routes
([#11660](https://github.com/vercel/vercel/pull/11660))
- Ensure user rewrites still match to action outputs
([#11628](https://github.com/vercel/vercel/pull/11628))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
The builder normalizes user rewrites that target pages that have special outputs (`.rsc`, `.prefetch.rsc`). When we added support for `.action` outputs, we need to perform this same normalization to ensure that user rewrites still match. If the rewrite was a greedy match (eg `/:path*`) it'd be ok, but more specific rewrites would have the issue.
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## vercel@34.2.2
### Patch Changes
- Fix related to erroring when a prefetch route is not provided but the
route is PPR enabled
([#11638](https://github.com/vercel/vercel/pull/11638))
- Updated dependencies
\[[`8e44ef5b9`](8e44ef5b9d),
[`61e6af374`](61e6af3740)]:
- @vercel/next@4.2.13
## @vercel/next@4.2.13
### Patch Changes
- Fix static case for detecting when a page supports PPR
([#11635](https://github.com/vercel/vercel/pull/11635))
- Fix related to erroring when a prefetch route is not provided but the
route is PPR enabled
([#11638](https://github.com/vercel/vercel/pull/11638))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
When PPR is enabled in incremental mode, the previous code used the page information to determine if there was a failure for generating the flight data. This has been moved to the app PPR setting instead.
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## vercel@34.2.1
### Patch Changes
- Support incremental PPR for large applications
([#11625](https://github.com/vercel/vercel/pull/11625))
- Updated dependencies
\[[`73e558913`](73e558913a)]:
- @vercel/next@4.2.12
## @vercel/next@4.2.12
### Patch Changes
- Support incremental PPR for large applications
([#11625](https://github.com/vercel/vercel/pull/11625))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Previously, PPR was either all on, or all off. As we've added support for incremental adoption of PPR, the logic for determining if there's a grouping issue had to be adjusted.
This now only considers a group as supporting PPR if a route in the group supports PPR. As we also use this as a grouping key, this still ensures we won't have conflicts.
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/build-utils@8.2.0
### Minor Changes
- fix corepack detection for package manager version determination
([#11596](https://github.com/vercel/vercel/pull/11596))
### Patch Changes
- Fix triggering of ignored project settings node version warning
([#11550](https://github.com/vercel/vercel/pull/11550))
## vercel@34.2.0
### Minor Changes
- Stop sending system environment variables in dev
([#11526](https://github.com/vercel/vercel/pull/11526))
### Patch Changes
- Updated dependencies
\[[`d3c1267e2`](d3c1267e24),
[`ccd7eb1fb`](ccd7eb1fb7)]:
- @vercel/build-utils@8.2.0
- @vercel/node@3.1.5
- @vercel/static-build@2.5.9
## @vercel/client@13.2.7
### Patch Changes
- Updated dependencies
\[[`d3c1267e2`](d3c1267e24),
[`ccd7eb1fb`](ccd7eb1fb7)]:
- @vercel/build-utils@8.2.0
## @vercel/gatsby-plugin-vercel-builder@2.0.31
### Patch Changes
- Updated dependencies
\[[`d3c1267e2`](d3c1267e24),
[`ccd7eb1fb`](ccd7eb1fb7)]:
- @vercel/build-utils@8.2.0
## @vercel/node@3.1.5
### Patch Changes
- Updated dependencies
\[[`d3c1267e2`](d3c1267e24),
[`ccd7eb1fb`](ccd7eb1fb7)]:
- @vercel/build-utils@8.2.0
## @vercel/static-build@2.5.9
### Patch Changes
- Updated dependencies \[]:
- @vercel/gatsby-plugin-vercel-builder@2.0.31
## @vercel-internals/types@1.0.36
### Patch Changes
- Updated dependencies
\[[`d3c1267e2`](d3c1267e24),
[`ccd7eb1fb`](ccd7eb1fb7)]:
- @vercel/build-utils@8.2.0
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
The previous logic was checking for the env var `ENABLE_EXPERIMENTAL_COREPACK` to determine if corepack was being used by a project. However, this value only means that the build system should consider corepack, not that it's actively being used.
We need to check that flag AND the existence of a `packageManager` property in the project's `package.json`.
System environment variables would get set with empty strings in development which breaks some builds. This fixes that by using the v2 of `/env/pull` introduced in https://github.com/vercel/api/pull/27777.
There were scenarios where the warning "Node.js Version defined in your Project Settings ("18.x") will not apply" would not be triggered. For example:
1. Project Setting is 18.x
2. package.json has "engines.node": ">=18.x"
3. semver.intersects('18.x', '>=18.x') // => true (In this [code path](8ea93839cc/packages/build-utils/src/fs/run-user-scripts.ts (L258))) -> No warning message that Node.js Version was changed
4. After the error message we evaluate the latest node Version to use (20.x) in getSupportedNodeVersion()(this [code path](8ea93839cc/packages/build-utils/src/fs/run-user-scripts.ts (L274)))
5. User doesn't get notified that we changed the node version to something different than their project setting
This fixes that scenario by getting the supported node version first.
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/build-utils@8.1.3
### Patch Changes
- [build-utils] log more around package manager detection
([#11594](https://github.com/vercel/vercel/pull/11594))
## vercel@34.1.14
### Patch Changes
- Updated dependencies
\[[`ad6945435`](ad69454352)]:
- @vercel/build-utils@8.1.3
- @vercel/node@3.1.4
- @vercel/static-build@2.5.8
## @vercel/client@13.2.6
### Patch Changes
- Updated dependencies
\[[`ad6945435`](ad69454352)]:
- @vercel/build-utils@8.1.3
## @vercel/gatsby-plugin-vercel-builder@2.0.30
### Patch Changes
- Updated dependencies
\[[`ad6945435`](ad69454352)]:
- @vercel/build-utils@8.1.3
## @vercel/node@3.1.4
### Patch Changes
- Updated dependencies
\[[`ad6945435`](ad69454352)]:
- @vercel/build-utils@8.1.3
## @vercel/static-build@2.5.8
### Patch Changes
- Updated dependencies \[]:
- @vercel/gatsby-plugin-vercel-builder@2.0.30
## @vercel-internals/types@1.0.35
### Patch Changes
- Updated dependencies
\[[`ad6945435`](ad69454352)]:
- @vercel/build-utils@8.1.3
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/build-utils@8.1.2
### Patch Changes
- add log to package manager version detection
([#11592](https://github.com/vercel/vercel/pull/11592))
## vercel@34.1.13
### Patch Changes
- Updated dependencies
\[[`1682ad43d`](1682ad43d0)]:
- @vercel/build-utils@8.1.2
- @vercel/node@3.1.3
- @vercel/static-build@2.5.7
## @vercel/client@13.2.5
### Patch Changes
- Updated dependencies
\[[`1682ad43d`](1682ad43d0)]:
- @vercel/build-utils@8.1.2
## @vercel/gatsby-plugin-vercel-builder@2.0.29
### Patch Changes
- Updated dependencies
\[[`1682ad43d`](1682ad43d0)]:
- @vercel/build-utils@8.1.2
## @vercel/node@3.1.3
### Patch Changes
- Updated dependencies
\[[`1682ad43d`](1682ad43d0)]:
- @vercel/build-utils@8.1.2
## @vercel/static-build@2.5.7
### Patch Changes
- Updated dependencies \[]:
- @vercel/gatsby-plugin-vercel-builder@2.0.29
## @vercel-internals/types@1.0.34
### Patch Changes
- Updated dependencies
\[[`1682ad43d`](1682ad43d0)]:
- @vercel/build-utils@8.1.2
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/build-utils@8.1.1
### Patch Changes
- [build-utils] pnpm lockfile testing and fixing
([#11591](https://github.com/vercel/vercel/pull/11591))
## vercel@34.1.12
### Patch Changes
- Updated dependencies
\[[`67afc2608`](67afc26085),
[`2f7a6ed5f`](2f7a6ed5f9)]:
- @vercel/next@4.2.11
- @vercel/build-utils@8.1.1
- @vercel/node@3.1.2
- @vercel/static-build@2.5.6
## @vercel/client@13.2.4
### Patch Changes
- Updated dependencies
\[[`2f7a6ed5f`](2f7a6ed5f9)]:
- @vercel/build-utils@8.1.1
## @vercel/gatsby-plugin-vercel-builder@2.0.28
### Patch Changes
- Updated dependencies
\[[`2f7a6ed5f`](2f7a6ed5f9)]:
- @vercel/build-utils@8.1.1
## @vercel/next@4.2.11
### Patch Changes
- normalize source file locations for special metadata files
([#11579](https://github.com/vercel/vercel/pull/11579))
## @vercel/node@3.1.2
### Patch Changes
- Updated dependencies
\[[`2f7a6ed5f`](2f7a6ed5f9)]:
- @vercel/build-utils@8.1.1
## @vercel/static-build@2.5.6
### Patch Changes
- Updated dependencies \[]:
- @vercel/gatsby-plugin-vercel-builder@2.0.28
## @vercel-internals/types@1.0.33
### Patch Changes
- Updated dependencies
\[[`2f7a6ed5f`](2f7a6ed5f9)]:
- @vercel/build-utils@8.1.1
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Both `pnpm@6` and `pnpm@7` can parse lockfile versions `5.3` and `5.4`, but if there's a mismatch, `pnpm` will output a warning saying so. In order to prevent confusing warnings from being displayed to the user, this PR aligns the pnpm version with the exact lockfile verison.
It also adds a debug log to show which package manager version was determined based on the lockfile version.
When specifying a functions configuration in `vercel.json`, we attempt to find source files for all entrypoints. This attempts to normalize those source paths for some special cases so that we don't show a build warning for completely normal usage.
- `/_not-found` is an entrypoint automatically inserted by Next.js -- if we don't find a source file for it, don't warn, as the user might not have added one
- special metadata files like `favicon.ico` and `opengraph-image.<ext>` will be bundled as `favicon.ico/route.js` but the source file will be the raw extension.
The code we use to detect the version of `pnpm` based on lockfiles is hard to follow. It doesn't pick and executable, it instead of *sometimes* overrides the `PATH` for these utilities with a prepended alternate path.
This means that there is no one single place where we definitively specify which version of `pnpm` that is used, so much as *hope* that the `PATH` has the correct version on it. I don't know that we *can* specify an executable outside of the build container, and it's unclear, since this is a package, whether this utility is used outside of a build container setting.
In this pull request I cleaned up the code and updated the logic to include the `pnpm 7` and `pnpm 8` changes requested, with no changes yet to implement `pnpm 9`.
It's possible that we want to rewrite this detection logic from scratch to avoid this roundabout way of "finding" the executable, but I haven't done that here.
`@vercel/remix@2.9.2` is broken, but that's the version that tries to
get installed from the `^` caret. For now, explicitly use the
`2.9.2-patch.2` release which works correctly.
When rewriting requests that contain a `next-action` header to a `.action` output, we should do so only in the case where the RSC header isn't present. When a Next.js server action triggers a `redirect`, an intra-app RSC request will be made to that requested URL, with the `next-action` header still present. This means the intra-app request will be incorrectly rewritten, when we only intended to handle the actual action request.
This was patched in Next.js in the following PR:
- https://github.com/vercel/next.js/pull/65615
But it seems like a good idea to be resilient to this here as well.
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/functions@1.0.2
### Patch Changes
- Convert package to CommonJS
([#11569](https://github.com/vercel/vercel/pull/11569))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
The package was not working because it is using ESM syntax, but the
`package.json` did not have `"type": "module"`.
Anyways, for broader compatibility, let's use CommonJS.
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## vercel@34.1.10
### Patch Changes
- Updated dependencies
\[[`119f80e96`](119f80e961),
[`11584b0e9`](11584b0e9b),
[`3023122d4`](3023122d4e),
[`0e774b6be`](0e774b6be0)]:
- @vercel/next@4.2.9
- @vercel/static-build@2.5.4
## @vercel/next@4.2.9
### Patch Changes
- Support incremental partial prerendering
([#11560](https://github.com/vercel/vercel/pull/11560))
- ensure `.action` outputs are created for edge functions
([#11568](https://github.com/vercel/vercel/pull/11568))
- ([#11566](https://github.com/vercel/vercel/pull/11566))
## @vercel/static-build@2.5.4
### Patch Changes
- Fix `Cannot read properties of null` error
([#11559](https://github.com/vercel/vercel/pull/11559))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Since we're rewriting `next-action` requests to `.action` outputs, we need to ensure that we also duplicate the edge function handler for it.
This runs all of the existing Node runtime tests in the Edge runtime as well. However, there's a discrepancy in how `x-vercel-cache` is returned, so for now we instead validate that its responding with `x-edge-runtime`.
This fixes the logic that detects if partial prerendering (PPR) has been
enabled for a project. The new incremental adoption pathway allows
setting the `experimental.ppr = 'incremental'` which the previous code
did not support.