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@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 |
|---|---|---|
| @jordanl17 | fix(releases): use replace when syncing router state to URL (#13669) | e68c1a6 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13651) | 9b1a60a |
| @christianhg | chore(deps): bump @portabletext/sanity-bridge to ^3.2.3 (#13627) | cf7ea4c |
| squiggler-app[bot] | fix(deps): update portabletext (#13658) | 4403096 |
| @jordanl17 | fix(release-notes): unwrap invalid callout blocks written to apiChange docs (#13667) | cd5f068 |
| @gu-stav | fix(deps): update @sanity/cli to 7.12.1 and @sanity/workbench to 0.1.0-alpha.29 (#13668) | 17d6066 |
| @stipsan | fix(sanity): expand collapsed ancestors when opening a document with an initial focus path (#13575) | a0265b1 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/icons to ^5.2.0 (#13652) | 0f0d33e |
| squiggler-app[bot] | chore(deps): update dependency @uiw/react-codemirror to ^4.25.11 (#13653) | b90f768 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^7.12.0 (#13663) | c5c4986 |
| @bjoerge | fix: fix auth flash (#13497) | 191814e |
| @pedrobonamin | feat(presentation): share variant to presentation using comlink (#13616) | 88167dd |
| squiggler-app[bot] | fix(deps): update dev-non-major (#13649) | 4b794b1 |
| squiggler-app[bot] | chore(deps): lock file maintenance (#13646) | a542b01 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13650) | 9035793 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/ui to ^3.4.0 (#13648) | 51ee805 |
| @christianhg | fix(core): disable toolbar actions the caret position can't honor (#13645) | fb540f3 |
| @christianhg | chore(test-studio): narrow the container table's cell blocks for toolbar contrast (#13645) | 6510468 |
| @stipsan | chore(deps): update dependency @isaacs/ttlcache to v2 (#13587) | c5f9a43 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13635) | b7dfd49 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/migrate to v8 (#13644) | 1a16b6c |
| squiggler-app[bot] | chore(deps): update actions/checkout action to v7 (#13643) | 2ed51c1 |
| squiggler-app[bot] | chore(deps): update dependency turbo to ^2.10.5 (#13641) | 7d46655 |
| squiggler-app[bot] | chore(deps): update dependency @sentry/react to ^10.66.0 (#13642) | 6665fdb |
| squiggler-app[bot] | chore(deps): update dependency tsx to ^4.23.1 (#13640) | 94b315e |
| squiggler-app[bot] | chore(deps): update dependency @tanstack/react-virtual to ^3.14.6 (#13636) | 2e87cc9 |
| squiggler-app[bot] | chore(deps): update dependency is-network-error to ^1.3.2 (#13637) | 4873a84 |
| squiggler-app[bot] | chore(deps): update dependency prettier to ^3.9.5 (#13638) | d0c2602 |
| squiggler-app[bot] | chore(deps): update dependency sanity-plugin-internationalized-array to ^5.1.22 (#13639) | 231305a |
| squiggler-app[bot] | chore(deps): update dependency vercel to v56 (#13634) | ee134de |
| squiggler-app[bot] | chore(deps): update dependency nanoid to v6 (#13633) | e9aaa36 |
| squiggler-app[bot] | chore(deps): update dependency eslint-plugin-boundaries to v7 (#13632) | 2b3a9ae |
| squiggler-app[bot] | fix(deps): update portabletext (#13630) | 625064a |
| squiggler-app[bot] | chore(deps): update dependency @sanity/code-input to ^7.3.0 (#13631) | b9d136a |
| squiggler-app[bot] | chore(deps): update dependency @sanity/pkg-utils to v11 (#13480) | 1109fe3 |
| squiggler-app[bot] | chore(deps): update davelosert/vitest-coverage-report-action action to v2.12.2 (#13629) | 3b807a8 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13626) | ad8bc36 |
| @christianhg | fix(core): report the .text focus-path suffix for spans at any depth (#13608)
| 30952d1 |
| @christianhg | chore(test-studio): exercise Presentation overlays over table cells (#13608) | cbe7b05 |
| @christianhg | refactor(core): keep the legacy editor ref current (#13608) | 44f2487 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/migrate to v8 (#13625) | 0fdd3d8 |
| squiggler-app[bot] | chore(deps): update dependency @anthropic-ai/sdk to ^0.112.3 (#13622) | f3acb2a |
| squiggler-app[bot] | fix(deps): update dependency xstate to ^5.32.5 (#13621) | a879d11 |
| squiggler-app[bot] | fix(deps): update dependency motion to ^12.42.2 (#13620) | c469bee |
| squiggler-app[bot] | chore(deps): update dependency @sanity/sdk to ^2.18.0 (#13617) | 23cea1c |
| squiggler-app[bot] | chore(deps): update dependency sanity-plugin-internationalized-array to ^5.1.21 (#13618) | 4149fdb |
| squiggler-app[bot] | chore(deps): update dependency typedoc to ^0.28.20 (#13619) | fa8762b |
| squiggler-app[bot] | chore(deps): update dependency @sanity/media-library-types to ^1.6.0 (#13615) | e28a65d |
| squiggler-app[bot] | chore(deps): update dependency oxfmt to ^0.59.0 (#13624) | 4da66c1 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/blueprints to ^0.23.0 (#13623) | d8b7de8 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/ailf to ^7.31.1 (#13614) | 1fb4a01 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13612) | 1bbd708 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/preview-url-secret to ^4.1.0 (#13613) | 41a35ef |
| squiggler-app[bot] | fix(deps): update dev-non-major (#13604) | 62c47b8 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/presentation-comlink to ^2.2.0 (#13605) | 2eda4a4 |
| @gu-stav | fix(deps): update @sanity/workbench to 0.1.0-alpha.28 (#13606) | 67464c3 |
| squiggler-app[bot] | chore(deps): update dependency sanity-plugin-media to v6 (#13582) | 042a820 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13611) | bbd0abb |
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^7.11.0 (#13610) | 1064414 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/google-maps-input to ^6.1.7 (#13603) | 6217039 |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#13601) | 6e5b98d |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13602) | 26ea465 |
| squiggler-app[bot] | fix(deps): update dev-non-major (#13421) | d9bbd70 |
| squiggler-app[bot] | chore(deps): update oxlint (#13580) | 8fd2365 |
| @pedrobonamin | chore(core): export VARIANTS_STUDIO_CLIENT_OPTIONS from core (#13600) | 1ffa33d |
| @juice49 | fix(sanity): document group inventory font weights (#13599) | 48872b7 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13594) | c2ed70b |
| squiggler-app[bot] | fix(deps): update portabletext (#13579) | 4c2662a |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13592) | def56d5 |
| @gu-stav | fix(deps): update @sanity/workbench to 0.1.0-alpha.26 (#13593) | ad2de06 |
| @stipsan | fix(deps): bump @sanity/workbench to 0.1.0-alpha.26 (#13585) | 11ff1f9 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13583) | 78ac6ef |
| squiggler-app[bot] | fix(deps): update codemirror (#13363) | 5db6df4 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/client to ^7.24.0 (#13581) | 2a86130 |
| @juice49 | chore: setup ailf (#13448) | 411a702 |
| @juice49 | chore: add boost-search-weight ailf task (#13448) | 75303b9 |
| squiggler-app[bot] | chore(deps): update dependency knip to ^6.27.0 (#13424) | 1414bf2 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/ui to ^3.3.5 (#13381) | 73953f1 |
| squiggler-app[bot] | chore(deps): update dependency @vanilla-extract/vite-plugin to ^5.2.5 (#13564) | 1b09544 |
| squiggler-app[bot] | chore(deps): update dependency lefthook to ^2.1.10 (#13565) | a7cb97b |
| squiggler-app[bot] | chore(deps): update dependency pkg-pr-new to ^0.0.78 (#13566) | 0340dab |
| @christianhg | feat(core): accept native table container definitions in the table plugin config (#13578) | fdb9635 |
| @christianhg | chore(test-studio): bind the table plugin to a rich-table schema shape (#13578) | 5ac4edf |
| @christianhg | feat(core): add built-in table editing for Portable Text inputs (#13445) | 395437a |
| @christianhg | chore(test-studio): enable the table plugin in the customPlugins story (#13445) | bc4ddce |
| @stipsan | fix(form): prevent pte caret from jumping to block start while typing on new documents (#13574) | a54b0ba |
| squiggler-app[bot] | chore(deps): update dependency react-i18next to ^17.0.10 (#13567) | 57ed5b0 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13577) | 15fcff1 |
| squiggler-app[bot] | chore(deps): update dependency sanity-plugin-internationalized-array to ^5.1.19 (#13568) | e1dad22 |
| squiggler-app[bot] | chore(deps): update dependency vite to ^8.1.5 (#13569) | 0cdb5e8 |
| @stipsan | fix(test-dts-exports): ignore workbench duplicate identifier dts errors (#13572) | 2694948 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/google-maps-input to ^6.1.5 (#13563) | 7395bd1 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13571) | 5cd9c46 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^7.10.0 (#13570) | 17d211e |
| @jordanl17 | perf(core): deduplicate document version and permission subscriptions (#13390) | 7eba912 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13540) | 774941f |
| @jordanl17 | fix(structure): clear preference on restore-default and honor menuItems([]) (#13533) | ee015e1 |
| @jordanl17 | fix(structure): hide share action when the targeted document does not exist (#13539) | 2b973c4 |
| @pedrobonamin | chore(core): variants UI updates (#13553) | b78b0ba |
| @stipsan | fix(comments): isolate mention permission failures (#13556) | 0c99352 |
| @gu-stav | feat: workbench entry (#12511) | eef97ef |
| @stipsan | feat(releases): add option to update existing drafts when publishing a release (#13400) | c7dd73c |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#13549) | c67a718 |
| @matt-koevort | fix(portable-text): prevent duplicate nested annotation dialogs (#13551) | 11e248d |
| @pedrobonamin | fix(core): update variant to variant definition and related copy (#13547) | 2e77b9f |
| @pedrobonamin | feat(variants): support document actions, diffs, comments and history for variant documents (#13156) | 9c1d7a2 |
| @pedrobonamin | feat(variants): add confirmation dialog for delete variant action (#13546) | 36916e6 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^7.9.0 (#13541) | d51c6d7 |
| @juice49 | chore(sanity): combine useDocumentPane calls (#13543)
| d91e618 |
| @juice49 | chore(sanity): rename parameter for consistency (#13543) | ec65fff |
| @juice49 | fix(sanity): use displayed document id to drive active variant (#13543) | 70af7f2 |
| squiggler-app[bot] | fix(deps): update portabletext (#13527) | e2ba18d |
| squiggler-app[bot] | chore(deps): update dependency turbo to ^2.10.4 (#13525) | d32bc23 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/eventsource to ^5.0.4 (#13530) | 8416bb9 |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#13532) | 0b35b33 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13535) | 03b46cb |
| squiggler-app[bot] | chore(deps): update dependency @sanity/visual-editing-csm to ^3.0.11 (#13523) | e92cc9d |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13531) | 4a9b96c |
| @juice49 | chore(sanity): add dedicated VariantId type (#13476)
| f2dad8b |
| @juice49 | chore(sanity): add isVariantId type guard (#13476)
| 267f5a0 |
| @juice49 | test(sanity): correct fixture data (#13476) | 80ffc9e |
| @juice49 | fix(sanity): recognise variants in isPublishedVersion and isDraftVersion (#13476)
| e902916 |
| @juice49 | refactor(sanity): simplify setVariant signature (#13476)
| ac6522c |
| @juice49 | chore(sanity): list variants in document group inventory (#13476) | d2df470 |
| @pedrobonamin | feat(variants): enable editing variant documents through the document form (#13505) | 46d84dc |
| @pedrobonamin | fix(form): allow array insert menu to overflow edit dialogs (#13503) | 5f0a097 |
| squiggler-app[bot] | chore(deps): update dependency @vanilla-extract/vite-plugin to ^5.2.4 (#13524) | a6cd8d0 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/client to ^7.23.1 (#13526) | 69bc31d |
| squiggler-app[bot] | fix(deps): update vitest monorepo to ^4.1.10 (#13528) | ec4b071 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/icons to ^5.1.0 (#13529) | 3f9749b |
| sieve-sanity[bot] | fix(structure): render menuItemGroup title in pane action menus (#13238) (#13521) | ad4ffd7 |
| sieve-sanity[bot] | fix(sanity): pad tag pill on both sides when remove button is hidden (#13429) (#13513) | baf40c0 |
| @stipsan | fix(form): strip stega metadata when pasting into plain text fields (#13499) | b82ed3d |
| @stipsan | refactor(core): vendor insert-menu into the studio (#13495) | 57813a7 |
| @bjoerge | ci(bench): match track-main session counts to the PR shards (#13519) | b246235 |
| @bjoerge | fix(bench): mock the document-at-revision history endpoint (#13517) | e9d5898 |