Sanity Studio v3.57.4: Performance improvements in large documents for Sanity Studio

✨ 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 and onItemAppend 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.