Download Latest Version v6.18.0 source code.zip (11.0 MB) Google Add to Preferred Sources
Home / v6.17.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-09-29 12.7 kB
v6.17.0 source code.tar.gz 2026-09-29 7.7 MB
v6.17.0 source code.zip 2026-09-29 11.0 MB
Totals: 3 Items   18.6 MB 1

Sanity Studio v6.17.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit: www.sanity.io/changelog/studio-Ni4xNi4w

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): update dependency @sanity/logos to ^2.2.6 (#15073) [1ff510]
squiggler-app[bot] chore(lint): fix linter issues 🤖 ✨ (#15094) [6ab2ad]
cursor[bot] test(config): cover flattenConfig plugin order and deprecation (#14776) [c6c745]
squiggler-app[bot] fix(deps): update sanity-sdk to ^3.6.0 (#15091) [aac614]
cursor[bot] test(store): cover listenQuery welcome refetch and error paths (#15008) [21663c]
@stipsan perf(form): create presence cursor components via a compiler-friendly factory (#15069) [090696]
squiggler-app[bot] fix(deps): update dev-non-major (#15076) [c23a16]
squiggler-app[bot] chore(deps): update dependency prettier to ^3.9.9 (#15084) [d60808]
squiggler-app[bot] chore(deps): update renovatebot/github-action action to v46.3.5 (#14870) [4d4d6f]
squiggler-app[bot] chore(deps): update dependency @sanity/vanilla-extract-vite-plugin to ^0.2.20 (#15075) [9c6242]
squiggler-app[bot] chore(deps): update dependency @sanity/color to ^3.0.9 (#15072) [e2688f]
squiggler-app[bot] chore(deps): update dependency @sanity/tsdown-config to ^0.28.2 (#15074) [dfd10d]
@juice49 feat(sanity): first-class singletons API (#12810) [02890f]
@juice49 feat(sanity): singleton document badge (#14443) [c21d52]
@juice49 test(ailf): add literacy tasks for the first-class singleton API (#15017) [858860]
@juice49 refactor(test-studio): migrate singleton examples to first-class singletons API (#14442) [89aa94]
@laurenashpole chore: stack migration final pass (#15032) [b80155]
squiggler-app[bot] chore(tests): generate dts tests 🤖 ✨ (#15065) [6b7460]
@stipsan chore(deps): upgrade vite to 8.3.1 and repin bundled dev rolldown to 1.2.9 (#15055) [eb9aba]
@stipsan ci(chromatic): gate pull request runs behind the trigger:chromatic label (#15062) [0add91]
@bjoerge ci(fuzz): add a single Fuzz Status job to require for merge (#15057) [f43d04]
@stipsan fix(structure): suppress deprecated selectedVariantName lint error in useListPaneCounts (#15061) [30dcbd]
@stipsan feat(core): add beta.reactActivityMode to keep recent tools mounted (#14901) [f5821c]
@bjoerge chore(radar): track total CSS weight + style tag CSS per scenario (#15049) [668524]
@jordanl17 feat(structure): add opt-in live document count badges to document type list items (#14163) [23ee1d]
squiggler-app[bot] chore(tests): generate dts tests 🤖 ✨ (#15050) [9c26a6]
@stipsan fix(studio): collapse navbar tools into the overflow menu when the studio is narrower than the viewport (#15030) [adbe05]
@stipsan fix(presentation): handle review feedback on the open preview link (#15020) [a6f6a9]
@stipsan chore(deps): enable trustPolicyExcludePrune (#14892) [eef4e1]
squiggler-app[bot] chore(deps): update dependency @uiw/react-codemirror to ^4.25.12 (#15045) [b1b41a]
squiggler-app[bot] chore(deps): dedupe pnpm-lock.yaml (#15044) [af3ecc]
squiggler-app[bot] fix(deps): update sanity-sdk to ^3.5.0 (#14891) [a4c50e]
squiggler-app[bot] chore(deps): update dependency oxlint-tsgolint to ^7.0.2003 (#14999) [797f64]
squiggler-app[bot] fix(deps): update portabletext (#14982) [06b0b0]
squiggler-app[bot] chore(deps): update dependency @sanity/ailf to ^7.38.1 (#14983) [0af0a3]
squiggler-app[bot] fix(deps): update dependency @sanity/cli to ^8.13.0 (#15012) [d0bc97]
squiggler-app[bot] fix(deps): update dependency get-it to ^9.6.0 (#15013) [a3e153]
@laurenashpole chore: container migration final pass (#15036) [30f153]
squiggler-app[bot] chore(deps): update dependency @sanity/themer to ^0.8.0 (#15043) [485ae5]
squiggler-app[bot] chore(deps): update dependency chromatic to ^18.9.5 (#14947) [d2668e]
squiggler-app[bot] chore(deps): update dependency @sanity/ui to ^4.2.6 (#15024) [651dcd]
squiggler-app[bot] fix(deps): update dependency motion to ^13.4.4 (#14977) [be2e1a]
squiggler-app[bot] chore(deps): update dependency sanity-plugin-internationalized-array to ^5.3.1 (#15041) [b2a7e2]
squiggler-app[bot] fix(deps): update dev-non-major (#15040) [2adc86]
@stipsan chore(deps): enable pnpm autoDedupe (#14930) [661933]
@stipsan fix(form): keep a grown portable text editor from scrolling to top on focus (#14954) [56113a]
squiggler-app[bot] chore(tests): generate dts tests 🤖 ✨ (#15028) [7ab39a]
squiggler-app[bot] chore(deps): dedupe pnpm-lock.yaml (#15027) [532741]
@bjoerge test(portable-text): add sync conformance fuzzer (#14981) [d32d34]
squiggler-app[bot] fix(deps): update dev-non-major (#15025) [e80674]
squiggler-app[bot] chore(deps): update dependency @sanity/media-library-types to ^1.7.1 (#14973) [de1b3b]
@pedrobonamin feat(core): render one variant menu per type and update variant creation form (#14884) [45e733]
@stipsan feat(core): add sanity/_dangerously_use_private_internals_that_do_not_follow_semver entry (additive) (#14837) [d0e825]
@laurenashpole chore: migrate container in core (#15006) [85f52d]
@laurenashpole chore: migrate stack in core components (#15004) [fe56a8]
@laurenashpole chore: migrate stack in dev (#15003) [6c7ea7]
@stipsan fix(presentation): enable preview mode when opening preview (#14936) [8ef1e7]
@juice49 refactor(sanity): add reusable structure node id validator (#15010) [d85a6b]
squiggler-app[bot] chore(deps): update dependency knip to ^6.38.0 (#14978) [bd63ef]
@stipsan chore: install sanity-tsdown-config agent skill (#14956) [f66b1a]
squiggler-app[bot] chore(tests): generate dts tests 🤖 ✨ (#15009) [4138fe]
@stipsan fix(core): let a container block config add portable text toolbar actions (#14961) [4cebde]
@pedrobonamin chore(core): add condition resolver for variants (#14857) [f2a7cf]
@pedrobonamin fix(core): treat empty variant conditions as an error (#14586) [0c10e6]
@pedrobonamin feat(core): configure variant conditions under types (#14883) [b3e7ef]
@pedrobonamin feat(core): read every selected variant from perspective (#14918) [b15b55]
squiggler-app[bot] chore(deps): update dependency @sanity/themer to ^0.5.0 (#15001) [f5a99e]
@stipsan chore(deps): enable catalogMode prefer (#14929) [af20ef]
squiggler-app[bot] chore(deps): dedupe pnpm-lock.yaml (#14971) [25bdb5]
squiggler-app[bot] chore(tests): generate dts tests 🤖 ✨ (#14998) [becc23]
squiggler-app[bot] fix(deps): update codemirror (#14976) [abe61b]
squiggler-app[bot] chore(deps): update dependency @sanity/ui to ^4.2.4 (#14974) [ac6a8b]
@stipsan fix(e2e): exit playwright webServer after the suite (#14988) [3fbbb6]
@stipsan fix(ui): prevent resizable layout props leaking to DOM (#14937) [907d65]
squiggler-app[bot] fix(deps): update dev-non-major (#14984) [68e609]
@stipsan fix(structure): remove the pane layout observer on unsubscribe (#14980) [455bd4]
squiggler-app[bot] chore(deps): update dependency ui5 to v5.0.0-alpha.11 (#14950) [fcc68e]
@laurenashpole chore: migrate stack in structure (#14943) [88778c]
@stipsan fix(structure): forward pane widths from the document type list input (#14968) [632128]
squiggler-app[bot] chore(deps): update dependency react-i18next to ^17.0.15 (#14948) [9ff12d]
squiggler-app[bot] chore(deps): update dependency @sentry/react to ^10.75.3 (#14920) [4b21f1]
squiggler-app[bot] fix(deps): update dependency get-it to ^9.5.8 (#14951) [37abe7]
squiggler-app[bot] chore(deps): update dependency react-rx to ^7.0.1 (#14949) [17755c]
squiggler-app[bot] fix(deps): update dependency @sanity/client to ^8.7.0 (#14953) [ed409c]
squiggler-app[bot] chore(deps): update dependency sanity-plugin-internationalized-array to ^5.3.1 (#14889) [c82ed2]
squiggler-app[bot] chore(deps): lock file maintenance (#14962) [5c997f]
@rexxars fix(schema): inline object-inspect parts (#14902) [3efc39]
@webpro fix(structure): keep pane widths when releasing a resize divider (#14964) [c97d0e]
@webpro feat(structure): support list pane widths (#14967) [b12fb3]
@webpro perf(structure): keep pane router context stable while resizing panes (#14966) [3b92c5]
@stipsan fix(core): move middleware Suspense fallbacks to the render sites (#14687) [873794]
squiggler-app[bot] chore(deps): update dependency @conventional-changelog/git-client to v3 (#14829) [f2d489]
squiggler-app[bot] chore(deps): update chromaui/action action to v18.9.5 (#14946) [a08998]
@stipsan docs(skills): point the sharded chromatic capture recipe at .vitest/blob (#14960) [ad9864]
@stipsan chore(deps): upgrade to vitest 5 (#14881) [baf7aa]
@hermanwikner fix(comments-v2): exclude pathless comments from field queries (#14860) [9f3680]
squiggler-app[bot] chore(deps): update actions/github-script action to v9 (#14828) [5b704c]
squiggler-app[bot] chore(deps): update pnpm to v12.6.0 (#14952) [070a9b]
@stipsan feat(test-studio): throw the style migrations widget between viewport corners (#14945) [970237]
@laurenashpole chore: migrate stack in core/perspective to core/variants (#14940) [e7f74b]
squiggler-app[bot] fix(deps): update dependency get-it to ^9.5.7 (#14921) [455717]
@bjoerge chore(radar): declarative INP steps with scroll and press kinds (#14924) [700c3c]
@bjoerge chore(radar): load scenarios for login, tool and editable milestones (#14931) [c091e2]
@stipsan refactor(comments): migrate comments v2 reactions, popovers and inspector header to vanilla-extract (#14909) [59cbce]
@stipsan refactor(core): migrate navbar search filter and result wrappers to vanilla-extract (#14910) [322d17]
@stipsan refactor(form): migrate asset input chrome and simple input wrappers to vanilla-extract (#14911) [30d7b1]
@stipsan refactor(form): migrate form field status, reference previews and small editor wrappers to vanilla-extract (#14912) [c23856]
@stipsan refactor(tasks): migrate task sidebar, list and activity wrappers to vanilla-extract (#14913) [7ae880]
@stipsan refactor(sanity): migrate presentation panels and release activity wrappers to vanilla-extract (#14914) [eed01c]
cursor[bot] test(field): cover path helper edge cases (#14777) [69cb82]
cursor[bot] test(form): cover patch application edge cases (#14772) [096983]
@stipsan refactor(structure): migrate dialog, diff view and pane content styles to vanilla-extract (#14908) [b649f1]
cursor[bot] test(config): cover config property reducer edge cases (#14789) [ee7eee]
@jordanl17 feat(telemetry): report portable text editor and app sdk versions (#14922) [b69907]
@stipsan fix(search): close vstack tags in SearchChromeStory (#14927) [4e3733]
@jordanl17 fix(releases): detect scheduled draft edits when deleting a schedule (#14787) [a28d84]
@jordanl17 feat(form): collapse long arrays behind a show all items toggle (#13870) [83a9f8]
@stipsan test(storybook): add chromatic sentinels for studio navbar drawer menus, search no-results and dev server stopped screen (#14900) [e63936]
squiggler-app[bot] fix(deps): update portabletext (#14890) [b2f1c7]
@stipsan refactor(sanity): migrate shared ui primitives and trivial styled wrappers to vanilla-extract (#14905) [859b35]
@stipsan refactor(field): migrate static field preview and diff wrapper styles to vanilla-extract (#14906) [724b84]
@stipsan refactor(structure): migrate document pane inspector and timeline styles to vanilla-extract (#14907) [458ab0]
@pedrobonamin fix(studio): show draft indicator for draft-only documents (#14859) [581386]
@stipsan ci(e2e): install chromium in every playwright shard when the browser cache misses (#14916) [3e2f28]
@laurenashpole chore: migrate stack in core/studio/components (#14898) [cee91b]
@laurenashpole chore: migrate stack in misc form directories (#14886) [d8c86b]
@laurenashpole chore: migrate stack in misc core/studio directories (#14896) [90b3b6]
@laurenashpole chore: migrate stack in form/inputs (#14744) [e99e4c]
Source: README.md, updated 2026-09-29