Sanity Studio v4.12.0: Improved dialog navigation and portable text diff view.

✨ Highlights

A new way of navigating through complex modals

We're introducing a new way of navigating through nested objects in modals. Instead of opening a new, replacement UI with each level of nesting, the modal now shows a breadcrumb trail that you can navigate. This is initially an opt-in beta, but will become the standard interface in the future.

You can enable the new UI by updating your studio configuration with the following settings:

export default defineConfig({
// ...
beta: {
form: {
enhancedObjectDialog: {
enabled: true,
},
},
},
})

Portable text editor inline changes

Portable Text Editor can now show inline changes.

To enable this view, access the ellipsis menu in the top right corner of the document editor pane and select Inline changes.

Other features

Media library improvements

Added validation to prevent callback functions in Media Library asset aspects. Asset aspects must now use static values instead of functions for properties like hidden, readOnly, initialValue, validation, and component definitions. This ensures that asset aspects are fully serializable and can be safely deployed.

🐛 Notable bugfixes

Fixes an edge case where organization members without the proper privileges would sometimes be shown a malfunctioning studio without any data instead of the appropriate message about project access.

Fixes issue with CORS origin error handler.

Improved video asset loading. Video assets need processing before playback. The previous version didn’t handle this state, causing errors or endless loading. This update adds polling with timeouts, visual feedback, and improved error handling for a smoother user experience.

Deprecation warnings:

Exported theming utilities and types are now deprecated. They will be removed in the next major release.