releases.shpreview
Sanity/Sanity Studio

Sanity Studio

$npx -y @buildinternet/releases show sanity-studio
Mon
Wed
Fri
AprMayJunJulAugSepOctNovDecJanFebMarApr
Less
More
Releases23Avg7/moVersionsv5.3.0 → v5.21.0
Jan 15, 2026

Sanity Studio v5.4.0

This release includes bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/352e50b8-8345-4046-af9f-4228c2a6733a

Install or upgrade Sanity Studio

To upgrade to this version, run:

npm install sanity@latest

📓 Full changelog

AuthorMessageCommit
Eoin Falconerfix(structure): ensure close button is rightmost in split pane toolbar (#11817)2e8e9740a0
Eoin Falconerfix(vision): allow custom domains for saved query recall (#11821)dbf74ce69a
renovate[bot]chore(deps): update dependency styled-components to ^6.3.5 (#11827)33ff807e65
Bram Doppenfeat: add media-library-auto-alt-text function example (#11337)85d983d3e8
renovate[bot]fix(deps): update dependency @sanity/import to ^4.0.4 (#11832)8bea477b37
renovate[bot]fix(deps): Update dev-non-major (#11837)64445845eb
renovate[bot]chore(deps): update dependency @sanity/migrate to ^5.2.2 (#11834)47af4bce44
Jordan Lawrencefeat: edit content of scheduled drafts (#11692)8862905e93
renovate[bot]chore(deps): update dependency @sanity/message-protocol to ^0.19.0 (#11839)a91537b466
Fred Carlsenfix(core): dont crash when image url string is passed to preview (#6727)98f37b8b66
Jordan Lawrencefix: correcting mismatch with filtering of CI for examples only changes (#11831)5cdb49da73
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11840)02d60fc49b
RitaDiastest: handling flake (#11833)8517d18c17
Jordan Lawrencefix: correct navigation function call for confirming drafts (#11842)d0c01bd238
renovate[bot]chore(deps): update dependency @sanity/media-library-types to ^1.2.0 (#11838)13bca01b44
renovate[bot]chore(deps): update dependency @typescript/native-preview to v7.0.0-dev.20260112.1 (#11835)5d919d9c16
Jan 14, 2026

Sanity Studio v5.3.1

This release includes bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/fc2a31d0-e3cf-40d4-9321-eb4b35e6196f

Install or upgrade Sanity Studio

To upgrade to this version, run:

npm install sanity@latest

📓 Full changelog

AuthorMessageCommit
Pedro Bonaminfix(core): use intent links for content releases navigation (#11828)79afdaa626
Jan 13, 2026

Sanity Studio v5.3.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/55c293f6-f95b-45ba-8487-4f6e514b915a

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
Cody Olsenchore(ci): don't cancel-in-progress jobs that open/rebase PRs (#11731)c00ddbc984
David Annezfix(structure): thread sortOrder through preview system for viewOptions (#11625)a87917c6e4
James Woodschore: update mcp configure error message (#11693)2b0bffac7d
Simeon Griggsfeat: log schema errors on extraction failure (#10573)321e16bb62
renovate[bot]chore(deps): update dependency @tanstack/react-virtual to ^3.13.16 (#11712)61472b51bd
renovate[bot]chore(deps): update peter-evans/create-pull-request action to v8 (#11724)16dec189ea
renovate[bot]chore(deps): update actions/upload-artifact action to v5 (#11718)a5d7c07eea
Jordan Lawrencefeat: warning on releases overview when release has missed intended publish date (#11631)128296cc04
Dan Grovesfeat: add thumbhash supoort for media-library76cda086e3
RitaDiastest: stabilise e2e tests (#11689)f9c1350392
renovate[bot]chore(deps): update dependency @typescript/native-preview to v7.0.0-dev.20260104.1 (#11713)0309df2a6d
Filips Alpefix(cli): improve autoUpdates config upgrade message (#10778)5e9770d032
Pedro Bonaminchore(core): rename unstable_use hooks (#9388)83a03f171f
Nick Spaargarendocs(cli): update auto-updates documentation URL (#11705)27686cb16d
Ryan Bonialfix(cli): prevent file descriptor leak in dataset import (#11687)fd350a7a71
David Annezfix(form): sanitize timezone storage keys for datetime fields in arrays (#11683)0e6cb2006d
Matthew Ritterfeat: GRO-4157 dynamic mcp init prompt (#11555)e6f4485432
renovate[bot]fix(deps): update dependency @sanity/import to ^4.0.3 (#11735)679e81db41
Cody Olsenfix(linter): enforce no unnecessary boolean literal comparisons (#11734)94462ad1f5
renovate[bot]chore(deps): update actions/checkout action to v6 (#11716)a6a8a6b96d
renovate[bot]chore(deps): update actions/cache action to v5 (#11715)f098a66bb5
renovate[bot]chore(deps): update dependency @sanity/color-input to v6 (#11719)7149d2b76a
renovate[bot]chore(deps): update dessant/lock-threads action to v6 (#11722)4a9a83bde9
Kristoffer Brabrandfeat(typegen): add ArrayOf utility type for inline object array members (#11698)895b404899
Copilotchore: Enable prefer-screen-queries rule and fix violations (#11730)18a50304fa
renovate[bot]chore(deps): update dependency eslint-plugin-unicorn to v62 (#11720)7c8653952e
RitaDiastest: stabilise e2e follow up (#11738)9e3ee74bd8
squiggler[bot]chore(lint): fix linter issues 🤖 ✨ (#11725)d67c58fe99
squiggler[bot]chore(lint): fix linter issues 🤖 ✨ (#11739)f188c92927
Noah Gentilefix(typegen): preserve non-identifier keys in generated types (#11736)eaccb7a950
renovate[bot]fix(deps): Update portabletext (#11740)62a63ce9a2
Copilotrefactor: consolidate oxlint configurations and add --disable-nested-config flag (#11743)cef755629e
Ashfix(sanity): support anonymous bundles in DocumentNotInReleaseBanner1beb5f0806
Ashfix(sanity): render DocumentNotInReleaseBanner when document has no version in globally selected anonymous bundle0a14cf5d42
Ashfix(sanity): read-only state of documents outside of globally selected anonymous bundle0b83c899a0
Per-Kristian Nordnestest(playwright-ct): add tests for nested PT-input (#5187)0177424a40
renovate[bot]chore(deps): update dependency styled-components to ^6.2.0 (#11751)cbf538d3fc
Ashfeat(sanity): omit search weights when possible (#7751)921efbbd4d
Jordan Lawrencefix: removing the deletion of drafts when creating scheduled drafts (#11744)c54a29e8a1
renovate[bot]chore(deps): update github artifact actions to v6 (major) (#11723)442e25984a
RitaDiastest: add stronger guardrails for timeout for efps (#11753)64e2005014
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^10.3.0 (#11757)c20b0a806f
Ken Jonesdocs: fix recipe filters (#10926)d1ad7b5df2
renovate[bot]chore(deps): update actions/download-artifact action to v7 (#11717)84f16b82d8
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11759)5c185bb2cb
Rupert Dunkfeat: enable private asset selection from media library (#11756)38a9241165
renovate[bot]chore(deps): update dependency oxlint-tsgolint to v0.11.0 (#11770)11b35d7a0d
renovate[bot]chore(deps): update dependency turbo to ^2.7.3 (#11766)66befeac40
renovate[bot]chore(deps): update dependency vitest-package-exports to ^1.1.2 (#11767)91e507f184
renovate[bot]chore(deps): update lerna-lite monorepo to ^4.10.4 (#11768)82766a9dd4
backstage-sanity-tools[bot]chore(backstage): register sanity component to catalog (#11773)6a9f025694
Copilotfix(vitest): migrate Date, Worker, and Observer mocking to v4 API (#11754)20caed10d7
renovate[bot]fix(deps): Update linters (#11769)c9adfbc259
renovate[bot]chore(deps): update dependency @codemirror/view to ^6.39.9 (#11771)a9c664b2f4
renovate[bot]chore(deps): update dependency @tanstack/react-virtual to ^3.13.18 (#11772)a02ab4e3c9
Ashfix(sanity): add support for anonymous versions in useDocumentIdStacka56390dcaa
Ashfix(sanity): allow display of anonymous versions in document comparison tool3bd4bf3b14
James Woodsfeat(cli): add mcp configuration support for zed and opencode (#11747)30121a5fe0
renovate[bot]fix(deps): update dependency motion to ^12.25.0 (#11791)daa18a10b4
Adam Söderströmfix(presentation): render "Presentation" in page title when options.title is not passed (#11784)d3adc837a1
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11786)d84ad4ba76
renovate[bot]chore(deps): update pnpm to v10.28.0 (#11790)d3a49a1756
renovate[bot]chore(deps): update lerna-lite monorepo to ^4.10.5 (#11787)dfc8adf204
Cody Olsenrefactor: replace module-alias and tsconfig paths with export conditions (#11746)110c6c75e0
Rico Kahlerrefactor(cli): allow all properties from ClientConfig in getCliClient (#6669)1e4e248f6a
renovate[bot]chore(deps): update oxlint to v1.39.0 (#11796)65d3642ef2
renovate[bot]chore(deps): update dependency @sanity/generate-help-url to v4 (#11792)c0ae6b55d6
renovate[bot]chore(deps): update dependency eslint-formatter-gha to v2 (#11793)f97fc20f92
David Annezfeat(telemetry): enrich events with Studio context (#11764)e6011be4ca
Jordan Lawrencefix: scheduled versions disable delete action (#11798)43fa9d948a
Jordan Lawrencechore: add workflow to auto tag example only PRs (#11695)3016834b1d
RitaDiasrefactor: efps improve time (#11755)59e4ea76a2
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^10.3.2 (#11803)c3d65146e0
renovate[bot]chore(deps): update dependency styled-components to ^6.3.0 (#11805)6031680081
RitaDiaschore: remove webkit from running in e2e ct (#11804)ab8b5eb6ec
David Annezfeat(telemetry): add Core Web Vitals tracking via web-vitals library (#11765)39d01342e2
RitaDiasfeat: make enhancedObjectDialog opt out (#11802)66ca5b8ef6
renovate[bot]chore(deps): update dependency styled-components to ^6.3.1 (#11816)5542657d5d
Nicholas Klemci: use 8-core larger runners for heavy workflows (#11820)8956069ea3
Nicholas Klemci: simplify job names to be runner-agnostic (#11822)1176493a26
renovate[bot]fix(deps): Update portabletext (#11797)7b25305a78
renovate[bot]chore(deps): update playwright monorepo to v1.57.0 (#11789)a7486dc8c3
RitaDiastest: e2e flake electric boogaloo (#11806)3e7ed70a7e
Jan 7, 2026

Sanity Studio v5.2.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/ef4c2c04-ea6e-4ae9-a5cf-0582b5374ff9

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.

AuthorMessageCommit
Bjørge Næsschore(gen-docs): support multiple bundles + pass id to template (#11607)e39ae0c1e6
Bjørge Næssrefactor: improve document header versions list (#11614)dbf3af20e7
Bjørge Næsschore(test-studio): add workspace with no release (#11618)f5d8ee6a91
Bjørge Næssfix(structure): add clickOutside workaround for nested modals (#11617)49d252dcab
Binoy Patelrefactor: remove migrate package (#11609)669676a4eb
Bjørge Næssfix(releases): don't validate references in releases (#11622)dd33f5b975
Bjørge Næssfix(releases): hide 'Copy to' context menu if no drafts or releases (#11616)946d211bd9
Bjørge Næssfix(form): pass current document to reference filter function (#11619)226d15052b
Jordan Lawrencefix: timing issues causing test flake (#11627)3b99e38be8
Bjørge Næssfix(core): ensure _type is set on initial value templates (#11621)0378dce557
Jordan Lawrencefix: update recent search version to 3 and improve search sanitization logic (#11620)ee5da89184
Jordan Lawrencefeat: add Scheduled Drafts menu item to the releases navbar (#11202)2b27e008d3
Binoy Patelrefactor: remove create-sanity package (#11630)90b5fc1f9f
Cody Olsenchore: upgrade LICENSE year to 2026 🎊 (#11633)d3da4750f6
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11632)4c82f437c7
renovate[bot]fix(deps): Update dev-non-major (#11641)6f25f33cfe
Cody Olsenfix: temporary pin @sanity/migrate to 5.1.0 (#11656)296c398a3e
renovate[bot]chore(deps): update dependency @sanity/prettier-config to v3 (#11649)3ac0587270
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^10.2.5 (#11634)4df75ad387
renovate[bot]chore(deps): update dependency turbo to ^2.7.2 (#11636)e54718aa03
renovate[bot]chore(deps): update dependency @sanity/visual-editing-csm to ^3.0.4 (#11635)75c0ffde9e
renovate[bot]chore(deps): update dependency lodash-es to ^4.17.22 (#11637)cbba130e15
renovate[bot]fix(deps): Update CodeMirror (#11640)33ffc37db7
renovate[bot]chore(deps): update dependency esbuild to v0.27.2 (#11642)724e848442
renovate[bot]fix(deps): update dependency @sanity/insert-menu to v3.0.3 (#11643)9360af46db
renovate[bot]fix(deps): update dependency @sanity/preview-url-secret to ^4.0.2 (#11644)1d62afb00b
renovate[bot]chore(deps): update dependency @sanity/message-protocol to ^0.18.0 (#11645)16cbf0d0d5
renovate[bot]chore(deps): update dependency @sanity/image-url to v2.0.2 (#11648)9f87332d27
renovate[bot]chore(deps): update dependency sanity-plugin-asset-source-unsplash to v7 (#11651)bd19b67020
renovate[bot]chore(deps): update dependency @sanity/code-input to v7 (#11647)1072b39c62
renovate[bot]chore(deps): update dependency vercel to ^48.12.1 (#11638)38fc6baede
renovate[bot]chore(deps): update lerna-lite monorepo to ^4.10.3 (#11639)ec82b18706
renovate[bot]fix(deps): Update portabletext (#11646)795e94bb6f
renovate[bot]chore(deps): update dependency @uiw/react-codemirror to ^4.25.4 (#11660)c2cc9b75c4
renovate[bot]chore(deps): update dependency @vitejs/plugin-react to ^5.1.2 (#11661)025994de99
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11654)412f4a6860
Copilotfeat: add @sanity/sveltekit support to typegen query detection (#11659)7926a94242
Cody Olsenfix: remove ServerStyleSheet that snuck back in (#11664)029f8fe061
RitaDiasrefactor: rework architecture for enhancedObjectDialog (#11436)d8f0340485
David Annezfix(preview): don't show schema icon when prepare() omits media (#11623)28787561e7
Jordan Lawrencerefactor: removing releases plus checks (#11613)50f8326351
renovate[bot]chore(deps): update dependency @sanity/google-maps-input to ^4.2.1 (#11669)08daa5fb8a
renovate[bot]chore(deps): update dependency vitest-package-exports to v1 (#11676)01e3368362
renovate[bot]chore(deps): update dependency @sanity/runtime-cli to ^12.3.0 (#11670)d488e44ae7
renovate[bot]chore(deps): update pnpm to v10.27.0 (#11675)f7ae510152
Cody Olsenfeat(codegen): support .svelte files (#11677)268ce47759
renovate[bot]fix(deps): Update dev-non-major (#11673)54c30a65e5
renovate[bot]fix(deps): update dependency groq-js to ^1.24.1 (#11679)ce27be7364
renovate[bot]chore(deps): update davelosert/vitest-coverage-report-action digest to 5b6122e (#11666)224c02f1b3
RitaDiasrefactor: add array titles to breadcrumbs in enhanced object dialog (#11578)9b405c23d7
renovate[bot]fix(deps): Update portabletext (#11681)72daebe635
renovate[bot]chore(deps): update dependency @mux/mux-player-react to ^3.10.2 (#11667)db86d5b983
renovate[bot]chore(deps): update dependency @tanstack/react-virtual to ^3.13.14 (#11671)f73f3bde34
renovate[bot]chore(deps): update dependency @sanity/descriptors to ^1.3.0 (#11668)09afb21993
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11680)e20af99f5c
renovate[bot]chore(deps): update linters (#11657)dbffb42a3d
renovate[bot]chore(deps): update dependency @testing-library/react to ^16.3.1 (#11672)33df4a2a09
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11688)405b226d09
Mark Michonfix(cli): update init output docs command text (#10074)ad1c6bd706
renovate[bot]chore(deps): update dependency sanity-plugin-asset-source-unsplash to ^7.0.1 (#11690)166d816bff
Jordan Lawrencechore: examples skip CI tests (#11682)57c5a29ffa
renovate[bot]fix(deps): update dependency @sanity/client to ^7.14.0 (#11691)17d8aac058
David Annezfix(core): remove redundant tooltips from workspace menu buttons (#11448)a8977ac71b
renovate[bot]chore(deps): update dependency @sanity/migrate to v5.2.1 (#11655)ac3826a83d
renovate[bot]chore(deps): update oxlint (#11674)7626beeb20
renovate[bot]fix(deps): update dependency groq-js to ^1.25.0 (#11697)a58262bac5
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11694)bf8ba98008
David Annezfix(validation): extract Rule.fields() from nested Rule.all() and Rule.either() (#11685)ef88ca91c1
Rupert Dunkfeat(core): weight mode param on create intents (#5762)8dae9a7bb6
Cody Olsenfix(codegen,cli): handle CSS imports when require(esm) happens (#11701)8be4aa6b54
Bjørge Næsschore(ci): make next tag even with 'latest' when releasing (#11615)b1cdfb9472
Cody Olsenchore: add intl array test (#9035)6bb3ce8bbd
Dain Cilkefeat: update ResourceMenu studio version and registration (#11520)6b48277604
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^10.2.6 (#11706)61c43291d2
Cody Olsenchore: oxlint regular —fix (#11710)31c5f131e5
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11709)7cc3b945b0
Cody Olsenchore(lint): disable no negated eslint rule, improve lint-if-needed workflow (#11721)658a4d87d7
renovate[bot]chore(deps): update oxlint to v1.38.0 (#11714)0394547e2e
Cody Olsenfix(codegen): don't warn on import.meta.hot (#11726)7f5bae1a9b
Cody Olsenchore: bypass rate limiting when setting up e2e and cleanup (#11727)a626b2d142
Cody Olsenchore(ci): fix lint:fix if needed workflow (#11728)3aeb104c62
Ashfix(sanity): allow display of anonymous versions in history inspector (#11702)26e2519a62
Dec 22, 2025

Sanity Studio v5.1.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/807d5a67-b238-40b6-b6f1-e4658dd0cc67

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
Pedro Bonaminchore(core): calendar component cleanup and tests (#11439)7915625d74
Espen Hovlandsdalci: set api rate limit bypass as env var (#11586)76241078cd
Dain Cilkefeat(liveManifest): include bundleVersion in manifest9ceb4a9033
Dain Cilkefeat(toggles): fail open schema and manifest togglesd496806f04
Bjørge Næsschore(scripts): improve args parsing for generate documents script (#11590)e4ce7045c8
Bjørge Næssrefactor(structure): rename variables for clarity (#11591)c192cb0695
Bjørge Næssfix(structure): fix unstyled text on publish action tooltip (#11593)e4b29c6836
Per-Kristian Nordnesfix(core): test schema type for ancestor file and image type (#11592)d0a0119c0c
Bjørge Næssrefactor(core): rename releaseId => selectedPerspectiveName (#11594)fd2e7cf165
Bjørge Næssfix(core): void selectedReleaseId if bundle is outside a release (#11595)e256c0554f
Bjørge Næssfix(structure): hide add to release banner for non-release versions (#11596)c2c10c1543
Bjørge Næssfix(structure): void documentActionProps.release for non-release versions (#11597)dfae558a35
Bjørge Næssrefactor(core): support opting for reference validation for version documents (#11599)05f65ae994
Bjørge Næssfeat: show selected non-release bundle name in global perspective menu (#11600)80653f7667
Charlie Brownchore: npm badges for our tagged versions (#11606)b86a4f6ad7
Bjørge Næssfeat(structure): display version chips for non-release-bundles (#11601)f441eea71b
Bjørge Næssfix: show publish as primary action for non-release versions (#11602)a8190f8806
Bjørge Næssfix(releases): pass through publish action in version context (#11598)a0b47a9932
Bjørge Næssfix(form): re-enable editing liveEdit documents in published perspective (#11608)df4d72cb45
Bjørge Næssfeat: support discard, delete, and duplicate for non-release versions (#11603)3b26890238
Bjørge Næssfix(structure): consider selected bundle in "reference changed" check (#11611)44a8f20193
Bjørge Næssfix(sanity): fix false positive reference validation for release docs (#11610)588a76d788
RitaDiasstyle: updates to the workspace switcher (#11523)c8498450d5
Dec 17, 2025

Sanity Studio v5.0.1

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/afd14f41-6842-4984-8d83-23853647cdc0

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[bot]chore(tests): generate dts tests 🤖 ✨ (#11526)0ee9573c79
renovate[bot]fix(deps): update dependency @portabletext/editor to v4 (#11532)36ff000eb5
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11525)4fcf3b26f6
renovate[bot]fix(deps): Update portabletext (#11531)9acea25826
renovate[bot]fix(deps): update dependency groq-js to ^1.24.0 (#11534)e1c46d572c
renovate[bot]chore(deps): update dependency esbuild to v0.27.1 (#11418)0dd7842d31
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11533)554d6b116d
renovate[bot]chore(deps): update pnpm to v10.26.0 (#11543)0231da8ded
renovate[bot]chore(deps): update dependency @sanity/media-library-types to ^1.0.2 (#11538)3caa80d175
renovate[bot]fix(deps): Update dev-non-major to ^2.4.0 (#11544)19b1b9ec8d
renovate[bot]fix(deps): update dependency xstate to ^5.25.0 (#11542)ec49ea1f7e
renovate[bot]fix(deps): update dependency @portabletext/plugin-one-line to v4 (#11536)0cb97d93b8
renovate[bot]chore(deps): update linters (#11541)8493c9d9cc
renovate[bot]chore(deps): update dependency @tanstack/react-virtual to ^3.13.13 (#11539)3c89be8475
renovate[bot]chore(deps): update dependency vite to ^7.2.7 (#11540)0a2dde59e7
Cody Olsenrefactor: replace use-effect-event with react (#11535)381b29b9ac
renovate[bot]fix(deps): Update portabletext to v5 (major) (#11537)33f71158a6
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11547)e243f8a444
renovate[bot]fix(deps): update dependency motion to ^12.23.26 (#11552)57c9f1cdee
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11554)284b6fa60c
renovate[bot]chore(deps): update dependency @sanity/message-protocol to ^0.17.8 (#11398)920dd4b54e
renovate[bot]chore(deps): update dependency @sanity/visual-editing-csm to v3 (#11557)fb861ba19f
renovate[bot]chore(deps): update dependency @sanity/visual-editing-csm to ^3.0.1 (#11558)ecc0861080
renovate[bot]fix(deps): update dependency @sanity/preview-url-secret to v4 (#11560)f86089d40e
Cody Olsenrefactor: replace @sanity/preview-url-secret/sanity-plugin-debug-secrets with @sanity/debug-preview-url-secret-plugin (#11561)cf641b2484
renovate[bot]fix(deps): update dependency @sanity/insert-menu to v3 (#11559)90dfc4736f
renovate[bot]chore(deps): update dependency @sanity/visual-editing-csm to ^3.0.2 (#11563)21d4a7fbb1
renovate[bot]chore(deps): update dependency @sanity/visual-editing to v5 (#11564)68fd8af238
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11566)0ea566ac28
Cody Olsenrefactor: use lodash-es instead of lodash (#11556)4499210bd2
Cody Olsenfix(deps): update dependency @sanity/import to v4 (#11553)a4b0a3fc3c
renovate[bot]fix(deps): update dependency @sanity/preview-url-secret to ^4.0.1 (#11573)e05918f39a
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11575)43cf7f9379
renovate[bot]fix(deps): Update portabletext (#11570)c798574f2b
renovate[bot]chore(deps): update dependency @sanity/visual-editing-csm to ^3.0.3 (#11571)95b4f81e57
renovate[bot]fix(deps): update dependency @sanity/insert-menu to v3.0.2 (#11572)a6264ef21b
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11576)b5a8498996
renovate[bot]fix(deps): Update dev-non-major (#11574)1d0f1cb5e2
Kristoffer Brabrandfix(schema): sort out conflict between hoisted ref types and other types (#11579)85d65b166b
Per-Kristian Nordnesfix: put back missing support for file extension type file accept (#11582)b3a4fe2b2f
Dec 16, 2025

Sanity Studio v5.0.0

Sanity Studio v5 requires React 19.2 and includes breaking changes to TypeGen output in the Sanity CLI. Your schemas, plugins, and Studio customizations work exactly as before.

For the complete changelog with all details, please visit: www.sanity.io/changelog/fd3ab62e-9264-4e7b-825a-fd4f99abd481

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
Bjørge Næssfix!: drop support for react < 19.2 (#11383)169be63ead
Kristoffer Brabrandfeat(typegen): memoizations, refactoring add improved progress reporting (#10294)5d6ac17173
Sindre Gulsethfeat(typegen)!: return same case when generating types (#11330)0402647eb0
Kristoffer Brabrandfeat(schema): hoist reference types and use inline objects to reference them (#11471)16ce1075f8
Kristoffer Brabrandfeat(schema)!: add schema inline hoisting (#11521)f81e3cc03f
Bjørge Næssrefactor: use react compiler 19 as baseline (#11522)1bbf0c8944
Christian Hamburger Grøngaardfeat(core): enable typographic behaviors in Portable Text Inputs by defaulteaffcdec86

Sanity Studio v4.22.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/7cf30cbb-92a4-4dc0-ba4c-02fe90f0fec5

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[bot]chore(deps): dedupe pnpm-lock.yaml (#11469)846d46fb2a
Bjørge Næsschore(ci): remove unnecessary workflow step (#11473)2e5e840a7d
Josef Hlavacekfeat(sanity): enable editing canvas documents (#11421)cb8ed7d897
Espen Hovlandsdalchore(deps): upgrade @sanity/export to v6 (#11445)bed41d8d71
Dain Cilkefix(manifest): better handling of user application clients48bf231d57
renovate[bot]chore(deps): update react monorepo to ^19.2.3 (#11478)3502dc0717
Bjørge Næssfix(cli): remove missing appId warning from sanity dev (#11476)1a087f836e
Bjørge Næssfix(cli): mark react < 19.2.2 as deprecated (#11482)217ee0a416
renovate[bot]fix(deps): Update portabletext (#11450)735f7b4d1c
Cody Olsenrefactor: remove unused strict-studio (#11483)aced57b0e0
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^10.1.3 (#11485)553be547dd
renovate[bot]chore(deps): update pnpm to v10.25.0 (#11466)ce96ba2a86
Bjørge Næsschore(dev): make test-studio type: module (#11488)d65770fe8f
Espen Hovlandsdalfix(cli): handle sanity binary as esm/cjs/executable (#11460)e88b4b7d96
Robbie Wadleyfix(deps): add sanity to peerDependencies in @sanity/vision (#11480)69cd79b38f
Bjørge Næssfeat(structure): support linking to documents in focus mode (#11489)cb74919e6d
Cody Olsenrefactor: fix release scripts (#11498)aa3297ef3f
Cody Olsenfix(deps): pin isomorphic-dompurify to solve jsdom errors on next.js (#11497)d63ef28280
Cody Olsenfix: use the same peer dependency range for vision as regular plugins (#11499)e4e65b4817
Cody Olsenfix: release-next with --fix-lockfile (#11501)7d2aa1497f
Cody Olsenrefactor: don't check types during pnpm build (#11504)7f88db7212
Cody Olsenrefactor: declare sanity#build as a dep of @sanity/vision#build (#11506)4e1208bac0
RitaDiasfix: selected items in the collapseoverflow menu (#11452)8b2ccb3b06
Bjørge Næsschore(ci): upload next-major bundle to staging bucket (#11508)93c5dfbff3
RitaDiasfix: fix when deleting and reverting objects of arrays in the middle of an array (#11455)684cc41215
renovate[bot]fix(deps): update dependency @sanity/export to ^6.0.2 (#11491)3aa21a9ffc
James Woodsfix(cli): telemetry in MCP commands (#11487)9e805d64ae
renovate[bot]fix(deps): Update dev-non-major (#11494)2973d7dc4f
Taylor Besedafix(cli): update runtime commands (#11513)6f9ae4f904
Bjørge Næsschore(ci): upload next-major bundles for production too (#11511)f8aedb947d
Jordan Lawrencefix: delete all versions (#11474)78c96f14d8
renovate[bot]fix(deps): Update portabletext (#11518)f2adcc39c4
RitaDiastest: update e2e tests - presentation (#11509)39535d75e5
Matthew Ritterfeat: update mcp configured prompt text (#11514)b595fee91a
RitaDiastest: skip popover while staging is unstable (#11519)627186e198
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^10.2.1 (#11503)95ea7e6491
Dain Cilkefeat(cors): add registration to cors error screen (#11484)7b8e9bee8d
RitaDiasfix: fix issue where backward drag and selecting text in fullscreen pte would skip the focus (#11492)b47f9f65e1
Tonina Zhelyazkovafix(cli): pass releasesOperation to @sanity/import when using --replace or --missing (#11515)f4d980e78b
Jordan Lawrencefix: excluding releases and scheduled plugins from list of plugins to reroute (#11505)6f19a3c31a
Dec 11, 2025

Sanity Studio v4.21.1

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/5d3f80c5-9f43-41db-bbce-7155d8695b91

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
Pedro Bonaminfix(core): diffs author and timestamp missing when removing data (#11404)bdb099f6d0
squiggler[bot]chore(tests): generate dts tests 🤖 ✨ (#11432)d8508bf501
renovate[bot]fix(deps): Update portabletext (#11431)ebfdc6e1f5
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11433)337b71f787
Cody Olsenfix: restore fonts for schema icon extract (#11442)671ebc33af
Taylor Besedafix(cli): blueprints doctor does not require existing blueprint config (#11444)b8d9a94e4b
Espen Hovlandsdalci: include job index (within strategy) in unique cli test names (#11443)e85a81595e
renovate[bot]fix(deps): Update portabletext to v5 (major) (#11438)dbc98f75a6
renovate[bot]fix(deps): update dependency @portabletext/react to v6 (#11440)953b513b79
renovate[bot]chore(deps): update dependency @vercel/stega to v1 (#11419)b0cec6f1ba
Bjørge Næsschore(ci): publish next-major with timestamp based prerelease increment (#11451)452851a793
David Annezfix(ci): stop deleting pnpm-lock.yaml in efps merge-reports job (#11458)67add103c8
renovate[bot]fix(deps): update dependency @sanity/client to ^7.13.2 (#11461)aaebb76314
RitaDiasdocs: update to say where one can find the token for the cli tests (#11453)115f003891
James Woodsfix: mcp cli wording (#11457)2aa0766f7c
Bjørge Næssfix(cli): use caret for upgrade command, mark react < 19.2.1 as deprecated (#11470)91b861a5d1
Dec 9, 2025

Sanity Studio v4.21.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/beb93f6c-7913-4ea7-8bbb-847ba7b51b19

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
renovate[bot]chore(deps): update dependency glob to ^11.1.0 (#11403)563d557072
renovate[bot]fix(deps): Update portabletext (#11388)5f63f2f096
renovate[bot]chore(deps): update dependency vite to ^7.2.6 (#11400)98db382fb9
RitaDiasfix: allow for more flexibility for custom components? and using the enhanced object dialog (#11358)9ea507489f
renovate[bot]chore(deps): update dependency @sanity/generate-help-url to ^3.0.1 (#11397)e5bf54ffc0
Bjørge Næsschore(deps): add get-it to minimumReleaseAgeExclude (#11406)b74eadc4ff
renovate[bot]chore(deps): update dependency tsx to ^4.21.0 (#11402)6cebddb796
Dave Sewellfeat: Update runtime-cli to v12 (#11410)3fea96acee
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^10.1.1 (#11390)615e6c0180
Sindre Gulsethfix(schema): regression when inline type reference another inline type (#11411)de7888a462
Dain Cilkefeat(userApplications): add live user application provider801d868a17
Pedro Bonaminfix(core): revisionNotFound wait until document is ready (#11279)727b1909b7
RitaDiasfix: fix position for telemetry requests which were wrong + make sure that the requests don't have miltiple calls accidentally (#11408)bb9cff4aca
squiggler[bot]chore(tests): generate dts tests 🤖 ✨ (#11415)984cb89a7e
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11396)4cf29e1e68
renovate[bot]chore(deps): update dependency react-focus-lock to ^2.13.7 (#11399)558ba84c5b
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^10.1.2 (#11417)548c367d83
Dain Cilkefeat(studioManifest): register live manifest with content operating system2271b97a8f
Dain Cilkefeat(build): expose build id18221e9840
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11422)a961288542
Espen Hovlandsdaltest: include node minor in test run ids (#11414)7e820eb83f
renovate[bot]fix(deps): update dependency motion to ^12.23.25 (#11401)9509da7f6a
renovate[bot]fix(deps): Update portabletext (#11407)a9b92c93b0
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11424)11ce07780d
James Woodsfeat: setup mcp on sanity init and add mcp add command to cli (#11409)4752fb174a
renovate[bot]chore(deps): lock file maintenance (#11273)2697fdbda5
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11425)922415dcf4
RitaDiaschore: Revert "feat: setup mcp on sanity init and add mcp add command to cli (#11409)" (#11426)dd8bfcaf85
renovate[bot]fix(deps): update dependency get-it to ^8.7.0 (#11395)5f4487aff9
Per-Kristian Nordnesrefactor(core): refactor input uploads (#11204)0c6979e427
Dain Cilkechore(user-applications): add feature toggle around cache0269b282a5
Cody Olsenchore: test v24.0.0, and v24.x, not v24.x twice (#11423)d0c95c7e3f
renovate[bot]fix(deps): update dependency groq-js to ^1.23.0 (#11429)b100ba48cf
renovate[bot]fix(deps): update dependency @sanity/mutate to ^0.15.0 (#11412)1e8b786586
Pedro Bonaminfix(core): always save UTC timezone in date input (#11435)5126428ef7
James Woodsfeat: setup mcp on sanity init and add mcp add command to cli (#11434)e27bea79c9
Espen Hovlandsdalchore(deps): upgrade @sanity/export to 5.0.1 (#11413)cf42be32e8
Dec 4, 2025

Sanity Studio v4.20.3

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/03db7be1-2452-4f51-b367-55cba0ea4cf0

Notable bugfixes

Fixes a regression issue introduced in sanity@4.20.0 that can cause sanity schema extract and sanity typegen generate commands to throw an traverse is not a function" errors.

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

Sanity Studio v4.20.1

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/67003062-6259-4bfd-8211-07a5c87fc28e

Notable bugfixes

Fixes a regression issue introduced in sanity@4.20.0 that can cause sanity schema extract and sanity typegen generate commands to throw an traverse is not a function" errors.

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
Cody Olsenfix: traverse is not a function error (#11391)e4ea395c22

Sanity Studio v4.20.1

This release includes various improvements and bug fixes.

Notable bugfixes

fixes: ERR_REQUIRE_CYCLE_MODULE on node older than 20.19.5 and 22.15

fixes: Error: Unable to resolve \sanity module root errors on windows.

Upgrade react to 19.2.1 to address CVE-2025-55182

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
renovate[bot]fix(deps): update dependency groq-js to ^1.22.0 (#11366)6976b77295
renovate[bot]chore(deps): update dependency prettier to ^3.7.3 (#11372)49169c564e
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^9.2.3 (#11371)f8cb70501d
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11365)6d876d6cca
Cody Olsenchore: changes to catalog should bust turbo cache (#11374)d238c20da7
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to v10 (#11373)d4ac644555
Kristoffer Brabrandfix: handle asset as array member with enforce required fields (#11370)6cb181b4a9
RitaDiasrefactor: update aria and button labels for focus mode (#11377)054f49bb6b
Kristoffer Brabrandfix(cli): handle url imports for themer.sanity.build (#11346)eedec5b4bf
Pedro Bonaminfix(core): remove key prop from BaseItemProps (#11375)8908e087f5
Bjørge Næsschore(ci): set up release automation for next-major (#11378)c32c6011d3
Cody Olsenfix: ERR_REQUIRE_CYCLE_MODULE on older node, and windows resolve regression (#11385)bfaa1c7710
Ausha Richardson (Sanity)chore: 🔒 Security Fix: Update React to 19.2.1 to address CVE-2025-55182 (#11386)9b99b5a913
Dec 2, 2025

Sanity Studio v4.20.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/05bddfa9-2297-4dbb-8cf2-e242ff368e49

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
renovate[bot]chore(deps): update dependency vite to v7.2.4 (#11254)39ac2cf2ac
renovate[bot]fix(deps): Update CodeMirror (#11256)6d0897f2bd
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11261)57fe722716
renovate[bot]chore(deps): update dependency turbo to ^2.6.1 (#11253)422da1d7fe
Pedro Bonaminfix(core): date time input fixes (#11233)84418b410a
Pedro Bonaminchore(core): update confirm delete dialog to include versions list (#11264)705c4b7822
Cody Olsenchore(pnpm): add trustPolicy: no-downgrade (#11267)98f4dc5c07
squiggler[bot]chore(tests): generate dts tests 🤖 ✨ (#11268)6296fe2773
Cody Olsenchore: widen @reduxjs/toolkit trust policy range (#11274)4fe55a3663
Cody Olsenrefactor: remove CJS (#11021)6bb0c4fdc8
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11275)f6c26b3ad2
Copilotchore: fix failure in release-next task (#11278)b077cad195
Cody Olsenfix: ensure module server uploads .mjs files (#11281)2be3548d46
renovate[bot]fix(deps): Update portabletext (#11270)bf4bf3b130
renovate[bot]chore(deps): update dependency @sanity/client to v7.13.1 (#11282)f62421e0dc
renovate[bot]fix(deps): update dependency @sanity/client to ^7.13.1 (#11283)b217ecb636
renovate[bot]chore(deps): update amannn/action-semantic-pull-request digest to e32d7e6 (#11286)50317d2a67
renovate[bot]chore(deps): update peter-evans/create-pull-request digest to 84ae59a (#11287)2452f89da6
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11284)564b36c876
Cody Olsenchore: use tsgo for type checking ⚡️ (#11292)b38f469e66
renovate[bot]chore(deps): update dependency @lezer/highlight to ^1.2.3 (#11289)253bd29e0f
renovate[bot]chore(deps): update dependency @sanity/runtime-cli to ^11.1.4 (#11291)21546e9d81
renovate[bot]chore(deps): update dependency @rollup/plugin-node-resolve to ^16.0.3 (#11290)f1360847a7
renovate[bot]chore(deps): update dependency @google-cloud/storage to ^7.17.3 (#11288)4b7c26f768
Cody Olsenchore: unblock #11273 (#11296)966e16ea3c
renovate[bot]chore(deps): update dependency @sanity/client to v7.13.1 (#11297)18957f8a55
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11300)0ff9bbd1de
renovate[bot]chore(deps): update dependency @sanity/client to ^7.13.1 (#11301)b4a913523e
renovate[bot]chore(deps): update dependency @sanity/ui to ^3.1.11 (#11303)85645a354e
Cody Olsenchore: fix dev command on monorepo (#11304)fae72a637c
Cody Olsenfix: make sure require calls comes from createRequire (#11306)0ae1f8b2d2
renovate[bot]chore(deps): update dependency styled-components to ^6.1.19 (#11307)36c2d5e1d7
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^9.1.5 (#11298)a9b31ecbcc
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11319)ab6624e3a9
renovate[bot]chore(deps): update pnpm to v10.24.0 (#11320)380e5037d7
Cody Olsenfix: concat previewUrl and targetOrigin correctly (#11322)a18d3edabf
renovate[bot]chore(deps): update dependency @sanity/ui-workshop to ^3.4.0 (#11323)6702ec1fec
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^9.2.0 (#11324)91122038bb
Copilotchore(deps): update date-fns to v4 and migrate to @date-fns/tz (#11295)de835c6b5d
Magnus Holmfeat(cli): add command for visualizing schema bloat721e6d2b96
Pedro Bonaminfix(core): set correct focus path for assets inputs in images (#11317)f1182f50e7
Magnus Holmfeat(schema): cache generated field objects8efdc2b31f
renovate[bot]chore(deps): update dependency @vitejs/plugin-react to ^4.7.0 (#11325)334e58d108
Jordan Lawrencefeat: delete scheduled drafts allows for copy back to draft when appropriate (#11143)321074904b
Magnus Holmrefactor(schema): remove unused options to DescriptorConverter (#11239)eee6ecea59
renovate[bot]chore(deps): update dependency form-data to ^4.0.5 (#11326)a227327e0f
renovate[bot]chore(deps): update dependency vite to ^7.2.4 (#11327)7b2e4c1fc6
renovate[bot]chore(deps): update linters (#11328)046a0c20c7
renovate[bot]fix(deps): Update portabletext (#11329)ab154959c7
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11331)bbfad65588
Cody Olsenchore(lint): ban commonjs syntax (#11318)b1e2ca2c27
renovate[bot]chore(deps): update dependency @vitejs/plugin-react to v5 (#11332)eff47b5fbf
Pedro Bonaminchore(core): improve release status message for the Published status (#11293)173fe64689
Pedro Bonaminchore(core): set unpublish as the primary action for published documents (#11308)787d09d8f3
Cody Olsenfix: allow createGlobalStyle to work with auto updating studios (#11313)c964ffecf1
Jordan Lawrencefix: validate published document when it is displayed (#11130)adf299b1d0
Cody Olsenchore: test styled-components fork requiring react 18 (#9486)8058d7abe9
renovate[bot]chore(deps): update dependency oxlint-tsgolint to v0.8.3 (#11334)ea00a73685
Jordan Lawrencefix: add dialog for content releases misconfiguration with support contact option (#11276)a43f8e085e
Per-Kristian Nordnesfix(core): only validate .media validation markers (#11311)f8643c1489
Rupert Dunkchore(deps): update dependency @sanity/image-url to ^2.0.1 (#11315)511b7d8f12
renovate[bot]fix(deps): Update portabletext (#11338)7ee38ba2b5
squiggler[bot]chore(tests): generate dts tests 🤖 ✨ (#11339)d2f5821430
renovate[bot]chore(deps): update dependency prettier to ^3.7.1 (#11340)9cb3402ab6
squiggler[bot]chore(lint): fix linter issues 🤖 ✨ (#11344)7f015f4af7
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11343)f7d62c602b
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^9.2.1 (#11342)2c84c31f7c
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11345)21f4253361
Pedro Bonaminfix(core): pte inline comments respect __internal_comments disabled (#11341)0f566b5c99
Cody Olsenchore: add tsgo to extensions list (#11348)147c302ab8
Magnus Holmfeat(schema): de-dupe re-used fields in the descriptorb287558417
Magnus Holmrefactor(descriptors): make descriptor converter async7c1fc4d9d6
renovate[bot]chore(deps): update dependency @typescript/native-preview to v7.0.0-dev.20251128.1 (#11351)6647a273e5
Magnus Holmfeat(descriptors): minimize blocking the UI2826615efb
Pedro Bonaminchore(core): display comments error if present (#11350)ec4193dfb6
Cody Olsenfix: ensure schema errors are caught (#11349)30b67b5fa2
renovate[bot]chore(deps): update react monorepo (#11269)d40ddf5ff5
renovate[bot]chore(deps): update lerna-lite monorepo to ^4.9.4 (#11352)0a14c18964
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11356)6d9373770f
renovate[bot]chore(deps): update dependency prettier-plugin-packagejson to ^2.5.20 (#11355)deac1f58f9
Pedro Bonaminfix(core): use toolTitle for document.title if present (#11285)c7967d8ed5
renovate[bot]chore(deps): update dependency @sanity/pkg-utils to ^9.2.2 (#11359)82ce9fb32b
renovate[bot]chore(deps): update oxlint to v1.31.0 (#11357)cae0a693be
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11360)5c58f70d40
Cody Olsenfix: remove ServerStyleSheet usage (#10757)76028e1d19
renovate[bot]chore(deps): update dependency prettier to ^3.7.2 (#11354)b194034aa2
Bjørge Næssfix(deps): mark support for react < 19.2 and @sanity/ui < 3 as deprecated (#11238)8cd0a7c7a0
Per-Kristian Nordnesfix(core): fix props function delcaration (#11362)6b54783839
Pedro Bonaminfix(core): update server delete operation to include versions list (#11364)482f1d19cc
Bjørge Næssfix(sanity): allow editing documents in non-release bundles (#11312)dfa9dc1f70
Rupert Dunkfeat: support private assets (#11316)9a661ca445
Bjørge Næsschore: return single stack if outside of a release bundle (#11314)315e9f1d98
Pedro Bonaminfix(structure): replace delete action for discard in non published docs (#11363)ef607275cd
Nov 26, 2025

Sanity Studio v4.19.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/a2e12b4f-d3ed-4bc4-9663-565407157c91

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

AuthorMessageCommit
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11228)c7bf53ec0d
renovate[bot]fix(deps): update dependency @sanity/preview-url-secret to ^2.1.16 (#11211)2cab14a7ed
renovate[bot]chore(deps): update dependency typescript-eslint to ^8.47.0 (#11222)f95c8b2ca7
Magnus Holmfix(cli): load config properly in sanity schema validate (#11223)e3f4e7df03
renovate[bot]chore(deps): update lerna-lite monorepo to ^4.9.3 (#11213)3b62e65a3c
renovate[bot]fix(deps): Update portabletext (#11217)86feb1f6db
Fred Carlsenfix(sanity): skip assetRequired rule to allow selection in media library (#11197)dbeeea0a99
renovate[bot]chore(deps): update pnpm to v10.23.0 (#11235)efc5960a7c
Bjørge Næsschore: remove pnpm peer dependency rules (#11241)99174013a7
Cody Olsenfix(deps): update dependency @sanity/preview-url-secret to v3 (#11234)67f4ffb31f
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11232)286a9f0d31
renovate[bot]chore(deps): update dependency @sanity/client to v7.13.0 (#11214)2c06db213e
renovate[bot]chore(deps): update dependency @sanity/color-input to v5 (#11245)8091dde2eb
renovate[bot]chore(deps): update dependency @sanity/visual-editing to v4 (#11237)40fa1a2704
renovate[bot]chore(deps): update dependency sanity-plugin-mux-input to ^2.12.0 (#11244)5e09094b7f
renovate[bot]fix(deps): update dependency @sanity/comlink to ^4.0.1 (#11248)2493536ce9
Pedro Bonaminfix(core): releases time input behaves incorrectly with timezones offset (#11242)8a358fa40e
renovate[bot]chore(deps): update dependency lint-staged to ^16.2.7 (#11252)d3bb6a8e0d
Kristoffer Brabrandfeat(cli): add typegen configuration through cli config (#11135)cfd2d9c268
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11250)4eb9786406
renovate[bot]chore(deps): update oxlint (#11257)050b5d8c4d
squiggler[bot]chore(tests): generate dts tests 🤖 ✨ (#11260)c7a5b0c3ff
Bjørge Næsschore(tsconfig): exclude tests pattern (#11259)c811d05133
Ashfix(sanity): excessive comment mutations when editing in PTE (#11230)c64b279625
renovate[bot]fix(deps): update dependency @sanity/presentation-comlink to ^2.0.1 (#11249)2035ff263d
renovate[bot]chore(deps): update dependency eslint-plugin-testing-library to ^7.13.5 (#11251)3b2d87f7e2
Jordan Lawrencefeat: clarifying published doc has been edited and last published (#11186)5681cc58e4
Nov 21, 2025

Sanity Studio v4.18.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/a08648e5-8a7e-42b6-9d36-9f48e5dd2e3f

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

AuthorMessageCommit
Josef Hlavacekfeat(sanity): Add Canvas document actions to version documents (#11141)078a0ac9a9
renovate[bot]fix(deps): update dependency @sanity/preview-url-secret to ^2.1.16 (#11212)917e2123c6
renovate[bot]fix(deps): update dependency groq-js to ^1.21.0 (#11216)fc8f4832c1
Tegan Churchillperf: Improve createFieldDefinitions and related (#11209)484e953ed0
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11221)e0fa44ec49
squiggler[bot]chore(tests): generate dts tests 🤖 ✨ (#11219)2d4c1fab14
renovate[bot]fix(deps): update dependency @sanity/client to ^7.13.0 (#11215)dbb4b018d9
Jordan Lawrencefix: release limits use only metered org count to exclude scheduled drafts (#11208)cc41a87608
Ashfix(sanity): switch enhanced object dialog off by default (#11201) (#11227)4e8100e46e
Christian Hamburger Grøngaardfix(core): flush pending Portable Text Input changes on unmount7de417db8a
Christian Hamburger Grøngaardtest: remove block only containing whitespacec762f46b8a
Nov 20, 2025

Sanity Studio v4.17.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/277732ec-dbc4-49d1-be27-4213e9995ec6

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
Cody Olsenrefactor(deps): replace framer-motion with motion/react (#11102)7239c9d3d9
Jordan Lawrencefix: removing unnecessary release and scheduled publishing banner (#11195)fda448a6e8
Jordan Lawrencefix: implement virtualized array list with visibility detection when ancestors change hidden state (#11166)fe0e624fdb
Bjørge Næsschore: remove pnpm config from workspace package.json (#11192)da0accee58
Cody Olsenfix(perf): render document actions once instead of 3x (#11167)41c28d278f
Jordan Lawrencefeat: when creating scheduled draft, discard the existing draft transactionally (#11196)9051822474
RitaDiasfeat(structure): add ability to maximise a document (#11200)0d39bedbcd
Cody Olsenfix(actions): onComplete considered harmful, use local state instead (#11199)461f54d62f
squiggler[bot]chore(tests): generate dts tests 🤖 ✨ (#11203)96d0281091
RitaDiasfeat(sanity): make enhanced object dialog opt out (#11201)966f4b4f06
Nov 18, 2025

Sanity Studio v4.16.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/0a535445-9f16-42ac-b280-4c9cee4c0a7a

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
RitaDiasfix: make it possible to double click specific items in the inspect (#11120)b8b13bb15f
Simon MacDonaldfix(functions): support host flag in functions dev (#11118)9588b8b805
Bjørge Næsschore(test-studio): add more cases for reference fields (#11123)2f605edd40
Pedro Bonaminchore(tests): embedded studio e2e test (#11110)5988da4baf
Ken Jonesfeat: add sentiment-analysis function example (#10106)860d5cc3fb
Kristoffer Brabrandrefactor: move info/debug to stederr by using console.warn (#11088)80a9efcdb6
Jordan Lawrencechore: add toast title for published scheduled drafts (#11006)7e99056017
Cody Olsenchore(lint): disable react/jsx-handler-names rule (#11132)be52d669a4
Cody Olsenfix: add FullscreenPTEContext and SchedulesContext to singletons exports (#11134)c987fe42db
Kristoffer Brabrandfeat: allow configuring sanity CLI config in testing (#11133)dd909ce127
Cody Olsenchore(lint): ban React.createRef to prevent mistakes (#11136)e029387688
Christian Hamburger Grøngaardfeat(core): add configurable typography plugin to PTE inputsf6e394d21f
renovate[bot]chore(deps): update dependency esbuild to v0.27.0 (#11119)81217db735
Bjørge Næssrefactor(search): cleanup some perspective logic (#11125)3cdc3ae8e1
Bjørge Næssrefactor(form): consider the perspective stack when checking for document availability (#11126)3b26845315
squiggler[bot]chore(tests): generate dts tests 🤖 ✨ (#11139)3f4698eb05
Cody Olsenrefactor(perf): deprecate <ConditionalWrapper> (#11140)071db67307
Bjørge Næsschore(deps): catalog @sanity/client (#11071)8113df1269
Bjørge Næssfix(core): improve error state for invalid reference filter (#11124)a463854784
Matthew Ritterfeat(limits): add asset limit upsell dialog (#11066)0b5b9531e3
Espen Hovlandsdalfix(cli): undeploy based on appId/studioHost (#11131)0e0518887e
Espen Hovlandsdalfix(i18n): deprecate minimalDays property on week info (#11005)26496b663b
Kristoffer Brabrandchore: update licence year to 2025 (#11079)89d6df3d55
squiggler[bot]chore(tests): generate dts tests 🤖 ✨ (#11142)668d982dd5
Bjørge Næssrefactor(form): simplify reference input search (#11128)1ec654ea74
Bjørge Næssfeat(form): pass perspective stack to custom reference filters, apply returned perspective (#11127)22123ed113
Cody Olsenfix(perf): avoid 1s render root loop (#11149)7270dfebad
Cody Olsenfix(perf): remove unsafe ref reads during render (#11148)93eaf26f0c
Cody Olsenrefactor: reduce react compiler bailouts (#11146)0fb1434de0
Pedro Bonaminfix(core): fix crossDatasetReference input previews (#11154)3fc1c5f5ca
Bjørge Næsschore: move overrides + peerDependencyRules to workspace config (#11155)cb65c9cb47
Herman Wiknerfeat(sanity): check permissions for invite members button (#11138)50990e7c72
Pedro Bonaminfix(core): use publishedId when creating a child link (#11163)f0b2bf94e2
RitaDiasfix: bug where changing the time manually in an input when the timezone was selected would change the time based on the computer timezone (#11161)28ba0ae8d9
Christian Hamburger Grøngaardrefactor(core): use explicit mutation changec20a3c2083
RitaDiasfix: issues where component.items weren't opening the enhanced object dialog (#11152)7627bfa20f
Christian Hamburger Grøngaardfix(core): replace deprecated OneLinePlugin31dcd7cbdf
squiggler[bot]chore(tests): generate dts tests 🤖 ✨ (#11162)d54e02cd2b
Fred Carlsenfix(sanity): allow importing assets without a data.ndjson file (#11159)393b11bd8e
RitaDiasfeat: make enhancedObjectDialog opt out (#11094)f58536e844
Cody Olsenfix(deps): upgrade react compiler to v1 (#10834)2573cb15c2
renovate[bot]fix(deps): Update portabletext to v3 (major) (#11156)3448d6747d
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11168)8fb01e95ba
renovate[bot]fix(deps): Update portabletext to v4 (major) (#11157)697beeea25
renovate[bot]fix(deps): update dependency @portabletext/block-tools to ^4.0.2 (#11055)0cb63b4644
renovate[bot]chore(deps): update dependency preferred-pm to v4 (#11174)9e8a44882a
renovate[bot]chore(deps): update pnpm to v10.22.0 (#11173)06e8a89381
renovate[bot]chore(deps): update dev-non-major (#11169)532c56596b
renovate[bot]chore(deps): update lerna-lite monorepo to ^4.9.2 (#11170)50b375dce6
renovate[bot]fix(deps): update dependency @sanity/client to ^7.12.1 (#11129)db726eaea3
renovate[bot]chore(deps): update oxlint (#11172)aae0a9445a
RitaDiasfeat(structure): add ability to maximise a document (#10997)3720d9b1be
renovate[bot]chore(deps): update linters (#11171)91a2b110c3
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11176)cdc0ff79c0
squiggler[bot]chore(tests): generate dts tests 🤖 ✨ (#11177)3a2f04b3fa
renovate[bot]chore(deps): update dependency @sanity/image-url to ^1.2.0 (#11178)09bcbe4f06
renovate[bot]chore(deps): update dependency @sanity/message-protocol to ^0.17.6 (#11179)9df1ced510
renovate[bot]chore(deps): update dependency @mux/mux-player-react to ^3.8.0 (#11183)f5c040e527
renovate[bot]fix(deps): Update CodeMirror (#11182)d90e127a8b
renovate[bot]fix(deps): Update babel monorepo to ^7.28.5 (#11181)08d6e66c0a
renovate[bot]chore(deps): update dependency vite to v7.2.2 (#11185)ee72bfa40f
renovate[bot]chore(deps): update dependency @sanity/blueprints to ^0.4.2 (#11184)cfae0d808b
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11188)bc54036e20
Christian Hamburger Grøngaardfix(core): disable typography PTE plugin by defaultf7660dd7b1
Ashfix(structure): revert add ability to maximise a document (#10997) (#11190)abb4d4d056
Pedro Bonaminfix(core): use drafts perspective for cross dataset refs previews (#11158)b7b4e5edc8
Ashfix(sanity): revert switch on enhanced object dialog by default (#11094) (#11191)dbb28d7ca4
Nov 11, 2025

Sanity Studio v4.15.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/26781d69-5a0f-4440-8f2e-a6cf6ab88f43

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

AuthorMessageCommit
Binoy Patelfix(migrate): exports esm bundle for migrate package (#11082)2922a73d35
Kristoffer Brabrandfix(typegen): allow generating types to absolute path (#7620) (#11081)f8b4e87fdb
Sindre Gulsethfix(schema): extract inline non-objects (#10990)c151b89802
RitaDiasfix: issue where reference inputs were behaving oddly with the dialog (#11047)c5db32e982
Joshfix(structure): pass edit intent params for pane to handle (#11077)0249ef6663
Bjørge Næssrevert(deps): add patch-package as direct dependency (#11085) (#11086)45a5dbf56a
RitaDiasfix: compare versions now works with the new enhanced object (#11040)028a52e37e
Josef Hlavacekfix: Correctly fetch canvas documents linked to releases (#11067)e87469057d
Cody Olsenrefactor: add type aware linting with oxlint (#11044)d1068c88b8
Joshfeat(manifest): add studioVersion to improve UX of external studios in dashboard dev-setup (#11012)2358e1f208
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11098)735904041b
renovate[bot]fix(deps): update dependency @sanity/client to v7 (#11074)0035802d94
renovate[bot]chore(deps): update oxlint to v1.28.0 (#11013)c9f12c1b60
renovate[bot]fix(deps): update dependency xstate to ^5.24.0 (#11101)6b3f691b83
renovate[bot]chore(deps): update pnpm to v10.20.0 (#11100)797244947d
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11103)0b75486adf
Jordan Lawrencefix: cardinality one releases use the original perspective stack logic (#11080)c5dd6420f7
Cody Olsenchore: enable react compiler on efps suite again (#11104)d56fbdc963
Pedro Bonaminfix(presentation): persist scheduled draft perspective in location item (#11089)8514f39b78
RitaDiasfix: Fix assist ai when using enhanced object dialog (#11097)fc24066e68
RitaDiasfix: enhancedObjectDialog where custom items are being used (#11090)f45045b68e
squiggler[bot]chore(deps): dedupe pnpm-lock.yaml (#11107)89b95c1242
Pedro Bonaminfix(actions): update e2e cleanup pr script (#11109)ce47ad339b
RitaDiasfix: issue where when enhancedObjectDialog was turned off, the old dialog wasn't opening (#11108)be015c582b
Cody Olsenchore: fix linter error on main (#11111)ec6020efc1
RitaDiasfix: issue where initialFullscreen ptes weren't being able to close (#11106)8207267806
Cody Olsenrefactor(ci): remove docReport.yml and fix e2e-ui.yml (#11113)deaf9ea2c2
squiggler[bot]chore(lint): fix linter issues 🤖 ✨ (#11114)0a3484aae2
Jordan Lawrencefeat: Copy version to draft (#11030)2b75633a55
Jordan Lawrencefix: void unawaited promise in CopyToDrafts (#11117)3bea1a54d3
Jordan Lawrencefix: do not block on upsell data failures; use custom interpolator rather that lodash templator (#11115)131f31bf0f
Nov 7, 2025

Sanity Studio v4.14.2

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/00c798d6-b4bb-42aa-aa71-78adad4bd48d

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
Ken Jonesdocs: function recipe - social media crossposting (#11053)102f82018f
Kristoffer Brabrandfix(cli): disable dynamic-import when running cli from local source (#11078)a30a092346
Bjørge Næssfix(deps): add patch-package as direct dependency (#11085)3a6536ca7c
Latest
v5.21.0
Tracking Since
Feb 20, 2025
Last fetched Apr 19, 2026