Faster workspace navigation and several bug fixes and improvements
Published: October 19, 2026
This release lets you switch workspaces without reloading the page, lets users request project access from studios opened in the Dashboard, and fixes bugs in array scrolling, document publishing and the Studio UI.
Switch workspaces without reloading the page
Switching workspaces from the workspace menu no longer reloads the page. Cmd-click, Ctrl-click or middle-click a workspace to open it in a new tab.
Project access prompts in the Dashboard
Opening a studio in the Dashboard without access to its project now shows an access request prompt.
🐛 Notable bugfixes and improvements
- Fixes an issue where changing a document in a custom publish action could cancel publishing.
- Fixes expanded array lists that could keep jumping up and down after scrolling.
context.currentUseris now part of theValidationContexttype. The value was already passed to validators at runtime, but it was missing from the type, so reaching it meant casting.
context.currentUser is optional. The Studio populates it; CLI and headless validation leave it undefined.
defineField({
name: 'title',
type: 'string',
validation: (rule) =>
rule.custom((value, context) =>
context.currentUser?.roles.some((role) => role.name === 'administrator')
? true
: 'Only administrators can set a title',
),
})- Fixes the initial value stream ignoring documents created or deleted after a template has resolved. The form's base value now updates when a document is created or deleted while open, and a late first snapshot no longer leaves a stale template value.
- Previews that fall back to their schema type's icon, review-changes connectors and read-only arrays no longer render internal props as DOM attributes.
- When the API rate limits the Studio while the task form is loading, the Studio now shows its "Too many requests" dialog and retries, instead of replacing the whole Studio with an error screen.
- When several studios open tasks at once before the comments and tasks dataset exists, the tasks form no longer stays loading in some of them.
- Fixes a development-mode warning about unknown
intentandparamsprops being sent to the DOM when a document list pane header rendered its create button while template permissions were loading. Also fixesIntentLinkignoring itsreplaceprop. - Fixes a bug where the table plugin's row and column delete buttons could be invisible and unclickable when the Portable Text Input rendered inside a dialog or another layer with a high z-index.
- Hovering the avatar next to the "last edited" status in the document pane footer now shows the name of the user who made the change.
- When viewing a published, non-live-edit document in the published perspective, a banner now offers View draft to switch into the drafts perspective and edit there.
@sanity/validationgets a scheduling option,idle (default)orimmediate- When you publish, the Studio now runs pending validation immediately instead of waiting for idle time. This makes publishing faster on very large documents.