releases.shpreview

v5.21.0

$npx -y @buildinternet/releases show rel_zrTbmRyp01zCB4TRGQF4H

Sanity Studio v5.21.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/studio-NS4yMC4w

Install or upgrade Sanity Studio

To upgrade to this version, run:

npm install sanity@latest

To initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

📓 Full changelog

AuthorMessageCommit
squiggler-app[bot]chore(deps): update playwright monorepo to v1.59.1 (#12659)48644a14dc53d2ee973f846ece97cc89e025dcc5
@bjoergechore(e2e): comment with report link on main if e2e tests fail (#12668)da30657c3e06e30194907ae715dec292f1728a21
@bjoergechore(ci): deploy playwright e2e reports to vercel (#12666)d12f242fadabd0e319a5117e3a245a89a81204ea
squiggler-app[bot]chore(deps): update vitest monorepo to ^4.1.4 (#12661)05811c3bff3a4154a644120b6cf58fd16538acdf
squiggler-app[bot]chore(deps): update davelosert/vitest-coverage-report-action action to v2.11.2 (#12656)c592ee951bc88e4709142fa01c661046fcc4b0fb
squiggler-app[bot]chore(deps): pin sanity-labs/mark-issues-done-action action to 88e6a3e (#12654)bbb67c3fadb07916c9ae99082914721fa5d15215
squiggler-app[bot]chore(deps): update dependency @sanity/migrate to ^6.1.1 (#12655)86c7190382e1acf655904de326a35d2718ad00b5
squiggler-app[bot]chore(tests): generate dts tests 🤖 ✨ (#12653)3f960c8a424a95ec9ce2a9ac8ab34b54de95ff81
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#12652)a2f091fd7f9534027fd50c2c2c49eced478585e9
squiggler-app[bot]fix(deps): update dependency @sanity/preview-url-secret to ^4.0.5 (#12648)7e432c9e5eab8dbc66345bfc19853275d94a4f74
squiggler-app[bot]chore(deps): update dependency esbuild to v0.28.0 (#12623)18552d3b2068315799a7b9b14f075a4edf5054b6
@dcilkefeat(sanity): add mutation performance and document rebase telemetry (#12634)70bed9c86204677e945d47e0a88b178b37b6e4a7
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#12638)d45d9c2766c744108cc04fef3460bf00182c80e9
squiggler-app[bot]chore(deps): update dependency @sanity/pkg-utils to ^10.4.15 (#12649)384622d8fac4bea9de3cfa58d30b9ac729dc958e
squiggler-app[bot]fix(deps): update dependency @sanity/cli to ^6.3.2 (#12650)6f318527caf37a722d0c936b5a3addc7953701dd
squiggler-app[bot]chore(deps): update dependency @sanity/visual-editing-csm to ^3.0.7 (#12643)809abd49ee9c75b8c210b9b9acdd9320b5941ac5
squiggler-app[bot]chore(tests): generate dts tests 🤖 ✨ (#12645)a26182becff931ae13639e61b8f671993771f3a5
@bjoergetest(e2e): add data-testid to error screens and auto-detect in e2e tests (#12619)965a0417470c5da4460335392a03fdf2cb8ff375
@bjoergechore(dev): add dedicated auth test studio (#12635)06557fe740918085f948b4bd3973de8d508d692c
squiggler-app[bot]chore(deps): update dependency @sanity/pkg-utils to ^10.4.14 (#12639)7b9c0a7f52995ff8bfa6026d042b2a94c8302deb
Copilotrefactor(sanity): remove shared ResizeObserver pattern and @juggle/resize-observer polyfill (#12640)426b3f3c8bab153c7b49d1e64316752c9614aeb1
Copilotchore(deps): update @sanity/sdk, @sanity/message-protocol, and @sanity/insert-menu (#12642)f63d4723d14747e3f952a63f3272cbb48995ffec
@skogsmaskinfix(form): position reference autocomplete popovers in portaled dialogs (#12633)e8358978231f9c6b53ce2ed1833f26ffc4f7a60d
squiggler-app[bot]fix(deps): Update portabletext (#12622)e48cf963fe142660a13c8846569dc6de00a6c412
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#12632)a420cf58d0d4ca55af6cab401bb46d0070b378cc
@ChrisLaRocquefix(structure): always show plus icon in pane header create button (#12600)8283f9702de36172d58a660728fea9080b15491a
@jordanl17fix(i18n): graceful fallback for invalid locale component tags in Translate (#12630)c6fd86491b485c6ea856a18b55c88a69933bf0d8
squiggler-app[bot]fix(deps): update dependency @sanity/client to ^7.21.0 (#12631)28033ef1e15b8ea37061023cc49301f1fd25bd40
@rexxarsfeat(vision): groq syntax highlighting (#12594)95a1dcee4f388be8c5d6212d118986e1e1742abc
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#12621)7392687e9f1cd5adf701cfac5875fa1b65cf05fc
squiggler-app[bot]chore(tests): generate dts tests 🤖 ✨ (#12615)75834e8336129ff15b77931d997d884608843aac
@jordanl17fix(document): resolving copying document id on live edit schema type (#12604)9b87ed11cdd70d88add0fcd4c5d6ec9d424ae3b4
squiggler-app[bot]chore(deps): update dependency @sanity/pkg-utils to ^10.4.13 (#12613)0dee84ba96a3c16bc2802c3fa90b244106ee427a
squiggler-app[bot]fix(deps): update dependency @sanity/client to ^7.20.0 (#12614)578f30555a589b38a555ef73310fff14590a36fb
@dcilkefix(schema): convert missing descriptor properties and expand test coverage (#12607)b89b88f0a8e46914f967da43ae5d6ff7d8d91792
@juice49feat(sanity): allow form gutter to be switched on or off for individual subtrees (#12616)d4e97c1afe5e76dd035e81144812b484d9dedccf
@juice49feat(sanity): do not override divergence enabled state in nested DocumentPaneProvider (#12616)c3bdf2a01055d9b189b772fb99a27024afca9e3e
@juice49fix(sanity): switch off divergences for entire inspector subtree (#12616)6105bbf9e4597f14c132141e66729e7cdafe7f61
@pedrobonaminfix(structure): allow text selection in validation panel error cards (#12611)b572c65379f13863ca9b509af99e46fa2b190a54
@RitaDiasrefactor(core): decouple FeedbackDialog and useFeedback from studio context (#12606)4c4907d9372e0384d5f47fa586e39921651f43c0
@jordanl17fix(releases): preserve search input focus when filtering yields no results (#12608)a758cbe6b9be0fd59ffb8780f69dd7699383466f
@juice49fix(sanity): use "added" and "removed" diffs in divergence inspector (#12598)58c0803d1af703f43324b04672223f6319d3bde0
@binoy14chore(deps): replace execa with node:child_process in perf tests (#12570)847d09fce6783de166163fb2f79c9bae0876b423
@kbrabrandfix(schema): support extracting object type without fields (#12605)ea7980663fcdb60b8457118bcb35486b60a7307e
@jordanl17fix(releases): resolving issues with navigation between scheduled drafts and releases (#12602)6d3855c13f605358427ca7655f67221cf57bc543
@jordanl17fix(structure): validate persisted sort order against schema before applying (#12589)8c0b013d36b5cf4daad07a61db1ab667d31041d9
@juice49fix(sanity): scope popover modal focus trapping to owner pane (#12542)c91a0e3569046c23853af328af28459e1d2efd2a
@annezdocs(telemetry): add comprehensive telemetry system documentation (#12512)e3d060f17f4d91d6f50235a14bc6e270169cf413
@juice49feat(sanity): add onActiveChanged and onTargetDocumentsChanged hooks to diff view state (#12584)a053bb43432e601e37bafa77fa62d7652018d215
@juice49chore(sanity): add telemetry to diff view (#12584)2e13821afc485f7717c0a11934e80a5d4792706f
@jordanl17fix(structure): support array index access in custom sort orderings (#12591)2aba6014362eb95598bdc5b129def58a375d90b6
@EoinFalconerfix(form): handle periods in array item keys when parsing paths (#12110)f295c2c362316fced7ac60065f23ca48e1109fa0
squiggler-app[bot]chore(deps): update dependency oxfmt to ^0.44.0 (#12592)ffd9d665a840cb639ec5538e75980f310ccb5014
@pedrobonaminfix(structure): incoming references inspector show loading state (#12596)f4d13bbbb2c609911fe89ca09204019977070440
@rexxarsfix(sanity): support runtime staging flag for auto-updating deploys (#12563)61cc6a162ab0b8ca23b2c60e34f5fc1a1a709230
@binoy14chore(deps): replace globby with tinyglobby (#12571)29e85014d8eba048545b01fd23967b41e6a33a98
@jordanl17ci: prevent cancelled runs from blocking auto-merge (#12585)fe4c60978710880e0fc8d878cc89e9b5c5a32f5c

Fetched April 15, 2026