Update All Dependencies
This MR contains the following updates:
Release Notes
calcom/cal.com (@calcom/embed-react)
v1.5.0
Minor Changes
- Added namespacing support throughout
Patch Changes
- Updated dependencies
prisma/prisma (@prisma/client)
v5.16.1
Today, we are issuing the 5.16.1 patch release to fix an issue in Prisma client.
Fix in Prisma Client
- dotenv loading issue with PrismaClient
- Prisma Seed Script Fails After Upgrading to v5.16.0 (DATABASE_URL Error)
v5.16.0
Highlights
Omit model fields globally
With Prisma ORM 5.16.0 we’re more than happy to announce that we’re expanding the omitApi
Preview feature to also include the ability to omit fields globally.
When the Preview feature is enabled, you’re able to define fields to omit when instantiating Prisma Client.
const prisma = new PrismaClient({
omit: {
user: {
// make sure that password is never queried.
password: true,
},
},
});
You’re also able to omit fields from multiple models and multiple fields from the same model
const prisma = new PrismaClient({
omit: {
user: {
// make sure that password and internalId are never queried.
password: true,
internalId: true,
},
post: {
secretkey: true,
},
},
});
With both local and global omit
, you now have the flexibility to completely remove sensitive fields while also tailoring individual queries. If you need the ability to generally omit a field except in a specific query, you can also overwrite a global omit locally
const prisma = new PrismaClient({
omit: {
user: {
// password is omitted globally.
password: true,
},
},
});
const userWithPassword = await prisma.user.findUnique({
omit: { password: false }, // omit now false, so password is returned
where: { id: 1 },
});
prismaSchemaFolder
Changes to In 5.15.0
we released the prismaSchemaFolder
Preview feature, allowing you to create multiple Prisma Schema files in a prisma/schema
directory. We’ve gotten a lot of great feedback and are really excited with how the community has been using the feature.
To continue improving our multi-file schema support, we have a few breaking changes to the prismaSchemaFolder
feature:
- When using relative paths in Prisma Schema files with the
prismaSchemaFolder
feature, a path is now relative to the file it is defined in rather than relative to theprisma/schema
folder. This means that if you have a generator block in/project/prisma/schema/config/generator.prisma
with anoutput
of./foo
the output will be resolved to/project/prisma/schema/config/foo
rather than/project/prisma/foo
. The path to a SQLite file will be resolved in the same manner. - We realized that during migration many people would have
prisma/schema
as well asprisma/schema.prisma
. Our initial implementation looked for a.prisma
file first and would ignore theschema
folder if it exists. This is now an error.
fullTextSearch
Changes to In order to improve our full-text search implementation we have made a breaking change to the fullTextSearch
Preview feature.
Previously, when the feature was enabled we updated the <Model>OrderByWithRelationInput
TypeScript type with the <Model>OrderByWithRelationAndSearchRelevanceInput
type. However, we have noted that there are no cases where relational ordering is needed but search relevance is not. Thus, we have decided to remove the <Model>OrderByWithRelationAndSearchRelevanceInput
naming and only use the <Model>OrderByWithRelationInput
naming.
Fixes and improvements
Prisma
- Wrong Parameterized Types Sent for SQL Server Queries
Prisma has no exported member named OrderByWithRelationInput. Did you mean OrderByWithAggregationInput?
- [Driver Adapters]: missing provider compatibility validation
- Disable "Start using Prisma Client" hint logs on
prisma generate
- Deploying prisma to CloudFlare pages using Nuxt/Nitro and node-postgres (pg) is using the wrong(vercel) wasm path
@prisma/adapter-pg
modifies node-postgres global type parsers- @prisma/adapter-d1 is failing with an import error when called inside vitest tests
db pull
fails with[libs\user-facing-errors\src\quaint.rs:136:18] internal error: entered unreachable code
on invalid credentials
Language tools (e.g. VS Code)
- Make prisma-fmt logs to work with language server
- Spans and positions get shifted out of sync when schema includes multibyte characters
- VSCode extension panics when opening an empty prisma schema
Prisma Engines
- [DA] Planetscale engine tests: one2m_mix_required_writable_readable
- [DA] Planetscale engine tests: apply_number_ops
Credits
Huge thanks to @key-moon, @pranayat, @yubrot, @skyzh, @brian-dlee, @mydea, @nickcarnival, @eruditmorina, @nzakas, @gutyerrez, @avallete, @ceddy4395, @Kayoshi-dev, @yehonatanz for helping!
v5.15.1
Today, we are issuing the 5.15.1
patch release.
Fixes in Prisma Client
- internal error: entered unreachable code
- Got error 'internal error: entered unreachable code' when trying to perform an upsert.
- Prisma Client errors on SQLite with internal error: entered unreachable code when running 2 concurrent upsert
ConnectionError(Timed out during query execution.)
during seeding- SQLite timeouts after upgrade from prisma 2 to prisma 4
ConnectionError(Timed out during query execution.)
error when usingPromise.all
for SQLite- Improve the error when SQLite database file is locked
- sqlite timeout error multiple queries run one after another
- SQLite times out during query execution when using
Promise.all()
/ concurrent - internal error: entered unreachable code
v5.15.0
Today, we are excited to share the 5.15.0
stable release
Highlights
Multi-File Prisma Schema support
Prisma ORM 5.15.0 features support for multi-file Prisma Schema in Preview.
This closes a long standing issue and does so in a clean and easy to migrate way.
To get started:
- Enable the
prismaSchemaFolder
Preview feature by including it in thepreviewFeatures
field of yourgenerator
.datasource db { provider = "postgresql" url = env("DATABASE_URL") } generator client { provider = "prisma-client-js" previewFeatures = ["prismaSchemaFolder"] }
- Create a
schema
subdirectory under yourprisma
directory. - Move your
schema.prisma
into this directory.
You are now set up with a multi-file Prisma Schema! Add as many or as few .prisma
files to the new prisma/schema
directory.
When running commands where a Prisma Schema file is expected to be provided, you can now define a Prisma Schema directory. This includes Prisma CLI commands that use the --schema
option as well as defining schema via package.json
Our tooling has also been updated to handle multiple Prisma Schema files. This includes our Visual Studio Code extension and tools like database introspection, which will deposit new models in a introspected.prisma
file. Existing models will be updated in the file they are found.
To learn more, please refer to our official documentation and announcement blog post. If you try out prismaSchemaFolder
, please let us know!
Interesting Bug Fixes
Fix for PostgreSQL prepared statement caching for raw queries
This release fixes a nasty bug with the caching of prepared statements in raw Prisma Client queries that affected PostgreSQL when you ran the same SQL statement with differently typed paramters. This should not fail any more.
CREATE DEFAULT
Fix for SQL Server introspection of (deprecated) Our Introspection logic crashed on encountering certain multi-line CREATE DEFAULT
, a deprecated way to define defaults in SQL Server. As many SQL Server users are working with established databases, this happened frequently enough that we now explicitly ignore these defaults instead of crashing.
Fix for Cloudflare D1’s lower parameter limit
Cloudflare’s D1 has a lower parameter limit than local SQLite, which caused bigger queries to fail. We adapted that limit to the D1 default for @prisma/adapter-d1
, which will avoid such failures.
PRAGMA
support
Fix for Cloudflare D1’s different Our generated migration SQL for SQLite did not always work for Cloudflare D1, because of differences in the supported pragmas. We adapted the SQL to work in both local SQLite and Cloudflare D1.
Fixes and improvements
Prisma Migrate
- Crash on multiline defaults introspection on MSSQL
- Error: [libs\sql-schema-describer\src\mssql.rs:315:30] called
Result::unwrap()
on anErr
value: "Couldn't parse default value:create default [dbo].[member_notification_cancel_flags] as 0\r\n
" - Error: [libs\sql-schema-describer\src\mssql.rs:315:30] called
Result::unwrap()
on anErr
value: "Couldn't parse default value:create default d_password as 'D,73'
" - Crash introspecting MSSQL database with
DEFAULT
s - doing introspection on a SQL Server 2018 DB - for Dynamic GP get the following error.
- Error: [libs\sql-schema-describer\src\mssql.rs:317:30] called
Result::unwrap()
on anErr
value: "Couldn't parse default value:\r\ncreate default D_BIT_OFF\r\nas 0\r\n
" - Error: called
Result::unwrap()
on anErr
value: "Couldn't parse default value in SQL Server - db pull errors on SQL Server with
Error: [libs\sql-schema-describer\src\mssql.rs:336:30] called
Result::unwrap()on an
Errvalue: "Couldn't parse default value: [...]
- Error: [libs\sql-schema-describer\src\mssql.rs:336:30] called
Result::unwrap()
on anErr
value: "Couldn't parse default value:\r\ncreate default [va_nulla] as 0\r\n
" - Error when pulling from database
- Foreign key relation results in erroneous second migration
db pull
can't parse script setting default value- Bug: Migrations not compatible with D1
- SQL Server Introspection crashes on multi-line (deprecated) defaults
Prisma Client
- Raw query failed. Code:
22P03
. Message:db error: ERROR: incorrect binary data format in bind parameter 1
- Float number on raw query:
incorrect binary data format in bind parameter 1
- Can't use Prisma client in Next.js middleware, even when deploying to Node.js
- Prepared statement caching is data dependent on numeric input parameters (
incorrect binary data format in bind parameter x
) - Turso Driver Adapter: Including
_count
leads to error - Next.js app build fails when using Prisma with DB driver in Server Action
- Bug: [D1] Error in performIO: Error: D1_ERROR: too many SQL variables
- Remove
warn(prisma-client) This is the 10th instance of Prisma Client being started.
warning in Edge (and potentially) other envs) - $executeRawUnsafe:
incorrect binary data format in bind parameter 6
- Bug: Error or bug using Prisma with DriverAdapter with PostgreSQL database Neon
Inconsistent column data: Unexpected conversion failure from Number to BigInt
error when using@prisma/adapter-pg
- Incompatibility with NextJS app dir, CloudFlare Pages and D1
- Breaking change?
Int
switched to beingInt32
for MongoDB
Language tools (e.g. VS Code)
- VS Code extension is showing an advertisement
Generate
codelens fails on Windows- We incorrectly read commented out preview features if they are before the real preview features
Credits
Huge thanks to @pranayat, @yubrot, and @skyzh for helping!
v5.14.0
Today, we are excited to share the 5.14.0
stable release
Highlights
Share your feedback about Prisma ORM
We want to know how you like working with Prisma ORM in your projects! Please take our 2min survey and let us know what you like or where we can improve
createManyAndReturn()
We’re happy to announce the availability of a new, top-level Prisma Client query: createManyAndReturn()
. It works similarly to createMany()
but uses a RETURNING
clause in the SQL query to retrieve the records that were just created.
Here’s an example of creating multiple posts and then immediately returning those posts.
const postBodies = req.json()['posts']
const posts = prisma.post.createManyAndReturn({
data: postBodies
});
return posts
Additionally,createManyAndReturn()
supports the same options as findMany()
, such as the ability to return only specific fields.
const postBodies = req.json()['posts']
const postTitles = prisma.post.createManyAndReturn({
data: postBodies,
select: {
title: true,
},
});
return postTitles
Full documentation for this feature can be found in the Prisma Client API Reference.
Note: Because createManyAndReturn()
uses the RETURNING
clause, it is only supported by PostgreSQL, CockroachDB, and SQLite databases. At this time, relationLoadStrategy: join
is not supported in createManyAndReturn()
queries.
MongoDB performance improvements
Previously, Prisma ORM suffered from performance issues when using the in
operator or when including related models in queries against a MongoDB database. These queries were translated by the Prisma query engine in such a way that indexes were skipped and collection scans were used, leading to slower queries especially on large datasets.
With 5.14.0, Prisma ORM now rewrites queries to use a combination of $or
and $eq
operators, leading to dramatic performance increases for queries that include in
operators or relation loading.
Fixes and improvements
Prisma Client
createMany()
should return the created records- Generating Prisma client without any model in its schema
- MongoDB: Performance issue with nested
take
on many-to-one relationship - Slow queries on MongoDB using
include
for relations - [MongoDB] Performance issue in
findMany()
query execution within
- MongoDB nested/
include
query slow - MongoDB Connector generates queries which do not take advantage of indices.
- Mongodb Nested Queries Not Using Indexes
- MongoDB slow delete with
onDelete: SetNull
- Slow query with many-to-one relationship on MongoDB
prisma init --with-model
- Fixed version of
@opentelemetry/*
dependencies - Usage of deprecated punycode module
- Bug: D1 One-to-Many Relation INSERTs fail with
The required connected records were not found.
when using indices
Prisma Migrate
- Empty
dbgenerated()
still breaking forUnsupported()
types - Validation error when
shadowDatabaseUrl
is identical tourl
(ordirectUrl
) - MongoDB Query with 'in' condition will cause COLLSCAN, without leveraging indexes
- "Not Authorised" when directly applying Prisma generated migrations to Cloudflare D1 with
PRAGMA foreign_key_check;
Language tools (e.g. VS Code)
Company news
Prisma Changelog
Curious about all things Prisma? Be sure to check out the Prisma Changelog for updates across Prisma's products, including ORM, Accelerate, and Pulse!
New product announcement: Prisma Optimize
With this release, we are excited to introduce a new Prisma product. We’re calling it “Optimize” because that’s what it does! Let your favorite ORM also help you debug the performance of your application.
Check out our announcement blog post for more details, including a demo video.
Credits
Huge thanks to @pranayat, @yubrot, @skyzh, @anuraaga, @gutyerrez, @avallete, @ceddy4395, @Kayoshi-dev for helping!
v5.13.0
Today, we are excited to share the 5.13.0
stable release
Highlights
omit
fields from Prisma Client queries (Preview)
We’re excited to announce Preview support for the omit
option within the Prisma Client query options. The highly-requested omit
feature now allows you to exclude fields that you don’t want to retrieve from the database on a per-query basis.
By default, when a query returns records, the result includes all scalar fields of the models defined in the Prisma schema. select
can be used to return specific fields, while omit
can now be used to exclude specific fields. omit
lives at the same API level and works on all of the same Prisma Client model queries as select
. Note, however, that omit
and select
are mutually exclusive. In other words, you can’t use both in the same query.
To get started using omit
, enable the omitApi
Preview feature in your Prisma schema:
// schema.prisma
generator client {
provider = "prisma-client-js"
previewFeatures = ["omitApi"]
}
Be sure to re-generate Prisma Client afterwards:
npx prisma generate
Here is an example of using omit
:
// Includes all fields except password
await prisma.user.findMany({
omit: {
password: true
},
})
Here is an example of using omit
with include
:
// Includes all user fields except user's password and title of user's posts
await prisma.user.findMany({
omit: {
password: true
},
include: {
posts: {
omit: {
title: true
},
},
},
})
Expand to view the example Prisma schema
model User {
id Int @​id @​default(autoincrement())
email String @​unique
name String?
password String
posts Post[]
}
model Post {
id Int @​id @​default(autoincrement())
title String
author User @​relation(fields: [authorId], references: [id])
authorId Int
}
Many users have requested a global implementation of omit
. This request will be accommodated in the future. In the meantime, you can follow the issue here.
omitApi
Preview feature
omit
- Prisma Client API Reference
Fixes and improvements
Prisma Migrate
Prisma Client
- MySQL
upsert()
:Internal error: Attempted to serialize empty result.
- Mysql
upsert()
fails with "Attempted to serialize empty result." - Interactive Transaction API timing out after upgrading from 4.7.0 and above
- MySQL and SQLite
upsert()
:Internal error: Attempted to serialize empty result.
- MySQL
upsert()
:Internal error: Attempted to serialize empty result.
- MongoDB
upsert()
:Internal error: Attempted to serialize empty result.
- MongoDB
upsert()
:Internal error: Attempted to serialize empty result
- Relation mode +
upsert()
:Internal error: Attempted to serialize empty result.
Internal error: Attempted to serialize empty result.
onupsert()
forupdate
case in different databases (when usingrelationMode=prisma
explicitly or implicitly [MongoDB])- Postgres
upsert(): Internal error: Attempted to serialize empty result
whenrelationMode = "prisma"
is used ✘ [ERROR] near "��": syntax error at offset 0
when runningwrangler d1 migrations apply
with Prisma generated migration (on Windows, using Powershell)
Credits
Huge thanks to @ospfranco, @pranayat, @yubrot, @skyzh, @anuraaga, @yehonatanz, @arthurfiorette, @elithrar, @tockn, @Kuhave, @obiwac for helping!
pmndrs/drei (@react-three/drei)
v9.108.1
Bug Fixes
- pivot, enabled (5953965)
v9.108.0
Features
- pivotcontrols, enabled (ba527ae)
v9.107.3
Bug Fixes
v9.107.2
Bug Fixes
v9.107.1
Bug Fixes
v9.107.0
Bug Fixes
Features
v9.106.2
Bug Fixes
v9.106.1
Bug Fixes
v9.106.0
Features
- support scrollcontrols prepend (8e5a82a)
v9.105.6
Bug Fixes
v9.105.5
Bug Fixes
- regenerate types, update stdlib for CSB (1c676bc)
pmndrs/react-three-fiber (@react-three/fiber)
v8.16.8
What's Changed
- fix: update is.equ to compare booleans by @AVAVT in https://github.com/pmndrs/react-three-fiber/pull/3278
New Contributors
- @AVAVT made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3278
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v8.16.7...v8.16.8
v8.16.7
What's Changed
- fix(types): revert usage of future module JSX by @CodyJasonBennett in https://github.com/pmndrs/react-three-fiber/pull/3276
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v8.16.6...v8.16.7
v8.16.6
What's Changed
- fix(applyProps): null check indeterminate instances by @CodyJasonBennett in https://github.com/pmndrs/react-three-fiber/pull/3261
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v8.16.5...v8.16.6
v8.16.5
What's Changed
- Use new JSX runtime by @eps1lon in https://github.com/pmndrs/react-three-fiber/pull/3256
- fix: Correct JSX module augmentation for React 19 types by @eps1lon in https://github.com/pmndrs/react-three-fiber/pull/3258
New Contributors
- @eps1lon made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3256
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v8.16.4...v8.16.5
v8.16.4
What's Changed
- fix: createPortal effect merging stale data from initial render by @notrabs in https://github.com/pmndrs/react-three-fiber/pull/3255
New Contributors
- @notrabs made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3255
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v8.16.3...v8.16.4
v8.16.3
What's Changed
- fix(Canvas): don't override camera frustum props by @CodyJasonBennett in https://github.com/pmndrs/react-three-fiber/pull/3244
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v8.16.2...v8.16.3
tabler/tabler-icons (@tabler/icons-react)
v3.9.0
: Release 3.9.0
18 new icons:
filled/label
outline/buildings
outline/clock-bitcoin
outline/cloud-bitcoin
outline/eye-bitcoin
outline/flag-bitcoin
outline/heart-bitcoin
outline/home-bitcoin
outline/label-off
outline/label
outline/lock-bitcoin
outline/mail-bitcoin
outline/math-ctg
outline/math-sec
outline/math-tg
outline/mood-bitcoin
outline/photo-bitcoin
outline/user-bitcoin
v3.8.0
: Release 3.8.0
18 new icons:
outline/alphabet-arabic
outline/alphabet-bangla
outline/alphabet-hebrew
outline/alphabet-korean
outline/alphabet-thai
outline/brand-adobe-after-effect
outline/brand-adobe-illustrator
outline/brand-adobe-indesign
outline/brand-adobe-photoshop
outline/brand-adobe-premier
outline/brand-adobe-xd
outline/brand-apple-news
outline/brand-hackerrank
outline/cap-projecting
outline/cap-rounded
outline/cap-straight
outline/math-cos
outline/math-sin
v3.7.0
: Release 3.7.0
18 new icons:
outline/battery-exclamation
outline/battery-vertical-1
outline/battery-vertical-2
outline/battery-vertical-3
outline/battery-vertical-4
outline/battery-vertical-charging-2
outline/battery-vertical-charging
outline/battery-vertical-eco
outline/battery-vertical-exclamation
outline/battery-vertical-off
outline/battery-vertical
outline/brand-metabrainz
outline/cancel
outline/rosette-discount-check-off
outline/ruler-measure-2
outline/umbrella-2
outline/umbrella-closed-2
outline/umbrella-closed
Fixed icons: filled/circle-plus
, outline/apple
, outline/battery-automotive
, outline/flask-2-off
, outline/flask-2
, outline/flask
, outline/microscope-off
, outline/microscope
, outline/rosette-discount-check
, outline/ruler-measure
, outline/test-pipe-2
, outline/test-pipe-off
, outline/test-pipe
Renamed icons:
-
outline/mood-suprised
renamed tooutline/mood-surprised
Fixes & Improvements
- Set return type of
Component
in SolidJS toJSX.Element
(#1148) - Change the way of exporting icons in Svelte package (#1169)
- Add support for Svelte 5
- Remove invalid DOM properties from
circle-plus
icon
v3.6.0
: Release 3.6.0
18 new icons:
filled/binoculars
filled/mood-angry
filled/mood-crazy-happy
filled/mood-wrrr
filled/pill
filled/receipt
filled/rosette-discount
filled/scuba-diving-tank
filled/steering-wheel
filled/tag
filled/tags
outline/align-left-2
outline/align-right-2
outline/binoculars
outline/building-off
outline/cliff-jumping
outline/contract
outline/scuba-diving-tank
Fixed icons: outline/briefcase-2
, outline/briefcase
, outline/cash-register
, outline/scuba-diving
v3.5.0
: Release 3.5.0
18 new icons:
filled/circle-plus
outline/automation
outline/chart-bar-popular
outline/chart-cohort
outline/chart-funnel
outline/device-unknown
outline/file-excel
outline/file-word
outline/object-scan
outline/tax-euro
outline/tax-pound
outline/tax
outline/timezone
outline/tip-jar-euro
outline/tip-jar-pound
outline/tip-jar
outline/viewport-short
outline/viewport-tall
Fixed icons: outline/battery-automotive
, outline/chart-bar
, outline/viewport-narrow
, outline/viewport-wide
v3.4.0
: Release 3.4.0
18 new icons:
outline/ai
outline/cash-register
outline/percentage-0
outline/percentage-10
outline/percentage-100
outline/percentage-20
outline/percentage-25
outline/percentage-30
outline/percentage-33
outline/percentage-40
outline/percentage-50
outline/percentage-60
outline/percentage-66
outline/percentage-70
outline/percentage-75
outline/percentage-80
outline/percentage-90
outline/picnic-table
v3.3.0
: Release 3.3.0
18 new icons:
filled/circle-percentage
filled/code-circle-2
filled/code-circle
filled/hospital-circle
filled/live-photo
filled/message-chatbot
filled/message-circle
filled/message-report
filled/message
filled/panorama-horizontal
filled/panorama-vertical
filled/parking-circle
filled/poo
filled/sunglasses
filled/tilt-shift
outline/ikosaedr
outline/message-circle-user
outline/message-user
Fixed icons: filled/shield-half
, outline/parking-circle
vercel/next.js (eslint-config-next)
v14.2.4
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: ensure route handlers properly track dynamic access (#66446)
- fix NextRequest proxy in edge runtime (#66551)
- Fix next/dynamic with babel and src dir (#65177)
- Use vercel deployment url for metadataBase fallbacks (#65089)
- fix(next/image): detect react@19 for fetchPriority prop (#65235)
- Fix loading navigation with metadata and prefetch (#66447)
- prevent duplicate RSC fetch when action redirects (#66620)
- ensure router cache updates reference the latest cache values (#66681)
- Prevent append of trailing slash in cases where path ends with a file extension (#66636)
- Fix inconsistency with 404 getStaticProps cache-control (#66674)
- Use addDependency to track metadata route file changes (#66714)
- Add timeout/retry handling for fetch cache (#66652)
- fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)
Credits
Huge thanks to @ztanner, @ijjk, @wbinnssmith, @huozhi, and @lubieowoce for helping!
v14.2.3
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix: resolve mixed re-exports module as cjs (#64681)
- fix: mixing namespace import and named import client components (#64809)
- Fix mixed exports in server component with barrel optimization (#64894)
- Fix next/image usage in mdx(#64875)
- fix(fetch-cache): fix additional typo, add type & data validation (#64799)
- prevent erroneous route interception during lazy fetch (#64692)
- fix root page revalidation when redirecting in a server action (#64730)
- fix: remove traceparent from cachekey should not remove traceparent from original object (#64727)
- Clean-up fetch metrics tracking (#64746)
Credits
Huge thanks to @huozhi, @samcx, @ztanner, @Jeffrey-Zutt, and @ijjk for helping!
v14.2.2
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix Server Action error logs for unhandled POST requests (#64315)
- Improve rendering performance (#64408)
- Fix the method prop case in Server Actions transform (#64398)
- fix(next-lint): update option --report-unused-disable-directives to --report-unused-disable-directives-severity (#64405)
- tweak test for Azure (#64424)
- router restore should take priority over pending actions (#64449)
- Fix client boundary inheritance for barrel optimization (#64467)
- improve turborepo caching (#64493)
- feat: strip traceparent header from cachekey (#64499)
- Fix more Turbopack build tests
- Update lockfile for compatibility with turbo (#64360)
- Fix typo in dynamic-rendering.ts (#64365)
- Fix DynamicServerError not being thrown in fetch (#64511)
- fix(next): Metadata.openGraph values not resolving basic values when type is set (#63620)
- disable production chunking in dev (#64488)
- Fix cjs client components tree-shaking (#64558)
- fix refresh behavior for discarded actions (#64532)
- fix: filter out middleware requests in logging (#64549)
- Turbopack: Allow client components to be imported in app routes (#64520)
- Fix ASL bundling for dynamic css (#64451)
- add pathname normalizer for actions (#64592)
- fix incorrect refresh request when basePath is set (#64589)
- test: skip turbopack build test (#64356)
- hotfix(turbopack): Update with patch for postcss.config.js path resolution on Windows (#64677)
Credits
Huge thanks to @shuding, @coltonehrman, @ztanner, @huozhi, @sokra, @Jeffrey-Zutt, @timneutkens, @wbinnssmith, @wiesson, @ijjk, @devjiwonchoi, and @bgw for helping!
v14.2.1
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
Credits
Huge thanks to @sokra for helping!
v14.2.0
Learn more: https://nextjs.org/blog/next-14-2
Core Changes
- Update build worker warning to use debug: #60847
- fix: added @sentry/profiling-node to sep list to prevent build/bundle breakage: #60855
- Optimize build trace ignores: #60859
- Deprecation warning for config.analyticsId: #60677
- chore: indicate staleness more prominently in
next info
output: #60376 - Telemetry: createComponentTree span: #60857
- chore: replace micromatch w/ picomatch: #60699
- Report HMR latency as trace spans for Turbopack: #60799
- Turbopack: always log HMR rebuild times: #60908
- Error overlay refactors: #60886
- Use precompiled source-map in overlay middleware: #60932
- Use more precompiled deps in react-dev-overlay: #60959
- Fix next phase for next build: #60969
- chore: update turbopack: #60980
- refactor(analysis): rust based page-static-info, deprecate js parse interface in next-swc: #59300
- disable static generation on interception routes: #61004
- Docs: Address community feedback: #60960
- avoid output of webpack stats: #61023
- Revert "refactor(analysis): rust based page-static-info, deprecate js parse interface in next-swc": #61021
- fix useSelectedLayoutSegment's support for parallel routes: #60912
- Dynamic APIs: #60645
- Enable next.js version checker in turbopack: #61034
- chore: Update
terser
tov5.27.0
: #61068 - Update
swc_core
tov0.87.28
: #60876 - update turbopack: #61015
- Implement client_root for edge in Turbopack: #61024
- fix parallel route top-level catch-all normalization logic to support nested explicit (non-catchall) slot routes: #60776
- fix(image): warn when animated image is missing
unoptimized
prop: #61045 - Fix version checker not displaying when version newer than npm: #61075
- Fix sitemap generateSitemaps support for string id: #61088
- ppr: ensure the router state tree is provided for interception routes: #61059
- Improve the Server Actions SWC transform: #61001
- Fix instrument bundling as client components: #60984
- fix(turbopack): use correct layout for 404 page: #61032
- fix: emotion import source should be enabled in SSR contexts: #61099
- chore: update turbopack: #61090
- fix(turbopack): custom page extensions for
_app
: #60789 - Disable trace uploads with NEXT_TRACE_UPLOAD_DISABLE: #61101
- add
optimizeServerReact
to config-shared: #61106 - Fix filesystempublicroutes test for Turbopack: #61132
- chore: upgrade webpack to 5.90.0: #61109
- Add
maxDuration
to typescript plugin allowed exports: #59193 - Upgrade Turbopack: #61190
- build: remove sentry from the externals list: #61194
- exclude default routes from isPageStatic check: #61173
- Add stack trace to client rendering bailout error: #61200
- chore: refactor image optimization to separate external/internal urls: #61172
- parallel routes: support multi-slot layouts: #61115
- Refine revalidatePath warning message: #61220
- revert changes to process default routes at build: #61241
- Fix cookie merging in Server Action redirections: #61113
- Update
swc_core
tov0.89.x
: #61086 - Fix Server Reference being double registered: #61244
- Fix Server Action redirection with absolute internal URL: #60798
- Fix indentation in source code of dev overlay: #61216
- Update
swc_core
tov0.89.4
: #61285 - fix: Revert
preset-env
mode ofstyled-jsx
in webpack mode: #61306 - DX: add route context to the dynamic errors: #61332
- Telemetry: add time-to-first-byte signal: #61238
- Refine logging message of experiments: #61337
- fix(turbopack): don't parse
.ts
files as.tsx
: #61219 - Update turbopack: #61381
- Same as #61360: #61369
- Always respect NEXT_TRACE_UPLOAD_DISABLED: #61402
- parallel routes: fix catch-all slots being treated as optional catch-all: #61174
- fix hmr telemetry reporting: #61420
- chore: Update
swc_core
tov0.89.6
: #61426 - Update turbopack: #61433
- fix a perf problem in VersionedContentMap: #61442
- Fix next dynamic import named export from client components: #61378
- fix issues loading CSS in default slots: #61428
- avoid sending issues turbopack messages to browser: #61443
- Support crossOrigin in Turbopack: #61461
- Pass down __NEXT_EXPERIMENTAL_REACT env to webpack build worker explicitly: #61463
- Replace image optimizer IPC call with request handler: #61471
- feat(next): trace build dependencies for turborepo: #59553
- Turbopack: fix telemetry attributes for swc options: #61474
- Always show version text in error overlay: #61421
- Fix build worker callback arg missing correct page path : #61347
- Update font data: #61479
- build: upgrade edge-runtime: #61030
- Fix experimental react support in app-route runtime: #61511
- Fix .env hmr for Node.js runtime in Turbopack: #61504
- remove unnecessary PPR branch in non-PPR reducer: #61176
- fix: bump
@vercel/nft@0.26.3
: #61538 - chore: update ESLint and plugins to latest: #61544
- Update turbopack: #61553
- feat: first pass of
next/font
manifest: #61424 - Fix .env HMR for Turbopack in Edge runtime: #61565
- build(cargo): bump up turbopack: #61590
- refactor(next-core): consolidate custom ecma transform rules: #61481
- ensure server action errors notify rejection handlers: #61588
- feat(turbopack): only preload fonts that opt in: #61591
- feat(turbopack): serve google fonts locally and allow preloading them: #61596
- Update font data: #61621
- Remove unused mockedRes in resolveRoutes: #61635
- Fix @react-pdf/renderer not working in RSC: #61317
- Remove extra edge-runtime/primitives override: #61641
- Encode revalidateTag value fixes #61390: #61392
- Update README.md: #48717
- chore: update README.md: #61650
- avoid processing client components and server actions in route handlers: #60985
- chore: Update
@swc/helpers
tov0.5.5
: #61659 - feat(ts): expose
MiddlewareConfig
interface: #61576 - Revert "build: upgrade edge-runtime": #61686
- feat(ts): add JSDoc comments for public APIs: #61649
- fix(next-core): adjust server alias for the context: #61690
- fix setAssetPrefix when running on NextCustomServer: #61676
- fix: status code for 404 props queries to avoid client side navigation with empty props: #60968
- fix(next-eslint):
.eslintrc.json
not being created bynext lint
on App Router: #55104 - Update React from
60a927d
to2bc7d33
: #61522 - fix(turbopack): read preload option for google fonts: #61679
- decode magic identifiers: #61658
- Associate server error digest with browser logged one: #61592
- chore: update turbopack: #61682
- fix loading issue when navigating to page with async metadata: #61687
- fix(ts):
ReadonlyURLSearchParams
should extendURLSearchParams
: #61419 - fix navigation issue when dynamic param casing changes: #61726
- Fix next/server api alias for ESM pkg: #61721
- feat(transforms): enable rsc transforms for the remaining contexts: #61231
- fix: allow some recursion for middleware subrequests: #60615
- feat(next-swc): support wasm32-* build target: #61586
- Turbopack: convert between locations correctly: #61477
- feat(next/image)!: remove
squoosh
in favor ofsharp
as optional dep: #61696 - Navigation Signals in PPR: #60450
- Revert "Turbopack: convert between locations correctly (#61477)": #61733
- Fix duplicate line in README: #61691
- docs: fix example code missing comma: #59012
- Reapply "Turbopack: convert between locations correctly (#61477)" (#61733): #61735
- Fix: Error Fetching _devpagesmanifest.json #17274: #60349
- fix jsDoc of notFound: #61692
- feat(next-core): expand matching js extensions for the rules: #61745
- source map fixes: #61723
- Add experimental touchstart flag for testing: #61747
- partially fix css duplication in app dir: #61198
- build(cargo): add deps for the wasi: #61784
- fix(ts): match
MiddlewareConfig
with documentation: #61718 - Fix attempted import error for react: #61791
- consolidate prefetch utils & separate build util: #61789
- Skip client-side data-fetching after ssr error : #51377
- fix(next-swc): Detect
exports.foo
fromcjs_finder
: #61795 - feat(next-core): build time client|server-only assertion: #61732
- Fall back loading chunks for sourcemap tracing: #61790
- Increase Rust stack size: #61809
- Revert "feat(next/image)!: remove
squoosh
in favor ofsharp
as optional dep": #61810 - DX: fix error overlay flash: #61813
- feat: Allow specifying
useLightningcss
forstyled-jsx
: #61359 - Guard against restoring router state with missing data: #61822
- fix: babel usage with next/image: #61835
- fix:(next/image) handle
remotePatterns
with a dot in the pathname: #60488 - Update React from
2bc7d33
toba5e6a8
: #61837 - DX: fix error overlay flash: #61813
- feat: Allow specifying
useLightningcss
forstyled-jsx
: #61359 - Guard against restoring router state with missing data: #61822
- fix: babel usage with next/image: #61835
- fix:(next/image) handle
remotePatterns
with a dot in the pathname: #60488 - Update React from
2bc7d33
toba5e6a8
: #61837 - update turbopack: #61187
- conditionally send Next-URL in Vary response: #61794
- provide interception rewrites to edge runtime: #61414
- Update app-index to only ever construct the initial data response once: #61869
- Move turbopack helpers: #61917
- hot-reloader-turbopack refactors: #61929
- More hot-reloader-turbopack refactors: #61940
- fix(next/image): improve warning when
fill
andsizes="100vw"
: #61949 - build(cargo): bump up turbopack to latest: #61952
- build(cargo): update turbopack for filewatcher fix: #61955
- ci(workflow): deploy rustdocs for turbopack: #61958
- Support resuming a complete HTML prerender that has dynamic flight data: #60865
- Fix empty white page with parallel routes + loading boundaries: #61597
- Update
swc_core
tov0.90.7
and update turbopack: #61662 - Turbopack: remove server addr: #61932
- More hot-reloader-turbopack refactors: #61993
- Use destructured object for #61993: #61996
- only prefix prefetch cache entries if they vary based on
Next-URL
: #61235 - seed prefetch cache with initial page: #61535
- Remove leftover server addr references: #61997
- log fast refresh in app dir: #61441
- docs(turbopack): build more docs: #61977
- fix(next-core): correct error message: #62011
- docs(turbopack): reduce documentation size: #62016
- Reduce memory/cache overhead from over loader processing: #62005
- fix: bump
@vercel/nft@0.26.4
: #62019 - refactor(next-core): do not reexport turbopack_binding: #62018
- build: Update
swc_core
tov0.90.8
: #61976 - merge pages and app overlays: #60899
- Rename internal utility naming for clarification : #62048
- fix: handle multiple
x-forwarded-proto
headers: #58824 - Fix server components externals on SSR layer: #61986
- Fixed useParams hook undesired re-renders and updated it to use PathParamsContext in the app router.: #60708
- docs(turbopack): conslidate existing links: #62034
- fix(custom-transform): allow to assert empty program for rsc: #61922
- fix navigation applying stale data when triggered from global not found: #62033
- fix(turbopack):
react-dom/server
in rsc context: #61165 - refactor(tests): make chain more "correct": #51728
- Add puppeteer-core to server-external-packages.json: #62063
- Fix extra swc optimizer applied to node_modules in browser layer: #62051
- docs(turbopack): revise links: #62062
- Fix output: export with custom distDir: #62064
- fix(next-core): apply image-loader alias to the remaining context: #62070
- More hot-reloader-turbopack refactors: #62055
- Ensure Turbopack writes font optimization manifest: #62079
- update turbopack: #62080
- chore: hide version info network error: #62084
- Add dev option to Turbopack createProject(): #62083
- Remove unused app-turbopack files: #62087
- make router restore action resilient to a missing tree: #62098
- Turbopack: add support for dynamic requests in require() and import(): #62092
- docs(turbopack): move docs to separate: #62069
- Implement Vc: #62099
- fix: add
zeromq
to server-external-packages.json: #62105 - Fix trailing slash for canonical url: #62109
- Consolidate NextMode checks: #62106
- Improve the Server Actions SWC transform (part 2): #62052
- Should not warn metadataBase missing if only absolute urls are present: #61898
- Update to
turbopack-240215.5
: #62119 - Add polyfill for
Object.hasOwn
: #60437 - OpenTelemetry: trace API routes in page router: #62120
- Fix @next/mdx types: #57580
- DX: hide the webpack info prefix for module paths: #62101
- Show build errors from Turbopack: #62139
- Fix issue with ComponentMod being read in Turbopack: #62141
- Fix handling subpath for server components externals: #62150
- docs(next-api): trying to document project_update_info_subscribe: #61962
- add support for esmExternals in pages: #61983
- docs: updated link in JSDoc for the shallow property in link.tsx: #62181
- Update font data: #62173
- Update split chunk handling for edge/node: #62205
- Ensure webpack build worker defaults on: #62214
- feat: Lint invalid CSS modules: #62040
- Add page name to error logged in Turbopack: #62218
- add turbo.resolveExtensions to allow to customize extensions: #62004
- fix(turbopack): catchall route matching: #62114
- fix: clarify Dynamic API calls in wrong context: #62143
- refactor(turbopack): wrap manifest loading in helper class: #62118
- refactor(turbopack): resolve routes by page name instead of pathname: #61778
- Ensure handleRouteType does not throw in production builds: #62234
- fix: set swr delta: #61330
- Fix type error in build.ts: #62253
- fix(next):
terser-webpack-plugin
path intaskfile.js
is missing 'src': #62229 - Update
swc_core
tov0.90.10
: #62222 - Add test log prefix for otel: #62258
- Update turbopack: #62263
- feat(cli): show available memory/CPU cores in
next info
: #62249 - fix(turbopack): print missing slots in debug message: #62280
- Tree shake the unused exports in direct relative imported client component module: #62238
- Verify correctness of externals: #62235
- Renew prefetch cache entry after update from server: #61573
- fix(next-core): fix aliased free var for edge runtime: #62289
- update turbopack: #62285
- Allow fetch to propagate arbitrary init options: #62168
- Add flag for early import app router modules: #61168
- Add otel span for client component loading: #62296
- Fix perf spans: #62306
- fix(next-core): properly normalize app route for _: #62307
- fix(next-font): update capsize css so fallbacks are updated with the …: #62309
- Fix draft mode invariant: #62121
- Revert "Update split chunk handling for edge/node": #62313
- Turbopack: reduce tasks needed for emitting: #62291
- Turbopack: add SSR category to tracing: #62318
- fix(error-overlay): correct module grouping: #62206
- Revert "Turbopack: reduce tasks needed for emitting": #62324
- feat(error-overlay): hide
<unknown>
/stringify
methods in<anonymous>
file from stack: #62325 - eslint-config-next: allow typescript eslint v7: #62137
- Revert "Revert "Update split chunk handling for edge/node" (#62313)": #62336
- Revert "Ensure webpack build worker defaults on": #62342
- avoid loading the page loader chunk on initial page load: #62269
- output filesystem without watching: #62340
- Turbopack: limit build concurrency, show progress bar: #62319
- Update data cache max size error: #62348
- Add experimental flag for early exit on prerender error: #62367
- fix(next-swc): Fix span for invalid
'use server'
directives: #62259 - scope issues from subscriptions to the websocket connection: #62344
- Turbopack: resolve endpoints to avoid extra nesting in tracing: #62317
- fix(next-lint): fix next lint not throwing exit 1 on error: #62378
- Remove default fallback behavior when route group is missing a default: #62370
- Correctly pass prependData and additionalData to sass-loader for Turbopack: #62397
- chore(docs): mention that
next.config.js
must have default export: #62341 - chore(cli): add clarifying comment: #62418
- OTEL: Add top span for middleware: #62421
- Turbopack react-refresh: perform full reload on runtime error: #62359
- Simplify node/edge server chunking some: #62424
- update
configSchema.ts
withexperimental#useEarlyImport
: #62408 - Fix module-level Server Action creation with closure-closed values: #62437
- Upgrade vendored react: #62326
- Turbopack: reduce memory usage: #62432
- Fixed typo.: #62440
- fix(turbopack): deal with eventual consistency in get_directory_tree: #62444
- Telemetry: ensure the ClientComponentLoad metric is only reported when available: #62459
- [turbopack] update edge alias: #62461
- Rename currentIssues to currentEntryIssues: #62524
- update turbopack: #62523
- add plugin to avoid too many css requests: #62530
- feat(error-overlay): hide Node.js internals: #62532
- Create react server condition alias for next/navigation api: #62456
- Add IssueKey type: #62526
- OTEL: Ensure that RSC:1 requests get the next.route attr: #62464
- Display only one hydration error when there's few in error overlay: #62448
- Upgrade vendored react: #62549
- Improve TS plugin options: #62438
- Revert "fix(build-output): show stack during CSR bailout warning": #62592
- Improve redirection handling: #62561
- fix router crash on revalidate + popstate: #62383
- fix: improve error when starting
next
without building: #62404 - feat(turbopack): Sort issues: #62566
- refactor createInfinitePromise to be re-used unresolveable thenable: #62595
- fix(build-output): show stack during CSR bailout warning: #62594
- Fix redirect under suspense boundary with basePath: #62597
- Ensure dynamic routes dont match _next/static unexpectedly: #62559
- Fix metadata json manifest convention: #62615
- Migrate locale redirect handling to router-server: #62606
- fix(next-swc): Provide tokio context required for WASM plugins: #62441
- Update
swc_core
tov0.90.12
: #62518 - Update Turbopack: #62632
- Fix instrumentation with only pages: #62622
- Fix: generateSitemaps in production giving 404: #62212
- Refactor flight-manifest-plugin to use compilation.entrypoints directly: #62636
- Fix Router Error Events in Shallow Routing by Skipping cancelHandler Creation: #61771
- DX: display highlited pesudo html when bad nesting html error occurred: #62590
- build(cargo): remove unused features: #62616
- feat(next-swc): lightningcss binding: #62604
- fix: Enable SearchParams to be displayed after redirect in Server Action: #62582
- fix(navigation): allow
useSelectedLayoutSegment(s)
in Pages Router: #62584 - Consistently use /_not-found for not found page in App Router: #62679
- Add experimental config for navigation raf test: #62668
- Turbopack: remove unused code: #62690
- Revert "Ensure dynamic routes dont match _next/static unexpectedly": #62691
- fix(turbopack): don't emit issues for deleted pages: #62012
- perf: don't emit issues via websocket for now: #59024
- add native css nesting support: #62644
- refactor(next-swc): remove unused features: #62696
- Upgrade mini-css-extract-plugin: #62698
- Update precompiled for mini-css-extract-plugin: #62699
- feat: display text diff for text mismatch hydration errors: #62684
- Fix lint check: #62702
- chore: remove unused helper: #62701
- Add param to debug PPR skeleton in dev: #62703
- Update font data: #62704
- Turbopack: remove node_modules error filter: #62586
- fix(error-overlay): improve a11y, minor refactors: #62723
- Handle top level errors coming from Turbopack entrypoints subscription: #62528
- Add compiler error for conflicting App Router and Pages Router in Turbopack: #62531
- fix dev overlay pseudo html collapsing: #62728
- Route static render error message: remove duplicate word: #62738
- Update version from backport: #62745
- Add a flag to disable
MergeCssChunksPlugin
: #62746 - refactor(cli): refactor cli to commander: #61877
- Turbopack: Trace server app render errors through source maps: #62611
- build(cargo): update turbopack: #62744
- Turbopack: sass support: #62717
- refactor(analysis): rust based page-static-info, deprecate js parse interface in next-swc: #61832
- fix: Add stricter check for "use server" exports: #62821
- fix(next-core): throw on invalid metadata handler: #62829
- Revert "Add experimental config for navigation raf test (#62668)": #62834
- Revert "refactor(analysis): rust based page-static-info, deprecate js parse interface in next-swc": #62838
- remove reducer unit tests: #62766
- fix(next-lint): do not pass absolute path to distDir: #62797
- Update to latest version: #62850
- fix "setBlocking is not a function" errors on StackBlitz: #62843
- Remove extra logic of Server Reference check for registering twice: #62486
- Update readme of @next/bundle-analyzer package: #62804
- Don't emit crossorigin attributes for
output: "export"
by default: #61211 - apply some transforms on foreign code too: #62827
- update turbopack: #62884
- refactor: rename isAppDirEnabled to hasAppDir: #62837
- bump @edge-runtime/cookies for Partitioned cookie support: #62889
- refactor(next): fix spacing on auto-generated root layout: #62769
- fix(cli): fix allowRetry when using port 3000: #62840
- Fix: missing crossorigin property on manifest link: #62873
- Turbopack: Trace edge runtime app render errors through source maps: #62901
- fix merge css plugin to account for css order: #62927
- fix(next-api): correct font manifest generation: #62916
- feat(error-overlay): notify about missing
html
/body
in root layout: #62815 - fix graph update: #62933
- refactor(error-overlay): improve server code for webpack/Turbopack middleware: #62396
- feat(error-overlay): version staleness in Pages Router: #62942
- feat: Introduce lightningcss-loader for webpack users: #61327
- feat(eslint): enhance
no-unwanted-polyfill
w/ new endpoints: #62719 - simplify
streamToString
method fromnode-web-streams.helper.ts
: #62841 - Allow ppr only flag in test mode: #62911
- Upgrade to latest @edge-runtime packages: #62955
- chore(next-font): update @capsize/metrics package to the latest: #62896
- Remove Payload from server-external-packages.json: #62965
- Pass whole prefetch entry rather than status property: #62345
- build: Update
swc_core
tov0.90.17
: #62924 - refactor(ts): type
fastRefresh
: #62848 - [error overlay] move missing tags error inside error overlay: #62993
- Update turbopack: #62971
- fix(next-core): honor basepath for the metadata property: #62846
- fix(next-core): do not apply ecma transforms for custom js rules: #62831
- feat(next): fallback lightning if swc/wasm loaded: #62952
- Fix the plugin state for async modules in webpack plugins: #62998
- Turbopack + pages router: recover from runtime errors by reloading: #63024
- Enable minification for Turbopack: #62994
- app layouts/pages depend on shared main files: #63042
- DX: add route context to dynamic errors for app routes: #62844
- Fix metadata url cases should not append with trailing slash: #63050
- Turbopack: Decode module component when tracing stack frames: #63070
- build(cargo): bump up turbopack: #63073
- OTEL: add next.rsc attribute for RSC requests: #63074
- Correctly deserialize
undefined
unstable_cache data: #59126 - refactor(error-overlay): unify Pages/App router error overlay source: #62939
- feat(turbopack): Enable
lightningcss
for turbopack by default: #62565 - ignore fully dynamic requests on server side: #62949
- Refactor define-env-plugin to have stricter types: #63128
- [PPR] Support rewrites in middleware: #63071
- Fix webpack HMR for pages on the edge runtime: #60881
- fix typo in server/config.ts: #62795
- ensure mpa navigations to the same URL work after restoring from bfcache: #63155
- Ensure PromiseLikeOfReactNode is not included in .d.ts files: #63185
- Ensure undefined values end up being replaced: #63138
- fix: x-forwarded-port header is 'undefined' when no port in url: #60484
- Fix generateMetadata race condition: #63169
- feat(next-core): apply invalid import assertion on the remaining contexts: #63146
- build(cargo): bump up turbopack: #63205
- add support for assets in edge: #63209
- fix: Loose Server Actions runtime check: #63200
- fix(log): improve error when dynamic code eval is disallowed: #62999
- fix(error-overlay): strip line+column from webpack internal frames: #63133
- fix revalidation issue with route handlers: #63213
- fix(error-overlay): show Turbopack indicator for any staleness level: #63130
- fix: re-export internal path: #63222
- build: Update turbopack: #63229
- make CacheNode properties non-optional: #63219
- Implement new runtime_type for Turbopack: #63212
- Use SWC to valid client next/navigation hooks usage in server components: #63160
- chore: Update
swc_core
tov0.90.21
: #63031 - fix(turbopack): Do not report hmr timing twice: #63227
- enable
optimizeServerReact
by default: #62658 - feat(turbopack): emit well known error into cli: #63218
- feat: add
deploymentId
config: #63198 - Fix middleware catch-all rewrite case: #63254
- fix(route-handlers): make sure preflight has CORS headers: #63264
- fix(turbopack): Remove error overlay when issue is resolved: #62983
- Disable cache in testmode: #63265
- Turbopack: app externals test case improvements: #62871
- build: Update turbopack: #63273
- fix: hydration error display for text under tag case: #63288
- Fix URL displayed in Server Action
bodysizelimit
error: #63295 - Store loading data in CacheNode: #62346
- fix(turbopack): Remove error overlay when
pages/_app
is fixed: #63306 - Ensure changes in optimizePackageImports invalidate webpack cache: #63284
- Polish the display color styles for component diff: #63342
- Turbopack HMR: Log when more errors cause full page reload: #63220
- Fixes typo in Route handler static generation error handling: #63345
- Add JSM (ESM) support for next/lib/find-config: #63109
- fix(error-overlay): matching html tag with brackets in hydration error: #63365
- add conditions for webpack loader rules: #63333
- fix transform of files ending with d: #63367
- Use correct protocol and hostname for internal redirections in Server Actions: #63389
- bug: Fields truncated when submitting form using Server Actions: #59877
- New CSS chunking algorithm: #63157
- Ensure all metadata files have missing default export errors in Turbopack: #63399
- Code refactor: #63391
- feat(error-overlay): handle script under html hydration error: #63403
- Add Bun lockfile to project root resolving heuristic: #63112
- build(package): pin typescript-eslint/parser for supported node.js: #63424
- fix(next-core): carry over original segment config to metadata route: #63419
- fix
x-forwarded-port
header: #63303 - build(cargo): bump up turbopack: #63429
- Turbopack HMR: Reload when recovering from server-side errors: #63434
- Eliminate unnecessary decode operations in
node-web-streams-helpers.ts
: #63427 - Update React from
6c3b8db
to14898b6
: #63439 - chore(next/font): update @capsizecss/metrics package to the latest: #63440
- update turbopack: #63475
- Fix instant loading states after invalidating prefetch cache: #63256
- Update tags limit handling for max items: #63486
- feat(next-core): support unsupported module runtime error: #63491
- Update RSC etag generation handling: #63336
- Simplify
createRootLayoutValidatorStream
: #63484 - Fix interception/detail routes being triggered by router refreshes: #63263
- route/middleware/instrumentation use server assets instead of client assets: #62134
- feat: add support for localizations in sitemap generator: #53765
- Turbopack: Fail when module type is unhandled: #63535
- feat(custom-transform): middleware dynamic assert transform: #63538
- fix: call instrumentationHook earlier for prod server: #63536
- Revert "feat(next-core): support unsupported module runtime error (#63491)": #63575
- Upgrades enhanced-resolve: #63499
- Improve experimental test proxy: #63567
- Remove the erroring on force-dynamic in static generation for app route: #63526
- the argument might be written with underscores: #63600
- Remove lodash from external packages list: #63601
- upgrade @edge-runtime/cookies: #63602
- Add alias for react-dom react-server condition: #63588
- Revert "Revert "feat(next-core): support unsupported module runtime error (#63491)"": #63609
- Enable all pages under the browser context to proxy to the test proxy: #63610
- fix(next-core): refine context for unsupported edge imports: #63622
- Update turbopack: #63541
- Fix RSC react-dom aliases for edge: #63619
- Move Playwright to be a peerDependency of next.js: #63530
- fix(dev-overlay): align codeframe to formatIssue: #63624
- Improve TypeScript plugin for server boundary: #63667
- perf: conditionally import Telemetry: #63574
- feat(error-overlay): style tweaks: #63522
- Auto map optimizePackageImports to transpilePackages for pages: #63537
- Add Next.js version to process title: #63686
- generate the same next/font modules for the same options: #63513
- feat(log): improve dev/build logs: #62946
- Update font data: #63691
- Polish dev-overlay text styling: #63721
- [PPR] Dynamic API Debugging: #61798
- Rename encryption key generation code: #63730
- ensure null loading boundaries still render a Suspense boundary: #63726
- perf: download and save mkcert in stream: #63527
- prevent router markers from leaking: #63606
- Turbopack: fix allocation inefficiency: #63738
- Fix ServerAction rejection reason: #63744
- Respect non 200 status to page static generation response: #63731
- Turbopack: parallelize app structure: #63707
- fixes to next.js tracing: #63673
- fext(next-core): inherit root layout segment config for the routes: #63683
- add tracing to server actions transform: #63773
- remove left-over debugging: #63774
- update turbopack: #63778
- fix revalidation/refresh behavior with parallel routes: #63607
- fix router revalidation behavior for dynamic interception routes: #63768
- feat(custom-transforms): partial page-static-info visitors: #63741
- Ensure Webpack config shows a warning when using Turbopack: #63822
- feat(turbopack): emit warning into logger: #63780
- feat(custom-transform): more static info warning: #63837
- skip HEAD request in server action redirect: #63819
- OTEL: use the current context when creating a root span: #63825
- Turbopack: Fail when
next/font
is used in_document
: #63788 - Move key generation to the earlier stage: #63832
- fix double redirect when using a loading boundary: #63786
- fix: default relative canonical url should not contain search: #63843
- fix(next-typescript-plugin): allow call expression for server actions: #63748
- fix: avoid metadata viewport warning during manually merging metadata: #63845
- feat(next-core): set nextconfigoutput correctly: #63848
- Ensure we dedupe fetch requests properly during page revalidate: #63849
- feat(next-swc): Pass names of side-effect-free packages: #63268
- fix(turbopack): loosen warning log guards: #63880
- fix: skip checking rewrites with an empty has array in isInterceptionRouteRewrite: #63873
- fix: bundle fetching with asset prefix: #63627
- fix logic error in parallel route catch-all normalization: #63879
- ensure custom amp validator path is used if provided: #63940
- chore: remove useless any: #63910
- Update hover behaviour note in Link JSDoc comment: #60525
- fix: pass
nonce
tonext/script
withafterInteractive
strategy: #56995 - add experimental client router cache config: #62856
- add telemetry events for ppr & staleTimes experimental flags: #63981
- fix server actions not bypassing prerender cache in all cases when deployed: #63978
- fix(next):
next build --debug
log output layout is broken: #63193 - Fix abort condition for requests: #64000
- fix(log): skip logging non-route requests: #63973
- Ensure unstable_cache bypasses for draft mode: #64007
- fix interception route refresh behavior with dynamic params: #64006
- fix(turbopack): throws api issues: #64032
- fix(turbopack): emit loadable manifest for app: #64046
- feat(turbopack): Print error message for
next/font
fetching failure: #64008 - Fix status code for /_not-found route: #64058
- fix: fixes cookie override during redirection from server action: #61633
- Add flag for preloading all server chunks: #64084
- Update rust-toolchain to
nightly-2024-04-03
: #64048 - fix refreshing inactive segments that contained searchParams: #64086
- perf: improve next server static performance: #64098
- fix(log): tweak coloring: #64106
- Ensure static generation storage is accessed correctly: #64088
- Ensure empty config with Turbopack does not show webpack warning: #64109
- fix encoding for filenames containing
?
or#
: #58293 - Rework experimental preload entries handling: #64125
- Fix @opentelemetry/api aliasing for webpack: #64085
- style(dev-overlay): refine the error message header styling: #63823
- hotfix(next):
next lint
installseslint@9
which includes breaking changes: #64141 - feat(turbopack): Align behavior for
link rel="preconnect"
with webpack mode: #64011 - feat: allow
module: Preserve
tsconfig option: #64110 - ensure seeded prefetch entry is renewed after expiry: #64175
- Fix hydration error higlight when tag matched multi times: #64133
- test(turbopack): Add -Wl,--warn-unresolved-symbols to next-swc-napi on Linux: #64049
- feat: Do not mangle
AbortSignal
to avoid breakingnode-fetch
: #58534 - Turbopack: prefer local opentelemetry version: #64206
- chore: externalize undici for bundling: #64209
- Add a mode to next build to make it easier to debug memory issues: #63869
- forward missing server actions to valid worker if one exists: #64227
- feat(next/image): add
overrideSrc
prop: #64221 - fix(fetch-cache): add check for updated tags when checking same cache key: #63547
- provide revalidateReason to getStaticProps: #64258
- chore(cli): fix the order
--experimental-debug-memory-usage
so it's alphabetical: #64264 - update turbopack: #64257
- chore: fix some typos: #64276
- Ensure configuration is checked for Turbopack build: #64247
- Update font data: #64277
- Fix css FOUC in dynamic component: #64294
- [turbopack] Fix css FOUC in dynamic component: #64021
- fix: show the error message if
images.loaderFile
doesn't export a default function: #64036
Documentation Changes
- docs: Improve
useSearchParams
bailout error page: #60852 - docs: fix JS/TS code block: #60854
- Docs: Update parallel routes docs, add
default.js
pt 1.: #60806 - docs: another fix for code block: #60856
- correct description of
skipMiddlewareUrlNormalize
in advanced middleware flags: #60841 - Adds a link to CSP where it's first referenced in the headers docs: #60871
- Add documentation page on video optimization: #60574
- docs: small tweaks on video docs: #60902
- docs: small tweak to videos: #60904
- docs: clarify redirects behavior with pages router: #60610
- docs: mention missing optimized by default packages in
optimizePackageImports
: #60058 - Improves generateViewport documentation: #60396
- docs: streaming while self-hosting must disable buffering: #60943
- Update userScalable property in viewport object and user-scalable in meta tag: #60946
- docs: updated the getStaticProps function name: #60949
- update edge and nodejs runtime doc: #60801
- Docs: Add link to bloom filter example: #60987
- Update code example on 01-pages-and-layouts.mdx: #60963
- docs: clarify nginx buffering disable: #61010
- Docs: Share Redirecting docs with /pages: #61083
- Fix
<AppOnly>
typo in docs: #61103 - Docs: Correct JavaScript React Component File Extension to .jsx in '01-vitest.mdx': #61087
- Docs: Update wording on opting out of the Router Cache: #61123
- Fixed typo in docs: #61118
- Combine Pages/App authentication docs: #60848
- Docs: Add note about calling redirect after
try/catch
: #61138 - OpenTelemetry: update docs for new @vercel/otel: #61044
- docs: fix Auth0 typo in authentication: #61171
- Update generate-sitemaps.mdx: #61167
- Add dot to regex chars in rewrites.mdx: #61095
- Refine revalidatePath
type
argument: #61159 - Docs: Add note about
revalidatePath
invalidating router cache: #61142 - Docs: Improve and add new parallel routes examples: #60981
- chore(docs): fix docs for static assets (
public
): #61225 - Docs: Adjust message about RootLayout: #61199
- docs: add Lucia auth: #61255
- Make server actions
maxDuration
timeout more clear in documentation: #60005 - docs(02-jest): fixes failing test in the tutorial: #61272
- docs: typo in page title: #61267
- Removed an extra braces and comma from doc (},): #61250
- Docs: Fix headings in Parallel Routes page: #61328
- OpenTelemetry: clarify Edge runtime support: #61338
- chore: update docs around redirect(): #61334
- add the middleware.ts API reference file convention: #61037
- Remove the regions option from the config section of the middleware file conventions doc: #61425
- Docs: Update migration wording for /pages: #61453
- Docs: Add
instrumentation.ts
API reference, improve instrumentation docs: #61403 - Docs: Document prefetch
null
for App Router: #61203 - Docs: Add note on
default.js
receiving params: #61454 - chore(docs): add
// @​ts-check
tonext.config.js
docs: #61543 - Update 03-linking-and-navigating.mdx: #61622
- chore(docs): add auto closing tag to : #61546
- Docs: Add Kinde to authentication docs: #61460
- docs: update useParams examples and pages usage: #61595
- docs: update style9 to stylex: #61646
- Mobile Friendly Test was retired: #61647
- Fixed #61434 : Docs: Duplicated code snippets: #61446
- Add case-sensitive note for revalidateTag/revalidatePath: #61729
- fix: showing incorrect filename in example: #61736
- Update 02-server-actions-and-mutations.mdx: #61756
- Fix closing a modal example in parallel routes docs: #61819
- docs: Example mismatch when changing language JS/TS : #61833
- Fix closing a modal example in parallel routes docs: #61819
- docs: Example mismatch when changing language JS/TS : #61833
- docs: add Page Router only section for beforeInteractive: #61839
- docs: update API reference for