-
Notifications
You must be signed in to change notification settings - Fork 28k
Comparing changes
Open a pull request
base repository: vercel/next.js
base: v14.2.7
head repository: vercel/next.js
compare: v14.2.8
Commits on Aug 30, 2024
-
Configuration menu - View commit details
-
Copy full SHA for a966b83 - Browse repository at this point
Copy the full SHA a966b83View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e1bad0 - Browse repository at this point
Copy the full SHA 0e1bad0View commit details -
backport branch: disable unnecessary CI tasks (#69513)
Frees up some runners and unexpected test failures for features that are not expected to be productionized in v14. Disables: - Turbopack Build tests - PPR dev/prod tests (will throw an error anyway if you attempt to use PPR outside of canary) - Datadog test reporting (to avoid conflicting with our primary reports about test stability) - Docs link verification (backport docs are never going to be changed / productionized)
Configuration menu - View commit details
-
Copy full SHA for 246c6a8 - Browse repository at this point
Copy the full SHA 246c6a8View commit details -
Configuration menu - View commit details
-
Copy full SHA for c4f5339 - Browse repository at this point
Copy the full SHA c4f5339View commit details
Commits on Sep 2, 2024
-
initialize ALS with cookies in middleware (#65008)
### What Cookies set/updated/removed in middleware won't be accessible during the render in which they were set ### Why Middleware will properly set a `set-cookie` header to inform the client of the cookie change, but this means the `AsyncLocalStorage` context containing the cookies value wouldn't be updated until the next time the request headers were parsed. In other words, on the first request the cookie would be sent but wouldn't be available in the `cookies()` context. And then the following request would properly have the cookie values. ### How This uses a proxy on the `ResponseCookies` used in middleware to add a middleware override header with the cookie value. When we instantiate the cached cookies, we merge in whatever headers would have been set by middleware, so that they're available in the same render that invoked middleware. ### Test Plan This changeset adds a test to confirm cookies set/deleted in middleware are available in a single pass. Verified with a deployment [here](https://vtest314-e2e-tests-ldx7olfl1-ztanner.vercel.app/rsc-cookies). Fixes #49442 Closes NEXT-1126
Configuration menu - View commit details
-
Copy full SHA for d99d229 - Browse repository at this point
Copy the full SHA d99d229View commit details -
fix middleware cookie initialization (#65820)
When we provide the `set-cookie` string in `x-middleware-set-cookie`, we need to ensure that multiple values are properly delimited. We also make sure the cookies that get passed into `RequestCookies` aren't in `ResponseCookie` form, to prevent something like `Path=/` from being part of `cookies()`. <!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: - Run `pnpm prettier-fix` to fix formatting issues before opening the PR. - Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide - The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md - Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md - Related issues linked using `fixes #number` - Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md - Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas) - Related issues/discussions are linked using `fixes #number` - e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) - Documentation added - Telemetry added. In case of a feature if it's used or not. - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md - Minimal description (aim for explaining to someone not on the team to understand the PR) - When linking to a Slack thread, you might want to share details of the conclusion - Link both the Linear (Fixes NEXT-xxx) and the GitHub issues - Add review comments if necessary to explain to the reviewer the logic behind a change Closes NEXT- Fixes # -->
Configuration menu - View commit details
-
Copy full SHA for 196f629 - Browse repository at this point
Copy the full SHA 196f629View commit details -
ensure cookies set in middleware can be read in a server action (#67924)
If middleware targets a server action handler and sets or updates a cookie, the newly updated cookie would not be reflected in the `cookies()` response of the action handler In #65008 we fixed a bug where cookies set in middleware were not reflected in the `cookies()` call in a server component from the same request. We did this by introducing a `x-middleware-set-cookie` header, that signaled to downstream handlers that middleware had run on the request & set a cookie. However this handling was only applied to the sealed/read-only cookies. Cookies accessed from a server action use `mutableCookies`, since those aren't frozen as a server action is allowed to modify cookies. This pulls the cookie merge handling into a function and applies the merge to `mutableCookies`. Fixes #67814 Closes NDX-95
Configuration menu - View commit details
-
Copy full SHA for 55cdf2b - Browse repository at this point
Copy the full SHA 55cdf2bView commit details -
fix: merged middleware cookies should preserve options (#67956)
This ensures that cookies merged via `x-middleware-set-cookie` preserve the options that are passed to them. Currently we're only selectively merging in `name` and `value` but really we can just copy the `ResponseCookie` in kind rather than enumerating on select properties.
Configuration menu - View commit details
-
Copy full SHA for 61df8bb - Browse repository at this point
Copy the full SHA 61df8bbView commit details -
Update create-next-app template (#65803)
Updates the `create-next-app` template with a new design by @evilrabbit.     <!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: - Run `pnpm prettier-fix` to fix formatting issues before opening the PR. - Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide - The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md - Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md - Related issues linked using `fixes #number` - Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md - Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas) - Related issues/discussions are linked using `fixes #number` - e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) - Documentation added - Telemetry added. In case of a feature if it's used or not. - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md - Minimal description (aim for explaining to someone not on the team to understand the PR) - When linking to a Slack thread, you might want to share details of the conclusion - Link both the Linear (Fixes NEXT-xxx) and the GitHub issues - Add review comments if necessary to explain to the reviewer the logic behind a change Closes NEXT- Fixes # --> --------- Co-authored-by: Sam Ko <sam@vercel.com>
Configuration menu - View commit details
-
Copy full SHA for 21f0ac2 - Browse repository at this point
Copy the full SHA 21f0ac2View commit details -
Update
create-next-app
template CSS (#66043)Updates the `create-next-app` template CSS to: - Prevent browsers (e.g. Safari) from using synthetic bold font weights - Move CSS variables out of global CSS / Tailwind config, to simplify the process of wiping the default template. <!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: ## For Contributors ### Improving Documentation - Run `pnpm prettier-fix` to fix formatting issues before opening the PR. - Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide ### Adding or Updating Examples - The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md - Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md ### Fixing a bug - Related issues linked using `fixes #number` - Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ### Adding a feature - Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas) - Related issues/discussions are linked using `fixes #number` - e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) - Documentation added - Telemetry added. In case of a feature if it's used or not. - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ## For Maintainers - Minimal description (aim for explaining to someone not on the team to understand the PR) - When linking to a Slack thread, you might want to share details of the conclusion - Link both the Linear (Fixes NEXT-xxx) and the GitHub issues - Add review comments if necessary to explain to the reviewer the logic behind a change ### What? ### Why? ### How? Closes NEXT- Fixes # --> Co-authored-by: JJ Kasper <jj@jjsweb.site>
Configuration menu - View commit details
-
Copy full SHA for a1135cd - Browse repository at this point
Copy the full SHA a1135cdView commit details -
Update create-next-app template CSS (#66233)
Updates `create-next-app` template CSS: - Declares variable font weights in `localFont` options and removes instances of `font-synthesis: none` - Removes Geist font variables from Tailwind config files - Adds fallback sans typefaces to the `body` CSS Co-authored-by: Sam Ko <sam@vercel.com>
Configuration menu - View commit details
-
Copy full SHA for 3120328 - Browse repository at this point
Copy the full SHA 3120328View commit details -
Use classnames to set font family in Tailwind create-next-app templat…
…es (#66374) Replaces inline styles in the Tailwind `create-next-app` templates with classnames to set the font family. Co-authored-by: Sam Ko <sam@vercel.com>
Configuration menu - View commit details
-
Copy full SHA for f06e8c2 - Browse repository at this point
Copy the full SHA f06e8c2View commit details -
[lint] Disable linting using project config for tests (#66145)
During integration testing, previously, calls to `next build` could rely on the project (the Next.js project) level ESLint configuration. In order to correct this, a new `lint` option was added to `nextBuild` that can be passed to enabled linting. If this is `false` or `undefined`, a `--no-lint` argument will be passed to `next build` to prevent it from running.
Configuration menu - View commit details
-
Copy full SHA for a40bc1f - Browse repository at this point
Copy the full SHA a40bc1fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 442807b - Browse repository at this point
Copy the full SHA 442807bView commit details -
feat: enable @typescript-eslint/recommended in create-next-app --type…
…script (#52845) Co-authored-by: eps1lon <sebastian.silbermann@vercel.com>
Configuration menu - View commit details
-
Copy full SHA for c021c2f - Browse repository at this point
Copy the full SHA c021c2fView commit details -
chore(cna): add missing period (#69021)
## Why? I noticed the first `<li>` line is missing a period at the end. 
Configuration menu - View commit details
-
Copy full SHA for f600331 - Browse repository at this point
Copy the full SHA f600331View commit details -
Configuration menu - View commit details
-
Copy full SHA for 55f05c8 - Browse repository at this point
Copy the full SHA 55f05c8View commit details -
fix(create-next-app): link to app dir docs in next-env.d.ts in app di…
…r templates (#68534) Fixes #68533 A link to docs in `next-dev.d.ts` linked to the pages router docs in app router templates. This was confusing, because some sections on this page only work with pages router. This PR fixes that Backport notes: skipped all templates introduced for `--empty` in #65532 --------- Co-authored-by: Sam Ko <sam@vercel.com>
Configuration menu - View commit details
-
Copy full SHA for aa6ef8f - Browse repository at this point
Copy the full SHA aa6ef8fView commit details -
docs: Refactor
next
andcreate-next-app
CLI pages (#68899)Closes: https://linear.app/vercel/issue/DOC-3249/cli-reference-pages Updates the `next` and `create-next-app` CLI pages to follow the reference page template. Moves these pages under "CLI" to match new IA. Backport notes: skipped all templates introduced for `--empty` in #65532 Redirects: #68899
Configuration menu - View commit details
-
Copy full SHA for 1f122b8 - Browse repository at this point
Copy the full SHA 1f122b8View commit details -
Move
create-next-app
public/ assets from local folder→ remote URL (#……66931) To reduce the number of files cloned during `create-next-app`, this PR shifts the SVG assets placed in the `public/` folder to instead by consumed from the Next.js site. Since these are SVG files (vector images), the Image component does _not_ optimize them with image optimization. Image optimization only applies to raster images (like `.png` or `.jpg`). This means it's effectively similar to using the `unoptimized` prop on the `Image` component, which means you don't need to add `remotePatterns` to `next.config.js` – which would be midly annoying for the `create-next-app` starter. I also renamed `file-text.svg` to `file.svg` so the URL is shorter. These assets will be live on .org any minute now.
Configuration menu - View commit details
-
Copy full SHA for 6520b7d - Browse repository at this point
Copy the full SHA 6520b7dView commit details -
[create-next-app]: add font antialiasing to templates (#67425)
This PR adds font antialiasing to all the next.js templates (with css or tw). ### Before  ### After  Co-authored-by: Jiwon Choi <devjiwonchoi@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 423e5e6 - Browse repository at this point
Copy the full SHA 423e5e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 435780a - Browse repository at this point
Copy the full SHA 435780aView commit details -
Support esm externals in app router (#65041)
Support `esmExternals` working in app router `esmExternals` was disabled for app router that most of the packages are picking up the CJS bundles for externals. This PR enables to resolve the ESM bundle for external packages. We have two issues discovered while enabling the flag, any esm external packages will fail in client page SSR and server action. We fixed them by changing the below bundling logics: * When a client page having a async dependency, we can await the page during in rendering * When a server action having a async dependency, we changed the server action entry creation with webpack along with the server client entry creation together, then webpack can handle the modules async propagation properly. Fixes #60756 Closes NEXT-2435 Closes NEXT-2472 Closes NEXT-3225 --------- Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
Configuration menu - View commit details
-
Copy full SHA for f7d4dbd - Browse repository at this point
Copy the full SHA f7d4dbdView commit details -
Remove rsc esm client module extra exports (#65519)
Remove the extra `__esModule` and `$$typeof` export for ESM client module For a client page reference, it changed on server side in renderer: Previous: `{ __esModule, $$typeof, default }` Now: `{ default }` The Module object itself appears as a client reference but it can't be rendered since it's not a real reference. I'm not sure why it was added but I think the right thing for an ESM module is to not treat the module itself as a client reference but only the objects inside of it. E.g. the "default" export. That's what React does upstream for ESM modules. Closes NEXT-3360
Configuration menu - View commit details
-
Copy full SHA for a5def42 - Browse repository at this point
Copy the full SHA a5def42View commit details -
Fix esm property def in flight loader (#66286)
Remove creating client proxy for each ESM export, instead for ESM we create a CJS module proxy for itself and access the property with export name as the actual export. `proxy` is the module proxy that we treat the module as a client boundary. For ESM, we access the property of the module proxy directly for each export. This is bit hacky that treating using a CJS like module proxy for ESM's exports, but this will avoid creating nested proxies for each export. It will be improved in the future. Notice that for `next/dynamic`, if you're doing a dynamic import of client component in server component, and trying to access the named export directly, it will error. Instead you need to align the dynamic import resolved value wrapping with a `default:` property (e.g. `{ default: resolved }`) like what `React.lazy` accepted. Revert #57301 Fixes #66212 x-ref: [slack](https://vercel.slack.com/archives/C04DUD7EB1B/p1716897764858829)
Configuration menu - View commit details
-
Copy full SHA for 6b41071 - Browse repository at this point
Copy the full SHA 6b41071View commit details -
Revert "Fix esm property def in flight loader" (#66727)
This is causing unexpected errors. Reverts #66286
Configuration menu - View commit details
-
Copy full SHA for 6f1418a - Browse repository at this point
Copy the full SHA 6f1418aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9bb06c5 - Browse repository at this point
Copy the full SHA 9bb06c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 336019b - Browse repository at this point
Copy the full SHA 336019bView commit details -
Configuration menu - View commit details
-
Copy full SHA for cb8ccd5 - Browse repository at this point
Copy the full SHA cb8ccd5View commit details -
Warn metadataBase missing in standalone mode or non vercel deployment (…
…#66296) ### What Change the metadataBase missing warning for all cases to only warn in standalone mode or the non-vercel deployment. ### Why In vercel deployments, previous concern was that you might not discover you missed that metadataBase when you deploy. But now we have sth fallback on production deployments. So we only need to warn in non-vercel deployment. Standalone is usually for self-hoist, we always warn users to set the `metadataBase` to make sure the domain can be properly resolved. [x-ref](https://vercel.slack.com/archives/C03S8ED1DKM/p1716926825853389?thread_ts=1716923373.484329&cid=C03S8ED1DKM)
Configuration menu - View commit details
-
Copy full SHA for 503b477 - Browse repository at this point
Copy the full SHA 503b477View commit details -
Fix favicon merging with customized icons (#67982)
### What Support merging the static metadata file conventions `favicon.ico` with other customized metadata icon from the module export. ### Why `favicon.ico` should be displayed everywhere as it's the icon representative of the website for all pages. Any customized `icon` in metadata export `export const metadata` or `export function generateMetadata()` shouldn't override the `favicon.ico` file convention. Fixes #55767 --------- Co-authored-by: hrmny <8845940+ForsakenHarmony@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for ce309b4 - Browse repository at this point
Copy the full SHA ce309b4View commit details -
Always collect static icons for all segments (#68712)
### What Collect static metadata icons from the most leaf node in the component tree, and then add them into resolved metadata icons if there's no icons presented in exported metadata ### Why Previously we collected the icons from the last item from collected metadata items as last segment in the tree. But it doesn't act like that when there's parallel routes, so we collect the last presented static metadata icons from the metadata item list and then merge into the resolved metadata at the end. Fixes #68650
Configuration menu - View commit details
-
Copy full SHA for 26ddcdf - Browse repository at this point
Copy the full SHA 26ddcdfView commit details -
feat: facebook metadata (#65713)
Add support for the `fb:app_id` & `fb:admins` meta tag in the generateMetaData function --------- Co-authored-by: Sam Ko <sam@vercel.com> Co-authored-by: Jiachi Liu <inbox@huozhi.im>
Configuration menu - View commit details
-
Copy full SHA for 144aec7 - Browse repository at this point
Copy the full SHA 144aec7View commit details -
Fix next-swc native binary write in tests (#64744)
## What? In the past folks on the team have reported that anytime the SWC / Turbopack binary changes they had to suddenly run `pnpm build-native` in `packages/next-swc`, even though they didn't build from source before. While investigating optimizing packing for tests I found that it's copying the native binary into the original repository not the temporary repository, which then keeps the file there, even after the tests finish. This fixes the path to use the tmp repository instead. <!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: ## For Contributors ### Improving Documentation - Run `pnpm prettier-fix` to fix formatting issues before opening the PR. - Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide ### Adding or Updating Examples - The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md - Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md ### Fixing a bug - Related issues linked using `fixes #number` - Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ### Adding a feature - Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas) - Related issues/discussions are linked using `fixes #number` - e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) - Documentation added - Telemetry added. In case of a feature if it's used or not. - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ## For Maintainers - Minimal description (aim for explaining to someone not on the team to understand the PR) - When linking to a Slack thread, you might want to share details of the conclusion - Link both the Linear (Fixes NEXT-xxx) and the GitHub issues - Add review comments if necessary to explain to the reviewer the logic behind a change ### What? ### Why? ### How? Closes NEXT- Fixes # --> Closes NEXT-3157
Configuration menu - View commit details
-
Copy full SHA for 8fe7ec1 - Browse repository at this point
Copy the full SHA 8fe7ec1View commit details -
Speed up createNext test suite isolation (#64909)
Before: 25.71s  After: 11.05s (-57%)  Currently the system for isolation looks like this: - Copy `packages` folder to an isolated directory - Run `pnpm pack` for all folders in `packages` - Collect the pack files, add them as `dependencies` in package.json of the isolated application - Run `pnpm install` Because the `next-swc` (Turbopack + SWC, yes we still need to rename the package) binary file is quite large in development (900MB+) it means we have to copy, then zip (pnpm pack), then unzip (pnpm install) that binary, which takes about 3+ seconds in each step. The change in this PR is to skip the copy/zip/unzip completely by providing the folder path for the binary directly to Next.js, as it's a binary we don't need the special isolation for this, it's already standalone so running it directly allows us to skip 14,6 seconds of work that is required for each isolated test in development. This will likely have little effect on CI times as we already do some tricks like only running the packing at the start of the CI process. Only thing that could be better and is probably worth doing is adopting this change for the time it saves for unzipping, that's almost 4 seconds per test still. <!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: - Run `pnpm prettier-fix` to fix formatting issues before opening the PR. - Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide - The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md - Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md - Related issues linked using `fixes #number` - Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md - Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas) - Related issues/discussions are linked using `fixes #number` - e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) - Documentation added - Telemetry added. In case of a feature if it's used or not. - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md - Minimal description (aim for explaining to someone not on the team to understand the PR) - When linking to a Slack thread, you might want to share details of the conclusion - Link both the Linear (Fixes NEXT-xxx) and the GitHub issues - Add review comments if necessary to explain to the reviewer the logic behind a change Closes NEXT- Fixes # --> Closes NEXT-3200 --------- Co-authored-by: JJ Kasper <jj@jjsweb.site>
Configuration menu - View commit details
-
Copy full SHA for 6ff089f - Browse repository at this point
Copy the full SHA 6ff089fView commit details -
Fix swc test path from node_modules (#66047)
Noticed while testing turbopack version of tests that we weren't loading the correct swc binary since this path wasn't absolute and was just the relative path in `node_modules`. --------- Co-authored-by: Zack Tanner <1939140+ztanner@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for bbdf06b - Browse repository at this point
Copy the full SHA bbdf06bView commit details -
ci(workflow): skip building next-swc with latest turbopack (#66048)
### What this was the way we run ci on turbopack's repo and to get the latest test results, which isn't required anymore.
Configuration menu - View commit details
-
Copy full SHA for 0343c0e - Browse repository at this point
Copy the full SHA 0343c0eView commit details
Commits on Sep 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 13cd9de - Browse repository at this point
Copy the full SHA 13cd9deView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8eba600 - Browse repository at this point
Copy the full SHA 8eba600View commit details -
Configuration menu - View commit details
-
Copy full SHA for a4ff132 - Browse repository at this point
Copy the full SHA a4ff132View commit details -
Configuration menu - View commit details
-
Copy full SHA for d8ece3e - Browse repository at this point
Copy the full SHA d8ece3eView commit details -
Shared Revalidate Timings (#64370)
<!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: ## For Contributors ### Improving Documentation - Run `pnpm prettier-fix` to fix formatting issues before opening the PR. - Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide ### Adding or Updating Examples - The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md - Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md ### Fixing a bug - Related issues linked using `fixes #number` - Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ### Adding a feature - Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas) - Related issues/discussions are linked using `fixes #number` - e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) - Documentation added - Telemetry added. In case of a feature if it's used or not. - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ## For Maintainers - Minimal description (aim for explaining to someone not on the team to understand the PR) - When linking to a Slack thread, you might want to share details of the conclusion - Link both the Linear (Fixes NEXT-xxx) and the GitHub issues - Add review comments if necessary to explain to the reviewer the logic behind a change ### What? ### Why? ### How? Closes NEXT- Fixes # --> ### What? This creates a new `SharedRevalidateTimings` type that is safe to share amongst different points within the framework for sharing revalidation timings. This is a precursor to #64313 which freezes loaded manifests. ### Why? Using the `SharedRevalidateTimings` type, we no-longer have to modify the in-memory instance of the prerender manifest to share the revalidation timings for different routes. Closes NEXT-3083
Configuration menu - View commit details
-
Copy full SHA for a48be87 - Browse repository at this point
Copy the full SHA a48be87View commit details -
Freeze loaded manifests (#64313)
Manifests in the runtime should be treated as immutable objects to ensure that side effects aren't created that depend on the mutability of these shared objects. Instead, mutable references should be used in places where this is desirable. This also introduces the new `DeepReadonly` utility type, which when paired with existing manifest types, will modify every field to be read only, ensuring that the type system will help catch accidental modifications to these loaded manifest values as well. Future work could eliminate these types by modifying the manifest types themselves to be read only, only allowing code that generated them to be writable. Closes NEXT-3069
Configuration menu - View commit details
-
Copy full SHA for 01c7c85 - Browse repository at this point
Copy the full SHA 01c7c85View commit details -
Ensure edge prerender-manifest is minimal (#64946)
This ensures we don't include the entire prerender-manifest in edge runtime as it's un-necesary and can be very large. We only need the preview field in this manifest so this ensures we just include that. x-ref: [slack thread](https://vercel.slack.com/archives/C0289CGVAR2/p1713904966662599?thread_ts=1713798297.067699&cid=C0289CGVAR2) Closes NEXT-3212
Configuration menu - View commit details
-
Copy full SHA for d44c1fb - Browse repository at this point
Copy the full SHA d44c1fbView commit details -
Re-land build(edge): extract buildId into environment (#65426)
* Extract `buildId` and server action encryption key into environment variables for edge to make code more deterministic * Fixed the legacy bad env names from #64108 * Always sort `routes` in prerender manifest for consistent output * Change `environments` to `env` in middleware manifest, confirmed with @javivelasco this is a fine change without need to bumping the version Dynamic variants like `buildId`, SA `encryptionKey` and preview props are different per build, which results to the non determinstic edge bundles. Once we extracted them into env vars then the bundles become deterministic which give us more space for optimization Closes NEXT-3117 Reverts #65425 Co-authored-by: Jiachi Liu <inbox@huozhi.im>
Configuration menu - View commit details
-
Copy full SHA for df864ec - Browse repository at this point
Copy the full SHA df864ecView commit details -
fix: unstable_cache should not cache new result in draft mode (#67772)
### What? In draft mode, as of right now, `unstable_cache` does not read from the static store, but still write to it. This leads to the following scenario: 1. Content Editor enters draft mode to test his content 2. Content Editor skips cache and reads preview data 3. Preview data is written to store 4. Random user without draft mode receives preview data until cache is revalidated again ### Why? There's an early exit before reading from the cache - the new result is written to the cache nonetheless though. ### How? New result is only cached if draft mode is disabled. Co-authored-by: JJ Kasper <jj@jjsweb.site>
Configuration menu - View commit details
-
Copy full SHA for 79177b7 - Browse repository at this point
Copy the full SHA 79177b7View commit details -
Add draft mode flag for multi-zone (#68997)
When an application is running in multi-zone API endpoints can have differing draft mode IDs on the same domain so we need to avoid clearing the original when we see a mismatch as that can break the current applications draft mode. This is behind a flag initially to validate but it should be safe to make the default in the future as an invalid draft mode ID just gets ignored. x-ref: [slack thread](https://vercel.slack.com/archives/C052BQ8F9EJ/p1723844164102539)
Configuration menu - View commit details
-
Copy full SHA for 1f29987 - Browse repository at this point
Copy the full SHA 1f29987View commit details -
Configuration menu - View commit details
-
Copy full SHA for f11346c - Browse repository at this point
Copy the full SHA f11346cView commit details -
Fix edge preview props are not matched with cookie (#67779)
Chnage the way of preview props injection to edge runtime, directly read from env vars of preview props instead of writing to and reading from prerender manifest.js Previously we're trying to make these preview props values become deterministic that we can replace in edge deployment pipeline in #64521 But the way of serializing process env vars in edge runtime is not correct. They'll remain as string "process.env.xxx" in the manifest and also after consumed. This PR fixes that behavior, instead of writing it into manifest, alwyas consuming from process.env.var directly. I created a shared util to access the preview props of edge runtime across all the templates. On draft provider side, we still need to handle dev mode case when preview id is `development-id`, but we already have the cookie, it cannot be aligned with the preview id. So we do a fallback check for dev mode if the cookie is present and preview id is `development-id` then we still treat it as draft mode is enabled. Fixes #52080 Fixes #67075 Closes NEXT-3541
Configuration menu - View commit details
-
Copy full SHA for 0ab5239 - Browse repository at this point
Copy the full SHA 0ab5239View commit details -
Configuration menu - View commit details
-
Copy full SHA for d57b805 - Browse repository at this point
Copy the full SHA d57b805View commit details
There are no files selected for viewing