Skip to content

chore(deps): batch pending Renovate dependency updates - #1881

Merged
stipsan merged 14 commits into
mainfrom
cursor/batch-dependency-updates-806e
Aug 11, 2026
Merged

stipsan merged 14 commits into
mainfrom
cursor/batch-dependency-updates-806e

Conversation

@stipsan

@stipsan stipsan commented Aug 11, 2026 •

Copy link
Copy Markdown
Member

Combines the open Renovate dependency update PRs below into a single install/lockfile pass so they can land together without serial merge conflicts.

Included PRs

Additional bumps

  • @vitejs/devtools, @vitejs/devtools-oxc, @vitejs/devtools-rolldown, @vitejs/devtools-vite → ^0.4.12
  • @types/lodash → ^4.17.25 (@types/lodash-es already at latest ^4.17.12)
  • axios → ^1.19.0
  • @sanity/ailf → ^7.36.0 (presets devDependency only; no changeset)

Changeset policy

  • One combined changeset for @sanity/ui (deps-batch-sanity-ui.md) covering UI-only dependents.
  • Packages with additional bumps keep a single per-package changeset (including @sanity/ui when applicable).
  • styled-components catalog bumps do not get changesets.
  • Catalog bumps that warrant changesets are covered for every published dependent:
    • nanoid → cloudinary, media
    • groq → media
    • @sanity/util → document-internationalization, hierarchical-document-list, naive-html-serializer, documents-pane, hotspot-array, internationalized-array, translations-tab
    • @sanity/schema / @sanity/mutator / @sanity/client / Portable Text packages covered on their published dependents
Open in Web Open in Cursor 

Combine open Renovate PRs into a single update pass covering catalog
bumps (Sanity, Portable Text, tooling, styled-components, etc.) and
direct package dependency updates, with per-plugin changesets.
@changeset-bot

changeset-bot Bot commented Aug 11, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 10bc872

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 46 packages
Name Type
@sanity/assist Patch
@sanity/block-insert-picker Patch
@sanity/code-input Patch
@sanity/cross-dataset-duplicator Patch
@sanity/debug-live-sync-tags Patch
@sanity/document-internationalization Patch
@sanity/hierarchical-document-list Patch
sanity-naive-html-serializer Patch
@sanity/orderable-document-list Patch
sanity-plugin-cloudinary Patch
sanity-plugin-documents-pane Patch
sanity-plugin-hotspot-array Patch
sanity-plugin-internationalized-array Patch
@sanity/plugin-kit Patch
sanity-plugin-markdown Patch
sanity-plugin-media Patch
sanity-plugin-mux-input Patch
sanity-plugin-shopify-assets Patch
sanity-plugin-workflow Patch
sanity-translations-tab Patch
@sanity/color-input Patch
@sanity/dashboard Patch
@sanity/embeddings-index-ui Patch
@sanity/form-toolkit Patch
@sanity/google-maps-input Patch
@sanity/language-filter Patch
@sanity/personalization-plugin Patch
@sanity/rich-date-input Patch
@sanity/sanity-plugin-async-list Patch
@sanity/sfcc Patch
@sanity/studio-secrets Patch
@sanity/table Patch
sanity-plugin-aprimo Patch
sanity-plugin-asset-source-unsplash Patch
sanity-plugin-bynder-input Patch
sanity-plugin-dashboard-widget-document-list Patch
sanity-plugin-dashboard-widget-netlify Patch
sanity-plugin-dashboard-widget-vercel Patch
sanity-plugin-google-translate Patch
sanity-plugin-graph-view Patch
sanity-plugin-iframe-pane Patch
sanity-plugin-utils Patch
sanity-plugin-workspace-home Patch
@sanity/vercel-protection-bypass Patch
sanity-plugin-studio-smartling Patch
sanity-plugin-transifex Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Aug 11, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
plugins-studio Ready Ready Preview Aug 11, 2026 1:05pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
plugins-e2e-test-studio Ignored Ignored Aug 11, 2026 1:05pm

