Releases: sanity-io/sanity
v4.21.0
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@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 glob to ^11.1.0 (#11403) | 563d557 |
| renovate[bot] | fix(deps): Update portabletext (#11388) | 5f63f2f |
| renovate[bot] | chore(deps): update dependency vite to ^7.2.6 (#11400) | 98db382 |
| RitaDias | fix: allow for more flexibility for custom components? and using the enhanced object dialog (#11358) | 9ea5074 |
| renovate[bot] | chore(deps): update dependency @sanity/generate-help-url to ^3.0.1 (#11397) | e5bf54f |
| Bjørge Næss | chore(deps): add get-it to minimumReleaseAgeExclude (#11406) | b74eadc |
| renovate[bot] | chore(deps): update dependency tsx to ^4.21.0 (#11402) | 6cebddb |
| Dave Sewell | feat: Update runtime-cli to v12 (#11410) | 3fea96a |
| renovate[bot] | chore(deps): update dependency @sanity/pkg-utils to ^10.1.1 (#11390) | 615e6c0 |
| Sindre Gulseth | fix(schema): regression when inline type reference another inline type (#11411) | de7888a |
| Dain Cilke | feat(userApplications): add live user application provider | 801d868 |
| Pedro Bonamin | fix(core): revisionNotFound wait until document is ready (#11279) |
727b190 |
| RitaDias | fix: fix position for telemetry requests which were wrong + make sure that the requests don't have miltiple calls accidentally (#11408) | bb9cff4 |
| squiggler[bot] | chore(tests): generate dts tests 🤖 ✨ (#11415) | 984cb89 |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11396) | 4cf29e1 |
| renovate[bot] | chore(deps): update dependency react-focus-lock to ^2.13.7 (#11399) | 558ba84 |
| renovate[bot] | chore(deps): update dependency @sanity/pkg-utils to ^10.1.2 (#11417) | 548c367 |
| Dain Cilke | feat(studioManifest): register live manifest with content operating system | 2271b97 |
| Dain Cilke | feat(build): expose build id | 18221e9 |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11422) | a961288 |
| Espen Hovlandsdal | test: include node minor in test run ids (#11414) | 7e820eb |
| renovate[bot] | fix(deps): update dependency motion to ^12.23.25 (#11401) | 9509da7 |
| renovate[bot] | fix(deps): Update portabletext (#11407) | a9b92c9 |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11424) | 11ce077 |
| James Woods | feat: setup mcp on sanity init and add mcp add command to cli (#11409) | 4752fb1 |
| renovate[bot] | chore(deps): lock file maintenance (#11273) | 2697fdb |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11425) | 922415d |
| RitaDias | chore: Revert "feat: setup mcp on sanity init and add mcp add command to cli (#11409)" (#11426) | dd8bfca |
| renovate[bot] | fix(deps): update dependency get-it to ^8.7.0 (#11395) | 5f4487a |
| Per-Kristian Nordnes | refactor(core): refactor input uploads (#11204) | 0c6979e |
| Dain Cilke | chore(user-applications): add feature toggle around cache | 0269b28 |
| Cody Olsen | chore: test v24.0.0, and v24.x, not v24.x twice (#11423) | d0c95c7 |
| renovate[bot] | fix(deps): update dependency groq-js to ^1.23.0 (#11429) | b100ba4 |
| renovate[bot] | fix(deps): update dependency @sanity/mutate to ^0.15.0 (#11412) | 1e8b786 |
| Pedro Bonamin | fix(core): always save UTC timezone in date input (#11435) | 5126428 |
| James Woods | feat: setup mcp on sanity init and add mcp add command to cli (#11434) | e27bea7 |
| Espen Hovlandsdal | chore(deps): upgrade @sanity/export to 5.0.1 (#11413) |
cf42be3 |
v4.20.3
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 [email protected] 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@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 |
|---|
v4.20.2
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 [email protected] 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@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 |
|---|---|---|
| Cody Olsen | fix: traverse is not a function error (#11391) |
e4ea395 |
v4.20.1
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@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] | fix(deps): update dependency groq-js to ^1.22.0 (#11366) | 6976b77 |
| renovate[bot] | chore(deps): update dependency prettier to ^3.7.3 (#11372) | 49169c5 |
| renovate[bot] | chore(deps): update dependency @sanity/pkg-utils to ^9.2.3 (#11371) | f8cb705 |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11365) | 6d876d6 |
| Cody Olsen | chore: changes to catalog should bust turbo cache (#11374) | d238c20 |
| renovate[bot] | chore(deps): update dependency @sanity/pkg-utils to v10 (#11373) | d4ac644 |
| Kristoffer Brabrand | fix: handle asset as array member with enforce required fields (#11370) | 6cb181b |
| RitaDias | refactor: update aria and button labels for focus mode (#11377) | 054f49b |
| Kristoffer Brabrand | fix(cli): handle url imports for themer.sanity.build (#11346) | eedec5b |
| Pedro Bonamin | fix(core): remove key prop from BaseItemProps (#11375) | 8908e08 |
| Bjørge Næss | chore(ci): set up release automation for next-major (#11378) |
c32c601 |
| Cody Olsen | fix: ERR_REQUIRE_CYCLE_MODULE on older node, and windows resolve regression (#11385) | bfaa1c7 |
| Ausha Richardson (Sanity) | chore: 🔒 Security Fix: Update React to 19.2.1 to address CVE-2025-55182 (#11386) | 9b99b5a |
v4.20.0
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): ... |
v4.19.0
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
| Author | Message | Commit |
|---|---|---|
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11228) | c7bf53e |
| renovate[bot] | fix(deps): update dependency @sanity/preview-url-secret to ^2.1.16 (#11211) | 2cab14a |
| renovate[bot] | chore(deps): update dependency typescript-eslint to ^8.47.0 (#11222) | f95c8b2 |
| Magnus Holm | fix(cli): load config properly in sanity schema validate (#11223) |
e3f4e7d |
| renovate[bot] | chore(deps): update lerna-lite monorepo to ^4.9.3 (#11213) | 3b62e65 |
| renovate[bot] | fix(deps): Update portabletext (#11217) | 86feb1f |
| Fred Carlsen | fix(sanity): skip assetRequired rule to allow selection in media library (#11197) | dbeeea0 |
| renovate[bot] | chore(deps): update pnpm to v10.23.0 (#11235) | efc5960 |
| Bjørge Næss | chore: remove pnpm peer dependency rules (#11241) | 9917401 |
| Cody Olsen | fix(deps): update dependency @sanity/preview-url-secret to v3 (#11234) | 67f4ffb |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11232) | 286a9f0 |
| renovate[bot] | chore(deps): update dependency @sanity/client to v7.13.0 (#11214) | 2c06db2 |
| renovate[bot] | chore(deps): update dependency @sanity/color-input to v5 (#11245) | 8091dde |
| renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v4 (#11237) | 40fa1a2 |
| renovate[bot] | chore(deps): update dependency sanity-plugin-mux-input to ^2.12.0 (#11244) | 5e09094 |
| renovate[bot] | fix(deps): update dependency @sanity/comlink to ^4.0.1 (#11248) | 2493536 |
| Pedro Bonamin | fix(core): releases time input behaves incorrectly with timezones offset (#11242) | 8a358fa |
| renovate[bot] | chore(deps): update dependency lint-staged to ^16.2.7 (#11252) | d3bb6a8 |
| Kristoffer Brabrand | feat(cli): add typegen configuration through cli config (#11135) | cfd2d9c |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11250) | 4eb9786 |
| renovate[bot] | chore(deps): update oxlint (#11257) | 050b5d8 |
| squiggler[bot] | chore(tests): generate dts tests 🤖 ✨ (#11260) | c7a5b0c |
| Bjørge Næss | chore(tsconfig): exclude tests pattern (#11259) | c811d05 |
| Ash | fix(sanity): excessive comment mutations when editing in PTE (#11230) | c64b279 |
| renovate[bot] | fix(deps): update dependency @sanity/presentation-comlink to ^2.0.1 (#11249) | 2035ff2 |
| renovate[bot] | chore(deps): update dependency eslint-plugin-testing-library to ^7.13.5 (#11251) | 3b2d87f |
| Jordan Lawrence | feat: clarifying published doc has been edited and last published (#11186) | 5681cc5 |
v4.18.0
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
| Author | Message | Commit |
|---|---|---|
| Josef Hlavacek | feat(sanity): Add Canvas document actions to version documents (#11141) | 078a0ac |
| renovate[bot] | fix(deps): update dependency @sanity/preview-url-secret to ^2.1.16 (#11212) | 917e212 |
| renovate[bot] | fix(deps): update dependency groq-js to ^1.21.0 (#11216) | fc8f483 |
| Tegan Churchill | perf: Improve createFieldDefinitions and related (#11209) | 484e953 |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11221) | e0fa44e |
| squiggler[bot] | chore(tests): generate dts tests 🤖 ✨ (#11219) | 2d4c1fa |
| renovate[bot] | fix(deps): update dependency @sanity/client to ^7.13.0 (#11215) | dbb4b01 |
| Jordan Lawrence | fix: release limits use only metered org count to exclude scheduled drafts (#11208) | cc41a87 |
| Ash | fix(sanity): switch enhanced object dialog off by default (#11201) (#11227) | 4e8100e |
| Christian Hamburger Grøngaard | fix(core): flush pending Portable Text Input changes on unmount | 7de417d |
| Christian Hamburger Grøngaard | test: remove block only containing whitespace | c762f46 |
v4.17.0
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@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 |
|---|---|---|
| Cody Olsen | refactor(deps): replace framer-motion with motion/react (#11102) |
7239c9d |
| Jordan Lawrence | fix: removing unnecessary release and scheduled publishing banner (#11195) | fda448a |
| Jordan Lawrence | fix: implement virtualized array list with visibility detection when ancestors change hidden state (#11166) | fe0e624 |
| Bjørge Næss | chore: remove pnpm config from workspace package.json (#11192) | da0acce |
| Cody Olsen | fix(perf): render document actions once instead of 3x (#11167) | 41c28d2 |
| Jordan Lawrence | feat: when creating scheduled draft, discard the existing draft transactionally (#11196) | 9051822 |
| RitaDias | feat(structure): add ability to maximise a document (#11200) | 0d39bed |
| Cody Olsen | fix(actions): onComplete considered harmful, use local state instead (#11199) |
461f54d |
| squiggler[bot] | chore(tests): generate dts tests 🤖 ✨ (#11203) | 96d0281 |
| RitaDias | feat(sanity): make enhanced object dialog opt out (#11201) | 966f4b4 |
v4.16.0
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@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 |
|---|---|---|
| RitaDias | fix: make it possible to double click specific items in the inspect (#11120) | b8b13bb |
| Simon MacDonald | fix(functions): support host flag in functions dev (#11118) | 9588b8b |
| Bjørge Næss | chore(test-studio): add more cases for reference fields (#11123) | 2f605ed |
| Pedro Bonamin | chore(tests): embedded studio e2e test (#11110) | 5988da4 |
| Ken Jones | feat: add sentiment-analysis function example (#10106) | 860d5cc |
| Kristoffer Brabrand | refactor: move info/debug to stederr by using console.warn (#11088) | 80a9efc |
| Jordan Lawrence | chore: add toast title for published scheduled drafts (#11006) | 7e99056 |
| Cody Olsen | chore(lint): disable react/jsx-handler-names rule (#11132) |
be52d66 |
| Cody Olsen | fix: add FullscreenPTEContext and SchedulesContext to singletons exports (#11134) | c987fe4 |
| Kristoffer Brabrand | feat: allow configuring sanity CLI config in testing (#11133) | dd909ce |
| Cody Olsen | chore(lint): ban React.createRef to prevent mistakes (#11136) |
e029387 |
| Christian Hamburger Grøngaard | feat(core): add configurable typography plugin to PTE inputs |
f6e394d |
| renovate[bot] | chore(deps): update dependency esbuild to v0.27.0 (#11119) | 81217db |
| Bjørge Næss | refactor(search): cleanup some perspective logic (#11125) | 3cdc3ae |
| Bjørge Næss | refactor(form): consider the perspective stack when checking for document availability (#11126) | 3b26845 |
| squiggler[bot] | chore(tests): generate dts tests 🤖 ✨ (#11139) | 3f4698e |
| Cody Olsen | refactor(perf): deprecate <ConditionalWrapper> (#11140) |
071db67 |
| Bjørge Næss | chore(deps): catalog @sanity/client (#11071) | 8113df1 |
| Bjørge Næss | fix(core): improve error state for invalid reference filter (#11124) | a463854 |
| Matthew Ritter | feat(limits): add asset limit upsell dialog (#11066) | 0b5b953 |
| Espen Hovlandsdal | fix(cli): undeploy based on appId/studioHost (#11131) |
0e05188 |
| Espen Hovlandsdal | fix(i18n): deprecate minimalDays property on week info (#11005) |
26496b6 |
| Kristoffer Brabrand | chore: update licence year to 2025 (#11079) | 89d6df3 |
| squiggler[bot] | chore(tests): generate dts tests 🤖 ✨ (#11142) | 668d982 |
| Bjørge Næss | refactor(form): simplify reference input search (#11128) | 1ec654e |
| Bjørge Næss | feat(form): pass perspective stack to custom reference filters, apply returned perspective (#11127) | 22123ed |
| Cody Olsen | fix(perf): avoid 1s render root loop (#11149) | 7270dfe |
| Cody Olsen | fix(perf): remove unsafe ref reads during render (#11148) | 93eaf26 |
| Cody Olsen | refactor: reduce react compiler bailouts (#11146) | 0fb1434 |
| Pedro Bonamin | fix(core): fix crossDatasetReference input previews (#11154) | 3fc1c5f |
| Bjørge Næss | chore: move overrides + peerDependencyRules to workspace config (#11155) | cb65c9c |
| Herman Wikner | feat(sanity): check permissions for invite members button (#11138) | 50990e7 |
| Pedro Bonamin | fix(core): use publishedId when creating a child link (#11163) | f0b2bf9 |
| RitaDias | fix: bug where changing the time manually in an input when the timezone was selected would change the time based on the computer timezone (#11161) | 28ba0ae |
| Christian Hamburger Grøngaard | refactor(core): use explicit mutation change | c20a3c2 |
| RitaDias | fix: issues where component.items weren't opening the enhanced object dialog (#11152) | 7627bfa |
| Christian Hamburger Grøngaard | fix(core): replace deprecated OneLinePlugin |
31dcd7c |
| squiggler[bot] | chore(tests): generate dts tests 🤖 ✨ (#11162) | d54e02c |
| Fred Carlsen | fix(sanity): allow importing assets without a data.ndjson file (#11159) | 393b11b |
| RitaDias | feat: make enhancedObjectDialog opt out (#11094) | f58536e |
| Cody Olsen | fix(deps): upgrade react compiler to v1 (#10834) | 2573cb1 |
| renovate[bot] | fix(deps): Update portabletext to v3 (major) (#11156) | 3448d67 |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11168) | 8fb01e9 |
| renovate[bot] | fix(deps): Update portabletext to v4 (major) (#11157) | 697beee |
| renovate[bot] | fix(deps): update dependency @portabletext/block-tools to ^4.0.2 (#11055) | 0cb63b4 |
| renovate[bot] | chore(deps): update dependency preferred-pm to v4 (#11174) | 9e8a448 |
| renovate[bot] | chore(deps): update pnpm to v10.22.0 (#11173) | 06e8a89 |
| renovate[bot] | chore(deps): update dev-non-major (#11169) | 532c565 |
| renovate[bot] | chore(deps): update lerna-lite monorepo to ^4.9.2 (#11170) | 50b375d |
| renovate[bot] | fix(deps): update dependency @sanity/client to ^7.12.1 (#11129) | db726ea |
| renovate[bot] | chore(deps): update oxlint (#11172) | aae0a94 |
| RitaDias | feat(structure): add ability to maximise a document (#10997) | 3720d9b |
| renovate[bot] | chore(deps): update linters (#11171) | 91a2b11 |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11176) | cdc0ff7 |
| squiggler[bot] | chore(tests): generate dts tests 🤖 ✨ (#11177) | 3a2f04b |
| renovate[bot] | chore(deps): update dependency @sanity/image-url to ^1.2.0 (#11178) | 09bcbe4 |
| renovate[bot] | chore(deps): update dependency @sanity/message-protocol to ^0.17.6 (#11179) | 9df1ced |
| renovate[bot] | chore(deps): update dependency @mux/mux-player-react to ^3.8.0 (#11183) | f5c040e |
| renovate[bot] | fix(deps): Update CodeMirror (#11182) | d90e127 |
| renovate[bot] | fix(deps): Update babel monorepo to ^7.28.5 (#11181) | 08d6e66 |
| renovate[bot] | chore(deps): update dependency vite to v7.2.2 (#11185) | ee72bfa |
| renovate[bot] | chore(deps): update dependency @sanity/blueprints to ^0.4.2 (#11184) | cfae0d8 |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11188) | bc54036 |
| Christian Hamburger Grøngaard | fix(core): disable typography PTE plugin by default |
f7660dd |
| Ash | fix(structure): revert add ability to maximise a document (#10997) (#11190) | abb4d4d |
| Pedro Bonamin | fix(core): use drafts perspective for cross dataset refs previews (#11158) |
b7b4e5e |
| Ash | fix(sanity): revert switch on enhanced object dialog by default (#11094) ([#11191](https://github.com/sanity-io/san... |
v4.15.0
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
| Author | Message | Commit |
|---|---|---|
| Binoy Patel | fix(migrate): exports esm bundle for migrate package (#11082) | 2922a73 |
| Kristoffer Brabrand | fix(typegen): allow generating types to absolute path (#7620) (#11081) | f8b4e87 |
| Sindre Gulseth | fix(schema): extract inline non-objects (#10990) | c151b89 |
| RitaDias | fix: issue where reference inputs were behaving oddly with the dialog (#11047) | c5db32e |
| Josh | fix(structure): pass edit intent params for pane to handle (#11077) | 0249ef6 |
| Bjørge Næss | revert(deps): add patch-package as direct dependency (#11085) (#11086) | 45a5dbf |
| RitaDias | fix: compare versions now works with the new enhanced object (#11040) | 028a52e |
| Josef Hlavacek | fix: Correctly fetch canvas documents linked to releases (#11067) | e874690 |
| Cody Olsen | refactor: add type aware linting with oxlint (#11044) | d1068c8 |
| Josh | feat(manifest): add studioVersion to improve UX of external studios in dashboard dev-setup (#11012) | 2358e1f |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11098) | 7359040 |
| renovate[bot] | fix(deps): update dependency @sanity/client to v7 (#11074) | 0035802 |
| renovate[bot] | chore(deps): update oxlint to v1.28.0 (#11013) | c9f12c1 |
| renovate[bot] | fix(deps): update dependency xstate to ^5.24.0 (#11101) | 6b3f691 |
| renovate[bot] | chore(deps): update pnpm to v10.20.0 (#11100) | 7972449 |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11103) | 0b75486 |
| Jordan Lawrence | fix: cardinality one releases use the original perspective stack logic (#11080) | c5dd642 |
| Cody Olsen | chore: enable react compiler on efps suite again (#11104) | d56fbdc |
| Pedro Bonamin | fix(presentation): persist scheduled draft perspective in location item (#11089) | 8514f39 |
| RitaDias | fix: Fix assist ai when using enhanced object dialog (#11097) | fc24066 |
| RitaDias | fix: enhancedObjectDialog where custom items are being used (#11090) | f45045b |
| squiggler[bot] | chore(deps): dedupe pnpm-lock.yaml (#11107) | 89b95c1 |
| Pedro Bonamin | fix(actions): update e2e cleanup pr script (#11109) | ce47ad3 |
| RitaDias | fix: issue where when enhancedObjectDialog was turned off, the old dialog wasn't opening (#11108) | be015c5 |
| Cody Olsen | chore: fix linter error on main (#11111) | ec6020e |
| RitaDias | fix: issue where initialFullscreen ptes weren't being able to close (#11106) | 8207267 |
| Cody Olsen | refactor(ci): remove docReport.yml and fix e2e-ui.yml (#11113) | deaf9ea |
| squiggler[bot] | chore(lint): fix linter issues 🤖 ✨ (#11114) | 0a3484a |
| Jordan Lawrence | feat: Copy version to draft (#11030) | 2b75633 |
| Jordan Lawrence | fix: void unawaited promise in CopyToDrafts (#11117) | 3bea1a5 |
| Jordan Lawrence | fix: do not block on upsell data failures; use custom interpolator rather that lodash templator (#11115) | 131f31b |