🐛 Notable bugfixes
- Improves performance of the presence menu.
- Improves scrolling performance of document list pane views.
- Improves rendering performance when hovering over fields.
- Keeps tab focus inside popover dialogs for the Portable Text Editor when editing links and similar.
- Fixes a bug that could cause relative timestamps, such as those shown in the document history inspector, to incorrectly appear to be in the future.
- Fixes an issue where WebKit was unable to tab into a form field's action menu.
- Large Portable Text fields are now streamed into the editor.
- Fixes an issue that could sometimes leave the hotspot and crop icons greyed out after uploading an image.
- Unsafe access of
current
on React refs fixed, allowing React Compiler to auto-memoize more components, and increasing general stability and concurrent mode safety. - Relative time stamps are optimized by React Compiler, reducing memory usage and allowing faster rerenders.
- Replaced
React.createElement
calls in internals with the JSX runtime, unlocking the React 19 performance improvements to JSX, as well as the ability to use ref as a prop instead ofReact.forwardRef
wrappers. - Refactored
SanityDefaultPreview
to be auto memoized by React Compiler, improving performance on document list previews, and reference selectors.
Other features
- Exports
useReferringDocuments()
hook.
Install or upgrade Sanity Studio
To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.
📓 Full changelog
Author | Message | Commit |
---|---|---|
James Garbutt | feat(cli): remove is-builtin-module (#6579) | 2982082 |
Rostislav Melkumyan | feat(cli): misc copy changes (#8003) | a61c4ee |
Per-Kristian Nordnes | test(playwright-ct): fix issues and flake (#8016) | 6bf4d2a |
ecospark[bot] | chore(deps): dedupe pnpm-lock.yaml (#8023) | 2b38345 |
renovate[bot] | fix(deps): update dependency @sanity/ui to ^2.10.9 (#8009) | bb8ae86 |
Snorre Eskeland Brekke | fix: delays rendering the Start in Create banner until document is ready (#8020) | fa403da |
Per-Kristian Nordnes | test(e2e): refer to correct env variable for Playwright version (#8026) | cefd55a |
Per-Kristian Nordnes | fix(core): fix issue with different Webkit tab order in forms (#8022) | b1307d9 |
Ash | fix(sanity): relative dates incorrectly appearing to be in the future (#8034) | 3869ede |
Rostislav Melkumyan | feat(cli): use @sanity/template-validator package (#8014)
| 27fa7e5 |
Christian Grøngaard | fix(core): make PTE read-only until it's 'ready' (#8033)
| 07d80a7 |
Rostislav Melkumyan | fix(cli): outputters should respect %s (#8037) | 85de530 |
Rostislav Melkumyan | feat(cli): remove .github dirs when initializing with a remote template (#8036) | 2222e9e |
Rostislav Melkumyan | feat(cli): add cors entry automatically for template package (#8035) | 637d345 |
Rostislav Melkumyan | revert(cli): use default ora options in spinner method (#8038) | a54f8ef |
Per-Kristian Nordnes | fix(core): fix issues with PT-Input PopoverModal (#8021) | ded659e |
Espen Hovlandsdal | fix(deps): drop react-copy-to-clipboard dependency (#8041)
| 37b3065 |
Espen Hovlandsdal | fix(deps): align arrify versions, drop types package (#8019) | fc55e3e |
Espen Hovlandsdal | chore(deps): upgrade vitest to v2.1.8 (#8018) | 27b0e84 |
Espen Hovlandsdal | fix(deps): upgrade react-json-inspector (#8017) | cf7afaf |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.19.10 (#8065) | 27958af |
renovate[bot] | chore(lockfile): update dependency react-focus-lock to v2.13.5 (#8067) | ea8bf4a |
Christian Grøngaard | test(pte): properly wait for PTE to be editable (#8068) | 1dfcff8 |
Cody Olsen | chore: add dev:million-lint command (#8032)
| 23d9dbe |
ecospark[bot] | fix(deps): update React Compiler dependencies 🤖 ✨ (#8069) | e4009f1 |
ecospark[bot] | chore(deps): dedupe pnpm-lock.yaml (#8070) | 4eff6de |
renovate[bot] | fix(deps): update dependency @sanity/icons to ^3.5.3 (#8071) | 2886839 |
Cody Olsen | fix: speed up hovered field provider (#8044) | e177ace |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.19.11 (#8073) | 1819bc8 |
renovate[bot] | chore(deps): update dev-non-major (#8066) | 6c953c6 |
Josh | feat(manifest): add icons, tools & projectId (#7980) | 8d5fb58 |
renovate[bot] | fix(deps): update dependency @sanity/ui to ^2.10.10 (#8074) | d280578 |
renovate[bot] | fix(deps): update dependency react-rx to ^4.1.9 (#8075) | 6f16545 |
Cody Olsen | chore: add follow up comments on million lint (#8072) | 9f4875f |
Espen Hovlandsdal | fix(vision): upgrade react-split-pane to v1.0.0 (#8061) | 8996689 |
Christian Grøngaard | test(core): remove RangeDecoration tests (#8079) | 4a6eb2a |
Cody Olsen | fix: improve command list performance (#8046) | 80965bf |
Cody Olsen | fix: improve color scheme store perf (#8059) | ed3551b |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.19.12 (#8082) | a5a217a |
Cody Olsen | fix: improve presence menu performance (#8039) | 43f1b52 |
renovate[bot] | fix(deps): update dependency @sanity/ui to ^2.10.11 (#8083) | 9dc200e |
renovate[bot] | fix(deps): update dependency @portabletext/editor to ^1.16.3 (#8031) | cb1647b |
Espen Hovlandsdal | fix(deps): upgrade @tanstack/react-virtual to v3.11.2 (#8062)
| 04303f7 |
renovate[bot] | chore(deps): lock file maintenance (#8086) | e389ad9 |
Jon Eide Johnsen | chore: update social links in readme (#8085) | 8ae33c3 |
Snorre Eskeland Brekke | fix: fixes unknown event handler error in CommentsOnboardingPopover (#8087) | 1fa5db6 |
Bjørge Næss | fix(preview): fix issue sometimes causing hotspot menu to stay a gray box after uploading (#8076) | 3d5f1d3 |
Eoin Falconer | fix: search modal stays open with metaKey (#8090) | f95a3d1 |
Bjørge Næss | feat(sanity): export useReferringDocuments and mark as beta (#8091) | e5cf80a |
Espen Hovlandsdal | test: fix missing await on assertions for resolveInitialValue() (#8080)
| f56c61f |
Espen Hovlandsdal | fix(deps): upgrade dependency react-focus-lock to v2.13.5 (#8081) | 04d5aa2 |
renovate[bot] | chore(deps): update dependency framer-motion to v11.15.0 (#8084) | 260faec |
Cody Olsen | fix: don't read/write ref during render (#8077) | b1f183d |
Cody Olsen | fix: allow useRelativeTime to be auto-memoized (#8089)
| e2a9fff |
Cody Olsen | fix: replace React.createElement with jsx runtime (#8043)
| 3ef8280 |
Cody Olsen | fix: replace unsafe useMemo with useState (#8047)
| 05c9e74 |
Cody Olsen | fix: replace useMemo with useState (#8095) | 399a7be |
Eoin Falconer | fix: tooltip position in announcements popup (#8092) | 21c9fab |
Cody Olsen | fix: improve SanityDefaultPreview memoization (#8049)
| a6d5320 |
Christian Grøngaard | refactor(core): replace PortableTextEditor with EditorProvider (#8040)
| 5d1ed22 |
Cody Olsen | fix: use consistent framer-motion semver range (#8094)
| 78529d6 |