Skip to content

Conversation

@bjoerge
Copy link
Member

@bjoerge bjoerge commented Nov 24, 2025

Description

This marks React < 19.2 as deprecated, which will issue a warning when running sanity dev from now on:

> sanity dev

[WARN] The following package versions have been deprecated and should be upgraded:

  react (installed: 18.3.1, want: ^19.2)
  react-dom (installed: 18.3.1, want: ^19.2)

Support for these will be removed in a future release!

  To upgrade, run either:

  npm install "[email protected]" "[email protected]"

  or

  yarn add "[email protected]" "[email protected]"

  or

  pnpm add "[email protected]" "[email protected]"


Read more at https://docs.sanity.io/help/upgrade-packages

✓ Checking configuration files...
✓ Starting dev server
Sanity Studio using [email protected] ready in 254ms and running at http://localhost:3333/

Note that React 18 is still supported, and will be so for the remaining releases on the 4.x line.

Remaining tasks

  • The linked help article needs updating
  • Publish a blog post outlining why we're doing this

What to review

  • The warning feels a bit heavy-handed to me. It's only deprecated after all. Should we change wording and/or offer a way to silence it?

Testing

Follow instructions to install preview build in an existing studio. Make sure react and react-dom versions are in the 18.x range. Observe the deprecation warning appear.

Notes for release

TBD

@vercel
Copy link

vercel bot commented Nov 24, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
page-building-studio Ready Ready Preview Comment Nov 24, 2025 3:44pm
test-studio Ready Ready Preview Comment Nov 24, 2025 3:44pm
3 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
e2e-studio Ignored Ignored Nov 24, 2025 3:44pm
studio-workshop Ignored Ignored Preview Nov 24, 2025 3:44pm
test-next-studio Ignored Ignored Nov 24, 2025 3:44pm

@github-actions
Copy link
Contributor

github-actions bot commented Nov 24, 2025

🧪 E2E Preview environment

🔑 Environment Variables for Local Testing

This is the preview URL for the E2E tests: https://e2e-studio-fay450yfv.sanity.dev

To run the E2E tests locally, you can use the following environment variables, then run pnpm test:e2e --ui to open the Playwright test runner.

💬 Remember to build the project first with pnpm build:e2e.

  SANITY_E2E_PROJECT_ID=ittbm412
  SANITY_E2E_BASE_URL=https://e2e-studio-fay450yfv.sanity.dev
  SANITY_E2E_DATASET="update depending the project you want to test (pr-11238-chromium-19639991897 || pr-11238-firefox-19639991897 )"
  SANITY_E2E_DATASET_CHROMIUM=pr-11238-chromium-19639991897
  SANITY_E2E_DATASET_FIREFOX=pr-11238-firefox-19639991897

@github-actions
Copy link
Contributor

github-actions bot commented Nov 24, 2025

📊 Playwright Test Report

Download Full E2E Report

This report contains test results, including videos of failing tests.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 24, 2025

⚡️ Editor Performance Report

Updated Mon, 24 Nov 2025 15:58:19 GMT

Benchmark reference
latency of sanity@latest
experiment
latency of this branch
Δ (%)
latency difference
article (title) 22.7 efps (44ms) 23.8 efps (42ms) -2ms (-4.5%)
article (body) 31.4 efps (32ms) 30.5 efps (33ms) +1ms (+3.1%)
article (string inside object) 25.6 efps (39ms) 24.1 efps (42ms) +3ms (+6.4%)
article (string inside array) 22.7 efps (44ms) 20.0 efps (50ms) +6ms (+13.6%)
recipe (name) 47.6 efps (21ms) 47.6 efps (21ms) +0ms (-/-%)
recipe (description) 58.8 efps (17ms) 58.8 efps (17ms) +0ms (-/-%)
recipe (instructions) 99.9+ efps (9ms) 99.9+ efps (7ms) -3ms (-/-%)
singleString (stringField) 64.5 efps (16ms) 66.7 efps (15ms) -1ms (-/-%)
synthetic (title) 16.9 efps (59ms) 15.9 efps (63ms) +4ms (+6.8%)
synthetic (string inside object) 15.9 efps (63ms) 15.6 efps (64ms) +1ms (+1.6%)

efps — editor "frames per second". The number of updates assumed to be possible within a second.

Derived from input latency. efps = 1000 / input_latency

Detailed information

🏠 Reference result

The performance result of sanity@latest

Benchmark latency p75 p90 p99 blocking time test duration
article (title) 44ms 50ms 74ms 116ms 40ms 9.6s
article (body) 32ms 40ms 85ms 163ms 147ms 7.4s
article (string inside object) 39ms 43ms 52ms 111ms 13ms 6.4s
article (string inside array) 44ms 51ms 81ms 132ms 0ms 6.7s
recipe (name) 21ms 23ms 26ms 67ms 11ms 6.7s
recipe (description) 17ms 20ms 24ms 42ms 0ms 4.3s
recipe (instructions) 9ms 12ms 13ms 31ms 0ms 3.2s
singleString (stringField) 16ms 18ms 21ms 39ms 0ms 5.8s
synthetic (title) 59ms 62ms 121ms 174ms 344ms 13.9s
synthetic (string inside object) 63ms 68ms 126ms 177ms 452ms 8.1s

🧪 Experiment result

The performance result of this branch

