Skip to content

fix(deps): update sanity packages - #1864

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/sanity-packages
Open

fix(deps): update sanity packages#1864
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/sanity-packages

Conversation

@renovate

@renovate renovate Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@portabletext/react 8.0.08.0.1 age confidence
@sanity/assist (source) 6.1.196.1.21 age confidence
@sanity/client (source) 8.0.08.5.0 age confidence
@sanity/code-input (source) 7.3.57.3.8 age confidence
@sanity/preview-url-secret (source) 4.1.44.1.5 age confidence
@sanity/table (source) 3.1.143.1.16 age confidence
@sanity/vision (source) 6.9.26.12.0 age confidence
@sanity/visual-editing (source) 6.0.46.1.2 age confidence
groq (source) 6.9.26.12.0 age confidence
sanity (source) 6.9.26.12.0 age confidence

Release Notes

portabletext/react-portabletext (@​portabletext/react)

v8.0.1

Compare Source

Patch Changes
sanity-io/plugins (@​sanity/assist)

v6.1.21

Compare Source

Patch Changes
  • #​1928 3195e01 Thanks @​stipsan! - Compile React Compiler memoization with the native oxc transform (reactCompiler: {transform: 'oxc'} from @sanity/tsdown-config 0.26, backed by oxc-transform-react) instead of babel-plugin-react-compiler

v6.1.20

Compare Source

Patch Changes
sanity-io/client (@​sanity/client)

v8.5.0

