Deprecation Support for Documents and Fields, Comment Reactions ++
Published: January 23, 2024
Installation and upgrading
To initiate a new Studio without installing the CLI globally:
npm create sanity@latest
To upgrade a v3 Studio, run this command in its folder:
npm install sanity@latest
✨ Highlights
Deprecation support for Documents and Fields
This release introduces the option to mark document and field types as deprecated. This can be used to gently steer Studio users towards updated schemas or to phase out legacy fields without abrupt changes.
export const deprecatedDocument = defineType({
name: 'deprecatedDocument',
title: 'Deprecated Document',
type: 'document',
deprecated: {
reason: 'Use the Author document type instead',
},
fields: [
defineField({
name: 'title',
type: 'string',
deprecated: {
reason: 'This field was used in a legacy system and is no longer used.',
},
}),
],
})

When a field or document is deprecated, an informative message will appear in the Studio, clearly indicating the recommended action to take. This aids in maintaining a clean and up-to-date content structure.
Bonus: Deprecation messages now appear in the GraphQL schema, providing clarity during transitions. Deprecated document types and fields should be appropriately treated in documentation and tooling.
Reactions to Comments
This release also introduces a new layer of interactivity in the Studio with the ability for users to react to comments! 🎉
Far be it from us to speak ill of verbose and precise communication using full sentences, but sometimes you just want to express a sentiment quickly with a 🚀 or a 👍 and Sanity Studio now has you covered for those occasions. Streamline feedback processes and consensus building, and make your Studio a more vibrant collaborative space in one fell swoop with comment reactions. 🎩

🐛 Notable bugfixes
- Enhances user experience in the Studio by adding localized browser document titles and correcting unlocalized strings, accommodating users who prefer languages other than English.
- Fixes an issue where number-like string flags passed to CLI commands were parsed as numbers by the option parser, leading to truncation of large integer-only document IDs and similar.
- Resolves a restoration issue with the
token
login method ensuring the active session is retained post webpage reloads when cookieless auth is in effect. - Enhances UI components consistency in tooltips and delay groups for better UX.
- Fixes a performance issue by re-applying
useMemo
onDocumentPaneContext
values, reducing unnecessary re-renders and improving document pane performances. - Ensures that errors in the
useFeatureEnabled
hook result in an empty features list rather than disruptive error toasts; this minimizes user interruption when feature availability checks fail. - Fixes multiple bugs in the
sanity documents validate
CLI command relating to visibility, unnecessary validation reports, reference checks batch processing, and unknown field validation for images and file types. - Improves spacing between the published date and the last updated date in the document status bar for better readability.
Related documentation
Array
Schema type for arrays of other types.
Boolean
Date
Datetime
The schema type for expressing an exact date and time.
Document
File
Geopoint
Image
Schema type for uploading, selecting, and editing images.
Number
Object
Schema type to create custom types to use in a document.
Reference
A schema type for referencing other documents.
Cross Dataset Reference
A schema type for referencing documents in another dataset within the same project.
Slug
A schema type for slugs is typically used to create unique URLs.
String
A schema type for strings and a selectable lists of strings.
Text
URL
Schema
A schema describes the types of documents and fields editors may author in a Sanity Studio workspace.
GraphQL
Comments for Sanity Studio