Benchmark latency p75 p90 p99 blocking time test duration
article (title) 42ms 48ms 72ms 123ms 29ms 10.0s
article (body) 33ms 37ms 81ms 130ms 128ms 6.8s
article (string inside object) 42ms 46ms 50ms 76ms 0ms 6.4s
article (string inside array) 50ms 53ms 57ms 118ms 2ms 6.8s
recipe (name) 21ms 24ms 27ms 67ms 0ms 6.7s
recipe (description) 17ms 19ms 23ms 42ms 0ms 4.3s
recipe (instructions) 7ms 10ms 12ms 32ms 0ms 3.1s
singleString (stringField) 15ms 19ms 21ms 34ms 0ms 5.8s
synthetic (title) 63ms 68ms 121ms 188ms 449ms 15.9s
synthetic (string inside object) 64ms 73ms 125ms 253ms 673ms 8.4s

📚 Glossary

column definitions

  • benchmark — the name of the test, e.g. "article", followed by the label of the field being measured, e.g. "(title)".
  • latency — the time between when a key was pressed and when it was rendered. derived from a set of samples. the median (p50) is shown to show the most common latency.
  • p75 — the 75th percentile of the input latency in the test run. 75% of the sampled inputs in this benchmark were processed faster than this value. this provides insight into the upper range of typical performance.
  • p90 — the 90th percentile of the input latency in the test run. 90% of the sampled inputs were faster than this. this metric helps identify slower interactions that occurred less frequently during the benchmark.
  • p99 — the 99th percentile of the input latency in the test run. only 1% of sampled inputs were slower than this. this represents the worst-case scenarios encountered during the benchmark, useful for identifying potential performance outliers.
  • blocking time — the total time during which the main thread was blocked, preventing user input and UI updates. this metric helps identify performance bottlenecks that may cause the interface to feel unresponsive.
  • test duration — how long the test run took to complete.

@github-actions
Copy link
Contributor

⚡️ Editor Performance Report

Deploying studio and running performance tests…

@github-actions
Copy link
Contributor

github-actions bot commented Nov 24, 2025

Preview this PR with pkg.pr.new

Create a new project

npx https://pkg.pr.new/create-sanity@23db03f

Note: This installs the latest Sanity Studio from the npm registry. To apply the changes from this PR in your newly created project, run the install commands below for each package listed in your package.json

...Or run the Sanity CLI

npx https://pkg.pr.new/@sanity/cli@23db03f <command>

...Or upgrade project dependencies

pnpm logo Using pnpm

📦 sanity
pnpm install https://pkg.pr.new/sanity@055cbe4
📦 @sanity/vision
pnpm install https://pkg.pr.new/@sanity/vision@055cbe4
📦 Other packages…
📦 create-sanity
pnpm install https://pkg.pr.new/create-sanity@055cbe4
📦 groq
pnpm install https://pkg.pr.new/groq@055cbe4
📦 @sanity/cli
pnpm install https://pkg.pr.new/@sanity/cli@055cbe4
📦 @sanity/codegen
pnpm install https://pkg.pr.new/@sanity/codegen@055cbe4
📦 @sanity/diff
pnpm install https://pkg.pr.new/@sanity/diff@055cbe4
📦 @sanity/migrate
pnpm install https://pkg.pr.new/@sanity/migrate@055cbe4
📦 @sanity/mutator
pnpm install https://pkg.pr.new/@sanity/mutator@055cbe4
📦 @sanity/schema
pnpm install https://pkg.pr.new/@sanity/schema@055cbe4
📦 @sanity/types
pnpm install https://pkg.pr.new/@sanity/types@055cbe4
📦 @sanity/util
pnpm install https://pkg.pr.new/@sanity/util@055cbe4

npm logo Using npm

📦 sanity
npm install https://pkg.pr.new/sanity@055cbe4
📦 @sanity/vision
npm install https://pkg.pr.new/@sanity/vision@055cbe4
📦 Other packages…
📦 create-sanity
npm install https://pkg.pr.new/create-sanity@055cbe4
📦 groq
npm install https://pkg.pr.new/groq@055cbe4
📦 @sanity/cli
npm install https://pkg.pr.new/@sanity/cli@055cbe4
📦 @sanity/codegen
npm install https://pkg.pr.new/@sanity/codegen@055cbe4
📦 @sanity/diff
npm install https://pkg.pr.new/@sanity/diff@055cbe4
📦 @sanity/migrate
npm install https://pkg.pr.new/@sanity/migrate@055cbe4
📦 @sanity/mutator
npm install https://pkg.pr.new/@sanity/mutator@055cbe4
📦 @sanity/schema
npm install https://pkg.pr.new/@sanity/schema@055cbe4
📦 @sanity/types
npm install https://pkg.pr.new/@sanity/types@055cbe4
📦 @sanity/util
npm install https://pkg.pr.new/@sanity/util@055cbe4

View Commit (055cbe4)

@github-actions
Copy link
Contributor

github-actions bot commented Nov 24, 2025

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 44.65% 63607 / 142428
🔵 Statements 44.65% 63607 / 142428
🔵 Functions 48.24% 3395 / 7037
🔵 Branches 79.28% 12872 / 16235
File CoverageNo changed files found.
Generated in workflow #46105 for commit 055cbe4 by the Vitest Coverage Report Action

@markmichon
Copy link
Contributor

@bjoerge The old URL will still work, but here's the new one as it'll save a redirect hop: https://www.sanity.io/docs/help/upgrade-packages

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants