fix(deps): update sanity packages - #1864
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
|
renovate
Bot
force-pushed
the
renovate/sanity-packages
branch
7 times, most recently
from
August 29, 2026 11:35
2c95c72 to
5a415da
Compare
renovate
Bot
force-pushed
the
renovate/sanity-packages
branch
from
August 30, 2026 23:35
5a415da to
f2f0af3
Compare
aulonm
approved these changes
Aug 31, 2026
renovate
Bot
force-pushed
the
renovate/sanity-packages
branch
6 times, most recently
from
September 7, 2026 20:10
da1849e to
6c41fce
Compare
renovate
Bot
force-pushed
the
renovate/sanity-packages
branch
from
September 9, 2026 15:41
6c41fce to
c2ba1d6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
8.0.0→8.0.16.1.19→6.1.218.0.0→8.5.07.3.5→7.3.84.1.4→4.1.53.1.14→3.1.166.9.2→6.12.06.0.4→6.1.26.9.2→6.12.06.9.2→6.12.0Release Notes
portabletext/react-portabletext (@portabletext/react)
v8.0.1Compare Source
Patch Changes
0befdc1Thanks @stipsan! - React Compiler now runs on oxc instead of babel. Same output, no changes needed.sanity-io/plugins (@sanity/assist)
v6.1.21Compare Source
Patch Changes
3195e01Thanks @stipsan! - Compile React Compiler memoization with the native oxc transform (reactCompiler: {transform: 'oxc'}from@sanity/tsdown-config0.26, backed byoxc-transform-react) instead ofbabel-plugin-react-compilerv6.1.20Compare Source
Patch Changes
#1878
c30892fThanks @squiggler-app! - fix(deps): update dependency styled-components to ^6.5.3#1926
f485d93Thanks @stipsan! - Suppress new oxlint React Compiler rule violations, pending fixes in a follow-up#1922
22c8082Thanks @stipsan! - Update@sanity/clientto v8sanity-io/client (@sanity/client)
v8.5.0Minor Changes
read query result types from a global
SanityQueriesinterface (#1319) (18313fe)Query result types can now be registered on a global
SanityQueriesinterface, which theSanityQueriesinterface exported from@sanity/clientinherits from.client.fetch,ClientReturnandClientReturnStegaresolve registrations made either way, so thedeclare 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/clientis 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.0Compare Source
Minor Changes
Patch Changes
context.sources.list(#1306) (cd7a783)v8.3.0Compare Source
Minor Changes
invoke functions synchronously or asynchronously (#1295) (d1667c7)
client.functions.invoke()now takes anoptionsargument and acceptssanity.function.durableand
sanity.function.queuefunctions alongsidesanity.function.pubsub.By default the invocation is queued: the call resolves with
undefinedas soon as theservice accepts it, without waiting for the function to run. Pass
{sync: true}to keep therequest open until the function finishes and resolve with its return value — that adds a
?sync=truequery parameter to the invoke request, and remains limited tosanity.function.pubsub.The return type follows the option: a call with
{sync: true}resolves withR, while an asynccall resolves with
undefined. Callers who pass an explicit type argument without{sync: true}keep the previous
R | undefinedshape.collaboration: resolve comment
rangefrom optionalfieldValue(#1299) (88073e6)v8.2.0Compare Source
Minor Changes
add collaboration comments client (
@alpha) (#1235) (5906f72)add variant actions (#1279) (dd25720)
Adds
CreateVariantAction,EditVariantAction,DeleteVariantAction,PublishVariantActionandUnpublishVariantAction, along with aVariantActionunion, covering thesanity.action.document.variant.*actions. They are included in theActionunion, soclient.action()accepts them.Each action addresses a variant document by the
publishedId,variantIdandbundleIdtriplerather than by document ID, since the API derives the document ID from those three values.
Note that
Actionwidening is a breaking change for code that exhaustively switches onAction['actionType']with aneverfallthrough, which will need to handle the new cases.v8.1.0Compare Source
Minor Changes
add
client.functions.invoke()for calling deployed functions on demand (#1258) (4c2f718)Invoke a Sanity Pubsub Function by the
name. Onlysanity.function.pubsubfunctions can beinvoked on demand.
Available in two forms,
client.functions.invoke()resolves with the function's return value,client.observable.functions.invoke()emits it and accepts anevent.datapayload,a per-call
timeoutand anAbortSignal.Names are only unique within a stack, so resolving one requires a
stackId, either from the newstackIdclient config option or from the request. That resolution costs one extra request percall. A function that returns nothing resolves to
undefined.Stacks deployed at organization scope are reached with the new
organizationIdclient configoption, or a per-call
organizationId. It takes precedence overprojectId, which becomesoptional in that case.
add request handler for client integrations (#1286) (a9db52f)
add variant definition actions (#1278) (7c98361)
Adds
CreateVariantDefinitionAction,EditVariantDefinitionActionandDeleteVariantDefinitionAction, along with aVariantDefinitionActionunion, covering thesanity.action.variant.definition.*actions. They are included in theActionunion, soclient.action()accepts them.Note that
Actionwidening is a breaking change for code that exhaustively switches onAction['actionType']with aneverfallthrough, which will need to handle the new cases.Patch Changes
route the live-events CORS probe through the configured transport (#1282) (aaada67)
The
/check/corsprobe thatclient.live.events()uses to distinguish a CORSrejection from other connection failures called the global
fetchdirectly, soa custom
resolveFetchor an explicitproxywas not applied to it. It nowresolves the same fetch the EventSource connection uses.
reword the
createVersion()warning aboutbaseId(#1282) (aaada67)createVersion({document})warned that "the recommended approach is to provide abaseIdandreleaseIdinstead", which reads as a correction even when the caller had no other option:baseIdcreates a version of a document that already exists, so creating a genuinely new document inside a release can only be done by passingdocument.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
baseIdandreleaseIdinstead." No behavior changed, and both forms remain supported.correct the return type of
delete()andmutate()when called with no options (#1282) (aaada67)client.delete(id)andclient.mutate(mutations)were typed to resolve to adocument (
SanityDocument<R>) when called without an options argument, butthey actually resolve to a mutation result object
(
{transactionId, documentIds, results},MultipleMutationResult). Thedocument is genuinely mutated, but code that read
._idoff the resolvedvalue was reading
undefinedat runtime without any type error. Theunderlying method (
create()) does return the document by default, so thiswas easy to assume also held for
delete()andmutate()- it does not.Both methods now correctly type as resolving to
MultipleMutationResultbydefault, 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
._idoff the result was readingundefinedat 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
tscstarts failing on one of these calls, that failure is pointing at a real bug. To fix it:{returnFirst: true, returnDocuments: true}explicitly:
await client.delete(id, {returnFirst: true, returnDocuments: true}).documentIds(ordocumentIdwithreturnFirst: 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()andclient.listen()readlastEventIdoff theMessageEventthateventsourceconstructs. workerd does not carry that memberthrough the
MessageEventconstructor's init dict, so on bare Cloudflare Workersevery event arrived with an empty
id. Raising theeventsourcefloor to>= 5.1.0picks up the fix.return the asset from
assets.upload()against a Media Library (#1282) (aaada67)client.assets.upload()resolved toundefinedwhen 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: {...}}, andupload()unwrapped that key unconditionally - but the Media Library upload endpoint responds with{asset: {...}}instead, so the unwrap producedundefined.upload()now unwraps.assetfor a Media Library response and.documentotherwise, on both the promise-based and observable clients. It resolves to the uploaded asset instead ofundefined.The Media Library asset shape is not the same as a Content Lake asset document: it is a
sanity.assetdocument that tracks one or more uploaded versions viacurrentVersion/versions, rather than a document withurl,size,mimeType, and so on. That shape is now exported asMediaLibraryAssetDocument.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 forcurrentVersion) or annotate it asSanityImageAssetDocument | MediaLibraryAssetDocument. Typing this accurately is deferred to the next major.sanity-io/plugins (@sanity/code-input)
v7.3.8Compare Source
Patch Changes
d692a15Thanks @squiggler-app! - fix(deps): update dependency @codemirror/view to ^6.43.9v7.3.7Compare Source
Patch Changes
3195e01Thanks @stipsan! - Compile React Compiler memoization with the native oxc transform (reactCompiler: {transform: 'oxc'}from@sanity/tsdown-config0.26, backed byoxc-transform-react) instead ofbabel-plugin-react-compilerv7.3.6Compare Source
Patch Changes
#1931
7cf002dThanks @simongowing1! - Forward thereadOnlyprop fromCodeMirrorProxytoCodeMirrorso code fields stay non-editable when Studio marks them as read-only.#1878
c30892fThanks @squiggler-app! - fix(deps): update dependency styled-components to ^6.5.3#1926
f485d93Thanks @stipsan! - Suppress new oxlint React Compiler rule violations, pending fixes in a follow-upsanity-io/visual-editing (@sanity/preview-url-secret)
v4.1.5Compare Source
Patch Changes
ae2c174Thanks @rexxars! - fix(deps): widen allowed@sanity/clientpeer depsanity-io/plugins (@sanity/table)
v3.1.16Compare Source
Patch Changes
3195e01Thanks @stipsan! - Compile React Compiler memoization with the native oxc transform (reactCompiler: {transform: 'oxc'}from@sanity/tsdown-config0.26, backed byoxc-transform-react) instead ofbabel-plugin-react-compilerv3.1.15Compare Source
Patch Changes
c30892fThanks @squiggler-app! - fix(deps): update dependency styled-components to ^6.5.3sanity-io/sanity (@sanity/vision)
v6.12.0Compare Source
Features
Bug Fixes
v6.11.0Compare Source
Bug Fixes
Performance Improvements
v6.10.1Compare Source
Bug Fixes
v6.10.0Compare Source
Features
Bug Fixes
sanity-io/visual-editing (@sanity/visual-editing)
v6.1.2Compare Source
Patch Changes
#3636
3607f90Thanks @squiggler-app! - fix(deps): update dependency styled-components to ^6.5.3#3656
72840d5Thanks @squiggler-app! - fix(deps): update dependency xstate to ^5.32.6Updated dependencies [
3b8e806]:v6.1.1Compare Source
Patch Changes
#3643
ae2c174Thanks @rexxars! - fix(deps): widen allowed@sanity/clientpeer depUpdated dependencies [
ae2c174]:v6.1.0Compare Source
Minor Changes
#3620
8748e20Thanks @rexxars! - feat: accept any@sanity/clientversion in the loaders viaSanityClientLikeOptions that took a client used to be typed as
SanityClient | SanityStegaClient.SanityClientdeclares a
#privatefield, which makes it nominal rather than structural, so a client onlysatisfied it when it came from the exact same copy of
@sanity/client. Passing a client from adifferent major failed to typecheck, and so did a duplicate install of the same version:
These options now take
SanityClientLike, a structural interface covering only what the loadersuse:
config(),withConfig()andfetch(). Any client satisfies it, from any version, includingthe ones from
@sanity/client/stega,@sanity/preview-kit/clientandnext-sanity.This affects
createQueryStore({client}),setServerClient(),enableLiveMode({client}),useLiveMode({client}),handlePreview({client})andhandleLoadQuery({client}). All of themaccept strictly more than before, so no changes are needed.
For SvelteKit,
event.locals.clientstill gives you the fullSanityClientAPI. If your appresolves a different copy of
@sanity/clientthan these packages do, name your own client type inapp.d.tsto avoid a mismatch:The one narrowing is
unstable__serverClient.instance, which is nowSanityClientLike. It ismarked
@internaland prefixedunstable__.Patch Changes
#3635
5fcaf8fThanks @stipsan! - Restore thestyled-componentspeer range to^6.1so consumers on 6.1.x stay compatible. The catalog/dev dependency remains on 6.5.x.Updated dependencies [
8748e20]:sanity-io/sanity (groq)
v6.12.0Compare 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:
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
553179326d091ec8c9d4f54cb120db6dd10c7d3835231ea0e9cc15532922cde22557476429d43f3d7f29beae1bab3bd270eb710d908702eb773fdd885df1e51e0a3875e5b7751fb9eaa1e0efffd4aa7df7fb384104b3e4b04c4901ef42b24186543e29bba738c56f0a510c78225f90280bc142d4ce98c048ad0af4ad868197da45a25222e690723fe9546d79a3dd233ee27749e92ea70cb0e00470cd7a5ad0eeff29f2da77e241539967445Configuration
📅 Schedule: (in timezone Europe/Oslo)
🚦 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.
This PR has been generated by Mend Renovate using a preset from
. View repository job log here