Sanity Studio v6.9.0
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-Ni44LjA
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 |
|---|---|---|
| @stipsan | refactor(ui): migrate Stack and Button space prop to gap (#13867) | 8343de2 |
| @pedrobonamin | feat(core): query documents in the selected variant alongside the perspective stack (#13791) | 8989fe7 |
| @shapirodaniel | feat(core): unclaimed project claim intake and nudge (#13705) | 41dd4bf |
| @pedrobonamin | chore(structure): render doc badges even if the doc is missing (#13743) | f03b8af |
| @pedrobonamin | test(e2e): add tasks e2e tests for create, release scoping and resolve (#13754) | de8fb79 |
| @stipsan | fix(core): avoid native useEffectEvent in forwardRef and memo (#13821) | 8f84cf4 |
| @jordanl17 | fix(core): stop permission loading-flag churn on every document change (#13771) | 96f5819 |
| @jordanl17 | refactor(core): consolidate array list object telemetry events (#13772) | 1a9dffc |
| @stipsan | chore(lint): prefer function components via oxlint rule (#13826) | a6b0627 |
| @stipsan | chore(structure): drop redundant incoming references comments (#13852) | 1542aa0 |
| @stipsan | fix(dev): migrate profiling minify options from esbuild to vite (#13859) | d25a51c |
| @stipsan | chore(test-dts-exports): remove ui-poc styles.css TS2882 workaround (#13863) | 623e18f |
| squiggler-app[bot] | fix(deps): update dependency get-it to ^8.8.2 (#13865) | 7ea95c3 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13864) | 5d36c67 |
| @jordanl17 | perf(sanity): batch connector geometry updates with rAF and bail on unchanged connectors (#13763) | 24a033e |
| squiggler-app[bot] | fix(deps): update playwright monorepo to v1.62.1 (#13855) | 40c0ab5 |
| squiggler-app[bot] | chore(deps): update dependency oxlint to ^1.76.0 (#13844) | 9eb219e |
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^7.16.0 (#13858) | 1c690fd |
| @stipsan | chore(test-studio): add vitejs devtools integration packages (#13850) | 027245f |
| squiggler-app[bot] | fix(deps): update dependency @sanity/client to ^7.26.0 (#13848) | 8458e48 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13853) | be95af4 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/tsdown-config to ^0.21.3 (#13862) | f7d1c45 |
| squiggler-app[bot] | chore(lint): fix linter issues 🤖 ✨ (#13860) | 32c9c66 |
| squiggler-app[bot] | fix(deps): update portabletext (#13842) | 9320439 |
| squiggler-app[bot] | fix(deps): update dev-non-major (#13834) | cfd0b3b |
| squiggler-app[bot] | fix(deps): update dependency motion to ^12.43.0 (#13849) | 64f1aa1 |
| squiggler-app[bot] | chore(deps): update dependency knip to ^6.31.0 (#13843) | 853e4a1 |
| squiggler-app[bot] | fix(deps): update dependency get-it to ^8.8.1 (#13841) | a4d8244 |
| squiggler-app[bot] | fix(deps): update react monorepo (#13856) | cdd01d3 |
| squiggler-app[bot] | chore(deps): update dependency oxfmt to ^0.62.0 (#13857) | e386003 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/ui to ^3.5.1 (#13818) | ed699ed |
| squiggler-app[bot] | chore(deps): update dependency @vanilla-extract/css to ^1.21.2 (#13854) | 41d79dd |
| squiggler-app[bot] | chore(deps): update dependency vite to ^8.2.0 (#13846) | f88be20 |
| squiggler-app[bot] | chore(deps): update dependency @vitejs/plugin-react to ^6.0.5 (#13840) | 204dc7d |
| @pedrobonamin | fix(structure): incoming references shouldn't self refer (#13851) | 367be3f |
| @stipsan | fix(structure): keep inspector crashes inside the inspector panel (#13845) | cba5181 |
| @stipsan | perf(sanity): defer non-controlled useObservable subscriptions (#13799) | 2958d75 |
| @stipsan | chore(deps): bump react-rx to v5 and adopt useSyncObservable (#13814) | d66f505 |
| @stipsan | refactor(sanity): adopt useObservablePromise for data loading states (#13828) | 2d7be6a |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#13839) | 01339c4 |
| @codythatsme | fix(types): preserve supplied schema helper properties (#13237) | 38002e4 |
| @stipsan | chore(lint): migrate eslint-plugin-boundaries config to v7 (#13710) | f8fa390 |
| @pedrobonamin | fix(core): allow creating draft variants from published variant sibling (#13741) | cf5a7da |
| @pedrobonamin | fix(core): update copying variants to different releases from context menu. (#13800) | 3086936 |
| @stipsan | docs(agents): adopt useful patterns from plugins AGENTS.md (#13764) | 4794716 |
| @pedrobonamin | chore(structure): useDocumentTitle, use document pane provider value (#13742) | 6f46b8d |
| @joshuaellis | feat(workbench): export AssetSource types from sanity/workbench (#13827) | 458ca4a |
| @stipsan | chore(oxlint): add typescript/no-deprecated rule (#13829) | bd7b4b1 |
| claude[bot] | fix(ci): wait for published packages to be installable before post-publish steps (#13823) | 5307277 |
| @stipsan | refactor(sanity): replace useState useEffect observable subscriptions with useObservable (#13788) | ae2fb78 |
| @laurenashpole | chore(core): updates @sanity-labs/ui-poc to 0.0.1-alpha.25 (#13832) | 30ec805 |
| @pedrobonamin | chore(core): versions context menu use documentGroupId and versionId (#13820) | 950c5a5 |