releases.shpreview

v6.6.0

Sanity Studio v6.6.0

This release includes various improvements and bug fixes.

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

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
@jordanl17fix(releases): use replace when syncing router state to URL (#13669)e68c1a68851086fed99063e28b9531a7fbd065f2
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13651)9b1a60ae2d744241c329c397a7987e2eeb19dfae
@christianhgchore(deps): bump @portabletext/sanity-bridge to ^3.2.3 (#13627)cf7ea4caa09f9643d01ec4894b13d51a171eca46
squiggler-app[bot]fix(deps): update portabletext (#13658)4403096b3706fd5311464cddfff38ef67e194b57
@jordanl17fix(release-notes): unwrap invalid callout blocks written to apiChange docs (#13667)cd5f06857c3635a7dc96e4610981fd063e739832
@gu-stavfix(deps): update @sanity/cli to 7.12.1 and @sanity/workbench to 0.1.0-alpha.29 (#13668)17d60668b69a8d9581fef5da5f41f76b34610643
@stipsanfix(sanity): expand collapsed ancestors when opening a document with an initial focus path (#13575)a0265b1e132518daca4ab296477d30c1e8d9c384
squiggler-app[bot]fix(deps): update dependency @sanity/icons to ^5.2.0 (#13652)0f0d33ea6ca7e1d157def3d7457f4b3fd08eb84c
squiggler-app[bot]chore(deps): update dependency @uiw/react-codemirror to ^4.25.11 (#13653)b90f7685aa12fbb2e6271706b335dc55ee08cca9
squiggler-app[bot]fix(deps): update dependency @sanity/cli to ^7.12.0 (#13663)c5c49860d6a778693902418dbac60d46a45b9273
@bjoergefix: fix auth flash (#13497)191814e3709fed7b6988f38d9496dc3bd3228524
@pedrobonaminfeat(presentation): share variant to presentation using comlink (#13616)88167ddf7753c56f482a2a8f58b19044c9d38885
squiggler-app[bot]fix(deps): update dev-non-major (#13649)4b794b15d9b1f9c15c9168f7f8a5472acb605193
squiggler-app[bot]chore(deps): lock file maintenance (#13646)a542b01cf889f1cbb258fea2a044a29ac9a12c82
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13650)90357936260da1e459d7d616f7e6560d40b03b4c
squiggler-app[bot]chore(deps): update dependency @sanity/ui to ^3.4.0 (#13648)51ee805d3826336a606794fcb02604db77c4b142
@christianhgfix(core): disable toolbar actions the caret position can't honor (#13645)fb540f3919ebe849bfd38fa28b68b97eb4ed1fac
@christianhgchore(test-studio): narrow the container table's cell blocks for toolbar contrast (#13645)6510468aff673048b7c86e3d90c53e9de0b5a6ae
@stipsanchore(deps): update dependency @isaacs/ttlcache to v2 (#13587)c5f9a43199b765d7050d6a37797a356555056d39
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13635)b7dfd49feb1754b45f069ae2da4b9c3cab1e96d9
squiggler-app[bot]chore(deps): update dependency @sanity/migrate to v8 (#13644)1a16b6c598dff6a90388813c3f1d6065163bfc26
squiggler-app[bot]chore(deps): update actions/checkout action to v7 (#13643)2ed51c10a01e70b8af786b7e7d35da3f94d5c95d
squiggler-app[bot]chore(deps): update dependency turbo to ^2.10.5 (#13641)7d46655306fee197d3b100b3f717f729d3830544
squiggler-app[bot]chore(deps): update dependency @sentry/react to ^10.66.0 (#13642)6665fdb56475c4acc3e62f3cf354afc0aa9f8930
squiggler-app[bot]chore(deps): update dependency tsx to ^4.23.1 (#13640)94b315ed1db3200662fe964d414556ad26a2a3a6
squiggler-app[bot]chore(deps): update dependency @tanstack/react-virtual to ^3.14.6 (#13636)2e87cc94ea3c2c1c137e83a94d397891bbf1adf8
squiggler-app[bot]chore(deps): update dependency is-network-error to ^1.3.2 (#13637)4873a849114cfb04fd1008b9092ff8a6666b6ab1
squiggler-app[bot]chore(deps): update dependency prettier to ^3.9.5 (#13638)d0c260265b2dc0823cfe8da122f422dc90db2074
squiggler-app[bot]chore(deps): update dependency sanity-plugin-internationalized-array to ^5.1.22 (#13639)231305aa7b4860ae5bdf30c9b20bb2bdb65e0fa7
squiggler-app[bot]chore(deps): update dependency vercel to v56 (#13634)ee134dec342f5054a24dc1c0a293ce82fd200306
squiggler-app[bot]chore(deps): update dependency nanoid to v6 (#13633)e9aaa36f80d19d52fc25ab5150741496c4c226a3
squiggler-app[bot]chore(deps): update dependency eslint-plugin-boundaries to v7 (#13632)2b3a9ae33998a9f00b7fef69de4704858950530c
squiggler-app[bot]fix(deps): update portabletext (#13630)625064a8a18508f258f1ee82026ef029a6cd86a1
squiggler-app[bot]chore(deps): update dependency @sanity/code-input to ^7.3.0 (#13631)b9d136a834083684ff36ac7ce741c11a4a90a372
squiggler-app[bot]chore(deps): update dependency @sanity/pkg-utils to v11 (#13480)1109fe33625926ee6311af37dc8c46bf9a351509
squiggler-app[bot]chore(deps): update davelosert/vitest-coverage-report-action action to v2.12.2 (#13629)3b807a8d55d80ee276ecd9c8e6349ff34e4ac8fe
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13626)ad8bc366455b0f7e723bb81bbcd4f134c13860b1
@christianhgfix(core): report the .text focus-path suffix for spans at any depth (#13608)30952d18d13ad0743d15dbe22c63fb54e26e5871
@christianhgchore(test-studio): exercise Presentation overlays over table cells (#13608)cbe7b051abe7ba3e35f6182600f556e93fcca390
@christianhgrefactor(core): keep the legacy editor ref current (#13608)44f24877e34c2a9bb42cfdcd3c07c00c4a2bfc95
squiggler-app[bot]chore(deps): update dependency @sanity/migrate to v8 (#13625)0fdd3d8a88b08d3e87c86bdc514b415632b0f621
squiggler-app[bot]chore(deps): update dependency @anthropic-ai/sdk to ^0.112.3 (#13622)f3acb2ac5768610b16804285f71ab9b95cb84cd0
squiggler-app[bot]fix(deps): update dependency xstate to ^5.32.5 (#13621)a879d112708e94414845b7f7d629cd7020de1dd2
squiggler-app[bot]fix(deps): update dependency motion to ^12.42.2 (#13620)c469bee7cb402cfcaee3154fd8fd6f7cbe28dba5
squiggler-app[bot]chore(deps): update dependency @sanity/sdk to ^2.18.0 (#13617)23cea1c2581543a97e06e12ab88884c56b8b0b27
squiggler-app[bot]chore(deps): update dependency sanity-plugin-internationalized-array to ^5.1.21 (#13618)4149fdb896aa23674e6b6c3a6233074a4887510b
squiggler-app[bot]chore(deps): update dependency typedoc to ^0.28.20 (#13619)fa8762be7234b5752023cfb7809bb4b845b062a4
squiggler-app[bot]chore(deps): update dependency @sanity/media-library-types to ^1.6.0 (#13615)e28a65dcc1f850a9a0d94f6049147ad9cf3800ff
squiggler-app[bot]chore(deps): update dependency oxfmt to ^0.59.0 (#13624)4da66c161df31f840c2430cb4e79de0319ff8b7f
squiggler-app[bot]chore(deps): update dependency @sanity/blueprints to ^0.23.0 (#13623)d8b7de89127686d2817fe72fd5d0b3e9db5548ec
squiggler-app[bot]chore(deps): update dependency @sanity/ailf to ^7.31.1 (#13614)1fb4a01ea6dcf315e72d8f11ae4cdc5ca26a8fdd
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13612)1bbd70898f5e1b8c54d89b8ab95437e15d287493
squiggler-app[bot]fix(deps): update dependency @sanity/preview-url-secret to ^4.1.0 (#13613)41a35efdb7306786412456834137f8a1a297da73
squiggler-app[bot]fix(deps): update dev-non-major (#13604)62c47b8971676a4f4851bfa88a5e00fba80956b5
squiggler-app[bot]fix(deps): update dependency @sanity/presentation-comlink to ^2.2.0 (#13605)2eda4a4143e5c1b2057331b240e08cb639244efb
@gu-stavfix(deps): update @sanity/workbench to 0.1.0-alpha.28 (#13606)67464c38cc517cb7f156e12bc33dd1e8bc0c6fb2
squiggler-app[bot]chore(deps): update dependency sanity-plugin-media to v6 (#13582)042a8203d68bd073a2ae78b38b830ae8856ff37c
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13611)bbd0abbc1b9842c97f50005347af9294842c8037
squiggler-app[bot]fix(deps): update dependency @sanity/cli to ^7.11.0 (#13610)1064414dc8c6fa9be19a98d69442e27e11fe31e7
squiggler-app[bot]chore(deps): update dependency @sanity/google-maps-input to ^6.1.7 (#13603)62170395f2cd2411b777e0c0e1e476bae1ba6400
squiggler-app[bot]chore(tests): generate dts tests 🤖 ✨ (#13601)6e5b98d27c4302b7a7dfb4e2204b671c41bf7228
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13602)26ea465b45a64e79405291f3e73b8cf4ed282998
squiggler-app[bot]fix(deps): update dev-non-major (#13421)d9bbd709c4fde7fe2d4fcac95bdd45a54c54bacc
squiggler-app[bot]chore(deps): update oxlint (#13580)8fd2365301cdf4c458284feaf82d8c3150c6f9de
@pedrobonaminchore(core): export VARIANTS_STUDIO_CLIENT_OPTIONS from core (#13600)1ffa33d09f05e6443d2da565798f3774d283cc50
@juice49fix(sanity): document group inventory font weights (#13599)48872b7488a33dfa5570c8b000d13f4db446cebe
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13594)c2ed70bdc33730182d85d4f09beb26c73a7605f2
squiggler-app[bot]fix(deps): update portabletext (#13579)4c2662ac61366935d6c8079efbbb49c3d3cc0921
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13592)def56d5cffd2f9151ffcf85388667373e5be7388
@gu-stavfix(deps): update @sanity/workbench to 0.1.0-alpha.26 (#13593)ad2de0626445c20bec903e2738d62b9bca504e23
@stipsanfix(deps): bump @sanity/workbench to 0.1.0-alpha.26 (#13585)11ff1f9c28899064f6947dbb84c730931944cde8
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13583)78ac6ef7e605ef678b9726f135bc73b4ff392ce0
squiggler-app[bot]fix(deps): update codemirror (#13363)5db6df43857db362a127ceb6133d24fbb8f05954
squiggler-app[bot]fix(deps): update dependency @sanity/client to ^7.24.0 (#13581)2a86130857338e1cafc147800bfc12d6e52e7ec9
@juice49chore: setup ailf (#13448)411a7022e3757ee08a90f1f396e87fdf0359f0ce
@juice49chore: add boost-search-weight ailf task (#13448)75303b945f63b8c73f81623b4c47f10ec4127edd
squiggler-app[bot]chore(deps): update dependency knip to ^6.27.0 (#13424)1414bf26f214b6a7556c3ba4079bf80372c876fe
squiggler-app[bot]chore(deps): update dependency @sanity/ui to ^3.3.5 (#13381)73953f13ed449d1c61c52cb60d785741be12d073
squiggler-app[bot]chore(deps): update dependency @vanilla-extract/vite-plugin to ^5.2.5 (#13564)1b09544e75ad0c13c62cbfde6f157998b82a7ba3
squiggler-app[bot]chore(deps): update dependency lefthook to ^2.1.10 (#13565)a7cb97b95f2733083eb6d6315e93857fe13bcdae
squiggler-app[bot]chore(deps): update dependency pkg-pr-new to ^0.0.78 (#13566)0340dabf3cb8f207373b88f8de35e8b4ad437221
@christianhgfeat(core): accept native table container definitions in the table plugin config (#13578)fdb96359d1cc7bcbfc22efb7ab23c9980503731b
@christianhgchore(test-studio): bind the table plugin to a rich-table schema shape (#13578)5ac4edfca39937b03a60c72db102c07d275a6434
@christianhgfeat(core): add built-in table editing for Portable Text inputs (#13445)395437a05856cded4b0bb6ce1d5b04f42695a3e2
@christianhgchore(test-studio): enable the table plugin in the customPlugins story (#13445)bc4ddcef426ff972937c721f0ae8d434d8f307a0
@stipsanfix(form): prevent pte caret from jumping to block start while typing on new documents (#13574)a54b0bafbbe5abee945e81ca0e13dea31455c169
squiggler-app[bot]chore(deps): update dependency react-i18next to ^17.0.10 (#13567)57ed5b02434ebd8d69e6a0ad62e5645a0a5bf9b8
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13577)15fcff15ff1106037ddfa255d3f1009b6edc75dc
squiggler-app[bot]chore(deps): update dependency sanity-plugin-internationalized-array to ^5.1.19 (#13568)e1dad223df6d3ecfdddba5f82f4ccbd59a15715a
squiggler-app[bot]chore(deps): update dependency vite to ^8.1.5 (#13569)0cdb5e87595b11585bddc56313b8fccf1fd3ef80
@stipsanfix(test-dts-exports): ignore workbench duplicate identifier dts errors (#13572)2694948faf12431b915bece95f299f397e4af1a9
squiggler-app[bot]chore(deps): update dependency @sanity/google-maps-input to ^6.1.5 (#13563)7395bd12a4f984690f18b038ff31526d4db31937
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13571)5cd9c460a1af424c33b3139a4b9dd261b5f37f2d
squiggler-app[bot]fix(deps): update dependency @sanity/cli to ^7.10.0 (#13570)17d211ef5255321b6591313bc99c8c3c7da2a753
@jordanl17perf(core): deduplicate document version and permission subscriptions (#13390)7eba9124752f02b991ffb480975de61614c8eaa3
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13540)774941f2105c6e76b4e4f1ff68904b5ee139181d
@jordanl17fix(structure): clear preference on restore-default and honor menuItems([]) (#13533)ee015e1162dfe6aa3d592e6e56bfb3bc66caad58
@jordanl17fix(structure): hide share action when the targeted document does not exist (#13539)2b973c42d41a6e735460e74ad75fc228bb7597f7
@pedrobonaminchore(core): variants UI updates (#13553)b78b0ba5090a586d3f81d15c16faec093b239d30
@stipsanfix(comments): isolate mention permission failures (#13556)0c99352987029eccc3eae7860327a8bc147d7775
@gu-stavfeat: workbench entry (#12511)eef97ef58a18d32e77cb6dd113a733f4be8a7ed7
@stipsanfeat(releases): add option to update existing drafts when publishing a release (#13400)c7dd73c2675e67f28e2c29ef7e7dad4e98684cff
squiggler-app[bot]chore(tests): generate dts tests 🤖 ✨ (#13549)c67a718d0c27c16b00a699d1c271e4161e5d8ade
@matt-koevortfix(portable-text): prevent duplicate nested annotation dialogs (#13551)11e248dcb5654f60c790b7f088b26b87e710f1c5
@pedrobonaminfix(core): update variant to variant definition and related copy (#13547)2e77b9ffd3afd0a437a13a97a84009e7dbcdb535
@pedrobonaminfeat(variants): support document actions, diffs, comments and history for variant documents (#13156)9c1d7a2c857ddda83fde3799024d0bbc23ddd3bf
@pedrobonaminfeat(variants): add confirmation dialog for delete variant action (#13546)36916e6d568eb2a3d48390f04ce08589a3a61ad3
squiggler-app[bot]fix(deps): update dependency @sanity/cli to ^7.9.0 (#13541)d51c6d7d78e4a20ae74938dae5c1f87c72917dbb
@juice49chore(sanity): combine useDocumentPane calls (#13543)d91e618273c6626180968252a4b0641491de0b44
@juice49chore(sanity): rename parameter for consistency (#13543)ec65fffe5f58d387f37e13ee7222b983e68fc43f
@juice49fix(sanity): use displayed document id to drive active variant (#13543)70af7f2ee5d2b6a8d48456ee387a9d1c2c402cff
squiggler-app[bot]fix(deps): update portabletext (#13527)e2ba18d07243848fe201159c1e41487e654fabda
squiggler-app[bot]chore(deps): update dependency turbo to ^2.10.4 (#13525)d32bc232c92362549f2fe0f665dd0265ed0c641e
squiggler-app[bot]chore(deps): update dependency @sanity/eventsource to ^5.0.4 (#13530)8416bb99022cf729e54aea29a274ad74931c3104
squiggler-app[bot]chore(tests): generate dts tests 🤖 ✨ (#13532)0b35b33361158d23e3a30f448a8a7ded15b0b4ae
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13535)03b46cbd151ed563255678beaf363695214f03b1
squiggler-app[bot]chore(deps): update dependency @sanity/visual-editing-csm to ^3.0.11 (#13523)e92cc9df3e68004d0bcd2ad9f58cd66dc70e56bf
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13531)4a9b96c7021172a2a40f5bcd7123329f0b2ee104
@juice49chore(sanity): add dedicated VariantId type (#13476)f2dad8b1bc95f3ebcffe8ad6b80cc798473f8a8a
@juice49chore(sanity): add isVariantId type guard (#13476)267f5a03b639ea2bf396f9b5cf42025d8ef1fbe9
@juice49test(sanity): correct fixture data (#13476)80ffc9ef3cd9a0420a45f9a7041c636163e6a6c3
@juice49fix(sanity): recognise variants in isPublishedVersion and isDraftVersion (#13476)e9029161b741414e75efdab7a0596fd175e27dbb
@juice49refactor(sanity): simplify setVariant signature (#13476)ac6522cb5cfe9db1ec123ff22505916e3f4d3148
@juice49chore(sanity): list variants in document group inventory (#13476)d2df470313f803e6a56cb29578f6f8e2d4d47089
@pedrobonaminfeat(variants): enable editing variant documents through the document form (#13505)46d84dc1977e7e0740782044a053342241723735
@pedrobonaminfix(form): allow array insert menu to overflow edit dialogs (#13503)5f0a097d20c8179b8803085e112b7f479bc59517
squiggler-app[bot]chore(deps): update dependency @vanilla-extract/vite-plugin to ^5.2.4 (#13524)a6cd8d0d3f9916880c66b8c3f97e08d148990921
squiggler-app[bot]fix(deps): update dependency @sanity/client to ^7.23.1 (#13526)69bc31da29fe5570ab2a759bbf5a23bad6defc41
squiggler-app[bot]fix(deps): update vitest monorepo to ^4.1.10 (#13528)ec4b07126e2ea188e4aba8414910ffbb6013e43d
squiggler-app[bot]fix(deps): update dependency @sanity/icons to ^5.1.0 (#13529)3f9749b346b36debeea84c07fda510e6c47d92f0
sieve-sanity[bot]fix(structure): render menuItemGroup title in pane action menus (#13238) (#13521)ad4ffd7e5fe03e3d04c1f5f99e83aa35c75c5aa9
sieve-sanity[bot]fix(sanity): pad tag pill on both sides when remove button is hidden (#13429) (#13513)baf40c073a044cd99f71a3d3b306f29a267b1e38
@stipsanfix(form): strip stega metadata when pasting into plain text fields (#13499)b82ed3d1e535f75f2602217479f46d2ed28fa457
@stipsanrefactor(core): vendor insert-menu into the studio (#13495)57813a71ce8b98f3e478b24d39a9e059267f688b
@bjoergeci(bench): match track-main session counts to the PR shards (#13519)b2462356bfeee571cb7094a45da55171a2a60705
@bjoergefix(bench): mock the document-at-revision history endpoint (#13517)e9d5898c59564e05e9debddee5b03fce4da6a5a2

Fetched July 22, 2026