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@latestTo 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
| 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 |