Skip to content

Conversation

@squiggler
Copy link
Contributor

@squiggler squiggler bot commented Nov 26, 2025

πŸ€– I have created a release squib squob

Merging this PR will publish v4.20.0 to npm πŸš€

Release Notes Template

✨ Highlights

Awesome feature X

A few words about the awesome feature X, preferably with screengifs

Awesome feature Y

A few words about the awesome feature Y, preferably with screengifs

Other features

  • This is feature is not that important, but worth mentioning anyway

πŸ› Notable bugfixes

  • Fixes 🐞
  • Fixes πŸ›
  • Fixes πŸ¦—

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

πŸ““ Full changelog

Author Message Commit
renovate[bot] chore(deps): update dependency vite to v7.2.4 (#11254) 39ac2cf
renovate[bot] fix(deps): Update CodeMirror (#11256) 6d0897f
squiggler[bot] chore(deps): dedupe pnpm-lock.yaml (#11261) 57fe722
renovate[bot] chore(deps): update dependency turbo to ^2.6.1 (#11253) 422da1d
Pedro Bonamin fix(core): date time input fixes (#11233) 84418b4
Pedro Bonamin chore(core): update confirm delete dialog to include versions list (#11264) 705c4b7
Cody Olsen chore(pnpm): add trustPolicy: no-downgrade (#11267) 98f4dc5
squiggler[bot] chore(tests): generate dts tests πŸ€– ✨ (#11268) 6296fe2
Cody Olsen chore: widen @reduxjs/toolkit trust policy range (#11274) 4fe55a3
Cody Olsen refactor: remove CJS (#11021) 6bb0c4f
squiggler[bot] chore(deps): dedupe pnpm-lock.yaml (#11275) f6c26b3
Copilot chore: fix failure in release-next task (#11278) b077cad
Cody Olsen fix: ensure module server uploads .mjs files (#11281) 2be3548
renovate[bot] fix(deps): Update portabletext (#11270) bf4bf3b
renovate[bot] chore(deps): update dependency @sanity/client to v7.13.1 (#11282) f62421e
renovate[bot] fix(deps): update dependency @sanity/client to ^7.13.1 (#11283) b217ecb
renovate[bot] chore(deps): update amannn/action-semantic-pull-request digest to e32d7e6 (#11286) 50317d2
renovate[bot] chore(deps): update peter-evans/create-pull-request digest to 84ae59a (#11287) 2452f89
squiggler[bot] chore(deps): dedupe pnpm-lock.yaml (#11284) 564b36c
Cody Olsen chore: use tsgo for type checking ⚑️ (#11292) b38f469
renovate[bot] chore(deps): update dependency @lezer/highlight to ^1.2.3 (#11289) 253bd29
renovate[bot] chore(deps): update dependency @sanity/runtime-cli to ^11.1.4 (#11291) 21546e9
renovate[bot] chore(deps): update dependency @rollup/plugin-node-resolve to ^16.0.3 (#11290) f136084
renovate[bot] chore(deps): update dependency @google-cloud/storage to ^7.17.3 (#11288) 4b7c26f
Cody Olsen chore: unblock #11273 (#11296) 966e16e
renovate[bot] chore(deps): update dependency @sanity/client to v7.13.1 (#11297) 18957f8
squiggler[bot] chore(deps): dedupe pnpm-lock.yaml (#11300) 0ff9bbd
renovate[bot] chore(deps): update dependency @sanity/client to ^7.13.1 (#11301) b4a9135
renovate[bot] chore(deps): update dependency @sanity/ui to ^3.1.11 (#11303) 85645a3
Cody Olsen chore: fix dev command on monorepo (#11304) fae72a6
Cody Olsen fix: make sure require calls comes from createRequire (#11306) 0ae1f8b
renovate[bot] chore(deps): update dependency styled-components to ^6.1.19 (#11307) 36c2d5e
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to ^9.1.5 (#11298) a9b31ec
squiggler[bot] chore(deps): dedupe pnpm-lock.yaml (#11319) ab6624e
renovate[bot] chore(deps): update pnpm to v10.24.0 (#11320) 380e503
Cody Olsen fix: concat previewUrl and targetOrigin correctly (#11322) a18d3ed
renovate[bot] chore(deps): update dependency @sanity/ui-workshop to ^3.4.0 (#11323) 6702ec1
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to ^9.2.0 (#11324) 9112203
Copilot chore(deps): update date-fns to v4 and migrate to @date-fns/tz (#11295) de835c6
Magnus Holm feat(cli): add command for visualizing schema bloat 721e6d2
Pedro Bonamin fix(core): set correct focus path for assets inputs in images (#11317) f1182f5
Magnus Holm feat(schema): cache generated field objects 8efdc2b
renovate[bot] chore(deps): update dependency @vitejs/plugin-react to ^4.7.0 (#11325) 334e58d
Jordan Lawrence feat: delete scheduled drafts allows for copy back to draft when appropriate (#11143) 3210749
Magnus Holm refactor(schema): remove unused options to DescriptorConverter (#11239) eee6ece
renovate[bot] chore(deps): update dependency form-data to ^4.0.5 (#11326) a227327
renovate[bot] chore(deps): update dependency vite to ^7.2.4 (#11327) 7b2e4c1
renovate[bot] chore(deps): update linters (#11328) 046a0c2
renovate[bot] fix(deps): Update portabletext (#11329) ab15495
squiggler[bot] chore(deps): dedupe pnpm-lock.yaml (#11331) bbfad65
Cody Olsen chore(lint): ban commonjs syntax (#11318) b1e2ca2
renovate[bot] chore(deps): update dependency @vitejs/plugin-react to v5 (#11332) eff47b5
Pedro Bonamin chore(core): improve release status message for the Published status (#11293) 173fe64
Pedro Bonamin chore(core): set unpublish as the primary action for published documents (#11308) 787d09d
Cody Olsen fix: allow createGlobalStyle to work with auto updating studios (#11313) c964ffe
Jordan Lawrence fix: validate published document when it is displayed (#11130) adf299b
Cody Olsen chore: test styled-components fork requiring react 18 (#9486) 8058d7a
renovate[bot] chore(deps): update dependency oxlint-tsgolint to v0.8.3 (#11334) ea00a73
Jordan Lawrence fix: add dialog for content releases misconfiguration with support contact option (#11276) a43f8e0
Per-Kristian Nordnes fix(core): only validate .media validation markers (#11311) f8643c1
Rupert Dunk chore(deps): update dependency @sanity/image-url to ^2.0.1 (#11315) 511b7d8
renovate[bot] fix(deps): Update portabletext (#11338) 7ee38ba
squiggler[bot] chore(tests): generate dts tests πŸ€– ✨ (#11339) d2f5821
renovate[bot] chore(deps): update dependency prettier to ^3.7.1 (#11340) 9cb3402
squiggler[bot] chore(lint): fix linter issues πŸ€– ✨ (#11344) 7f015f4
squiggler[bot] chore(deps): dedupe pnpm-lock.yaml (#11343) f7d62c6
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to ^9.2.1 (#11342) 2c84c31
squiggler[bot] chore(deps): dedupe pnpm-lock.yaml (#11345) 21f4253
Pedro Bonamin fix(core): pte inline comments respect __internal_comments disabled (#11341) 0f566b5
Cody Olsen chore: add tsgo to extensions list (#11348) 147c302
Magnus Holm feat(schema): de-dupe re-used fields in the descriptor b287558
Magnus Holm refactor(descriptors): make descriptor converter async 7c1fc4d
renovate[bot] chore(deps): update dependency @typescript/native-preview to v7.0.0-dev.20251128.1 (#11351) 6647a27
Magnus Holm feat(descriptors): minimize blocking the UI 2826615
Pedro Bonamin chore(core): display comments error if present (#11350) ec4193d
Cody Olsen fix: ensure schema errors are caught (#11349) 30b67b5
renovate[bot] chore(deps): update react monorepo (#11269) d40ddf5
renovate[bot] chore(deps): update lerna-lite monorepo to ^4.9.4 (#11352) 0a14c18
squiggler[bot] chore(deps): dedupe pnpm-lock.yaml (#11356) 6d93737
renovate[bot] chore(deps): update dependency prettier-plugin-packagejson to ^2.5.20 (#11355) deac1f5
Pedro Bonamin fix(core): use toolTitle for document.title if present (#11285) c7967d8
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to ^9.2.2 (#11359) 82ce9fb
renovate[bot] chore(deps): update oxlint to v1.31.0 (#11357) cae0a69
squiggler[bot] chore(deps): dedupe pnpm-lock.yaml (#11360) 5c58f70
Cody Olsen fix: remove ServerStyleSheet usage (#10757) 76028e1
renovate[bot] chore(deps): update dependency prettier to ^3.7.2 (#11354) b194034
Bjørge Næss fix(deps): mark support for react < 19.2 and @sanity/ui < 3 as deprecated (#11238) 8cd0a7c
Per-Kristian Nordnes fix(core): fix props function delcaration (#11362) 6b54783
Pedro Bonamin fix(core): update server delete operation to include versions list (#11364) 482f1d1
Bjørge Næss fix(sanity): allow editing documents in non-release bundles (#11312) dfa9dc1
Rupert Dunk feat: support private assets (#11316) 9a661ca
Bjørge Næss chore: return single stack if outside of a release bundle (#11314) 315e9f1
Pedro Bonamin fix(structure): replace delete action for discard in non published docs (#11363) ef60727
Pedro Bonamin fix(media-library): support groups and fieldset in defineVideoField (#11361) 3c840ce

@squiggler squiggler bot requested review from a team and pedrobonamin and removed request for a team November 26, 2025 08:13
@vercel
Copy link

vercel bot commented Nov 26, 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 Dec 2, 2025 3:22pm
test-studio Ready Ready Preview Comment Dec 2, 2025 3:22pm
2 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
studio-workshop Ignored Ignored Preview Dec 2, 2025 3:22pm
test-next-studio Ignored Ignored Dec 2, 2025 3:22pm

@github-actions
Copy link
Contributor

github-actions bot commented Nov 26, 2025

πŸ§ͺ E2E Preview environment

πŸ”‘ Environment Variables for Local Testing

This is the preview URL for the E2E tests: https://e2e-studio-1j1tdqjkq.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-1j1tdqjkq.sanity.dev
  SANITY_E2E_DATASET="update depending the project you want to test (pr-11266-chromium-19863625717 || pr-11266-firefox-19863625717 )"
  SANITY_E2E_DATASET_CHROMIUM=pr-11266-chromium-19863625717
  SANITY_E2E_DATASET_FIREFOX=pr-11266-firefox-19863625717

@github-actions
Copy link
Contributor

github-actions bot commented Nov 26, 2025

πŸ“Š Playwright Test Report

Download Full E2E Report

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

@squiggler squiggler bot requested a review from a team November 26, 2025 08:14
@squiggler squiggler bot force-pushed the ci/release-main branch 2 times, most recently from d848121 to 0b6a079 Compare November 26, 2025 08:16
@github-actions
Copy link
Contributor

github-actions bot commented Nov 26, 2025

⚑️ Editor Performance Report

Updated Tue, 02 Dec 2025 16:12:19 GMT

Benchmark reference
latency of sanity@latest
experiment
latency of this branch
Ξ” (%)
latency difference
article (title) 23.8 efps (42ms) 19.0 efps (53ms) +11ms (+25.0%) πŸ”΄
article (body) 25.2 efps (40ms) 24.9 efps (40ms) +0ms (+1.1%) βœ…
article (string inside object) 21.3 efps (47ms) 21.1 efps (48ms) +1ms (+1.1%) βœ…
article (string inside array) 18.9 efps (53ms) 19.4 efps (52ms) -2ms (-2.8%) βœ…
recipe (name) 40.0 efps (25ms) 41.7 efps (24ms) -1ms (-4.0%) βœ…
recipe (description) 52.6 efps (19ms) 55.6 efps (18ms) -1ms (-5.3%) βœ…
recipe (instructions) 95.2 efps (11ms) 90.9 efps (11ms) +1ms (-/-%) βœ…
singleString (stringField) 55.6 efps (18ms) 51.3 efps (20ms) +2ms (+8.3%) βœ…
synthetic (title) 15.4 efps (65ms) 15.4 efps (65ms) +0ms (-/-%) βœ…
synthetic (string inside object) 15.5 efps (65ms) 15.6 efps (64ms) -1ms (-0.8%) βœ…

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) 42ms 50ms 85ms 139ms 68ms 10.3s
article (body) 40ms 57ms 107ms 166ms 161ms 7.7s
article (string inside object) 47ms 58ms 76ms 159ms 28ms 7.0s
article (string inside array) 53ms 59ms 77ms 140ms 33ms 7.2s
recipe (name) 25ms 28ms 33ms 57ms 0ms 7.7s
recipe (description) 19ms 23ms 27ms 58ms 0ms 4.4s
recipe (instructions) 11ms 12ms 16ms 45ms 0ms 3.4s
singleString (stringField) 18ms 21ms 23ms 39ms 0ms 6.7s
synthetic (title) 65ms 70ms 144ms 217ms 650ms 17.1s
synthetic (string inside object) 65ms 70ms 124ms 163ms 555ms 8.3s

πŸ§ͺ Experiment result

The performance result of this branch

Benchmark latency p75 p90 p99 blocking time test duration
article (title) 53ms 71ms 117ms 207ms 192ms 11.6s
article (body) 40ms 65ms 116ms 135ms 172ms 7.9s
article (string inside object) 48ms 56ms 98ms 135ms 73ms 7.0s
article (string inside array) 52ms 57ms 101ms 158ms 37ms 7.2s
recipe (name) 24ms 29ms 33ms 77ms 1ms 7.4s
recipe (description) 18ms 21ms 26ms 46ms 0ms 4.5s
recipe (instructions) 11ms 13ms 15ms 56ms 0ms 3.5s
singleString (stringField) 20ms 22ms 23ms 45ms 0ms 7.0s
synthetic (title) 65ms 72ms 123ms 227ms 751ms 15.4s
synthetic (string inside object) 64ms 75ms 150ms 297ms 757ms 8.8s

πŸ“š 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

github-actions bot commented Nov 26, 2025

Coverage Report

Status Category Percentage Covered / Total
πŸ”΅ Lines 44.38% 63990 / 144177
πŸ”΅ Statements 44.38% 63990 / 144177
πŸ”΅ Functions 48.19% 3409 / 7073
πŸ”΅ Branches 79.26% 12962 / 16353
File CoverageNo changed files found.
Generated in workflow #46950 for commit a36ca3a by the Vitest Coverage Report Action

@squiggler squiggler bot force-pushed the ci/release-main branch from b209dfc to 7fc9c52 Compare December 2, 2025 10:47
@squiggler squiggler bot force-pushed the ci/release-main branch 2 times, most recently from d312e19 to 238ebb1 Compare December 2, 2025 12:37
@squiggler squiggler bot force-pushed the ci/release-main branch from 238ebb1 to afa2cea Compare December 2, 2025 14:12
@squiggler squiggler bot force-pushed the ci/release-main branch from afa2cea to fff917e Compare December 2, 2025 14:22
@squiggler squiggler bot force-pushed the ci/release-main branch from fff917e to 8f7432c Compare December 2, 2025 14:47
@squiggler squiggler bot force-pushed the ci/release-main branch from 8f7432c to 5897b57 Compare December 2, 2025 15:01
@pedrobonamin pedrobonamin merged commit c6350b2 into main Dec 2, 2025
67 of 68 checks passed
@pedrobonamin pedrobonamin deleted the ci/release-main branch December 2, 2025 16:07
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.

2 participants