Skip to content

Releases: sanity-io/sanity

v3.65.0

26 Nov 12:04
Compare
Choose a tag to compare

✨ Highlights

React Compiler Beta

The sanity and @sanity/vision packages are now precompiled with the React Compiler.
So far, 1,231 out of 1,411 components have been compiled, resulting in a 20%-30% overall reduction in render time and latency. We anticipate even greater improvements as we refactor the remaining 180 components to support auto-memoization.

For several weeks, we’ve already been shipping key packages—including our design system (@sanity/ui), the PortableText editor (@portabletext/editor), and react-rx (responsible for state management across Sanity Studio)—precompiled with the React Compiler.

We continue to see impressive results in our profiling and analysis, and with the release of React Compiler in beta we are excited to add support for auto-memoizing your own studio code:

pnpm add react-compiler-runtime@beta && pnpm add --save-dev babel-plugin-react-compiler@beta eslint-plugin-react-compiler@beta
yarn add react-compiler-runtime@beta && yarn add --save-dev babel-plugin-react-compiler@beta eslint-plugin-react-compiler@beta
npm install --save-exact react-compiler-runtime@beta && npm install --save-exact --save-dev babel-plugin-react-compiler@beta eslint-plugin-react-compiler@beta

And in your sanity.cli.ts add:

import {defineCliConfig} from 'sanity/cli'

export default defineCliConfig({
   api: {
      projectId: 'abc123',
      dataset: 'production',
   },
   reactStrictMode: true,
+  reactCompiler: {target: '18'},
})

If you decide to give the React Compiler a try make sure you share your feedback and experience using it with the Working Group!

Sanity plugin authors, provided they're using @sanity/pkg-utils, can also ship pre-compiled plugins by running:

pnpm add react-compiler-runtime@beta && pnpm add --save-dev @sanity/pkg-utils@latest babel-plugin-react-compiler@beta eslint-plugin-react-compiler@beta
yarn add react-compiler-runtime@beta && yarn add --save-dev @sanity/pkg-utils@latest babel-plugin-react-compiler@beta eslint-plugin-react-compiler@beta
npm install --save-exact react-compiler-runtime@beta && npm install --save-exact --save-dev @sanity/pkg-utils@latest babel-plugin-react-compiler@beta eslint-plugin-react-compiler@beta

and changing the package.config.ts to:

import {defineConfig} from '@sanity/pkg-utils'

export default defineConfig({
   // ...
+  babel: {reactCompiler: true},
+  reactCompilerOptions: {target: '18'},
})

History UI updates

The history inspector UI has been updated to display edits collapsed into the Published event they belong to. From and To revision selectors are added to the top of the inspector.

history

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
Cody Olsen feat: add support for React Compiler beta (#7702) 8aace40
renovate[bot] chore(lockfile): update dependency react-focus-lock to v2.13.2 (#7848) e8c7e68
renovate[bot] chore(lockfile): update dependency @sanity/asset-utils to v2.2.0 (#7847) b7b0a84
renovate[bot] chore(deps): update dependency turbo to ^2.3.0 (#7846) c52a456
Espen Hovlandsdal chore(cli): temporarily disable telemetry tests (#7845) 9b5f565
Pedro Bonamin feat(structure): History UI updates (#7462) 16532a8
Pedro Bonamin fix(core): discard announcements dialog onClickOutside (#7863) 7888272
ecospark[bot] fix(deps): update React Compiler dependencies 🤖 ✨ (#7872) 6fbae0b
Cody Olsen chore(ci): max react compiler warnings are now 79 363235e
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#7873) 1ebdc17
renovate[bot] fix(deps): update dependency react-rx to ^4.1.7 (#7874) 456187c
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.11.3 (#7865) a43bf85
Bjørge Næss fix(telemetry): log (well known) workspace and dataset names (#7859) b97d4aa
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.25 (#7876) ecce434
renovate[bot] fix(deps): Update dev-non-major (#7875) 4baafb1
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.18.5 (#7881) 00cc366
renovate[bot] fix(deps): update dependency @sanity/insert-menu to v1.0.13 (#7880) 71a5524

v3.64.3

22 Nov 11:40
Compare
Choose a tag to compare

🐛 Notable bugfixes

  • Fixes a regression introduced in v3.64.1 that caused Portable Text content to be hidden when part of a read-only document.

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.11.1 (#7861) 766548c

v3.64.2

19 Nov 16:11
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.

📓 Full changelog

Author Message Commit
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.8.0 (#7810) 8730bb0
renovate[bot] chore(deps): update typescript-tooling (#7812) da8165d
renovate[bot] fix(deps): Update dev-non-major (#7809) dff7a6c
renovate[bot] chore(lockfile): update dependency sanity-plugin-mux-input to v2.4.0 (#7814) 3d16064
renovate[bot] chore(deps): update pnpm to v9.13.1 (#7817) 42877ff
renovate[bot] chore(lockfile): update dependency @sanity/asset-utils to v2.1.0 (#7818) 4dab0b9
Pedro Bonamin fix(core): add opt out option to studioAnnouncements (#7820) 3efc59d
Pedro Bonamin chore(core): update announcements card close icon (#7822) 89b49b2
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.18.3 (#7821) 9b55123
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.10.0 (#7823) a573d22
renovate[bot] fix(deps): update dependency @sanity/insert-menu to v1.0.12 (#7825) 974d18b
Christian Grøngaard refactor(core): remove unneeded PTE event handling (#7831) f75230c
Christian Grøngaard refactor(core): remove PTE connection event handling (#7830) 962ca8c
renovate[bot] fix(deps): Update dev-non-major (#7826) 9e59750
renovate[bot] fix(deps): update dependency react-rx to ^4.1.6 (#7833) 3be6e81
renovate[bot] chore(deps): update typescript-tooling (#7836) 0a1f948
renovate[bot] fix(deps): update dependency @portabletext/editor to ^1.10.2 (#7829) b3407b8
renovate[bot] fix(deps): update dependency @sanity/client to ^6.22.5 (#7837) 2798bc9
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.8.24 (#7832) fffa658
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.18.4 (#7839) 95e3cc0
renovate[bot] fix(deps): Update dev-non-major (#7841) 22d28bc
Robin Pyon fix: update create integration copy, use correct chevron icons (#7842) 1d5d171

v3.64.1

13 Nov 22:16
Compare
Choose a tag to compare

🐛 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 of next-sanity inside Next.js projects, resolving errors that occurred when sanity 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

12 Nov 16:29
Compare
Choose a tag to compare

✨ 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

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