Releases: sanity-io/sanity
v3.64.1
🐛 Notable bugfixes
- Fixes an issue in the Presentation tool where the entire iframe refreshed on data changes (rather than smoothly updating).
- Adds a
--legacy-peer-deps
flag to the automatic install ofnext-sanity
inside Next.js projects, resolving errors that occurred whensanity init
was run inside these projects.
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/insert-menu to v1.0.11 (#7802) | f770631 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.18.1 (#7803) | bcc9b2d |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.18.2 (#7808) | 07d5996 |
renovate[bot] | fix(deps): update dependency @portabletext/editor to ^1.7.1 (#7807) | 3ca838e |
renovate[bot] | fix(deps): Update dev-non-major (#7804) | dc87ef6 |
Simeon Griggs | fix: add --legacy-peer-deps to next-sanity pacakge install (#7806) | cb3739b |
v3.64.0
✨ Highlights
Sanity TypeGen improvements
Quality of life-updates to Sanity TypeGen (thanks @okj579!):
- TypeGen will no longer be confused by import statements using the pattern
export * from 'filename.ts'
- TypeGen now supports slightly more advanced types of string interpolation, like:
const query = defineQuery(`*[_type="asdf"] {
"linkA": ${linkQuery('linkA')},
}`)
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 |
---|---|---|
Christian Grøngaard | fix(core): explicitly pass randomKey(12) as the PTE keyGenerator (#7759) |
0005825 |
Binoy Patel | test(internal/cli): migrate internal cli tests to vitest and remove jest (#7745) | e5ec632 |
Owen Kieffer-Jones | feat(codegen): add support for export all | c68e298 |
Owen Kieffer-Jones | feat(codegen): fix literal function arguments and add default values | c518591 |
renovate[bot] | chore(deps): lock file maintenance (#7757) | 4d0cf68 |
renovate[bot] | fix(deps): update dependency react-rx to ^4.1.4 (#7768) | 47dba32 |
renovate[bot] | fix(deps): update dependency @portabletext/editor to ^1.5.5 (#7763) | bbcbab8 |
renovate[bot] | chore(deps): update typescript-tooling (#7762) | ecbb9dd |
Ash | chore: update Studio teams in CODEOWNERS (#7780) | f52618a |
Ash | feat: simplify search strategy configuration (#7765) | 4d8193f |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.22.3 (#7766) | 65bae66 |
renovate[bot] | fix(deps): update dependency @sanity/ui to ^2.8.21 (#7779) | 1714bb8 |
renovate[bot] | fix(deps): update dependency @sanity/mutate to ^0.10.2 (#7781) | 23fbba6 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.17.10 (#7767) | a89e00c |
renovate[bot] | fix(deps): update dependency @portabletext/editor to ^1.6.1 (#7778) | 3248f96 |
renovate[bot] | fix(deps): Update dev-non-major (#7770) | 47b50a5 |
Cody Olsen | fix(deps): upgrade @sanity/ui to 2.8.22 (#7783) |
23ca786 |
Robin Pyon | fix: create integration copy + layout updates (#7787) | 4807d52 |
renovate[bot] | chore(deps): update typescript-tooling (#7791) | f50d68d |
renovate[bot] | fix(deps): Update dev-non-major (#7784) | 92cfeb2 |
renovate[bot] | fix(deps): update dependency react-rx to ^4.1.5 (#7792) | 95301c2 |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.22.4 (#7785) | 335e74c |
renovate[bot] | fix(deps): update dependency @sanity/ui to ^2.8.23 (#7790) | b10d030 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.18.0 (#7794) | ac4c8b4 |
Pedro Bonamin | fix(core): update upsell description list items (#7793) | 1a48572 |
renovate[bot] | fix(deps): Update dev-non-major (#7796) | e52ea6a |
renovate[bot] | fix(deps): update dependency @portabletext/editor to ^1.7.0 (#7800) | d0194fc |
renovate[bot] | fix(deps): update dependency @portabletext/editor to ^1.7.0 (#7799) | 5d85b3c |
v3.63.0
✨ 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
✨ 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
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
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
- Adds a CLI warning and documentation link for projects using Next.js 15 with React 19. Visit https://www.sanity.io/help/react-19 to learn more.
📓 Full changelog
Author | Message | Commit |
---|---|---|
Pedro Bonamin | feat(cli): add warning and docs for react-19 and Next.Js (#7660) | 00acdbb |
v3.62.0
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
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
✨ 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
🐛 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 |