| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-09-22 | 9.6 kB | |
| v6.16.0 source code.tar.gz | 2026-09-22 | 7.4 MB | |
| v6.16.0 source code.zip | 2026-09-22 | 10.6 MB | |
| Totals: 3 Items | 18.0 MB | 0 | |
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:
:::bash
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
| Author | Message | Commit |
|---|---|---|
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14878) | [ded826] |
| squiggler-app[bot] | chore(deps): update dependency @sanity/ui to ^4.2.3 (#14879) | [6ced7f] |
| @laurenashpole | chore: flex migration final pass (#14841) | [0162e5] |
| squiggler-app[bot] | chore(deps): update dependency @sanity/themer to ^0.3.15 (#14877) | [e92799] |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14874) | [1b1c22] |
| squiggler-app[bot] | fix(deps): update portabletext (#14871) | [07a638] |
| squiggler-app[bot] | chore(deps): update dependency @chromatic-com/playwright to ^0.15.0 (#14873) | [27d33d] |
| squiggler-app[bot] | chore(deps): update dependency @sanity/ui to ^4.2.2 (#14869) | [451148] |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14872) | [1971dd] |
| squiggler-app[bot] | chore(deps): lock file maintenance (#14866) | [bbb86c] |
| squiggler-app[bot] | chore(deps): update pnpm/setup action to v3 (#14865) | [4939e2] |
| squiggler-app[bot] | chore(deps): update dependency oxc-transform-react to ^0.151.0 (#14864) | [b333b6] |
| squiggler-app[bot] | chore(deps): update renovatebot/github-action action to v46.3.3 (#14863) | [eec9e8] |
| @pedrobonamin | chore(test-studio): update no releases no variants dataset (#14867) | [d15881] |
| @stipsan | feat(radar): track ui v5 adoption and styled-components removal per scenario (#14843) | [cf943c] |
| @stipsan | test(form): add visual coverage for input states (#14847) | [6d7afa] |
| @stipsan | fix(auth): add missing deprecated tag to createAuthStore (#14842) | [b049d3] |
| squiggler-app[bot] | chore(deps): update davelosert/vitest-coverage-report-action action to v2.13.0 (#14821) | [3aade1] |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14856) | [72180c] |
| squiggler-app[bot] | fix(deps): update portabletext (#14855) | [d8afd5] |
| squiggler-app[bot] | fix(deps): update dependency get-it to ^9.5.5 (#14853) | [9fb475] |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#14854) | [cd06dc] |
| squiggler-app[bot] | chore(deps): update dependency oxfmt to ^0.70.0 (#14825) | [0de30a] |
| squiggler-app[bot] | fix(deps): update dependency xstate to ^5.33.2 (#14817) | [d25666] |
| squiggler-app[bot] | fix(deps): update linters (#14819) | [8bee25] |
| squiggler-app[bot] | chore(lint): fix linter issues 🤖 ✨ (#14851) | [fd6a0e] |
| squiggler-app[bot] | chore(deps): update dependency oxc-transform-react to ^0.150.0 (#14824) | [df8ac2] |
| squiggler-app[bot] | chore(deps): update dependency zod to ^4.6.5 (#14811) | [db3c63] |
| squiggler-app[bot] | fix(deps): update dependency motion to ^13.4.0 (#14816) | [dd5250] |
| squiggler-app[bot] | chore(deps): update dependency web-vitals to ^6.2.2 (#14810) | [ca324c] |
| squiggler-app[bot] | chore(deps): update dependency turbo to ^2.11.2 (#14809) | [355cf1] |
| squiggler-app[bot] | chore(deps): update dependency @tanstack/react-virtual to ^3.14.13 (#14799) | [cad292] |
| squiggler-app[bot] | chore(deps): update dependency lefthook to ^2.1.14 (#14803) | [41d500] |
| squiggler-app[bot] | chore(deps): update chromaui/action action to v18.9.4 (#14820) | [328c37] |
| squiggler-app[bot] | chore(deps): update dependency @sanity/functions to ^1.8.0 (#14823) | [165c39] |
| squiggler-app[bot] | chore(deps): update pnpm to v12.5.1 (#14826) | [6318bf] |
| squiggler-app[bot] | chore(deps): update renovatebot/github-action action to v46.3.1 (#14827) | [356532] |
| squiggler-app[bot] | chore(deps): update dependency @sanity/diff-match-patch to ^3.2.1 (#14845) | [c23b44] |
| squiggler-app[bot] | chore(deps): update dependency tsx to ^4.23.15 (#14807) | [b41a84] |
| squiggler-app[bot] | chore(deps): update dependency sanity-plugin-internationalized-array to ^5.3.0 (#14806) | [3ebbb2] |
| squiggler-app[bot] | chore(deps): update dependency react-i18next to ^17.0.14 (#14805) | [256429] |
| squiggler-app[bot] | chore(deps): update dependency knip to ^6.37.0 (#14802) | [1f46e7] |
| squiggler-app[bot] | chore(deps): update dependency p-map to ^7.0.8 (#14804) | [aaa11e] |
| squiggler-app[bot] | chore(deps): update dependency chromatic to ^18.9.4 (#14800) | [fd854e] |
| squiggler-app[bot] | chore(deps): update dependency @sentry/react to ^10.75.0 (#14798) | [8b7d90] |
| squiggler-app[bot] | chore(deps): update dependency @sanity/vanilla-extract-vite-plugin to ^0.2.19 (#14797) | [04bd8f] |
| squiggler-app[bot] | chore(deps): update dependency @sanity/migrate to ^8.0.5 (#14796) | [1cfe4a] |
| squiggler-app[bot] | chore(deps): update dependency @sanity/media-library-types to ^1.7.0 (#14795) | [7b64cb] |
| squiggler-app[bot] | chore(deps): update dependency @sanity/blueprints to ^0.26.1 (#14822) | [eeded6] |
| squiggler-app[bot] | chore(deps): update dependency eventsource-parser to ^4.1.1 (#14801) | [98b1cd] |
| squiggler-app[bot] | chore(deps): update oxlint (#14812) | [f25f2e] |
| @stipsan | fix(dev): pin bundled dev rolldown runtime (#14835) | [84f1a0] |
| @stipsan | fix(ci): collapse the visual coverage table in the pr comment (#14846) | [e95d59] |
| @bjoerge | chore(radar): regression tracking and release history overhaul (#14836) | [9c7ebc] |
| @stipsan | fix(history): restore release revisions with version.replace (#14813) | [16a557] |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#14834) | [6a18b0] |
| @pedrobonamin | chore(test-studio): add presence debug action (#14755) | [35332b] |
| @pedrobonamin | fix(core): PTE should display presence inline and in field (#14751) | [98573a] |
| @pedrobonamin | fix(core): keep field presence avatar in place when field actions appear on hover (#14761) | [06af50] |
| @stipsan | test(presence): stabilize chromatic browser snapshots (#14833) | [8b1ef3] |
| @pedrobonamin | chore(core): add presence tests (#14750) | [cd15a5] |
| @pedrobonamin | feat(core): read document variants from _system.variants with legacy fallback (#14762) |
[4913ff] |
| squiggler-app[bot] | fix(deps): update dev-non-major (#14818) | [5c369b] |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14832) | [dc62c6] |
| squiggler-app[bot] | chore(deps): lock file maintenance (#14831) | [647b1c] |
| squiggler-app[bot] | fix(deps): update codemirror (#14815) | [a75baf] |
| squiggler-app[bot] | chore(deps): update dependency @mux/mux-player-react to ^3.13.4 (#14794) | [18f8a7] |
| @stipsan | fix(e2e): stabilize navbar avatar snapshot (#14814) | [73bc12] |
| @stipsan | docs(skills): add react-rx hook audit skill (#14722) | [1e612c] |
| @stipsan | perf(preview): stream useValuePreview inputs through one subject (#14720) | [e44cd2] |
| squiggler-app[bot] | chore(deps): update dependency @sanity/tsdown-config to ^0.28.1 (#14792) | [ea58c0] |
| @stipsan | fix(test): stabilize chromatic vitest snapshots (#14710) | [044e42] |
| @laurenashpole | chore: migrate flex in src (#14783) | [2e2660] |
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^8.11.0 (#14540) | [c2256f] |
| squiggler-app[bot] | chore(deps): lock file maintenance (#14790) | [78510d] |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14786) | [3a2ab5] |
| @jordanl17 | docs(sanity): add unit test conventions for agents (#14771) | [c7c29c] |
| @stipsan | chore(deps): regenerate pnpm lockfile from clean install (#14785) | [0cf731] |
| @laurenashpole | chore: migrate stack in releases (#14738) | [7b9671] |
| @laurenashpole | chore: migrate stack in core/canvas to core/field (#14712) | [ec39c9] |
| @laurenashpole | chore: migrate flex in core/components (#14725) | [389a06] |
| @pedrobonamin | chore(test-studio): add studio with variants and releases disabled (#14782) | [0b3089] |
| squiggler-app[bot] | fix(deps): update sanity-sdk to ^3.3.0 (#14770) | [07b66f] |
| @bjoerge | chore(bundle-manager): add deprecate/undeprecate commands for module manifest versions (#14766) | [835e6b] |
| @stipsan | test(form): cover url skip required two-arg validation (#14233) | [990e05] |
| @hermanwikner | fix(comments-v2): rematch persisted inline ranges after edits (#14764) | [1bf235] |
| @bjoerge | chore(lockfile): add @sanity/import@7.0.3 to trustPolicyExclude (#14781) |
[b15c9a] |
| squiggler-app[bot] | fix(deps): update dependency @portabletext/sanity-bridge to ^4.1.1 (#14779) | [28159e] |
| @bjoerge | fix(comments): tolerate stored comment with unparseable field path (#14778) | [1bc591] |
| @bjoerge | chore(radar): expand bisect gaps and test any commit out of turn (#14768) | [3ed10f] |
| @bjoerge | chore(radar): manage regressions from a release row (#14742) | [9b91a9] |
| @pedrobonamin | fix(perspective): reset sticky perspective for archived releases (#14753) | [aecb75] |
| @christianhg | fix(core): render Portable Text values whose types left the schema (#13454) | [d5bae9] |
| @christianhg | feat(core): mark schema-less Portable Text values with a visible affordance (#13454) | [ea02de] |
| @laurenashpole | chore: migrate stack in scheduled-publishing (#14739) | [21388f] |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#14773) | [846a3d] |
| @rexxars | fix(mutator): drop lodash-es usages (#14593) | [eca963] |
| squiggler-app[bot] | fix(deps): update dependency @sanity/client to ^8.6.2 (#14749) | [d5bbec] |
| squiggler-app[bot] | chore(deps): update dependency @portabletext/markdown to ^2.2.1 (#14767) | [acf107] |