Minor Changes
  • read query result types from a global SanityQueries interface (#​1319) (18313fe)

    Query result types can now be registered on a global SanityQueries interface, which the SanityQueries interface exported from @sanity/client inherits from. client.fetch, ClientReturn and ClientReturnStega resolve registrations made either way, so the declare module '@sanity/client' augmentation that Sanity TypeGen has emitted so far keeps working unchanged. The global registry does not depend on module resolution: it is seen whether or not @sanity/client is a direct dependency of the generated file, however many copies of the client are installed, and from every entry point including @sanity/client/stega.

Patch Changes

v8.4.0

Compare Source

Minor Changes
  • add description field to dataset (#​1182) (027be06)
  • add client.context with knowledge bases, builds, triage, telemetry, and GROQ reads (#​1276) (1e991a7)
Patch Changes

v8.3.0

Compare Source

Minor Changes
  • invoke functions synchronously or asynchronously (#​1295) (d1667c7)

    client.functions.invoke() now takes an options argument and accepts sanity.function.durable
    and sanity.function.queue functions alongside sanity.function.pubsub.

    By default the invocation is queued: the call resolves with undefined as soon as the
    service accepts it, without waiting for the function to run. Pass {sync: true} to keep the
    request open until the function finishes and resolve with its return value — that adds a
    ?sync=true query parameter to the invoke request, and remains limited to
    sanity.function.pubsub.

    // Async — resolves once accepted, with no return value.
    await client.functions.invoke("my-func", {
      event: { data: { hello: "world" } },
    });
    
    // Sync — resolves with whatever the function returns.
    const result = await client.functions.invoke<Result>(
      "my-func",
      { event: { data: { hello: "world" } } },
      { sync: true }
    );

    The return type follows the option: a call with {sync: true} resolves with R, while an async
    call resolves with undefined. Callers who pass an explicit type argument without {sync: true}
    keep the previous R | undefined shape.

  • collaboration: resolve comment range from optional fieldValue (#​1299) (88073e6)

v8.2.0

Compare Source

Minor Changes
  • add collaboration comments client (@alpha) (#​1235) (5906f72)

  • add variant actions (#​1279) (dd25720)

    Adds CreateVariantAction, EditVariantAction, DeleteVariantAction, PublishVariantAction and
    UnpublishVariantAction, along with a VariantAction union, covering the
    sanity.action.document.variant.* actions. They are included in the Action union, so
    client.action() accepts them.

    Each action addresses a variant document by the publishedId, variantId and bundleId triple
    rather than by document ID, since the API derives the document ID from those three values.

    Note that Action widening is a breaking change for code that exhaustively switches on
    Action['actionType'] with a never fallthrough, which will need to handle the new cases.

v8.1.0

Compare Source

Minor Changes
  • add client.functions.invoke() for calling deployed functions on demand (#​1258) (4c2f718)

    Invoke a Sanity Pubsub Function by the name. Only sanity.function.pubsub functions can be
    invoked on demand.

    Available in two forms, client.functions.invoke() resolves with the function's return value, client.observable.functions.invoke() emits it and accepts an event.data payload,
    a per-call timeout and an AbortSignal.

    Names are only unique within a stack, so resolving one requires a stackId, either from the new
    stackId client config option or from the request. That resolution costs one extra request per
    call. A function that returns nothing resolves to undefined.

    Stacks deployed at organization scope are reached with the new organizationId client config
    option, or a per-call organizationId. It takes precedence over projectId, which becomes
    optional in that case.

  • add request handler for client integrations (#​1286) (a9db52f)

  • add variant definition actions (#​1278) (7c98361)

    Adds CreateVariantDefinitionAction, EditVariantDefinitionAction and
    DeleteVariantDefinitionAction, along with a VariantDefinitionAction union, covering the
    sanity.action.variant.definition.* actions. They are included in the Action union, so
    client.action() accepts them.

    Note that Action widening is a breaking change for code that exhaustively switches on
    Action['actionType'] with a never fallthrough, which will need to handle the new cases.

Patch Changes
  • route the live-events CORS probe through the configured transport (#​1282) (aaada67)

    The /check/cors probe that client.live.events() uses to distinguish a CORS
    rejection from other connection failures called the global fetch directly, so
    a custom resolveFetch or an explicit proxy was not applied to it. It now
    resolves the same fetch the EventSource connection uses.

  • reword the createVersion() warning about baseId (#​1282) (aaada67)

    createVersion({document}) warned that "the recommended approach is to provide a baseId and releaseId instead", which reads as a correction even when the caller had no other option: baseId creates a version of a document that already exists, so creating a genuinely new document inside a release can only be done by passing document.

    The client cannot tell those two cases apart, so the warning is now phrased as a condition rather than a correction: "If you are creating a version of a document that already exists, prefer providing baseId and releaseId instead." No behavior changed, and both forms remain supported.

  • correct the return type of delete() and mutate() when called with no options (#​1282) (aaada67)

    client.delete(id) and client.mutate(mutations) were typed to resolve to a
    document (SanityDocument<R>) when called without an options argument, but
    they actually resolve to a mutation result object
    ({transactionId, documentIds, results}, MultipleMutationResult). The
    document is genuinely mutated, but code that read ._id off the resolved
    value was reading undefined at runtime without any type error. The
    underlying method (create()) does return the document by default, so this
    was easy to assume also held for delete() and mutate() - it does not.

    Both methods now correctly type as resolving to MultipleMutationResult by
    default, matching the (unchanged) runtime behavior, on both the
    promise-based and observable clients.

    Released as a patch rather than a major even though a declared type changed. Code that read ._id off the result was reading undefined at runtime, so no working application can have depended on the old type: anything that type-checked against it was already broken when it ran. What changes is that the mistake is now visible at compile time instead of at runtime.

    If tsc starts failing on one of these calls, that failure is pointing at a real bug. To fix it:

    • To get the document back, pass {returnFirst: true, returnDocuments: true}
      explicitly: await client.delete(id, {returnFirst: true, returnDocuments: true}).
    • To keep the mutation-result shape, read documentIds (or documentId with
      returnFirst: true) off the result instead of _id.

    No runtime behavior changed - this only corrects the public types.

  • populate server-sent event IDs on Cloudflare Workers (#​1282) (aaada67)

    client.live.events() and client.listen() read lastEventId off the
    MessageEvent that eventsource constructs. workerd does not carry that member
    through the MessageEvent constructor's init dict, so on bare Cloudflare Workers
    every event arrived with an empty id. Raising the eventsource floor to
    >= 5.1.0 picks up the fix.

  • return the asset from assets.upload() against a Media Library (#​1282) (aaada67)

    client.assets.upload() resolved to undefined when the client was configured against a Media Library (resource: {type: 'media-library', id}), even though the upload succeeded server-side. Content Lake's upload endpoint responds with {document: {...}}, and upload() unwrapped that key unconditionally - but the Media Library upload endpoint responds with {asset: {...}} instead, so the unwrap produced undefined.

    upload() now unwraps .asset for a Media Library response and .document otherwise, on both the promise-based and observable clients. It resolves to the uploaded asset instead of undefined.

    The Media Library asset shape is not the same as a Content Lake asset document: it is a sanity.asset document that tracks one or more uploaded versions via currentVersion/versions, rather than a document with url, size, mimeType, and so on. That shape is now exported as MediaLibraryAssetDocument.

    The declared return type is knowingly incomplete, and this is a patch on purpose. Which shape you get back depends on how the client is configured, not on the arguments to upload(), so no overload can discriminate it. Expressing it would mean widening the return type into a union that every existing caller has to narrow - a breaking change for all users, to correct the typing of a much less common configuration. So the declared type still describes only the Content Lake shape. If you upload to a Media Library, narrow the result yourself (for example, check for currentVersion) or annotate it as SanityImageAssetDocument | MediaLibraryAssetDocument. Typing this accurately is deferred to the next major.

sanity-io/plugins (@​sanity/code-input)

v7.3.8

Compare Source

Patch Changes

v7.3.7

Compare Source

Patch Changes
  • #​1928 3195e01 Thanks @​stipsan! - Compile React Compiler memoization with the native oxc transform (reactCompiler: {transform: 'oxc'} from @sanity/tsdown-config 0.26, backed by oxc-transform-react) instead of babel-plugin-react-compiler

v7.3.6

Compare Source

Patch Changes
sanity-io/visual-editing (@​sanity/preview-url-secret)

v4.1.5

Compare Source

Patch Changes
sanity-io/plugins (@​sanity/table)

v3.1.16

Compare Source

Patch Changes
  • #​1928 3195e01 Thanks @​stipsan! - Compile React Compiler memoization with the native oxc transform (reactCompiler: {transform: 'oxc'} from @sanity/tsdown-config 0.26, backed by oxc-transform-react) instead of babel-plugin-react-compiler

v3.1.15

Compare Source

Patch Changes
sanity-io/sanity (@​sanity/vision)

v6.12.0

Compare Source

Features
Bug Fixes

v6.11.0

Compare Source

Bug Fixes
Performance Improvements

v6.10.1

Compare Source

Bug Fixes
  • build: bake correct package version into cdn module bundles (#​14155) (3e5a82e)

v6.10.0

Compare Source

Features
Bug Fixes
sanity-io/visual-editing (@​sanity/visual-editing)

v6.1.2

Compare Source

Patch Changes

v6.1.1

Compare Source

Patch Changes

v6.1.0

Compare Source

Minor Changes
  • #​3620 8748e20 Thanks @​rexxars! - feat: accept any @sanity/client version in the loaders via SanityClientLike

    Options that took a client used to be typed as SanityClient | SanityStegaClient. SanityClient
    declares a #private field, which makes it nominal rather than structural, so a client only
    satisfied it when it came from the exact same copy of @sanity/client. Passing a client from a
    different major failed to typecheck, and so did a duplicate install of the same version:

    Type 'SanityClient' is not assignable to type 'SanityClient | SanityStegaClient'.
      Property '#private' in type 'SanityClient' refers to a different member that cannot be
      accessed from within type 'SanityClient'.
    

    These options now take SanityClientLike, a structural interface covering only what the loaders
    use: config(), withConfig() and fetch(). Any client satisfies it, from any version, including
    the ones from @sanity/client/stega, @sanity/preview-kit/client and next-sanity.

    This affects createQueryStore({client}), setServerClient(), enableLiveMode({client}),
    useLiveMode({client}), handlePreview({client}) and handleLoadQuery({client}). All of them
    accept strictly more than before, so no changes are needed.

    For SvelteKit, event.locals.client still gives you the full SanityClient API. If your app
    resolves a different copy of @sanity/client than these packages do, name your own client type in
    app.d.ts to avoid a mismatch:

    import type {SanityClient} from '@sanity/client'
    import type {LoaderLocals} from '@sanity/svelte-loader'
    
    declare global {
      namespace App {
        interface Locals extends LoaderLocals<SanityClient> {}
      }
    }

    The one narrowing is unstable__serverClient.instance, which is now SanityClientLike. It is
    marked @internal and prefixed unstable__.

Patch Changes
sanity-io/sanity (groq)

v6.12.0

Compare Source

Sanity Studio v6.12.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-Ni4xMS4w

Install or upgrade Sanity Studio

To upgrade to this version, run:

npm install sanity@latest

To initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

📓 Full changelog

Author Message Commit
squiggler-app[bot] fix(deps): update dependency @​sanity/cli to ^8.7.0 (#​14492) 5531793
squiggler-app[bot] chore(deps): dedupe pnpm-lock.yaml (#​14494) 26d091e
squiggler-app[bot] chore(deps): lock file maintenance (#​14493) c8c9d4f
@​stipsan test(storybook): complete ui-components story coverage and curate the sidebar (#​14369) 54cb120
squiggler-app[bot] chore(deps): dedupe pnpm-lock.yaml (#​14491) db6dd10
@​stipsan chore(deps): follow @​sanity/ui alpha dist-tag for the ui5 pin (#​14466) c7d3835
squiggler-app[bot] chore(deps): update dependency @​sentry/react to ^10.73.0 (#​14481) 231ea0e
squiggler-app[bot] chore(deps): update dependency react-i18next to ^17.0.13 (#​14476) 9cc1553
squiggler-app[bot] fix(deps): update dependency @​sanity/cli to ^8.6.0 (#​14370) 2922cde
squiggler-app[bot] chore(deps): dedupe pnpm-lock.yaml (#​14488) 2255747
squiggler-app[bot] chore(tests): generate dts tests 🤖 ✨ (#​14489) 6429d43
squiggler-app[bot] chore(deps): update testing-library monorepo (#​14478) f3d7f29
squiggler-app[bot] chore(deps): update dependency lefthook to ^2.1.12 (#​14475) beae1ba
squiggler-app[bot] chore(deps): update dependency i18next to ^26.4.1 (#​14473) b3bd270
squiggler-app[bot] fix(deps): update codemirror (#​14479) eb710d9
squiggler-app[bot] fix(deps): update dev-non-major (#​14480) 08702eb
squiggler-app[bot] chore(deps): lock file maintenance (#​14483) 773fdd8
squiggler-app[bot] chore(deps): update dependency tsx to ^4.23.13 (#​14477) 85df1e5
squiggler-app[bot] chore(deps): update dependency knip to ^6.33.0 (#​14474) 1e0a387
squiggler-app[bot] chore(deps): update dependency oxc-transform-react to ^0.148.0 (#​14482) 5e5b775
squiggler-app[bot] chore(deps): update dependency chromatic to ^18.7.1 (#​14472) 1fb9eaa
squiggler-app[bot] chore(deps): update dependency @​vitejs/plugin-react to ^6.1.1 (#​14471) 1e0efff
squiggler-app[bot] chore(deps): update chromaui/action action to v18.7.1 (#​14469) d4aa7df
squiggler-app[bot] chore(deps): update dependency @​sanity/workbench to v0.1.0-alpha.45 (#​14429) 7fb3841
squiggler-app[bot] fix(deps): update dependency @​sanity/client to ^8.4.0 (#​14417) 04b3e4b
squiggler-app[bot] chore(deps): update dependency @​sanity/tsdown-config to ^0.27.1 (#​14416) 04c4901
@​stipsan fix(core): hide navbar overflow menu when no tools are collapsed (#​14435) ef42b24
squiggler-app[bot] chore(deps): update dependency sanity-plugin-internationalized-array to ^5.2.3 (#​14411) 186543e
squiggler-app[bot] chore(deps): dedupe pnpm-lock.yaml (#​14465) 29bba73
squiggler-app[bot] chore(deps): update dependency turbo to ^2.10.12 (#​14412) 8c56f0a
@​bjoerge chore(radar): link vercel preview build from releases tool (#​14385) 510c782
@​stipsan fix(deps): pin ui5 to exact @​sanity/ui version (#​14462) 25f9028
@​stipsan fix(mutator): drop patch paths that cannot apply to the local document (#​14458) 0bc142d
squiggler-app[bot] chore(deps): update dependency @​sanity/vanilla-extract-vite-plugin to ^0.2.17 (#​14410) 4ce98c0
squiggler-app[bot] chore(deps): update dependency @​sentry/react to ^10.72.0 (#​14407) 48ad0af
squiggler-app[bot] chore(deps): update dependency @​sanity/blueprints to ^0.24.0 (#​14334) 4ad8681
@​stipsan fix(presentation): stop swallowing toolbar navigations and duplicating the presentation channel (#​14440) 97da45a
@​pedrobonamin chore(core): history events to support variants (#​14374) 25222e6
@​hermanwikner refactor(comments): copy current implementation to comments-v2 (#​14450) 90723fe
squiggler-app[bot] chore(deps): update renovatebot/github-action action to v46.2.4 (#​14413) 9546d79
squiggler-app[bot] fix(deps): update portabletext (#​14350) a3dd233
@​gu-stav feat(cli): expose asset source view definition (#​14446) ee27749
@​jonahsnider feat(validation): add stable codes to validation markers (#​14137) e92ea70
squiggler-app[bot] chore(tests): generate dts tests 🤖 ✨ (#​14456) cb0e004
@​jordanl17 fix(calendar): align weekday headers with locale week start (#​14386) 70cd7a5
@​stipsan fix(test-studio): report the bundled sanity version in the studio banner (#​14425) ad0eeff
squiggler-app[bot] chore(deps): dedupe pnpm-lock.yaml (#​14449) 29f2da7
squiggler-app[bot] chore(deps): lock file maintenance (#​14447) 7e24153
squiggler-app[bot] chore(deps): update dependency @​chromatic-com/vitest to v0.1.10 (#​14419) 9967445
@​gu-stav refactor(workbench): rename workbench entrypoint ([#​14

Note

PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Europe/Oslo)

  • Branch creation
    • "before 6am on Saturday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate using a preset from Obos. View repository job log here

@renovate
renovate Bot requested a review from a team as a code owner August 22, 2026 03:41
@changeset-bot

changeset-bot Bot commented Aug 22, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: c2ba1d6

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@renovate
renovate Bot force-pushed the renovate/sanity-packages branch 7 times, most recently from 2c95c72 to 5a415da Compare August 29, 2026 11:35
@renovate
renovate Bot force-pushed the renovate/sanity-packages branch from 5a415da to f2f0af3 Compare August 30, 2026 23:35
@renovate
renovate Bot force-pushed the renovate/sanity-packages branch 6 times, most recently from da1849e to 6c41fce Compare September 7, 2026 20:10
@renovate
renovate Bot force-pushed the renovate/sanity-packages branch from 6c41fce to c2ba1d6 Compare September 9, 2026 15:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant