Sanity Studio v6.16.0
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-Ni4xNS4w
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 |
|---|---|---|
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14878) | ded8266 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/ui to ^4.2.3 (#14879) | 6ced7fe |
| @laurenashpole | chore: flex migration final pass (#14841) | 0162e5e |
| squiggler-app[bot] | chore(deps): update dependency @sanity/themer to ^0.3.15 (#14877) | e927992 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14874) | 1b1c228 |
| squiggler-app[bot] | fix(deps): update portabletext (#14871) | 07a638b |
| squiggler-app[bot] | chore(deps): update dependency @chromatic-com/playwright to ^0.15.0 (#14873) | 27d33d6 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/ui to ^4.2.2 (#14869) | 451148c |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14872) | 1971dd2 |
| squiggler-app[bot] | chore(deps): lock file maintenance (#14866) | bbb86cd |
| squiggler-app[bot] | chore(deps): update pnpm/setup action to v3 (#14865) | 4939e26 |
| squiggler-app[bot] | chore(deps): update dependency oxc-transform-react to ^0.151.0 (#14864) | b333b60 |
| squiggler-app[bot] | chore(deps): update renovatebot/github-action action to v46.3.3 (#14863) | eec9e82 |
| @pedrobonamin | chore(test-studio): update no releases no variants dataset (#14867) | d158817 |
| @stipsan | feat(radar): track ui v5 adoption and styled-components removal per scenario (#14843) | cf943c6 |
| @stipsan | test(form): add visual coverage for input states (#14847) | 6d7afa6 |
| @stipsan | fix(auth): add missing deprecated tag to createAuthStore (#14842) | b049d30 |
| squiggler-app[bot] | chore(deps): update davelosert/vitest-coverage-report-action action to v2.13.0 (#14821) | 3aade16 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14856) | 72180c9 |
| squiggler-app[bot] | fix(deps): update portabletext (#14855) | d8afd5d |
| squiggler-app[bot] | fix(deps): update dependency get-it to ^9.5.5 (#14853) | 9fb4756 |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#14854) | cd06dcf |
| squiggler-app[bot] | chore(deps): update dependency oxfmt to ^0.70.0 (#14825) | 0de30a0 |
| squiggler-app[bot] | fix(deps): update dependency xstate to ^5.33.2 (#14817) | d256660 |
| squiggler-app[bot] | fix(deps): update linters (#14819) | 8bee257 |
| squiggler-app[bot] | chore(lint): fix linter issues 🤖 ✨ (#14851) | fd6a0ee |
| squiggler-app[bot] | chore(deps): update dependency oxc-transform-react to ^0.150.0 (#14824) | df8ac20 |
| squiggler-app[bot] | chore(deps): update dependency zod to ^4.6.5 (#14811) | db3c63a |
| squiggler-app[bot] | fix(deps): update dependency motion to ^13.4.0 (#14816) | dd52505 |
| squiggler-app[bot] | chore(deps): update dependency web-vitals to ^6.2.2 (#14810) | ca324cf |
| squiggler-app[bot] | chore(deps): update dependency turbo to ^2.11.2 (#14809) | 355cf1d |
| squiggler-app[bot] | chore(deps): update dependency @tanstack/react-virtual to ^3.14.13 (#14799) | cad292c |
| squiggler-app[bot] | chore(deps): update dependency lefthook to ^2.1.14 (#14803) | 41d5008 |
| squiggler-app[bot] | chore(deps): update chromaui/action action to v18.9.4 (#14820) | 328c377 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/functions to ^1.8.0 (#14823) | 165c39b |
| squiggler-app[bot] | chore(deps): update pnpm to v12.5.1 (#14826) | 6318bf3 |
| squiggler-app[bot] | chore(deps): update renovatebot/github-action action to v46.3.1 (#14827) | 356532f |
| squiggler-app[bot] | chore(deps): update dependency @sanity/diff-match-patch to ^3.2.1 (#14845) | c23b446 |
| squiggler-app[bot] | chore(deps): update dependency tsx to ^4.23.15 (#14807) | b41a848 |
| squiggler-app[bot] | chore(deps): update dependency sanity-plugin-internationalized-array to ^5.3.0 (#14806) | 3ebbb27 |
| squiggler-app[bot] | chore(deps): update dependency react-i18next to ^17.0.14 (#14805) | 256429a |
| squiggler-app[bot] | chore(deps): update dependency knip to ^6.37.0 (#14802) | 1f46e76 |
| squiggler-app[bot] | chore(deps): update dependency p-map to ^7.0.8 (#14804) | aaa11eb |
| squiggler-app[bot] | chore(deps): update dependency chromatic to ^18.9.4 (#14800) | fd854e6 |
| squiggler-app[bot] | chore(deps): update dependency @sentry/react to ^10.75.0 (#14798) | 8b7d90d |
| squiggler-app[bot] | chore(deps): update dependency @sanity/vanilla-extract-vite-plugin to ^0.2.19 (#14797) | 04bd8fa |
| squiggler-app[bot] | chore(deps): update dependency @sanity/migrate to ^8.0.5 (#14796) | 1cfe4ab |
| squiggler-app[bot] | chore(deps): update dependency @sanity/media-library-types to ^1.7.0 (#14795) | 7b64cb3 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/blueprints to ^0.26.1 (#14822) | eeded6a |
| squiggler-app[bot] | chore(deps): update dependency eventsource-parser to ^4.1.1 (#14801) | 98b1cd9 |
| squiggler-app[bot] | chore(deps): update oxlint (#14812) | f25f2e3 |
| @stipsan | fix(dev): pin bundled dev rolldown runtime (#14835) | 84f1a08 |
| @stipsan | fix(ci): collapse the visual coverage table in the pr comment (#14846) | e95d593 |
| @bjoerge | chore(radar): regression tracking and release history overhaul (#14836) | 9c7ebc3 |
| @stipsan | fix(history): restore release revisions with version.replace (#14813) | 16a557c |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#14834) | 6a18b01 |
| @pedrobonamin | chore(test-studio): add presence debug action (#14755) | 35332b3 |
| @pedrobonamin | fix(core): PTE should display presence inline and in field (#14751) | 98573ad |
| @pedrobonamin | fix(core): keep field presence avatar in place when field actions appear on hover (#14761) | 06af50f |
| @stipsan | test(presence): stabilize chromatic browser snapshots (#14833) | 8b1ef34 |
| @pedrobonamin | chore(core): add presence tests (#14750) | cd15a54 |
| @pedrobonamin | feat(core): read document variants from _system.variants with legacy fallback (#14762)
| 4913ff6 |
| squiggler-app[bot] | fix(deps): update dev-non-major (#14818) | 5c369b4 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14832) | dc62c6f |
| squiggler-app[bot] | chore(deps): lock file maintenance (#14831) | 647b1cc |
| squiggler-app[bot] | fix(deps): update codemirror (#14815) | a75baf8 |
| squiggler-app[bot] | chore(deps): update dependency @mux/mux-player-react to ^3.13.4 (#14794) | 18f8a75 |
| @stipsan | fix(e2e): stabilize navbar avatar snapshot (#14814) | 73bc12b |
| @stipsan | docs(skills): add react-rx hook audit skill (#14722) | 1e612ca |
| @stipsan | perf(preview): stream useValuePreview inputs through one subject (#14720) | e44cd25 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/tsdown-config to ^0.28.1 (#14792) | ea58c0f |
| @stipsan | fix(test): stabilize chromatic vitest snapshots (#14710) | 044e422 |
| @laurenashpole | chore: migrate flex in src (#14783) | 2e2660a |
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^8.11.0 (#14540) | c2256fa |
| squiggler-app[bot] | chore(deps): lock file maintenance (#14790) | 78510d2 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14786) | 3a2ab53 |
| @jordanl17 | docs(sanity): add unit test conventions for agents (#14771) | c7c29c4 |
| @stipsan | chore(deps): regenerate pnpm lockfile from clean install (#14785) | 0cf7310 |
| @laurenashpole | chore: migrate stack in releases (#14738) | 7b9671e |
| @laurenashpole | chore: migrate stack in core/canvas to core/field (#14712) | ec39c97 |
| @laurenashpole | chore: migrate flex in core/components (#14725) | 389a068 |
| @pedrobonamin | chore(test-studio): add studio with variants and releases disabled (#14782) | 0b30896 |
| squiggler-app[bot] | fix(deps): update sanity-sdk to ^3.3.0 (#14770) | 07b66f2 |
| @bjoerge | chore(bundle-manager): add deprecate/undeprecate commands for module manifest versions (#14766) | 835e6b6 |
| @stipsan | test(form): cover url skip required two-arg validation (#14233) | 990e05e |
| @hermanwikner | fix(comments-v2): rematch persisted inline ranges after edits (#14764) | 1bf2357 |
| @bjoerge | chore(lockfile): add @sanity/import@7.0.3 to trustPolicyExclude (#14781)
| b15c9a5 |
| squiggler-app[bot] | fix(deps): update dependency @portabletext/sanity-bridge to ^4.1.1 (#14779) | 28159ea |
| @bjoerge | fix(comments): tolerate stored comment with unparseable field path (#14778) | 1bc591a |
| @bjoerge | chore(radar): expand bisect gaps and test any commit out of turn (#14768) | 3ed10f6 |
| @bjoerge | chore(radar): manage regressions from a release row (#14742) | 9b91a96 |
| @pedrobonamin | fix(perspective): reset sticky perspective for archived releases (#14753) | aecb75e |
| @christianhg | fix(core): render Portable Text values whose types left the schema (#13454) | d5bae96 |
| @christianhg | feat(core): mark schema-less Portable Text values with a visible affordance (#13454) | ea02de3 |
| @laurenashpole | chore: migrate stack in scheduled-publishing (#14739) | 21388ff |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14773) | 846a3dd |
| @rexxars | fix(mutator): drop lodash-es usages (#14593) | eca963b |
| squiggler-app[bot] | fix(deps): update dependency @sanity/client to ^8.6.2 (#14749) | d5bbecc |
| squiggler-app[bot] | chore(deps): update dependency @portabletext/markdown to ^2.2.1 (#14767) | acf107c |