npm sanity 6.17.0
v6.17.0

4 hours ago

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:

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) 1ff510c
squiggler-app[bot] chore(lint): fix linter issues 🤖 ✨ (#15094) 6ab2ad0
cursor[bot] test(config): cover flattenConfig plugin order and deprecation (#14776) c6c7457
squiggler-app[bot] fix(deps): update sanity-sdk to ^3.6.0 (#15091) aac614c
cursor[bot] test(store): cover listenQuery welcome refetch and error paths (#15008) 21663c2
@stipsan perf(form): create presence cursor components via a compiler-friendly factory (#15069) 090696e
squiggler-app[bot] fix(deps): update dev-non-major (#15076) c23a168
squiggler-app[bot] chore(deps): update dependency prettier to ^3.9.9 (#15084) d608086
squiggler-app[bot] chore(deps): update renovatebot/github-action action to v46.3.5 (#14870) 4d4d6fe
squiggler-app[bot] chore(deps): update dependency @sanity/vanilla-extract-vite-plugin to ^0.2.20 (#15075) 9c62421
squiggler-app[bot] chore(deps): update dependency @sanity/color to ^3.0.9 (#15072) e2688fe
squiggler-app[bot] chore(deps): update dependency @sanity/tsdown-config to ^0.28.2 (#15074) dfd10dd
@juice49 feat(sanity): first-class singletons API (#12810) 02890f3
@juice49 feat(sanity): singleton document badge (#14443) c21d524
@juice49 test(ailf): add literacy tasks for the first-class singleton API (#15017) 8588609
@juice49 refactor(test-studio): migrate singleton examples to first-class singletons API (#14442) 89aa947
@laurenashpole chore: stack migration final pass (#15032) b801550
squiggler-app[bot] chore(tests): generate dts tests 🤖 ✨ (#15065) 6b7460e
@stipsan chore(deps): upgrade vite to 8.3.1 and repin bundled dev rolldown to 1.2.9 (#15055) eb9aba6
@stipsan ci(chromatic): gate pull request runs behind the trigger:chromatic label (#15062) 0add91d
@bjoerge ci(fuzz): add a single Fuzz Status job to require for merge (#15057) f43d049
@stipsan fix(structure): suppress deprecated selectedVariantName lint error in useListPaneCounts (#15061) 30dcbdf
@stipsan feat(core): add beta.reactActivityMode to keep recent tools mounted (#14901) f5821c3
@bjoerge chore(radar): track total CSS weight + style tag CSS per scenario (#15049) 6685243
@jordanl17 feat(structure): add opt-in live document count badges to document type list items (#14163) 23ee1df
squiggler-app[bot] chore(tests): generate dts tests 🤖 ✨ (#15050) 9c26a66
@stipsan fix(studio): collapse navbar tools into the overflow menu when the studio is narrower than the viewport (#15030) adbe052
@stipsan fix(presentation): handle review feedback on the open preview link (#15020) a6f6a91
@stipsan chore(deps): enable trustPolicyExcludePrune (#14892) eef4e15
squiggler-app[bot] chore(deps): update dependency @uiw/react-codemirror to ^4.25.12 (#15045) b1b41a9
squiggler-app[bot] chore(deps): dedupe pnpm-lock.yaml (#15044) af3eccf
squiggler-app[bot] fix(deps): update sanity-sdk to ^3.5.0 (#14891) a4c50e0
squiggler-app[bot] chore(deps): update dependency oxlint-tsgolint to ^7.0.2003 (#14999) 797f644
squiggler-app[bot] fix(deps): update portabletext (#14982) 06b0b03
squiggler-app[bot] chore(deps): update dependency @sanity/ailf to ^7.38.1 (#14983) 0af0a39
squiggler-app[bot] fix(deps): update dependency @sanity/cli to ^8.13.0 (#15012) d0bc976
squiggler-app[bot] fix(deps): update dependency get-it to ^9.6.0 (#15013) a3e1534
@laurenashpole chore: container migration final pass (#15036) 30f1530
squiggler-app[bot] chore(deps): update dependency @sanity/themer to ^0.8.0 (#15043) 485ae5c
squiggler-app[bot] chore(deps): update dependency chromatic to ^18.9.5 (#14947) d2668ee
squiggler-app[bot] chore(deps): update dependency @sanity/ui to ^4.2.6 (#15024) 651dcdb
squiggler-app[bot] fix(deps): update dependency motion to ^13.4.4 (#14977) be2e1aa
squiggler-app[bot] chore(deps): update dependency sanity-plugin-internationalized-array to ^5.3.1 (#15041) b2a7e20
squiggler-app[bot] fix(deps): update dev-non-major (#15040) 2adc86f
@stipsan chore(deps): enable pnpm autoDedupe (#14930) 6619338
@stipsan fix(form): keep a grown portable text editor from scrolling to top on focus (#14954) 56113a4
squiggler-app[bot] chore(tests): generate dts tests 🤖 ✨ (#15028) 7ab39a0
squiggler-app[bot] chore(deps): dedupe pnpm-lock.yaml (#15027) 5327419
@bjoerge test(portable-text): add sync conformance fuzzer (#14981) d32d341
squiggler-app[bot] fix(deps): update dev-non-major (#15025) e80674d
squiggler-app[bot] chore(deps): update dependency @sanity/media-library-types to ^1.7.1 (#14973) de1b3b1
@pedrobonamin feat(core): render one variant menu per type and update variant creation form (#14884) 45e733c
@stipsan feat(core): add sanity/_dangerously_use_private_internals_that_do_not_follow_semver entry (additive) (#14837) d0e8253
@laurenashpole chore: migrate container in core (#15006) 85f52d8
@laurenashpole chore: migrate stack in core components (#15004) fe56a87
@laurenashpole chore: migrate stack in dev (#15003) 6c7ea7b
@stipsan fix(presentation): enable preview mode when opening preview (#14936) 8ef1e7c
@juice49 refactor(sanity): add reusable structure node id validator (#15010) d85a6b8
squiggler-app[bot] chore(deps): update dependency knip to ^6.38.0 (#14978) bd63eff
@stipsan chore: install sanity-tsdown-config agent skill (#14956) f66b1ae
squiggler-app[bot] chore(tests): generate dts tests 🤖 ✨ (#15009) 4138fe1
@stipsan fix(core): let a container block config add portable text toolbar actions (#14961) 4cebde0
@pedrobonamin chore(core): add condition resolver for variants (#14857) f2a7cfc
@pedrobonamin fix(core): treat empty variant conditions as an error (#14586) 0c10e61
@pedrobonamin feat(core): configure variant conditions under types (#14883) b3e7efd
@pedrobonamin feat(core): read every selected variant from perspective (#14918) b15b556
squiggler-app[bot] chore(deps): update dependency @sanity/themer to ^0.5.0 (#15001) f5a99eb
@stipsan chore(deps): enable catalogMode prefer (#14929) af20efe
squiggler-app[bot] chore(deps): dedupe pnpm-lock.yaml (#14971) 25bdb5c
squiggler-app[bot] chore(tests): generate dts tests 🤖 ✨ (#14998) becc23e
squiggler-app[bot] fix(deps): update codemirror (#14976) abe61ba
squiggler-app[bot] chore(deps): update dependency @sanity/ui to ^4.2.4 (#14974) ac6a8be
@stipsan fix(e2e): exit playwright webServer after the suite (#14988) 3fbbb6e
@stipsan fix(ui): prevent resizable layout props leaking to DOM (#14937) 907d651
squiggler-app[bot] fix(deps): update dev-non-major (#14984) 68e6096
@stipsan fix(structure): remove the pane layout observer on unsubscribe (#14980) 455bd45
squiggler-app[bot] chore(deps): update dependency ui5 to v5.0.0-alpha.11 (#14950) fcc68ea
@laurenashpole chore: migrate stack in structure (#14943) 88778ce
@stipsan fix(structure): forward pane widths from the document type list input (#14968) 632128d
squiggler-app[bot] chore(deps): update dependency react-i18next to ^17.0.15 (#14948) 9ff12d1
squiggler-app[bot] chore(deps): update dependency @sentry/react to ^10.75.3 (#14920) 4b21f17
squiggler-app[bot] fix(deps): update dependency get-it to ^9.5.8 (#14951) 37abe77
squiggler-app[bot] chore(deps): update dependency react-rx to ^7.0.1 (#14949) 17755c5
squiggler-app[bot] fix(deps): update dependency @sanity/client to ^8.7.0 (#14953) ed409c5
squiggler-app[bot] chore(deps): update dependency sanity-plugin-internationalized-array to ^5.3.1 (#14889) c82ed26
squiggler-app[bot] chore(deps): lock file maintenance (#14962) 5c997f5
@rexxars fix(schema): inline object-inspect parts (#14902) 3efc395
@webpro fix(structure): keep pane widths when releasing a resize divider (#14964) c97d0e3
@webpro feat(structure): support list pane widths (#14967) b12fb38
@webpro perf(structure): keep pane router context stable while resizing panes (#14966) 3b92c51
@stipsan fix(core): move middleware Suspense fallbacks to the render sites (#14687) 8737940
squiggler-app[bot] chore(deps): update dependency @conventional-changelog/git-client to v3 (#14829) f2d4891
squiggler-app[bot] chore(deps): update chromaui/action action to v18.9.5 (#14946) a08998e
@stipsan docs(skills): point the sharded chromatic capture recipe at .vitest/blob (#14960) ad9864e
@stipsan chore(deps): upgrade to vitest 5 (#14881) baf7aac
@hermanwikner fix(comments-v2): exclude pathless comments from field queries (#14860) 9f36804
squiggler-app[bot] chore(deps): update actions/github-script action to v9 (#14828) 5b704c5
squiggler-app[bot] chore(deps): update pnpm to v12.6.0 (#14952) 070a9b1
@stipsan feat(test-studio): throw the style migrations widget between viewport corners (#14945) 9702372
@laurenashpole chore: migrate stack in core/perspective to core/variants (#14940) e7f74b2
squiggler-app[bot] fix(deps): update dependency get-it to ^9.5.7 (#14921) 455717e
@bjoerge chore(radar): declarative INP steps with scroll and press kinds (#14924) 700c3cb
@bjoerge chore(radar): load scenarios for login, tool and editable milestones (#14931) c091e24
@stipsan refactor(comments): migrate comments v2 reactions, popovers and inspector header to vanilla-extract (#14909) 59cbcec
@stipsan refactor(core): migrate navbar search filter and result wrappers to vanilla-extract (#14910) 322d172
@stipsan refactor(form): migrate asset input chrome and simple input wrappers to vanilla-extract (#14911) 30d7b10
@stipsan refactor(form): migrate form field status, reference previews and small editor wrappers to vanilla-extract (#14912) c238567
@stipsan refactor(tasks): migrate task sidebar, list and activity wrappers to vanilla-extract (#14913) 7ae880e
@stipsan refactor(sanity): migrate presentation panels and release activity wrappers to vanilla-extract (#14914) eed01c3
cursor[bot] test(field): cover path helper edge cases (#14777) 69cb821
cursor[bot] test(form): cover patch application edge cases (#14772) 0969836
@stipsan refactor(structure): migrate dialog, diff view and pane content styles to vanilla-extract (#14908) b649f10
cursor[bot] test(config): cover config property reducer edge cases (#14789) ee7eee2
@jordanl17 feat(telemetry): report portable text editor and app sdk versions (#14922) b699078
@stipsan fix(search): close vstack tags in SearchChromeStory (#14927) 4e3733d
@jordanl17 fix(releases): detect scheduled draft edits when deleting a schedule (#14787) a28d84a
@jordanl17 feat(form): collapse long arrays behind a show all items toggle (#13870) 83a9f83
@stipsan test(storybook): add chromatic sentinels for studio navbar drawer menus, search no-results and dev server stopped screen (#14900) e639361
squiggler-app[bot] fix(deps): update portabletext (#14890) b2f1c73
@stipsan refactor(sanity): migrate shared ui primitives and trivial styled wrappers to vanilla-extract (#14905) 859b35c
@stipsan refactor(field): migrate static field preview and diff wrapper styles to vanilla-extract (#14906) 724b84c
@stipsan refactor(structure): migrate document pane inspector and timeline styles to vanilla-extract (#14907) 458ab08
@pedrobonamin fix(studio): show draft indicator for draft-only documents (#14859) 5813869
@stipsan ci(e2e): install chromium in every playwright shard when the browser cache misses (#14916) 3e2f281
@laurenashpole chore: migrate stack in core/studio/components (#14898) cee91bc
@laurenashpole chore: migrate stack in misc form directories (#14886) d8c86b1
@laurenashpole chore: migrate stack in misc core/studio directories (#14896) 90b3b6d
@laurenashpole chore: migrate stack in form/inputs (#14744) e99e4c2

Don't miss a new sanity release

NewReleases is sending notifications on new releases.