Sanity Studio v6.22.0
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-Ni4yMS4w
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 |
|---|---|---|
| @pedrobonamin | fix(core): restore the releases classic navbar pill when variants are off (#15745) | b42942c |
| @pedrobonamin | chore(structure): remove document target badges and onboarding hint (#15712) | 68eeac4 |
| cursor[bot] | test(field): cover review changes revert edge cases (#14934) | e9533eb |
| cursor[bot] | test(router): cover scoped search param bracket parsing (#15705) | be5bc91 |
| @jordanl17 | feat(validation): warn when an asset does not match its field's accept option (#15673) | 20d67d5 |
| @pedrobonamin | chore(vision): ignore disconnected vista symbols in knip (#15747) | e9cf32d |
| cursor[bot] | test(field): cover review changes list grouping (#15310) | 7d3ba79 |
| @pedrobonamin | chore(core): adds releases detail link in releases dropdown menu items (#15737) | 0f366c2 |
| @pedrobonamin | feat(structure): add document panel navigation with a variants menu (#15706) | 5975502 |
| @pedrobonamin | chore(structure): document navigation menu for releases (#15707) | 7177d0e |
| @pedrobonamin | chore(structure): adds scheduled drafts form dropdown (#15711) | da3ba56 |
| cursor[bot] | test(presentation): cover overlay schema helper edge cases (#15486) | 7af7459 |
| cursor[bot] | test(storybook): add ui5 sentinels for filter empty state menu actions and validation icons (#15715) | 23952d0 |
| @juice49 | fix(vision): temporarily remove Vista imports (#15744) | 128cce1 |
| @pedrobonamin | fix(test): collect chromium garbage after every browser test file (#15730) | 2d3f570 |
| squiggler-app[bot] | fix(deps): update sanity-sdk to ^3.12.0 (#15726) | dab80c8 |
| @juice49 | chore(vision): narrow @pierre/diffs to 1.6.2 (#15742)
| ffe3b50 |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#15733) | 9dd43e4 |
| @stipsan | chore(deps): remove leftover unused dependencies and knip workspace ignores (#14124) | e92a787 |
| @bjoerge | fix(deps): upgrade @sanity/bifur-client to v3 (#15734)
| f89e9bc |
| @joshuaellis | feat(core): name the studio as the parent of federated asset sources (#15722) | 9ab54e2 |
| @jonahsnider | fix(validation): allow release documents to reference documents in the same release (#15703) | 0e387ce |
| @rexxars | fix(presence): stop reconnecting after authorization rejection (#15702) | 80fc682 |
| @jordanl17 | fix(core): keep auth secrets out of the url when the studio fails to boot (#15337) | c77bdc3 |
| @juice49 | fix(sanity): document inventory group overflow with scrolling ancestor (#15720) | 1e0c803 |
| @juice49 | feat(sanity): refine document group inventory (#15713) | 945d0bd |
| squiggler-app[bot] | chore(deps): update dependency @sanity-labs/groq-wasm to ^1.0.3 (#15586) | 8516416 |
| squiggler-app[bot] | fix(deps): update portabletext (#15719) | fce4307 |
| @laurenashpole | fix: remove trim from nested text (#15701) | 9fd9464 |
| squiggler-app[bot] | fix(deps): update dependency xstate to ^5.33.3 (#15591) | 2990658 |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#15714) | b7b83ae |
| squiggler-app[bot] | fix(deps): update dev-non-major (#15592) | cf8e208 |
| @jordanl17 | fix(releases): report release permissions correctly from the dry run (#15606) | 4dffc69 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/ui to ^4.4.10 (#15504) | 75a40e9 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#15710) | ff44850 |
| cursor[bot] | test(storybook): add ui5 sentinels for object dialogs and failed schedules (#15640) | 3af8d56 |
| squiggler-app[bot] | fix(deps): update sanity-sdk to ^3.10.0 (#15647) | 9f0a730 |
| @jordanl17 | fix(form): render relative-only url fields as text inputs (#15692) | c47a3e5 |
| cursor[bot] | test(form): cover array item schema type resolution (#15614) | 416e36f |
| squiggler-app[bot] | chore(deps): update dependency ui5 to v5.0.0-alpha.19 (#15644) | 0a59938 |
| squiggler-app[bot] | fix(deps): update dependency groq-js to ^2.0.1 (#15645) | 19a70eb |
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^8.25.0 (#15648) | eab12de |
| @pedrobonamin | feat(structure): open the document right away while intent links resolve (#15683) | 890ddaf |
| @jonahsnider | feat(schema): upload encoded schema descriptors (#15681) | a43dc62 |
| @pedrobonamin | chore(core): updates variants menu (#15641) | 943a35a |
| @pedrobonamin | chore(core): allow creating from variants menu (#15650) | cc66c84 |
| @pedrobonamin | chore(core): releases menu updates (#15653) | 72c210d |
| @pedrobonamin | chore(core): rename GlobalPerspectiveMenu to ReleasesMenu (#15654) | 6991a07 |
| @pedrobonamin | chore(core): variants and releases menu UX updates (#15655) | 5c2af1f |
| @pedrobonamin | fix(core): move perspective pickers into the nav drawer on mobile (#15659) | 5162998 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/visual-editing-csm to ^3.0.19 (#15643) | 0fe0052 |
| claude[bot] | fix(structure): promote custom first action as primary for live-edit documents (#15686) | 1124da6 |
| @pedrobonamin | chore(core): move variants perspective selector into navbar (#15635) | 40cd3e8 |
| @jordanl17 | feat(radar): store and show a core studio engine score beside the total (#15531) | 88e9dc8 |
| @jordanl17 | fix(releases): hold the workspace release limit while releases load and on dialog submit (#15687) | f26142a |
| @jordanl17 | feat(bench): add per-navigation soft-navigation stats and report rows (#15538) | f2e1886 |
| @jordanl17 | feat(bench): add soft-navigation mode and scenario (#15537) | d08ae23 |
| @jordanl17 | feat(radar): render soft-navigation web vitals in a navigation tab (#15535) | 34f50e7 |
| @jordanl17 | ci(bench): run soft-navigation mode in the daily track-main suite (#15539) | da0a5c0 |
| @pedrobonamin | docs(agents): require cloud agents to open pull requests as drafts (#15685) | de002c9 |
| @jordanl17 | feat(sanity): add soft-navigation route descriptor util (#15532) | 8c4cd64 |
| @jordanl17 | feat(core): add soft-navigation change classifier (#15536) | d4b8f0e |
| @jordanl17 | feat(core): report soft-navigation web vitals from studio (#15534) | 245a0c0 |
| squiggler-app[bot] | fix(deps): update portabletext (#15646) | c0a0e7f |
| @gu-stav | fix(core): stop studio reloads from reloading workbench (#15443) | a2b8c4c |
| squiggler-app[bot] | fix(deps): update dependency @sanity/client to ^8.13.0 (#15649) | 45e94d2 |
| @gu-stav | feat(core): support auto-updating studios in workbench (#15553) | 6fe51da |
| @jordanl17 | fix(releases): apply the workspace release limit wherever a release can be created (#15603) | e23edf1 |
| @RostiMelk | perf(structure): preload the document so it is ready when its pane opens (#15675) | 9964a63 |
| @RostiMelk | perf(structure): open intent links without resolving the whole structure (#15661) | f3659de |
| @RostiMelk | perf(structure): search the structure without waiting for the document type (#15674) | 6730c94 |
| @jonahsnider | fix(validation): cancel abandoned reference batches (#15652) | 05ef2d9 |
| @pedrobonamin | fix(variants): use dated api version instead of vX (#15568) | 1ada254 |
| @pedrobonamin | fix(router): accept intent links without params (#15639) | 4e7479b |