Request Review

@stipsan stipsan added the 🤖 bot label Aug 11, 2026 — with Cursor
Consolidate the batched dependency update changesets so each published
package has a single patch entry covering all of its bumps.
Bump @vitejs/devtools packages, @types/lodash, axios, and @sanity/ailf.
Replace styled-components-only changesets with per-package @sanity/ui
patch entries (styled-components catalog bump no longer gets changesets).
Resolve lockfile conflict from #1880 dedupe by regenerating with
pnpm install after merging package manifests.
@github-actions

github-actions Bot commented Aug 11, 2026 •

Copy link
Copy Markdown

✅ E2E Tests

🟢 26 passed • view full report • view run

Studio: https://plugins-e2e-test-studio-coo9q6xbr.sanity.dev

Datasets: pr-1881-chromium-31494211587, pr-1881-firefox-31494211587

Collapse UI-only dependents into one combined @sanity/ui changeset.
Ensure nanoid, groq, and @sanity/util catalog bumps each have
changeset coverage for every published dependent.
Cover published @sanity/schema dependents (assist, naive-html-serializer)
and keep one changeset per workspace package.
Cover all published @sanity/mutator dependents with per-package
changesets (assist, cross-dataset-duplicator, document-internationalization,
hierarchical-document-list, naive-html-serializer).
Cover all published @sanity/client dependents with per-package
changesets.
Cover sanity-naive-html-serializer and sanity-translations-tab for the
@portabletext/to-html and @portabletext/block-tools catalog bumps.
- Align assist memoization deps with React Compiler expectations
- Avoid exhaustive-deps suppressions that trip oxlint 1.78
- Fix mux-input withFocusRing typing under styled-components 6.5
- Override tsx to the catalog version to keep a single vite types instance
Resolve catalog/lockfile conflicts, keep remaining batch bumps, and
narrow the plugin-kit changeset to oxlint (oxfmt covered by #1835).
@sanity/pkg-utils v12 removed the extract option; the init scaffold now
emits tsdoc rules so oxlint/type-checking of generated configs succeeds.
@stipsan
stipsan marked this pull request as ready for review August 11, 2026 12:56
Copilot AI lite review requested due to automatic review settings August 11, 2026 12:56
@stipsan
stipsan requested review from a team as code owners August 11, 2026 12:56
@stipsan
stipsan requested review from pedrobonamin and removed request for a team August 11, 2026 12:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Batch-rollup of multiple pending Renovate dependency updates across the monorepo to reduce lockfile churn/merge conflicts, with corresponding per-package changesets where required.

Changes:

  • Updated workspace catalog versions and select package-level dependencies (Sanity, UI, tooling, and assorted library bumps).
  • Refreshed/normalized some code formatting and React hook dependency arrays to satisfy updated lint/tooling behavior.
  • Added changesets to record dependency bumps for affected published packages (including a combined @sanity/ui dependents changeset).

Reviewed changes

Copilot reviewed 45 out of 46 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
turbo/generators/package.json Bump @turbo/gen to 2.10.9.
scripts/trigger-triage/src/triage.test.ts Formatting-only adjustments in tests.
scripts/trigger-triage/src/archive.test.ts Formatting-only adjustments in tests.
pnpm-workspace.yaml Catalog bumps + tsx override to keep a single resolved version.
plugins/sanity-plugin-workflow/package.json Bump @tanstack/react-virtual to ^3.14.9.
plugins/sanity-plugin-shopify-assets/package.json Bump axios to ^1.19.0.
plugins/sanity-plugin-mux-input/src/components/withFocusRing/withFocusRing.ts Refactor focus-ring HOC typing/style usage.
plugins/sanity-plugin-mux-input/package.json Bump @types/lodash to ^4.17.25.
plugins/sanity-plugin-media/src/modules/selectors.ts Formatting-only adjustment in selector mapping.
plugins/sanity-plugin-media/package.json Bump @testing-library/user-event to ^14.6.3.
plugins/@sanity/presets/package.json Bump @sanity/ailf to ^7.36.0.
plugins/@sanity/hierarchical-document-list/package.json Bump @nosferatu500/react-sortable-tree to ^5.1.0.
plugins/@sanity/google-maps-input/package.json Bump @types/google.maps to ^3.65.5.
plugins/@sanity/code-input/package.json Bump CodeMirror packages to latest patch versions.
plugins/@sanity/block-insert-picker/package.json Bump @portabletext/plugin-input-rule to ^6.0.15.
plugins/@sanity/assist/src/fieldActions/customFieldActions.tsx Adjust hook deps / remove lint-disable comments.
plugins/@sanity/assist/src/assistLayout/RunInstructionProvider.tsx Adjust hook deps / remove lint-disable comments.
plugins/@sanity/assist/src/assistDocument/components/instruction/PromptInput.tsx One-time conversion effect refactor to avoid exhaustive-deps disables.
plugins/@sanity/assist/src/assistDocument/components/AssistDocumentForm.tsx Formatting-only adjustment in map call.
packages/@sanity/plugin-kit/src/configs/pkg-config.ts Update init template from deprecated extract to tsdoc.
package.json Bump turbo to 2.10.9 and knip to ^6.32.1.
dev/test-studio/package.json Bump @sanity/themer and Vite DevTools packages.
.changeset/deps-batch-sanity-vercel-protection-bypass.md Changeset for dependency batch affecting @sanity/vercel-protection-bypass.
.changeset/deps-batch-sanity-ui.md Combined changeset for @sanity/ui dependents.
.changeset/deps-batch-sanity-translations-tab.md Changeset for dependency batch affecting sanity-translations-tab.
.changeset/deps-batch-sanity-presets.md Changeset for dependency batch affecting @sanity/presets.
.changeset/deps-batch-sanity-plugin-workflow.md Changeset for dependency batch affecting sanity-plugin-workflow.
.changeset/deps-batch-sanity-plugin-shopify-assets.md Changeset for dependency batch affecting sanity-plugin-shopify-assets.
.changeset/deps-batch-sanity-plugin-mux-input.md Changeset for dependency batch affecting sanity-plugin-mux-input.
.changeset/deps-batch-sanity-plugin-media.md Changeset for dependency batch affecting sanity-plugin-media.
.changeset/deps-batch-sanity-plugin-markdown.md Changeset for dependency batch affecting sanity-plugin-markdown.
.changeset/deps-batch-sanity-plugin-kit.md Changeset for dependency batch affecting @sanity/plugin-kit.
.changeset/deps-batch-sanity-plugin-internationalized-array.md Changeset for dependency batch affecting sanity-plugin-internationalized-array.
.changeset/deps-batch-sanity-plugin-hotspot-array.md Changeset for dependency batch affecting sanity-plugin-hotspot-array.
.changeset/deps-batch-sanity-plugin-documents-pane.md Changeset for dependency batch affecting sanity-plugin-documents-pane.
.changeset/deps-batch-sanity-plugin-cloudinary.md Changeset for dependency batch affecting sanity-plugin-cloudinary.
.changeset/deps-batch-sanity-orderable-document-list.md Changeset for dependency batch affecting @sanity/orderable-document-list.
.changeset/deps-batch-sanity-naive-html-serializer.md Changeset for dependency batch affecting sanity-naive-html-serializer.
.changeset/deps-batch-sanity-hierarchical-document-list.md Changeset for dependency batch affecting @sanity/hierarchical-document-list.
.changeset/deps-batch-sanity-document-internationalization.md Changeset for dependency batch affecting @sanity/document-internationalization.
.changeset/deps-batch-sanity-debug-live-sync-tags.md Changeset for dependency batch affecting @sanity/debug-live-sync-tags.
.changeset/deps-batch-sanity-cross-dataset-duplicator.md Changeset for dependency batch affecting @sanity/cross-dataset-duplicator.
.changeset/deps-batch-sanity-code-input.md Changeset for dependency batch affecting @sanity/code-input.
.changeset/deps-batch-sanity-block-insert-picker.md Changeset for dependency batch affecting @sanity/block-insert-picker.
.changeset/deps-batch-sanity-assist.md Changeset for dependency batch affecting @sanity/assist.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Resolve catalog conflicts: keep motion ^13.0.0 from main and nanoid ^6.0.1
from this branch. Drop presets changeset — @sanity/ailf is a devDependency only.
Copilot AI review requested due to automatic review settings August 11, 2026 13:01
@github-actions

github-actions Bot commented Aug 11, 2026 •

Copy link
Copy Markdown

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 32.01% 5511 / 17213
🔵 Statements 31.78% 5815 / 18294
🔵 Functions 27.79% 1428 / 5137
🔵 Branches 23.33% 2828 / 12120
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
packages/@sanity/plugin-kit/src/configs/pkg-config.ts 0% 100% 0% 0% 6-31
plugins/@sanity/assist/src/assistDocument/components/instruction/PromptInput.tsx 5.88% 0% 0% 5.88% 26-75
plugins/@sanity/assist/src/assistLayout/RunInstructionProvider.tsx 2.73% 0% 0% 2.98% 38-276
plugins/@sanity/assist/src/fieldActions/customFieldActions.tsx 0% 0% 0% 0% 189-330
plugins/sanity-plugin-mux-input/src/components/withFocusRing/withFocusRing.ts 33.33% 0% 50% 33.33% 11-28
Generated in workflow #8950 for commit 10bc872 by the Vitest Coverage Report Action

Keep theme off withFocusRing public props (rely on DefaultTheme) and
clarify the init template tsdoc comment.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 40 out of 41 changed files in this pull request and generated no new comments.

Suppressed comments (2)

plugins/sanity-plugin-mux-input/src/components/withFocusRing/withFocusRing.ts:11

  • FocusRingProps incorrectly includes theme as a required prop and the styled(...) call casts the wrapped component to ComponentType<Record<string, unknown>>, which both (1) forces consumers to pass theme explicitly and (2) discards the wrapped component’s prop types. Since this package already augments styled-components DefaultTheme with Sanity UI’s theme, theme should come from styled-components and not be part of the public props.
    packages/@sanity/plugin-kit/src/configs/pkg-config.ts:22
  • The comment above tsdoc still refers to “strict export validation”, but this block now configures TSDoc/API Extractor rules (and the option name was changed from extract → tsdoc). Updating the comment will prevent confusion for users of the init template.
        // Remove this block to enable stricter TSDoc / API Extractor checks
        tsdoc: {

Copilot AI review requested due to automatic review settings August 11, 2026 13:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 40 out of 41 changed files in this pull request and generated no new comments.

Suppressed comments (1)

plugins/@sanity/assist/src/assistDocument/components/instruction/PromptInput.tsx:55

  • useOnlyInlineBlocks marks didRunRef as complete on the first effect run even when value is still empty/undefined (common during initial form hydration). If the actual field value arrives on a subsequent render, the conversion will be skipped and inline blocks may remain un-migrated.
  useEffect(() => {
    // Legacy alpha documents only need this conversion once on first load.
    if (didRunRef.current) {
      return
    }

@stipsan
stipsan merged commit 440c499 into main Aug 11, 2026
26 checks passed
@stipsan
stipsan deleted the cursor/batch-dependency-updates-806e branch August 11, 2026 13:12
@squiggler-app squiggler-app Bot mentioned this pull request Aug 11, 2026
stipsan pushed a commit that referenced this pull request Aug 11, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @sanity/plugin-kit@10.0.5

### Patch Changes

- [#1835](#1835)
[`c8bd954`](c8bd954)
Thanks [@squiggler-app](https://github.com/apps/squiggler-app)! -
fix(deps): update dependency oxfmt to ^0.63.0

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update oxlint to
^1.78.0 and migrate the init `package.config.ts` template from
deprecated `extract` to `tsdoc` for `@sanity/pkg-utils` v12
## @sanity/assist@6.1.19

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/client
to ^7.26.2, @sanity/mutator to ^6.9.1, @sanity/schema to ^6.9.1, and
@sanity/ui to ^4.0.1
## @sanity/block-insert-picker@1.0.6

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update
@portabletext/plugin-input-rule to ^6.0.15 and @sanity/ui to ^4.0.1
## @sanity/code-input@7.3.5

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update CodeMirror
packages and @sanity/ui to ^4.0.1
## @sanity/color-input@6.1.3

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## @sanity/cross-dataset-duplicator@2.1.2

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/client
to ^7.26.2, @sanity/mutator to ^6.9.1, and @sanity/ui to ^4.0.1

- Updated dependencies
[[`440c499`](440c499)]:
  - @sanity/studio-secrets@4.0.17
## @sanity/dashboard@6.0.16

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## @sanity/debug-live-sync-tags@1.0.15

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/client
to ^7.26.2 and @sanity/ui to ^4.0.1
## @sanity/document-internationalization@6.2.30

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/mutator
to ^6.9.1, @sanity/util to ^6.9.1, and @sanity/ui to ^4.0.1

- Updated dependencies
[[`440c499`](440c499)]:
  - sanity-plugin-utils@2.0.15
## @sanity/embeddings-index-ui@4.0.15

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## @sanity/form-toolkit@3.0.15

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1

- Updated dependencies
[[`440c499`](440c499)]:
  - @sanity/sanity-plugin-async-list@3.0.2
## @sanity/google-maps-input@6.1.11

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## @sanity/hierarchical-document-list@4.0.2

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update
@nosferatu500/react-sortable-tree to ^5.1.0, @sanity/mutator to ^6.9.1,
@sanity/util to ^6.9.1, and @sanity/ui to ^4.0.1
## @sanity/language-filter@5.0.16

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## @sanity/orderable-document-list@2.0.20

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/client
to ^7.26.2 and @sanity/ui to ^4.0.1

- Updated dependencies
[[`440c499`](440c499)]:
  - sanity-plugin-utils@2.0.15
## @sanity/personalization-plugin@3.1.2

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1

- Updated dependencies
[[`440c499`](440c499)]:
  - @sanity/studio-secrets@4.0.17
## @sanity/rich-date-input@4.1.4

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## @sanity/sanity-plugin-async-list@3.0.2

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1

- Updated dependencies
[[`440c499`](440c499)]:
  - @sanity/studio-secrets@4.0.17
## @sanity/sfcc@1.0.27

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## @sanity/studio-secrets@4.0.17

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## @sanity/table@3.1.14

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## @sanity/vercel-protection-bypass@5.0.21

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/client
to ^7.26.2 and @sanity/ui to ^4.0.1
## sanity-naive-html-serializer@5.1.13

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update
@portabletext/block-tools to ^5.1.14, @portabletext/to-html to ^5.0.3,
@sanity/mutator to ^6.9.1, @sanity/schema to ^6.9.1, and @sanity/util to
^6.9.1
## sanity-plugin-aprimo@2.0.18

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## sanity-plugin-asset-source-unsplash@7.0.23

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## sanity-plugin-bynder-input@5.0.4

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## sanity-plugin-cloudinary@2.1.2

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update nanoid to ^6.0.1
and @sanity/ui to ^4.0.1

- Updated dependencies
[[`440c499`](440c499)]:
  - @sanity/studio-secrets@4.0.17
## sanity-plugin-dashboard-widget-document-list@3.0.17

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## sanity-plugin-dashboard-widget-netlify@3.0.16

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## sanity-plugin-dashboard-widget-vercel@4.0.26

### Patch Changes

- [#1889](#1889)
[`27c5b19`](27c5b19)
Thanks [@squiggler-app](https://github.com/apps/squiggler-app)! -
fix(deps): update dependency react-hook-form to ^7.85.0

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## sanity-plugin-documents-pane@4.1.17

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/util to
^6.9.1 and @sanity/ui to ^4.0.1

- Updated dependencies
[[`440c499`](440c499)]:
  - sanity-plugin-utils@2.0.15
## sanity-plugin-google-translate@4.0.11

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## sanity-plugin-graph-view@5.0.21

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## sanity-plugin-hotspot-array@5.0.14

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/util to
^6.9.1 and @sanity/ui to ^4.0.1
## sanity-plugin-iframe-pane@5.0.32

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## sanity-plugin-internationalized-array@5.1.27

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/util to
^6.9.1 and @sanity/ui to ^4.0.1
## sanity-plugin-markdown@9.0.11

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/client
to ^7.26.2 and @sanity/ui to ^4.0.1
## sanity-plugin-media@6.1.3

### Patch Changes

- [#1889](#1889)
[`27c5b19`](27c5b19)
Thanks [@squiggler-app](https://github.com/apps/squiggler-app)! -
fix(deps): update dependency react-hook-form to ^7.85.0

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/client
to ^7.26.2, nanoid to ^6.0.1, groq to ^6.9.1, testing-library packages,
and @sanity/ui to ^4.0.1
## sanity-plugin-mux-input@5.0.10

### Patch Changes

- [#1887](#1887)
[`f981253`](f981253)
Thanks [@squiggler-app](https://github.com/apps/squiggler-app)! -
fix(deps): update dependency swr to ^2.5.0

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/client
to ^7.26.2 and @sanity/ui to ^4.0.1
## sanity-plugin-shopify-assets@2.0.14

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update axios to ^1.19.0
and @sanity/ui to ^4.0.1
## sanity-plugin-studio-smartling@5.0.16

### Patch Changes

- Updated dependencies
[[`440c499`](440c499)]:
  - sanity-translations-tab@6.1.19
## sanity-plugin-transifex@5.1.19

### Patch Changes

- Updated dependencies
[[`440c499`](440c499)]:
  - sanity-translations-tab@6.1.19
## sanity-plugin-utils@2.0.15

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## sanity-plugin-workflow@3.0.41

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update
@tanstack/react-virtual to ^3.14.9 and @sanity/ui to ^4.0.1

- Updated dependencies
[[`440c499`](440c499)]:
  - sanity-plugin-utils@2.0.15
## sanity-plugin-workspace-home@3.0.19

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update @sanity/ui to
^4.0.1
## sanity-translations-tab@6.1.19

### Patch Changes

- [#1881](#1881)
[`440c499`](440c499)
Thanks [@stipsan](https://github.com/stipsan)! - Update
@portabletext/block-tools to ^5.1.14, @portabletext/to-html to ^5.0.3,
@sanity/util to ^6.9.1, and @sanity/ui to ^4.0.1

- Updated dependencies
[[`440c499`](440c499)]:
  - sanity-naive-html-serializer@5.1.13

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> The diff is version/changelog churn from Changesets; behavioral risk
lives in the already-merged dependency PRs, not in new code in this PR.
> 
> **Overview**
> This PR is the **Changesets** release merge: it **removes** the
pending `.changeset/*.md` files and **bumps patch versions** across the
monorepo (`package.json` + `CHANGELOG.md` only in the diff shown).
> 
> The published notes roll up dependency work from earlier PRs—chiefly
**`@sanity/ui` ^4.0.1** across most Studio plugins, plus targeted bumps
such as **`@sanity/client` ^7.26.2**, **`@sanity/mutator` /
`@sanity/util` / `@sanity/schema` ^6.9.1**, Portable Text packages,
**CodeMirror** (`@sanity/code-input`), **nanoid** ^6, **axios** ^1.19,
**@tanstack/react-virtual**, **swr** ^2.5.0 (`sanity-plugin-mux-input`),
and **react-hook-form** ^7.85.0 (`sanity-plugin-media`,
`sanity-plugin-dashboard-widget-vercel`).
**`@sanity/plugin-kit@10.0.5`** also documents **oxfmt**, **oxlint**,
and switching the **`init` `package.config.ts` template** from
deprecated **`extract`** to **`tsdoc`** for `@sanity/pkg-utils` v12.
> 
> No plugin runtime or feature code appears in this diff—only release
metadata and version numbers for npm publish.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
987b113. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: squiggler-app[bot] <265501495+squiggler-app[bot]@users.noreply.github.com>
pedrobonamin added a commit that referenced this pull request Oct 23, 2026
… in the tree (#2246)

<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
First of three stacked PRs:

1. **This PR:** pin `@nosferatu500/react-sortable-tree` to 5.0.0 and fix
same-level moves.
2. #2251: a Playwright suite covering reordering, nesting, un-nesting
and moving a whole subtree.
3. #2253: upgrade to 7.1.0, checked by that suite.

## Summary


https://github.com/user-attachments/assets/d5bee535-58cc-4fd9-a93d-feadfe6cc0a4


Two separate bugs broke drag-and-drop in the tree.

**Nesting saved the item at the top level** (commit 1). Renovate moved
the plugin from `^5.0.0` to `^5.1.0` in #1881, and 5.1.0 has a
regression in `insertNode`. Its recursive helper spreads `...params`,
which carries `isPseudoRoot: true` into every nested level, so
`onMoveNode` always receives `nextParentNode: null`. 5.0.0 passes
explicit arguments, and 7.1.0 fixes it with `isPseudoRoot: false`. This
pins the dependency to exactly `5.0.0`. The lockfile change is
hand-edited to just the library and its `virtua` dependency (0.50.6 →
0.48.8, only used by this library), because a regular install
re-resolves the Studio `next` overrides. `pnpm install
--frozen-lockfile` accepts it, including the supply-chain checks.

**Moving an item up or down within its level snapped it back** (commit
2). This bug isn't version-specific. Since 9113861, `getNodeKey`
returns the row's `_key`, so tree paths are made of keys rather than
positions. `canDrop` rejected a drop when the new path started with the
old one, which is always true for a move within the same level
(`['charlie']` before and after). It now only rejects drops whose new
parents include the dragged row itself.

This supersedes #2245, which worked around the missing parent but left
same-level moves broken.

## Testing

#2251 adds a Playwright suite covering moving an item up and down,
nesting, un-nesting and moving an item with its children. It passes on
this branch in Chromium and Firefox. With `main`'s code (5.1.0 and the
old `canDrop`), all five scenarios fail in Chromium. `pnpm build`, `pnpm
lint`, `pnpm knip` and the plugin's Vitest project pass.
<!-- CURSOR_AGENT_PR_BODY_END -->

<div><a
href="https://cursor.com/agents/bc-010edcd6-3b41-43cc-a8a6-2b950822315b?cursor_ref=pr_footer&cursor_cta=open_in_web"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-web-light.png"><img
alt="Open in Web" width="114" height="28"
src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a>&nbsp;<a
href="https://cursor.com/background-agent?bcId=bc-010edcd6-3b41-43cc-a8a6-2b950822315b&cursor_ref=pr_footer&cursor_cta=open_in_cursor"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img
alt="Open in Cursor" width="131" height="28"
src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a>&nbsp;</div>

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Dependency pin and lockfile-only transitive changes; restores prior
nesting behavior without touching plugin application logic.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
ae56fa1. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Pedro Bonamin <pedrobonamin@users.noreply.github.com>

This branch was successfully deployed

1 active deployment
Preview – plugins-studio — 10bc8723 Deployed Aug 11, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants