Skip to content

Releases: sanity-io/sanity

v3.76.3

20 Feb 15:43
Compare
Choose a tag to compare

🐛 Notable bugfixes

  • Fixes a regression in v3.76.2 that could cause an error for Studios without Scheduled Publishing enabled.

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
Bjørge Næss fix: add fallback context value for scheduled publish enablement (#8713) 4237bcc

v3.76.2

20 Feb 13:37
Compare
Choose a tag to compare

✨ Highlights

🔒 Content Releases improvements

  • Fixes a bug that caused the release type picker to unexpectedly enter a loading state.

Other improvements

  • Scheduled Publishing is now opt-in. Workspaces that have used it before will retain access, while new users must enable it explicitly.
  • Improved nav bar responsiveness.

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
Carolina Gonzalez feat(cli): add deploy command for non-studio applications (#8592) d315921
Pedro Bonamin fix(core): archive and delete release dialogs revised (#8694) 86a2586
Pedro Bonamin fix(core): add api version config to observeDocuments (#8697) 7c8b849
Pedro Bonamin fix(core): hide schedule publishing if not used and not enabled by users (#8594) 2e31cdc
Ash feat(sanity): allow releases to be created using past publication time (#8678) f9168b9
Pedro Bonamin feat(core): updates archived releases overview (#8677) 2220cc0
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.14.0 (#8706) 3fe9584
RitaDias refactor(core): update managing permissions 2 (#8700) 0632832
renovate[bot] chore(deps): update dependency lerna to ^8.2.0 (#8704) c9fbe4f
Bjørge Næss fix: switch to dated api version for releases (#8676) c704980
Jordan Lawrence fix(core): handling cases where no dependencies are passed to a resourceCache value set (#8702) a3825bf
RitaDias refactor(core): update dependencies array after fix pushed (#8709) b102e1a
Pedro Bonamin feat(structure): add unpublish document as part of a release banner (#8681) de8b517
RitaDias fix(core): update responsive design on navbar (#8708) 400cebd
Ash fix(sanity): prevent unexpected release type picker mutation (#8701) 2693a76
Ash fix(sanity): discard draft permission check (#8711) e226ca4

v3.76.1

18 Feb 16:39
Compare
Choose a tag to compare

🐛 Notable bugfixes

  • Fixes automatic type inference with @sanity/client

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
Pedro Bonamin fix(core): revise wording for releases schedule actions (#8692) 0ecb3d6
Sindre Gulseth Revert "feat(typegen): sanity typegen Whitespace Handling in Query Output (#8648)" 0f960d1

v3.76.0

18 Feb 14:58
Compare
Choose a tag to compare

✨ Highlights

🔒 Content Releases improvements

Fixed multiple permission-related issues across Content Releases:

  • Document actions (discard version and unpublish) now properly respect user permissions
  • Action menus and buttons for creating releases and discarding versions follow permission settings
  • Release title and description editing honors role-based permissions
  • Document search within releases properly filters based on user permissions
  • Archive, unarchive, and delete operations now respect user permission levels

✍️ Portable Text Editor enhancements

Added additional Markdown shortcuts in Portable Text Editor:

**text** or __text__ for bold (maps to 'strong' decorator)
*text* or _text_ for italic (maps to 'em' decorator)

🛠️ Other technical improvements

  • TypeGen: Implemented consistent file sorting for generated types and cleaned up unnecessary trailing whitespaces

    • Note: First run after upgrade may produce different results due to previous sorting inconsistencies
    • Special thanks to community contributor @ChrisNolan!
  • Fixed document template initialization bug

    • Prevents initial value parameters from persisting between document navigation
    • Special thanks to community contributor @mariusGundersen!
  • Improved performance for complex schema structures

    • Resolved crash issues when rendering document lists with deeply nested schemas
    • Special thanks to community contributor @nikaspran!

🐛 Other Bug Fixes

  • Fixed error in release activity panel when retrieving edit events
  • Resolved issue with initial value template parameters persisting between documents

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
Espen Hovlandsdal fix(structure): avoid spreading key into props, pass explicitly (#8580) 8ad369b
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.33.0 (#8596) 54700f1
renovate[bot] fix(deps): update dependency @sanity/client to ^6.28.0 (#8599) 36bd70d
renovate[bot] chore(deps): update dependency turbo to ^2.4.1 (#8600) 419dbd5
Cody Olsen fix(docs): replace previewDrafts with drafts (#8601) 240b210
renovate[bot] fix(deps): update dependency @portabletext/block-tools to ^1.1.7 (#8604) 2d4b11d
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.33.1 (#8606) ec0932a
renovate[bot] fix(deps): Update dev-non-major (#8582) dc897c0
Christian Grøngaard feat(core): add default bold/italic markdown shortcuts to PTE (#8602) b360e18
renovate[bot] fix(deps): Update dev-non-major (#8608) 4fd8960
Christian Grøngaard test(efps): avoid bolding start and end markers (#8611) 9a93bdb
renovate[bot] chore(deps): lock file maintenance (#8613) cd29252
RitaDias fix(core): add permissions limitation to document actions in releases (#8603) 4750d9c
Jordan Lawrence feat: updating document count for release overview cells (#8576) 2862dec
Marius Gundersen fix(structure): don't modify EMPTY_PARAMS object (#8605) 9454c46
Sindre Gulseth feat(typegen): glob for files synchronously for deterministic result 2cacc01
Jordan Lawrence docs(core): exposing usePerspective and updating tsDoc (#8528) 685a6da
Bjørge Næss chore: update social badge in readme (#8617) 21158d4
Jordan Lawrence fix(core): create new doc button tooltip updated for when perspective is published and not a release (#8616) de19f20
RitaDias fix(core): update releases permissions for main release action (#8588) b64c8aa
Ash fix(sanity): apply recursion fix to deriveSearchWeightsFromType2024 21010c6
Jordan Lawrence fix: release action dialog fixes; release overview style (#8619) 6070f1b
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.33.2 (#8615) c89d581
Cody Olsen chore: use useEffectEvent aware linting (#8625) 8f858d6
Jordan Lawrence fix(releases): improvements to archive release detail (#8597) 3a9727b
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.33.3 (#8627) d523304
Pedro Bonamin fix(core): in release documents rows only show errors count (#8628) d2cd442
Ash chore(sanity): update release time tooltip (#8629) 1c9a9ff
Jordan Lawrence chore: improving type definition for useProjectSubscriptions (#8626) 44d78b1
Pedro Bonamin fix(core): releases edit events error when calculating differences (#8632) 926b8ba
Pedro Bonamin fix(core): change publish now release action wording (#8636) df45eef
Pedro Bonamin fix(core): simplify pin release button on release detail screen (#8635) 5054ee3
RitaDias fix(core): add permission limitation for create release (#8623) e4188c3
Christian Grøngaard refactor(core): use EventListenerPlugin in PortableTextInput (#8640) 060a022
RC Maples chore(sanity): fix intent params links (#8641) ba9cd2f
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.33.4 (#8642) 9d70e1e
Carolina Gonzalez feat(cli): select org and add to sanity.cli.ts on initialization (#8573) 12743ad
Eoin Falconer chore: update pnpm-lock.yaml f99df5a
Bjørge Næss chore: fix package.json formatting (#8652) b550bec
renovate[bot] chore(deps): update dev-non-major (#8633) 8bc21fa
renovate[bot] fix(deps): update dependency @sanity/client to ^6.28.0 (#8653) 8dc9171
ecospark[bot] fix(deps): update React Compiler dependencies 🤖 ✨ (#8657) 1067214
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#8659) 0555446
renovate[bot] fix(deps): update dependency @sanity/icons to ^3.6.0 (#8634) b6e9d4c
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.33.5 (#8660) 6d82661
renovate[bot] fix(deps): update dependency react-rx to ^4.1.20 (#8662) 9340db1
renovate[bot] chore(lockfile): update dependency framer-motion to v12.4.3 (#8581) feedc84
RitaDias fix(core): fix resolveLiveEdit name (#8658) d34dca8
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.13.3 (#8631) 635149b
renovate[bot] chore(deps): update dev-non-major (#8664) a8240be
Ash feat(sanity): add granular release error icons to global switcher (#8661) 3789c98
renovate[bot] chore(lockfile): update dependency framer-motion to v12.4.3 (#8665) dc2d261
Jordan Lawrence fix(releases): handling cases where no create release permissions whilst at limit of release in project (#8644) 37846d5
RitaDias refactor(core): prevent updating release title and description if the user doesn't have permissions (#8656) aaf2dda
RitaDias fix(core): add permission limitation for adding new version in the release details search (#8637) 4ec1bc8
renovate[bot] chore(deps): update dependency @sanity/visual-editing-csm to ^2.0.5 (#8666) b344de9
renovate[bot] fix(deps): update dependency @sanity/insert-menu to v1.1.2 (#8668) 809d262
renovate[bot] fix(deps): update dependency @sanity/presentation-comlink to ^1.0.7 (#8669) d2127d2
renovate[bot] fix(deps): Update dev-non-major (#8667) 5b0f4c2
renovate[bot] chore(deps): lock file maintenance (#8673) 7c0b096
RitaDias fix(core): update permissions on release actions (#8607) d435926
renovate[bot] fix(deps): update dependency @portabletext/block-tools to ^1.1.8 (#8670) b3b9e51
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.13.4 (#8672) d57a94f
Cody Olsen chore: swap to ubuntu-latest (#8675) e7e8c31
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.33.6 (#8671) e28eacb
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#8684) 7f54f34
Ash chore(studio-e2e-testing): enable releases 00ca19e
Ash feat(sanity): skip strengthen-on-publish process for documents inside a release 5608954
Ash feat(sanity): remove strengthen-on-publish fields when creating a version of a document fb9df5d
Pedro Bonamin fix(core): clarify 'discard version' message for better understanding (#8683) bc9ec77
Pedro Bonamin fix(core): remove activity panel borders (#8680) 82c995d
Pedro Bonamin fix(core): infer archive, unarchive and publish from release translog (#8679) 01047a9
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.13.5 (#8690) 4869aba
Bjørge Næss refactor: pass includeAllVersions to listeners (#8674) d74e9d7
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.34.0 (#8687) 6d008a7
Ash fix(sanity): allow patching via handleChange in Create-linked documents (#8691) 716b2ea
Bjørge Næss refactor(telemetry): log workspace and dataset names (#8688) 95aea85
Chris Nolan.ca feat(typegen): sanity typegen Whitespace Handling in Query Output (#8648) df7bf58
RitaDias refactor(core): remove publish2 and confirm-2 (#8685) 8fb3f7f

v3.75.1

15 Feb 21:54
Compare
Choose a tag to compare

Released 3.75.1

🐛 Notable bugfixes

  • Updated the @sanity/ui package version to pull in fix. This is a fix to address an issue experienced whereby a framer-motion patch version caused visible warnings to show on studio interactions. This is resolved in the @sanity/ui package.

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
Eoin Falconer fix: bump sanity ui (#8649) e3f78d6

v3.75.0

11 Feb 17:19
Compare
Choose a tag to compare

🐛 Notable bugfixes

We have fixed the following:

  • An issue in which document list previews using version documents was not showing the correct data.
  • An issue where some local states were not updating accordingly when switching Content Releases in the dashboard.
  • An issue with incorrect titles shown in when discarding or un-publishing a document inside a release.
  • An edge case where Vite dev server error handling could fail due to improper checking.
  • Removes the motion() is deprecated. Use motion.create() instead warnings in the console.
  • Removes the deprecated textSearch strategy.
  • Updated translations for error messages in Content Releases.

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] chore(deps): update pnpm to v9.15.5 (#8498) 7b33df8
Bjørge Næss chore: upgrade vitest to v3 (#8371) f615dc1
Bjørge Næss chore(e2e): retry e2e tests when running in CI (#8501) 0fc2ef4
Jordan Lawrence chore: restricting scheduled release UI (#8506) fc281fd
Magnus Holm test: enable test coverage (#7789) 2851af0
Pedro Bonamin fix(core): use vX for observeFields when querying for version docs (#8509) d582716
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.30.3 (#8508) a6bd3af
Carolina Gonzalez feat(cli): add non-studio app template (#8394) 0d4e40d
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.30.4 (#8512) 4e263d4
Bjørge Næss chore(test): add node 22 to test matrix (#8502) b7803d0
renovate[bot] chore(deps): update dependency styled-components to ^6.1.15 (#8517) e3287f8
Jordan Lawrence fix(releases): timezone fixes in content releases (#8514) 79312c7
Bjørge Næss refactor(vision): simplify perspective handling, no default perspective (#8516) 9a59b61
Snorre Eskeland Brekke fix: ensures comments permission check only requests project memberships once (#8513) 966e97a
Espen Hovlandsdal fix(deps): swap sanity-diff-patch with @sanity/diff-patch (#8503) 9c937d1
Bjørge Næss fix(releases): change usage of versionsOf to versionOf (#8522) fc50316
renovate[bot] chore(lockfile): update dependency framer-motion to v12.3.1 (#8505) 9ffb28c
Christian Grøngaard fix(core): use MarkdownPlugin instead of behaviors={[...]} (#8473) a91c165
Ash test(sanity): add toMatchEmissions matcher (#8519) be0fcc9
renovate[bot] chore(lockfile): update dependency styled-components to v6.1.15 (#8518) eb7c775
Pedro Bonamin fix(core): reset all releaseDetail states when switching the release (#8530) 8e033dc
Ash test(sanity): add toMatchEmissions matcher 2a0f78f
Ash test(sanity): add activeUndecidedErrorRelease fixture 06e7509
Ash feat(sanity): load release document error field d9c341e
Ash feat(sanity): add error count to releases store 7ee17ee
Ash feat(sanity): add release tool error indicator 2fa184c
Ash feat(sanity): add release error indicators to ReleasesOverview a346f6d
Ash feat(sanity): add release error details to ReleaseDashboardDetails e728372
Pedro Bonamin chore(core): updates release create modal title (#8531) ce97b03
renovate[bot] chore(lockfile): update dependency styled-components to v6.1.15 (#8534) c768dcb
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#8533) 773b2fd
renovate[bot] chore(deps): update dependency @sanity/visual-editing-csm to ^2.0.3 (#8537) fda9db7
renovate[bot] fix(deps): update dependency @portabletext/block-tools to ^1.1.6 (#8507) 0e1afe6
renovate[bot] fix(deps): update dependency @sanity/insert-menu to v1.1.0 (#8538) 4fb557b
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.12.1 (#8529) 2634e16
Cody Olsen chore: update compiler warnings counter (#8535) 2343cd3
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.30.6 (#8526) 8de1591
Cody Olsen fix: handle motion() deprecation warning (#8536) 7ea2eb3
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.31.0 (#8540) 1ffa00a
renovate[bot] fix(deps): update dependency @sanity/presentation-comlink to ^1.0.5 (#8541) 8f00881
renovate[bot] chore(deps): update dev-non-major (#8539) 41419b4
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.12.2 (#8542) b68186a
RitaDias fix(deps): update plugin-mux dependency in test and studio-e2-testing (#8520) b3a95e2
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#8543) aed48ae
Pedro Bonamin fix(core): add breathing space for release create button in picker (#8546) 310c523
Pedro Bonamin chore(core): assign releases codeowners to studio-app (#8532) 8e4ebe8
Cody Olsen chore: test larger gh runners (#8545) d8b4e6c
renovate[bot] chore(deps): pin amannn/action-semantic-pull-request action to 0723387 (#8547) 9de48dd
renovate[bot] chore(deps): pin davelosert/vitest-coverage-report-action action to 5a78cb1 (#8548) 4f36085
renovate[bot] chore(deps): update peter-evans/create-pull-request digest to 67ccf78 (#8549) ffd8d96
renovate[bot] chore(deps): lock file maintenance (#8550) c3ae8ea
ecospark[bot] chore(prettier): fix unformatted files 🤖 ✨ (#8551) d8d027c
Pedro Bonamin fix(core): use preview value title when unpublishing or discarding a document (#8544) d64c159
renovate[bot] chore(deps): update playwright monorepo to v1.50.1 (#8552) 1e4d282
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.31.2 (#8556) 927ee85
renovate[bot] chore(deps): update dependency @sanity/visual-editing-csm to ^2.0.4 (#8558) c32de8f
renovate[bot] fix(deps): update dependency @sanity/presentation-comlink to ^1.0.6 (#8561) 2908687
ecospark[bot] fix(deps): update React Compiler dependencies 🤖 ✨ (#8562) 7fd0330
renovate[bot] fix(deps): update dependency @sanity/insert-menu to v1.1.1 (#8560) b87e110
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#8564) a776512
renovate[bot] fix(deps): update dependency react-rx to ^4.1.19 (#8566) 3ab2271
renovate[bot] fix(deps): Update dev-non-major (#8563) b1b5d75
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.12.3 (#8565) 7ee74d6
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#8567) 85c0379
Cody Olsen fix(CI): update playwright cache on CI consistently (#8559) f660657
renovate[bot] chore(deps): update dependency vite to ^6.1.0 (#8568) d1e08dd
Pedro Bonamin fix(core): removes deprecated textSearch strategy (#8524) bcef9d7
Bjørge Næss ci: move back to ubuntu-latest for e2e-ct tests (#8572) 6d9f5b3
Jordan Lawrence feat(releases): using publishedAt to present publish time for past releases (#8553) 595b8b8
Pedro Bonamin fix(core): incorrect status indicator color for undecided releases (#8571) 19d1bc3
renovate[bot] chore(deps): lock file maintenance (#8578) 12dee1b
ecospark[bot] chore(prettier): fix unformatted files 🤖 ✨ (#8583) 07d6e78
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.32.0 (#8575) d517632
RitaDias chore(core): update message to be schedule or publish error (#8569) 2ba4b9d
Jordan Lawrence feat: creating new scheduled release defaults time to start of next hour (#8577) 224a4e5
Bjørge Næss test(cli): add retry for cli tests (#8574) 824c791
Ash feat(sanity): add Core UI bridge script (#8523) 8e1ed89
Jordan Lawrence refactor(releases): removing redundant release details view screen conditions (#8579) 4fd4cd9
Bjørge Næss test(playwright-ct): bump number of retries for playwright ct tests (#8589) a9a1b95
Bjørge Næss fix(sanity): don't show Live edit badge for versions (#8593) df6bcdb
Bjørge Næss fix(sanity): use raw as default perspective (#8586) 4371559
Binoy Patel fix(core): adds proper check for vite dev server stop (#8584) b229295
Binoy Patel fix: add missing tags for listen queries (#8595) e9d9b1f

v3.74.1

05 Feb 16:17
Compare
Choose a tag to compare

🐛 Notable bugfixes

  • Fixes a regression in the Portable Text Input, introduced in 3.68.0, that potentially could lead to data loss when user input was entered concurrently with incoming changes being streamed into the input, e.g., from AI Assist or from a team member working on the same input.

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 @portabletext/editor to ^1.30.3 (#8508) 3d25456

v3.74.0

04 Feb 18:37
Compare
Choose a tag to compare

✨ Highlights

UI improvements in studio and structure

1. Switch between drafts and published perspectives in the editor

Previously, your drafted changes to an already published document would always be present when viewing that document in the studio, and there was no simple way of viewing the document in its published state. As of this release, the studio editor pane supports switching between the published and drafts perspectives, to quickly eyeball what’s changed.
01

2. Browse your studio in published perspective

The default mode in the studio is unchanged - all existing drafts appear alongside published documents. When working on a single document, you’ll see your drafted changes rather than the last published version. This is the drafts perspective.

Switching to the published perspective (via the perspective switcher at the top of the editor pane) updates the studio’s top navigation bar to green, indicating that you are now viewing only published documents in their last published state. Please note that while the published perspective is active, your documents will be in read-only mode, unless they are configured to be live-editable.

You can continue navigating the studio in this mode, ensuring you see only content that is currently live, or switch back to the default drafts perspective to see all pending changes.
02

3. Global perspective switcher

You can also change between the published or drafts perspective from the switcher at the right side of the studio top navigation bar.

This will also be used by Presentation when previewing content inside the studio, the built in picker has been removed

03

4. Click document footer status bar to open history pane

The document History pane has always been available by accessing the ellipsis menu at the top of the document editor pane. From now on, you can also access this view by clicking the document status in the footer of the editor pane.
04

5 Perspective-aware History pane

The History pane now adapts to show information about the relevant document in the currently selected perspective. While in published mode, any changes since the last published state are omitted.

05

To see all pending changes in the History pane, toggle back to the drafts perspective.

05 1

📓 Full changelog

Author Message Commit
Jordan Lawrence, Rita Dias, Pedro Bonamin, Ash Stevens, Cody Olsen, Robin Neatherway, Marius Lundgård, Bjørge Næss feat: content releases (#8454) e485525
renovate[bot] chore(deps): update dependency turbo to ^2.4.0 (#8500) 2d2df51
Pedro Bonamin fix(core): show accurate history for live-edit documents (#8497) ccb2a4f

v3.73.0

04 Feb 13:45
Compare
Choose a tag to compare

✨ Highlights

Presentation tool is now using Sanity Live Content API

The Presentation tool is now using Sanity Live Content API to drive Live Mode in integrations like @sanity/react-loader, @sanity/svelte-loader, @nuxtjs/sanity and @sanity/core-loader.
The new setup allows query refetching to only happen when actually needed, as opposed to every two seconds.
Why was fetching happening every two seconds before?
This aggressive polling was in place to capture changes that couldn’t be reliably predicted client-side using Content Source Maps/CSM. The goal was to ensure that such changes were detected and that eventual consistency was maintained in the live preview.

  • count(*[_type == "person" && isPublished])
    For the client to know when this query count will change it would need to monitor every person document and if isPublished is true. This doesn't scale.
  • *[slug.current == "discounted"]
    If any document is given the slug discounted, the query needs to refetch. The client would need to monitor every single document mutation in the dataset and check if a new document now has the slug, as well as check if any fields on the current matching document has changed, or if the matching document got deleted and there's a fallback match, or none at all.

The gist of it is the client can't predict everything, and if it tries, it winds up using a lot of memory and perform work, just in case anything has changed.
While this over-fetching never counted towards your Sanity API hit quota, the intention has always been to move over to a better architecture.
Enter the new Sanity Live API; it's built to solve "when should a query refetch?" and it allows Presentation to rely on the backend for telling it when it needs to refetch, thus using far less memory, less network resources, and less work on the main thread.

🐛 Notable bugfixes

  • Internal document types will no longer appear in validation results in the CLI
  • Fixes an issue where write tokens were not being set in .env file after initializing a remote template
  • Fixes an issue where splitting a Portable Text block right before an inline object might cause the editor to crash
  • Fixes an issue where using Shift+Enter to insert a line break (\n) in the Portable Text input would not work as expected in Safari

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] chore(lockfile): update dependency @tanstack/react-virtual to v3.11.3 (#8432) ee48358
renovate[bot] chore(deps): update pnpm to v9.15.4 (#8435) b544969
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.11.7 (#8434) ac0f20c
renovate[bot] chore(deps): update dependency framer-motion to v12 (#8438) 465d9f2
ecospark[bot] chore(prettier): fix unformatted files 🤖 ✨ (#8439) ca0adf9
Rostislav Melkumyan fix(cli): apply write token (#8450) 11dff40
RitaDias fix(cli): fix issue where core sanity types were appearing in the validation for schemas and documents (#8445) 81a3bc6
Bjørge Næss fix: set strictRequires to auto when building auto updating studios (#8367) 01a9cd9
Bjørge Næss chore(deps): upgrade vite (back) to v6 (#8370) fdca354
Cody Olsen fix(presentation): use live content API for loaders (#8429) 86e5af8
renovate[bot] fix(deps): Update dev-non-major (#8461) 53b8009
Bjørge Næss fix(migrate): always use raw perspective for migrations (#8467) c317461
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.28.0 (#8448) 8e7c346
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.30.1 (#8479) b6ebfb7
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.30.2 (#8485) f4600d7
ecospark[bot] fix(deps): update React Compiler dependencies 🤖 ✨ (#8477) e5c8951
renovate[bot] fix(deps): update dependency @portabletext/block-tools to ^1.1.4 (#8446) 29a712c
renovate[bot] fix(deps): update dependency groq-js to ^1.15.0 (#8481) 763561c
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#8486) 5891966
renovate[bot] fix(deps): update dependency react-rx to ^4.1.18 (#8487) 0e51cbe
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.11.8 (#8488) 5cf7afc
renovate[bot] chore(deps): update dependency vitest to v2.1.9 (#8489) 60f2503
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v2.12.12 (#8493) 8f6f088

v3.72.1

28 Jan 17:05
Compare
Choose a tag to compare

🐛 Notable bugfixes

  • Fixes an issue where GraphQL union reference types caused problems in GraphQL schema generation.

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
Carolina Gonzalez fix: remove references array from GraphQL union references generation (#8436) b5b5b6e