✨ Highlights
Performance improvements for large documents
This release introduces significant performance improvements for form state computation in Sanity Studio, especially for complex documents:
- Up to 10x performance improvement for documents with multiple large objects in arrays
- Noticeable improvements for documents with large Portable Text fields
- Memoization for form state computation
🐛 Notable bugfixes
- The
_createdAt
document property will now always be set to the time when the document in question was first created in its initial draft state rather than the time of publishing, as intended. - In the Portable Text Editor, annotations can now be added across existing annotations and decorators without accidentally expanding or removing those.
- In the Portable Text Editor, a collapsed selection can now toggle off an entire annotation.
- A performance regression introduced in
3.52.3
, affecting large Portable Text documents, has now been fixed. - Toggling decorators in selections spanning empty lines in the Portable Text Editor now works more predictably.
- Lists created in the Portable Text Editor should now reset sublist indices under different parent list items (thank you, @phattran2905!).
- When focused, the Portable Text Editor now automatically adds empty
markDefs
arrays to blocks if missing. - Array inputs now forward the received
onItemPrepend
andonItemAppend
hooks to the insert button/array functions component.
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 |
---|---|---|
Cody Olsen | chore(deps): bump typescript to 5.6.2 (#7494)
| caec753 |
Ash | fix(sanity): prevent empty patches being created (#7499) | 99f1bb6 |
renovate[bot] | chore(deps): update typescript-tooling (#7504) | 9a646d8 |
Phat Tran | fix(core): correctly reset PTE list counts after non-numbered lists and in sublists (#7506) | 4918a9e |
renovate[bot] | chore(deps): update dependency turbo to ^2.1.2 (#7507) | 618d95c |
renovate[bot] | chore(deps): update pnpm to v9.10.0 (#7509) | cf55d9d |
renovate[bot] | chore(deps): update linters (#7508) | 453c4a4 |
renovate[bot] | fix(deps): Update dev-non-major (#7510) | fe75e37 |
renovate[bot] | fix(deps): update dependency @portabletext/editor to ^1.1.0 (#7501) | a6e0389 |
Jordan Lawrence | fix(core): drafts not using server actions always generate a created at (#7503) | 728311e |
renovate[bot] | fix(deps): update dependency @portabletext/editor to ^1.1.1 (#7514) | daf4ffa |
Simeon Griggs | fix: add padding above the "Push to reload" button instead of below (#7464) | 1a33125 |
Bjørge Næss | fix: forward received onItemPrepend/onItemAppend to ArrayFunctions (#7516) | 4a50023 |
Rico Kahler | perf(core): memoize prepareFormState (#7498)
| 3bf7096 |