npm @sanity/cli 3.24.1
v3.24.1

latest releases: 3.64.0, 3.63.0, 3.59.2-corel.355...
10 months ago

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

Updated legacy theme customization

Legacy themes for Sanity Studio will now handle custom colors without losing the scaffolding provided by the default studio theme. This improvement means that the custom colors you define will no longer revert to default values, but instead integrate seamlessly with Sanity Studio.

Experimental document pane title opt-out

A new flag __experimental_formPreviewTitle has been introduced, allowing you to hide the large preview title displayed in the document pane form. This grants more control to users with custom implementations that do not benefit from this title being displayed.

import {defineType} from 'sanity'

export const playlistType = defineType({
  name: 'playlist',
  type: 'document',
  // 👇👇👇
  __experimental_formPreviewTitle: false,
  // 👆👆👆
  // ...
})

Comments feature now enabled by default

The comments feature within Sanity Studio is now enabled by default, embracing collaboration and social interactions on your documents right out of the box.

Importing Structure as structureTool

The import path for the structure tool has been updated. Developers should now import from sanity/structure instead of sanity/desk. A helpful codemod is available to facilitate the migration of any existing code. Existing imports to sanity/desk will still work but those imports have been marked as deprecated and will be removed in a later major version.

A codemod is available to migrate any code that may be using it:

npx @sanity/cli codemod deskRename

Be sure to check in any local changes to version control before running the codemod in case it should fail.

GraphQL deployment optimization

A new opt-in cache, --with-union-cache, improves GraphQL schema generation speed by up to 95% for schemas with numerous self-referencing documents. This optimization is essential for larger projects and significantly improves the deploy experience.

🐛 Notable bugfixes

  • Fixes a regression where custom document action modal dialogs were not rendering footer content correctly.
  • Resolves issues related to incorrect default locale strings, ensuring the restoration process of document revisions is accompanied by proper messaging.
  • Fixes problems with the strike-through formatting when pasting content from Google Docs.
  • Corrects font weight rendering issues on iOS16, ensuring consistent visual experience across platforms.
  • Fixes the improper alignment of button text in the Portable Text Editor to match standard UI practices.
  • Ensures annotation toolbar popover in PTE follows the correct element on scroll, enhancing usability.
  • Fixes fieldset border issues in forms for a cleaner UI presentation.
  • Resolves console warnings stemming from passing non-DOM properties to styled-components.
  • Updates navbar button positions for better user discoverability and accessibility by adding aria labels to expand buttons in PTE.

📓 Full changelog

Author Message Commit
Binoy Patel chore(e2e): update docs and make missing env more clear (#5421) a63a20a
renovate[bot] chore(deps): update babel monorepo to ^7.23.7 (#5430) 232aab8
renovate[bot] chore(deps): update dependency turbo to ^1.11.2 (#5436) cee0e15
Pedro Bonamin fix(legacy-theme): update buildLegacyTheme to support custom colors (#5437) b4fb5b6
Fred Carlsen feat: conditionally set maximum search depth in studio search (#5440) 261b05e
renovate[bot] chore(deps): update dependency @sanity/ui to v2.0.0-beta.14 (#5445) ac1e465
renovate[bot] chore(lockfile): update dependency framer-motion to v10.17.4 (#5450) e462d96
renovate[bot] chore(deps): update dependency styled-components to ^6.1.6 (#5446) 5cc319d
Robin Pyon fix: opt-out of internal studio ui-components for user facing custom document action dialogs (#5444) 5a9d1f8
Robin Pyon fix(i18n): use correct locale string for document restore confirmation (#5453) 2d817cb
Jørn Knutsen fix(vision): use untranslated value for "other" api version (#5433) f3181ba
Espen Hovlandsdal refactor(structure): desk => structure file rename 7c484f7
Espen Hovlandsdal refactor(structure): rename references to desk/Desk e3ea119
Espen Hovlandsdal fix(structure): fix typo in renamed structure tool context 00496ab
Espen Hovlandsdal feat(cli): add desk rename codemod 749444d
Espen Hovlandsdal chore: run desk rename codemod e6a2b3a
Espen Hovlandsdal fix(cli): bootstrap new studios with structure import 7516d0f
Espen Hovlandsdal refactor(desk): explicitly import/export for improved deprecation handling 47c5e4b
Espen Hovlandsdal fix(core): correct typesVersions path for structure export b018193
ecospark[bot] chore(prettier): fix unformatted files 🤖 ✨ (#5454) c446609
Cody Olsen fix(deps): update dependency @sanity/presentation to v1.4.2 7972ff4
ecospark[bot] chore(deps): dedupe yarn.lock (#5455) 01d5238
Fred Carlsen fix(block-tools): keep strike-through formatting when pasting from gdocs (#5443) 779a114
Nina Andal Aarvik fix(core): remove variable fonts in global styles (#5456) 47d84a2
Tommy Petty fix(cli): uniquify temp directory used during dataset import (#5400) a84cfeb
Cody Olsen chore(deps): update dependency @sanity/ui to v2.0.0-beta.15 d916bd7
Cody Olsen fix(deps): update dependency @sanity/presentation to v1.4.3 5479069
Nina Andal Aarvik fix(desk): utranslate when form title is missing (#5439) 8c52faa
Robin Pyon fix: add custom resize handle icon (#5462) 38f951c
Herman Wikner fix(core): form fieldset border (#5468) 8ff0308
Pedro Bonamin feat(desk): add __experimental_formPreviewTitle to documents (#5452) 90c24c8
Nina Andal Aarvik fix(core): left align button text in PTE (#5422) a21656e
Nina Andal Aarvik fix(core): add scroll event listener for AnnotationToolbarPopover referenceBoundary (#5410) 5719a09
Nina Andal Aarvik fix(core): add useClickOutside function to filter buttons afdb3f9
Herman Wikner feat(comments): enable by default (#5467) c09a26d
Pedro Bonamin chore(dependencies): update @sanity/ui to 2.0.0-beta.16 (#5474) 49e1a7e
Sindre Gulseth refactor(graphql): use Set to speedup guard check 31b7559
Sindre Gulseth refactor(graphql): optimize multiple loops into two for loops ab1459a
Sindre Gulseth chore(graphql): remove unncessary type cast and optimize readability 330c621
Sindre Gulseth feat(graphql): add experimental mode to optimize/cache schema union definitions 52e4369
Espen Hovlandsdal fix(i18n): pass Code component to document list pane error (#5434) 30f9bef
Rico Kahler fix(cli): update esbuild options for better compat (#5461) fc45930
Cody Olsen fix(deps): update dependency @sanity/presentation to v1.5.0 75b052c
Robin Pyon fix: update reverse trial button styles, add tooltips to nav button and localize (#5478) 8e8c474
Cody Olsen fix: prevent props that are unknown html attributes from passing through (#5481) ddf605f
Robin Pyon fix: position search button in the LHS navbar (#5479) 8b3aa07
Nina Andal Aarvik fix(core): add aria-label to expand PTE button (#5459) d709112
Robin Pyon chore: add codeowners for search, theming and visual components (#5480) f59774b
Pedro Bonamin fix(theme): update studio theming, support only color and fonts customisation. (#5442) 078574b
Rico Kahler feat(validation): validateDocument (#5465) 3c5421e

Don't miss a new cli release

NewReleases is sending notifications on new releases.