releases.shpreview

Portable text focus tracking; request error handling improved

v6.4.0

1 feature1 enhancement12 fixesThis release1 featureNew capabilities1 enhancementImprovements to existing features12 fixesBug fixesAI-tallied from the release notes

Sanity Studio v6.4.0

This release includes various improvements and bug fixes.

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

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

AuthorMessageCommit
squiggler-app[bot]chore(deps): update dependency @sanity/visual-editing-csm to ^3.0.10 (#13417)1038d73d3cd917266b982adb8b0c88a3811b0b46
squiggler-app[bot]chore(deps): update dependency @sanity/functions to v1.4.0 (#13423)7a8c0dd73665b96a9f7c753586c6cee3b7b16660
squiggler-app[bot]fix(deps): update portabletext (#13441)064bb1115686aaefd77bab4bca33bb0b21077756
squiggler-app[bot]chore(deps): update dependency turbo to ^2.10.1 (#13425)f8ae2cf503a1c25b12bff324c3721c9b87f69bc4
squiggler-app[bot]fix(deps): update linters (#13422)e512bbbb07fc7eff1ec9e255eb2b2891bd9ab344
@pedrobonaminfix(core): updates array i18n efps test to use langauge (#13436)b716a60913da69c1c185cf0579c7c961179f48a0
@stipsanfix(core): allow pasting references to documents that only exist in a release (#13399)8072fbc714fcc924928d76f71fcb54c86ff33853
@bjoergefix(sanity): delegate document pair snapshot fetch failures to the re… (#13432)03cf5d0127838b9d5ca0a0a287e9ef586912179f
@pedrobonaminrefactor(variants): use sanity::partOfVariant for document queries (#13430)d4a12a831e56799651c993cf47536f0b82defada
@stipsanrefactor(sanity): replace classnames with clsx (#13415)20d3e7263ca21b3aa14a4bb58e4e427dc3009de0
@juice49test(efps): improve caret handling (#13435)af7d569f2b7ebbdb480994bd6ed17b4209d820dd
@juice49test(efps): improve pte measurement stability (#13435)aef1605a16633d1ac2dfb7219a97b5181cab434e
@juice49test(efps): harden event matching when measuring fps in input and pte (#13435)de3416b91f903981d3e0eeaf61f6a7a103dbd8f2
@juice49chore(sanity): expose agent bundle store directly (#13388)a9f60796d77d24305796babedab740cd3f29144f
@juice49chore(sanity): correct type name (#13388)5b995f61ade803286b8b335d0810e6d1926e74d2
@juice49chore(sanity): add agent bundle data to document group inventory machine (#13388)ad42526e389f17471e8bc5b5a66dd23aa2570899
@juice49chore(sanity): filter agent bundles in document group inventory (#13388)2a8e8d7b28ac53121d1d74d0ae8047ba78d597da
@juice49chore(sanity): include user's most recent agent bundle in document group inventory (#13388)0487621abd4870217216c651b95972592a30d9c1
@bjoergefix(sanity): delegate grants request errors to request error handler (#13427)f1a0341952300b91d6daed1049c7d057cc82555f
@juice49test(sanity): mock timers in observeVersionDocumentIds to fix flakiness (#13431)88d60cbec4d5f4fab76e8439d7b5d276ae16e11f
@stipsanfix(core): draw change connector when hovering image and file diffs (#13428)028ff9373c285197ca00e591358c0fd6baa1676d
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13416)2af7031277d70ba8646a8c5904e72be2149737c0
squiggler-app[bot]chore(deps): update dependency @sanity/media-library-types to ^1.5.0 (#13413)f253ff7dd65f374a5e9d77994e2889855c823b84
squiggler-app[bot]chore(deps): update dependency @vanilla-extract/css to ^1.21.1 (#13412)ce7caccdd691de11ad469a0780f95f1f5f392f70
@stipsanfix(sanity): clear change connectors when review changes panel closes (#13402)b1c42e45cf45693d1d2ffc87e11995953dd0d829
@bjoergefix(releases): make virtualized table rows visible in Safari (#13414)e83ba05367f834306ea0b70ca6ad58cf66770e79
@bjoergefix(core): only cancel commits for known-terminal client errors (#13396)e38afdcb3198b6cc6b7184068be7143a537f4f39
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13385)0e0ad3dedea513b6254009acc66f619e52af9521
squiggler-app[bot]chore(deps): update dependency typescript to v6 (#13408)e5513e40bb6f64a667f03b90b027b658be187d2c
squiggler-app[bot]chore(tests): generate dts tests 🤖 ✨ (#13411)5222f52b81839921322c5df4af150afa3cdd1e9d
@bjoergefix(core): force logout only on 401s tagged as session expiry (#13394)ef537bcb4efbc085173a41acd7b409c3b77294ef
squiggler-app[bot]fix(deps): update dev-non-major (#13406)baba6d1a16cf0d917c8898085c5124f37638cd20
squiggler-app[bot]chore(tests): generate dts tests 🤖 ✨ (#13410)2b15108e08881b0a844d34a745ec2f50d8da0b6f
squiggler-app[bot]fix(deps): update dependency react-rx to ^4.2.3 (#13405)10d1a5a49647421567b49c7a7bcf2c7813674bfc
squiggler-app[bot]chore(deps): update dependency @sanity/pkg-utils to ^10.9.0 (#13407)bb2b35e1ba2f640aa25c71355a8aac495c2cfe0a
squiggler-app[bot]fix(deps): update dependency @sanity/icons to v5 (#13409)f78829648671e05a48c0329ff47abe7dbc457d64
squiggler-app[bot]chore(deps): update dependency @sanity/google-maps-input to ^6.1.1 (#13404)218795d6ebd27a5117bbfecf4014fa818fbde2d5
@stipsanperf(sanity): debarrel @sanity/icons imports (#13393)2e250dc720aa3d49312c79a03bb5697ef4e08fe8
@stipsandocs(agents): add cursor cloud setup notes for vitest tsc and dev studio auth (#13398)4070eafbf38060c3c26c8dc536e285cb906cdf85
@ChrisLaRocquefeat(types): add user attribute types to CurrentUser (#13395)b7b7fc1fcbeee63fc211abff0cbaa67e0ce5d68c
squiggler-app[bot]chore(tests): generate dts tests 🤖 ✨ (#13392)cf7a8077ddca50035d63d08078a08f617611804d
@juice49fix(sanity): clip document group inventory border (#13380)e3e1245294136cef75ae5b635698223449c5363a
@bjoergefeat: improve request error handling (#13367)b2817c1a49b5dbbfc65510db75f3f21c3b596bff
squiggler-app[bot]chore(deps): update dependency oxfmt to ^0.57.0 (#13382)846ddee5e9cf78900fa32d5c3c7befd7e3c69d85
squiggler-app[bot]fix(deps): update dependency @sanity/cli to ^7.5.0 (#13389)24bce9d59be1abd575b2202a0af5b8520ebe35bc
@bjoergetest(efps): wait for each keystroke to register before typing next (#13391)a209448198c614cafce20e68520ed20e716de6ff
squiggler-app[bot]chore(tests): generate dts tests 🤖 ✨ (#13378)82d6ff4b4d0e77c6b5c9247e95d8b002aff47658
@christianhgfix(portable-text): resolve render-callback schema types by path (#13350)4b785dc8e7e27ecee03711c69989a600c87b6792
@christianhgfix(portable-text): collect form members at any depth (#13350)e8af6477fcf5f72d34d906dddd1deb8206863e37
@christianhgfix(portable-text): track focus into nested-container blocks (#13350)4c6e970a29e66b48daae0a4817dcb1bc16dd9d9b
@christianhgfix(portable-text): key the element-ref registry by full path (#13350)7ebc0eca0eacbf79e66cab7ffbee49500a865167
@christianhgtest(portable-text): cover focus tracking into nested-container blocks (#13350)24c1e7a07390892ea3c6783fb16a8b6cee6d5fbb
@stipsanchore(deps): bump @sanity/ui to 3.3.0 and fix polymorphic type errors (#13383)ce3809915543b453daf670ff80dd490f815234a7
squiggler-app[bot]fix(deps): update dependency @sanity/icons to ^3.7.6 (#13384)260a282c2dc38d88e8d03e1f89b677aca765f173
squiggler-app[bot]chore(deps): dedupe pnpm-lock.yaml (#13376)3a9eaa852c6188242d35199d55b3a7eed817fe79
@stipsanchore(lint): make no-unnecessary-type-assertion an error with grandfathered suppressions (#13375)8650c2ebdc07f89ae3b37a0368188b3e7c3d1c12
@pedrobonaminchore: restore "chore(core): deprecate useDocumentVersionInfo hook (#13113)" (#13334)42826d2fa9240f2e7e7257fa7d8f8b6680d2368f
@pedrobonaminchore: restore "chore(core): variant documents creation (#13105)" (#13334)fd78ff23744e75cb4a6a87c12fff3e2d40c6d9a1
@pedrobonaminchore: restore "refactor(core): abstract use bundle documents , reuse for variants (#13226)" (#13334)f49190e29427e21da1de2d6190cfd4250133d7f4

Fetched July 7, 2026

Portable text focus tracking; request error handling… — releases.sh