Enhanced object dialog is opt out + multiple bug fixes and improvements
Published: January 13, 2026
v5.3.0
Sanity Studio
The new enhanced object dialog is now opt-out
The improved dialog, which was first introduced as an opt-in beta in October 2025, becomes the new default view, with an option to disable if needed. In order to opt out, you will need to go to your sanity.config.ts and change the following:
// ...
beta: {
form: {
// add a property enhancedObjectDialog and set it to false
enhancedObjectDialog: {
enabled: false,
},
},
},
})Access sort order in preview components
Preview components can now access the current sort order via viewOptions in their prepare() function.
// ...rest of schema
preview: {
prepare(value, viewOptions) {
const sortedByDate = viewOptions?.ordering?.some(o => o.field === 'publishedAt')
return {
title: value.title,
subtitle: sortedByDate ? value.publishedAt : value.author
}
}
}π Notable bugfixes
- Improves the warning message when trying to delete a document that has versions within scheduled releases
- Allows all
@sanity/clientΒClientOptionsingetCliClient - In Presentation/Visual Editing, when an
options.titleis not passed to the plugin configuration, the page title will be "Presentation" - A warning will now appear to flag content releases that have missed their intended publish date
- Updates function examples that trigger on
createandupdateevents where a specific field is required to change (on update) or be set (on create) - Fixes an issue where function recipes wouldn't trigger on first document publish
- Fixes an issue where unpublished scheduled drafts would not be visible in document lists within structure tool
- Fixes datetime timezone preference storage for fields inside nested arrays
- Dataset imports with large numbers of assets no longer fail with EBADF errors
Other Improvements
- Cleaner package exports: Published packages now have cleaner
exportsfields in theirpackage.json. This condition has been removed from published packages, making the exports less verbose and avoiding any potential confusion or unintended behavior. - Fewer "Duplicate context" warnings in monorepos: The Vite config generated by
sanity devandsanity buildnow usesresolve.dedupeinstead ofresolve.aliasfor deduplication. βThis should significantly reduce "Duplicate context" warnings that users have experienced in monorepo setups, including:- Note:
reactandreact-domwere added because@vitejs/plugin-reactremoved them from the default dedupe behavior in v5.0.0.
- Note:
- No more Babel deoptimization warnings: The issue where
sanity buildwould sometimes log[BABEL] Note: The code generator has deoptimised the styling of [file] as it exceeds the max of 500KBhas been resolved by settinggeneratorOpts: {compact: true}in the babel config when React Compiler is enabled. - Adds support for configuring the Sanity MCP server for additional AI code editors:
- Zed
- OpenCode
- VS Code Insiders
- Users can now run
sanity mcp configure(orsanity init) and these editors will be detected automatically if installed. The command now supports: Cursor, VS Code, VS Code Insiders, Claude Code, Zed, and OpenCode. schema extractnow gives more helpful error messages about errors in the Studio schema configuration.- Private assets are now selectable when using the Media Library plugin.
- Reduces the size of generated TS by using an
ArrayOfutil type for inline object array members. - Deprecate
unstable_usehooks in favor ofuseUnstableversion of them. - Adds support for new Media Library image
thumbHashproperty.