Skip to content

Releases: sanity-io/sanity

v3.63.0

05 Nov 16:43
Compare
Choose a tag to compare

✨ Highlights

Updated Next.js starter template to use Live Mode

Initializing Sanity inside a Next.js application now adds the preconfigured Live Content API helpers sanityFetch and SanityLive.

Performance improvements for template permissions

Template permissions are now resolved sequentially instead of in parallel, improving reliability for large numbers of templates. We've added smarter caching for initial value resolution, reducing duplicate computations.

These improvements should result in more predictable performance and reduced resource usage when working with templates, particularly in larger projects with many templates.

This optimization brings no API changes or breaking changes.

🐛 Notable bugfixes

  • Fixes list scrolling in the Scheduled Publishing interface.

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

📓 Full changelog

Author Message Commit
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.17.6 (#7669) bd83ebb
renovate[bot] fix(deps): update dependency @sanity/insert-menu to v1.0.10 (#7668) 4ede77b
renovate[bot] fix(deps): Update dev-non-major (#7671) 1ebedd2
Snorre Eskeland Brekke feat: adds support for Create-Studio integration (#7635) 12cb46b
renovate[bot] fix(deps): Update dev-non-major (#7679) 070b33c
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.17.7 (#7683) 6c1febc
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.1.10 (#7692) 7a564a6
Rico Kahler perf(core): memoize resolveInitialValueForType (#7674) 3602d67
Jordan Lawrence fix: scheduled pub scroll list issue (#7658) 4e05b3a
Simeon Griggs feat(cli): prepare nextjs starter template for live mode (#7633) d018a71
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.1.11 (#7667) 6479290
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.13 (#7694) 3e1cad6
renovate[bot] chore(deps): update dependency @vitejs/plugin-react to ^4.3.3 (#7688) 56bc1a7
renovate[bot] fix(deps): Update dev-non-major (#7693) f03396f
renovate[bot] fix(deps): update dependency react-rx to ^4.0.1 (#7712) 46982a3
shur chore: telemetry definition files are owned by @data-eng (#7703) 7ed0f9c
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.14 (#7713) ef649b8
renovate[bot] chore(deps): update dependency lerna to ^8.1.9 (#7711) ecac3b8
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.2.0 (#7709) d1a35d5
renovate[bot] fix(deps): update dependency react-rx to ^4.1.0 (#7714) fa5cfe7
renovate[bot] fix(deps): Update dev-non-major (#7708) ab24df2
Cody Olsen chore(deps): bump react-compiler linter (#7715) ad56ad0
renovate[bot] chore(deps): update typescript-tooling (#7681) cc629b9
renovate[bot] fix(deps): Update babel monorepo (#7719) 3b20ff6
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.15 (#7718) 1fadac5
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.15 (#7717) 0f7ee17
renovate[bot] chore(lockfile): update dependency @sanity/asset-utils to v2.0.7 (#7721) 50c683d
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.16 (#7722) 4757af6
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.16 (#7723) 3048630
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.3.0 (#7727) 2f42394
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.17 (#7725) 4864eaa
renovate[bot] fix(deps): Update dev-non-major (#7724) 0e2888c
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.18 (#7730) 81cb734
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.4.0 (#7729) 5c1a81a
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.4.1 (#7735) 953501d
renovate[bot] chore(test-studio): update dependency @portabletext/editor to ^1.4.1 (#7734) 325e50a
Pedro Bonamin fix(core): export BetaFeatures and ScheduledPublishing types (#7659) 9fbebab
Binoy Patel test(cli): migrate cli tests to vitest (#7731) 51db20a
renovate[bot] fix(deps): update dependency groq-js to ^1.14.0 (#7738) c580ebf
renovate[bot] fix(deps): update dependency react-rx to ^4.1.1 (#7739) c4d4abb
renovate[bot] chore(deps): update dependency @sanity/prettier-config to ^1.0.3 (#7733) 8aea4fa
Espen Hovlandsdal fix: invalid locale namespace specified for create (#7732) 9b2a6f7
Binoy Patel test(codegen): migrate codegen tests to vitest (#7741) c799d28
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.17.8 (#7743) e631b2d
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.5.4 (#7737) c0bd3c2
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.19 (#7742) 60ece5f
renovate[bot] fix(deps): update dependency react-rx to ^4.1.3 (#7744) 4a3157d
renovate[bot] chore(deps): update react monorepo (#7753) ce6cfab
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#7752) 46f9218
renovate[bot] fix(deps): Update dev-non-major (#7736) eebf6c4
renovate[bot] chore(deps): update dependency babel-plugin-react-compiler to v19 (#7755) 361f347
Jordan Lawrence chore(scripts): reordering blocks in release notes template script (#7758) 72934dd

v3.62.3

29 Oct 19:53
Compare
Choose a tag to compare

✨ Highlights

Optimized Initial Value Resolution

This release includes a performance enhancement to optimize the resolution of Initial Value Templates:

  • Initial values are now resolved sequentially rather than in parallel, improving reliability in projects with large numbers of templates.
  • Enhanced caching reduces duplicate computations, leading to faster and more predictable performance when handling initial values.

These updates streamline initial value resolution, making it more efficient for projects with complex templates. This may improve the start up performance for your Studio.

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

📓 Full changelog

Author Message Commit
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.17.6 (#7669) bd83ebb
renovate[bot] fix(deps): update dependency @sanity/insert-menu to v1.0.10 (#7668) 4ede77b
renovate[bot] fix(deps): Update dev-non-major (#7671) 1ebedd2
Snorre Eskeland Brekke feat: adds support for Create-Studio integration (#7635) 12cb46b
renovate[bot] fix(deps): Update dev-non-major (#7679) 070b33c
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.17.7 (#7683) 6c1febc
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.1.10 (#7692) 7a564a6
Rico Kahler perf(core): memoize resolveInitialValueForType (#7674) 3602d67

v3.62.2

24 Oct 13:09
Compare
Choose a tag to compare

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

✨ Highlights

  • Updates the Presentation tool to enable visual editing packages to dynamically check which features are supported by the current tool version.

📓 Full changelog

Author Message Commit
renovate[bot] fix(deps): Update dev-non-major (#7661) 21988da
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.17.4 (#7662) 35fdd4d
renovate[bot] fix(deps): Update dev-non-major (#7663) aa41c29

v3.62.1

24 Oct 08:38
Compare
Choose a tag to compare

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

✨ Highlights

Other features

Screenshot 2024-10-24 at 08 11 27

📓 Full changelog

Author Message Commit
Pedro Bonamin feat(cli): add warning and docs for react-19 and Next.Js (#7660) 00acdbb

v3.62.0

22 Oct 14:23
Compare
Choose a tag to compare

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

✨ Highlights

Introducing Preview Sharing

Preview Sharing creates shareable preview links with secrets that are valid for as long as you want them to be. Toggling sharing off/on will create a new secret that makes previous URLs no longer valid.
It also shows a QR code of the preview link to enable quickly opening the preview on your phone to test your content in context before publishing it.

preview.sharing.mov

Contributors can now use Presentation

Lower minimum role from Editor to Contributor for creating Preview URL Secrets necessary to start Draft Mode

🐛 Notable bugfixes

  • Boolean value in search shows actual value
  • Fixes a bug causing default sorting for document lists to not be applied
  • Fixes an issue that would cause read-only fields to accept pasted input under certain circumstances

📓 Full changelog

Author Message Commit
Binoy Patel fix(core): boolean value in search shows actual value (#7623) 4ffa079
Bjørge Næss fix: restore support for defaultOrdering. (#7626) 02da757
renovate[bot] chore(deps): update typescript-tooling (#7605) 7f2c1ce
renovate[bot] fix(deps): update dependency @sanity/client to ^6.22.2 (#7625) 2e150f1
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.113 (#7627) ede88ac
Binoy Patel feat: validate PR title against conventional commits (#7580) a9525c8
renovate[bot] chore(deps): update dependency sanity-diff-patch to v4 (#7630) 01d0313
Espen Hovlandsdal chore(test-studio): add asset types to structure navigation (#7631) f1f21fd
Mark Michon chore(cli): update help copy for deploy command (#7624) a4bd01d
renovate[bot] fix(deps): Update dev-non-major (#7639) 97f1db0
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.17.0 (#7640) 4973abc
renovate[bot] chore(deps): update dependency @sanity/preview-url-secret to v2 (#7641) 816067e
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.17.1 (#7645) 3698fd3
renovate[bot] fix(deps): Update dev-non-major (#7646) 5a8965e
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.17.2 (#7647) 93a1114
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.1.5 (#7638) 07c48a0
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.17.3 (#7648) 2bc49be
renovate[bot] fix(deps): Update dev-non-major (#7649) 65d7e7e
renovate[bot] fix(deps): update dependency @sanity/mutate to ^0.10.1 (#7650) c9b574d
Pedro Bonamin fix(core): inherit readOnly state from ancestors in copyPaste function (#7643) 4298fe0
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v2.2.2 (#7651) 6c1d4c8
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.10 (#7653) b6df802
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.10 (#7652) 5452e3d
Cody Olsen fix: warnings on React 19 (#7654) 9c72c74

v3.61.0

15 Oct 18:56
Compare
Choose a tag to compare

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

✨ Highlights

  • Improves performance significantly when navigating between previously visited documents.
  • Adds a new CLI command, sanity learn, to open www.sanity.io/learn.

🐛 Notable bugfixes

  • Fixes an issue where editing a document would trigger unnecessary requests to the API.

📓 Full changelog

Author Message Commit
Espen Hovlandsdal ci(efps): allow recording video in efps suite (#7606) 39e331a
Pedro Bonamin feat(core): document store loader - swr in edit state (#7552) e3cc6d5
RitaDias docs(sanity): update label onUncaughtError from internal to beta (#7612) 5b3ddc6
Binoy Patel test(sanity): migrate sanity package to vitest (#7578) 6d23434
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#7614) b693396
Simeon Griggs feat: add CLI command to open Sanity Learn (#7409) 1504511
Espen Hovlandsdal fix: prevent excessive requests to access endpoint (#7597) 45a74fc
Binoy Patel chore(perf): allow sharding efps tests (#7592) de51413
Espen Hovlandsdal fix: use absolute urls for published sourcemap urls (#7599) 1f94234
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#7622) b357fbf

v3.60.0

08 Oct 12:40
Compare
Choose a tag to compare

✨ Highlights

Custom callback for error reporting

  • Adds onUncaughtError-callback for Studio config that enables developers to implement custom error reporting. See #7553 for more details and usage examples.

🐛 Notable bugfixes

  • Improves performance when navigating between previously visited document lists in the studio
  • The global search "contains" filter now matches inside words
  • Fixes an issue that in certain rare cases caused long delays while loading a document
  • Improves loading state of reference previews
  • Fixes an issue that could in rare cases lead to an outdated version of the document being displayed in the form

📓 Full changelog

Author Message Commit
Rico Kahler test: add efps to CI (#7556) 834403a
Bjørge Næss fix(structure): memoize search query results (#7555) d4e4e44
Ash fix(sanity): allow global search "contains" filter to match inside words (#7572) 0cdfdce
Snorre Eskeland Brekke feat(sanity): studio manifests cont (#7403) a098753
Binoy Patel fix(cli): use studioHost from CLI config for intent link (#7570) 818e151
Espen Hovlandsdal fix(core): add missing listenerName property on welcome event (#7577) 13f0563
renovate[bot] chore(deps): update peter-evans/create-pull-request digest to 5e91468 (#7582) c3540dd
renovate[bot] fix(deps): update dependency @sanity/client to ^6.22.1 (#7585) cd07e93
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.1.3 (#7575) 99fcc1f
Drew Lyton refactor(structure): cleanup RequestPermissionDialog (#7571) 11f2177
Binoy Patel chore(deps): replace npm-run-all with npm-run-all2 (#7583) 22dca32
Binoy Patel chore(ci): shard e2e components tests (#7581) a9f5178
renovate[bot] chore(deps): update tiryoh/gha-jobid-action digest to be260d8 (#7589) 6337ddf
renovate[bot] chore(deps): update dependency turbo to ^2.1.3 (#7591) 9c9e350
Espen Hovlandsdal chore(deps): upgrade @sanity/asset-utils to v2 (#7584) 92de3d9
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.1.4 (#7590) b655562
Espen Hovlandsdal chore(ci): use efps for job name, use node 20, clarify tag description (#7596) 9cad54b
Espen Hovlandsdal chore(ci): use environment variables, not secrets, for non-sensitive vars (#7598) af71d46
Ryan Bonial fix(cli): do not throw during migrate if project ID is passed through flag (#7594) caced3b
Bjørge Næss refactor(core): add reusable rxSwr operator (#7562) 13518b2
Bjørge Næss fix(structure): improve and clean up form ready state (#7600) 21d848d
RitaDias feat(sanity): add config for onUncaughtError (#7553) e3cf177
Bjørge Næss chore(ci): change env vars from secrets to env (#7601) 7868c0b
Bjørge Næss fix(core): add detection and recovery for missing mutation events (#7576) 8195c96
Bjørge Næss fix(core): fix reference preview flickering and improve loading (#7563) 1e31c35
Rico Kahler feat: propagate PairListenerOptions; add telemetry for OutOfSyncError (#7595) d96f890

v3.59.1

04 Oct 20:14
Compare
Choose a tag to compare

🐛 Notable bugfixes

  • Fixes a bug that caused the document editor to crash when the default field group is not found.

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

📓 Full changelog

Author Message Commit
Rico Kahler fix: protect against falsy selectedGroup (#7593) 98f4eb9

v3.59.0

01 Oct 18:31
Compare
Choose a tag to compare

✨ Highlights

Request edit access to Studio

Users with the read-only "Viewer" role can now request edit access to the project, straight from Sanity Studio. Project administrators will be alerted by email and can approve or deny the request from the project management section at sanity.io/manage.

Other improvements

  • Eliminated layout shifts in image fields.

🐛 Notable bugfixes

  • Fixes a few cases of unnecessary loading states appearing in the studio.
  • Fixes an issue causing the command line tool to crash when using Turborepo on Windows (thanks @josemanosalvas!)
  • Fixes an issue where using the Microsoft Word preprocessor from the @sanity/block-tools package outside of a browser would crash (thanks @silvertech-daniel!)
  • Fixes incorrect usage of light mode in image field overlays when dark mode is active.
  • Improves error message when the studio development server is stopped — instead of a generic "dynamic import" error, it will now tell you the development server is stopped.
  • Fixes an issue where pasting into a conditionally read-only field would not work, even if the field returned false for the read-only check.

📓 Full changelog

Author Message Commit
Bjørge Næss chore: cleanup import specifiers etc 8b509f7
Bjørge Næss chore: move dev-aliases into @repo/dev-aliases 2180d0f
Bjørge Næss chore(sanity): load monorepo aliases from '@repo/dev-aliases' 16dfd3d
Bjørge Næss chore(test): convert jest configs to mjs 8938d6e
Bjørge Næss chore(test): move jest config to @repo/test-config/jest 24618f9
Bjørge Næss chore(test): add support for vitest 512e16a
Bjørge Næss chore(ci): run jest tests in a separate workflow 44dee81
Bjørge Næss chore(test): move @sanity/migrate to vitest 3c63eee
Bjørge Næss chore(test): move @sanity/block-tools to vitest 09e86a2
Bjørge Næss chore(test): move @sanity/mutator to vitest 09be44d
Bjørge Næss chore(test): move @sanity/schema to vitest 56b7ee5
Bjørge Næss chore(test): move @sanity/types to vitest 8bf4868
Bjørge Næss chore(test): move @sanity/util to vitest 38eca25
Espen Hovlandsdal chore: enable source maps for package bundles (#7540) 0396ec2
Bjørge Næss chore(cli): remove reliance on node-machine-id (#7545) de9c29b
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#7544) 9848f20
RitaDias chore(form): revert changes in schema that were meant to have been deleted (#7549) 7aed0c0
Bjørge Næss fix(preview): allow null as valid cache/memo value for preview fields (#7551) 7b9b556
Bjørge Næss refactor(store) simplify key value store, add SWR through local storage behavior (#7554) d2ca86d
Bjørge Næss fix(core): emit setting from localStorage immediately upon subscription (#7560) 1e79797
RitaDias chore(sanity): update naming of draft created telemetry event (#7561) ae1c9c2
Jordan Lawrence feat(core): specific error when dev server is stopped (#7476) 7fcf22a
RitaDias chore(form): remove imports from shouldArrayDialogOpen (#7550) bdfd8df
silvertech-daniel fix(block-tools): remove references to implicit globals document and Text (#7532) 306a671
Ash fix(sanity): prevent layout shifts in image input 6b8a76f
Ash feat(sanity): allow image input block size to extend to 30vh 14ebf2c
Ash refactor(sanity): remove redundant drag-related props 8a80ef2
Ash fix(sanity): use correct color scheme in image input overlay df0e18a
Binoy Patel fix(core): fixes an issue with pasting in conditional readonly field (#7564) 2e47715
shur fix: set cliInitializedAt even if project bootstrap fails (#7558) ea186d8
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.1.2 (#7566) a762c62
Espen Hovlandsdal chore(deps): upgrade moment, drop @types module (#7565) be73a2a
renovate[bot] fix(deps): update dependency @sanity/client to ^6.22.0 (#7522) 7c01a95
Binoy Patel refactor(cli): update projects list command to link to manage (#7568) 85941d2
Drew Lyton feat: add ability to request edit access from viewer role (#7546) 59f4fda

v3.58.0

24 Sep 14:59
Compare
Choose a tag to compare

✨ Highlights

Product announcements

Studio users will now receive notifications about new Sanity features via a floating clickable card in the bottom-left corner of the interface. Clicking the card will open a modal with more details about the feature.

Previously seen product announcements can also be accessed anytime from the new “What’s New” item in the help menu.

Other features

  • The global error UI has been refined so that it is clearer to users.
    • The global error UI now only displays the stack trace in development builds.
    • A Copy error details action has been added to the global error UI and the document list error UI. This allows users to easily share the error stack trace with developers.
    • Please note that these new strings cannot be internationalized, because the global error UI is rendered outside of the locale provider.
  • The Reconnecting toast is no longer displayed if the connection is reestablished within two seconds.

🐛 Notable bugfixes

  • Fixes issues occurring when a draft exist for a live-editable schema.
  • Improves task assignee list performance.
  • Improves Portable Text editor performance.

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

📓 Full changelog

Author Message Commit
Rico Kahler feat(perf): add new eFPS benchmark suite (#7407) 2de06de
Ryan Bonial Fix: prevent flash of "Untitled" when loading a document w/ preview (#7505) b7f0135
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#7521) 4729e84
Pedro Bonamin fix(core): hide versions.* documents from search, update getPublishedId to account for versions (#7470) 7c814a8
RitaDias fix(structure): live edit on draft documents (#7526) 7bf9995
RitaDias refactor(structure): add virtualization when rendering assigneeds list (#7536) e102679
Bjørge Næss fix(core): skip updating focusPath state if unchanged (#7524) 7183b24
Pedro Bonamin fix(core): document store cache memo not working (#7530) 8c677c2
Bjørge Næss fix(core): clean up portable text input's selection change handling (#7525) 714b3e1
Ash chore(sanity): add return type to StudioErrorBoundary component b7b677c
Ash chore: fix spelling mistake a7ca8b6
Ash chore(sanity): remove unused parameter from onRetry function signature 61e981b
Ash feat(sanity): add ErrorActions component 7809762
Ash feat(sanity): refine StudioErrorBoundary component UI d11efce
Ash feat(sanity): add "Copy error details" button to document list error UI a218c88
Pedro Bonamin feat(core): Studio announcements (#7515) 3593bf5
RitaDias refactor(structure): add timeout to reconnecting message (#7531) 9ab4086