Repository navigation
fix(deps): update major dependencies (major) - #666
Closed
renovate[bot] wants to merge 1 commit into
Closed
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
from
June 13, 2026 13:44
5f9604d to
4b26f21
Compare
falkia34
force-pushed
the
develop
branch
3 times, most recently
from
June 15, 2026 14:50
387896a to
1525bef
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
2 times, most recently
from
June 20, 2026 05:09
b47cfaa to
e519e71
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
from
June 21, 2026 16:29
e519e71 to
750dc25
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
2 times, most recently
from
June 29, 2026 23:07
30de62f to
293eda0
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
from
July 11, 2026 18:57
293eda0 to
553bf2d
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
from
July 13, 2026 22:50
553bf2d to
2657ff3
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
3 times, most recently
from
August 3, 2026 15:34
2da664c to
8ad873e
Compare
Contributor
Author
|
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
2 times, most recently
from
August 14, 2026 21:07
bc22a29 to
1ef013f
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
from
August 29, 2026 23:50
1ef013f to
a059b80
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
2 times, most recently
from
September 13, 2026 21:41
9692672 to
3e81b2b
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
from
September 22, 2026 01:31
3e81b2b to
3d6b2bc
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
2 times, most recently
from
October 5, 2026 16:37
a9804a4 to
04ac4b0
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
3 times, most recently
from
October 11, 2026 01:09
e186e88 to
064c303
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
3 times, most recently
from
October 18, 2026 04:32
5f5215e to
e94602d
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
8 times, most recently
from
October 22, 2026 15:36
ed2cac5 to
4b05b65
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
7 times, most recently
from
November 1, 2026 13:08
03b364d to
141bcf5
Compare
renovate
Bot
force-pushed
the
renovate/major-dependencies
branch
from
November 2, 2026 14:43
141bcf5 to
773d6f8
Compare
Contributor
Author
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
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.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
5.9.2→6.0.224.19.2→26.6.63.22.3→4.1.09.39.5→10.13.05.11.1→6.0.010.5.0→11.0.06.0.3→7.0.2Release Notes
react-hook-form/resolvers (@hookform/resolvers)
v6.0.2Compare Source
Bug Fixes
v6.0.1Compare Source
Bug Fixes
v6.0.0Compare Source
Features
BREAKING CHANGES
effect-ts: the effect-ts resolver now requires
effect@^4.0.0; Effect v3 is no longer supported.Schemas must be migrated to the Effect v4 Schema API (e.g.
Schema.nonEmptyString()->.check(Schema.isNonEmpty()),Schema.Union(a, b)->Schema.Union([a, b]),Schema.transform->Schema.decodeTo).Error
typevalues follow Effect v4 issue tags:Type->InvalidType,Missing->MissingKey,Refinement->Filter,Unexpected->UnexpectedKey, plus newAnyOfandInvalidValue.Default error messages now come from Effect v4 (e.g.
is missing->Missing key, and the received value is no longer included).chore(deps): sync bun.lock with ata-validator ^1.23.0
Effect-TS/effect (effect)
v4.1.0Compare Source
Minor Changes
#8829
631d4f4Thanks @harrysolovay! - AddSchema.isAscii, a check that accepts only ASCII strings, and the matchingSchemaRepresentation.isAsciiReviver.#8829
7ea1ea2Thanks @wmaurer! - Add an optionalcauseto the AINetworkError. It holds theHttpClientErrorthe request failed with, stored unchanged and not redacted, so the reason a request failed is no longer lost. The newNetworkError.fromHttpClientErrorsets it, and all AI providers now use it.NetworkError.fromRequestErroris unchanged.#8829
a2ccc14Thanks @fubhy! - FixAtom.Serializableto encode to and decode fromSchema.Json, matching the JSON codec used byAtom.serializable. Encoded results may now require narrowing; runtime behavior is unchanged.#8829
c4d298dThanks @okarin1511! - Render inherited CLI flags in a separateINHERITED FLAGSsection and add"full","summary", and"none"modes for inherited and global flags inCliOutput.defaultFormatter.HelpDocaddsinheritedFlags,commandPath, andglobalFlagsScopeprovenance so summaries can point to the appropriate help, with globals always listed on their declaring command. Custom formatters must read ancestor shared flags fromHelpDoc.inheritedFlagsinstead ofHelpDoc.flags.#10087
ac10e55Thanks @effect-bot! - AddrunnerJoinDebouncetoShardingConfig. When set, a runner joining the cluster is only added to shard assignments once the healthy runners have stayed unchanged for that duration, or at most four times that duration after the first pending join. A scale-up or a deployment with a large surge then hands each shard off once instead of once per join. Runners that already hold shards and leave or become unhealthy are still published immediately; a pending runner that leaves only restarts the quiet period. While joins are pending, runners take no new shards, so a shard can stay unlocked briefly until each runner publishes. Defaults to0, which keeps the current behavior.#8829
df8dce5Thanks @tim-smart! - AddtrimandkeepEmptyValuesoptions toSchemaGetter.splitKeyValue,SchemaTransformation.splitKeyValueandConfig.Record. Both default tofalse, so existing callers are unaffected.OtlpResource.fromConfignow trimsOTEL_RESOURCE_ATTRIBUTESkeys and values and keeps entries with an empty value as"".#8829
0c24a8fThanks @sledorze! - Add amaxDepthoption toContext.makeUnsafe, controlling how manyContext.addcalls are kept as overlays before the context is rebased into a flat map. Defaults to 8.#8829
2d1fcd4Thanks @effect-bot! - Add anonDstOverlapoption toCronandSchedule.cronthat chooses which occurrences of local times repeated when clocks fall back are included:"earlier"(default),"later"or"both". It applies to every repeated local time, including ones not caused by daylight saving time.Cron.prevnow returns the latest matching instant before its input when starting inside a repeated hour. Near a spring-forward gap it no longer throws or returns an instant at or after its input.#8829
8f23668Thanks @fubhy! - Replaceeffect/Cryptowith family-specificeffect/crypto/*services, opaque keys,CryptoError, a configurableWebCryptoreference and key schemas ineffect/Schema. Encoding secret or private keys through byte/format schemas requires{ allowEncode: true }.Breaking changes
SecureRandomfor randomness and UUIDs, andDigestwith algorithm values such asDigest.sha256for hashing. Replaceeffect/testing/TestCryptowithLayer.mockfor the required services.*Servicesbundles.NodeCrypto,BunCrypto,DenoCryptoandBrowserCryptooffer individual family layers and a combinedlayer, supplyingSecureRandomwhere needed. Core modules offerlayerWebCrypto.Digest.Digestinstead ofCrypto.CryptotoSqlMessageStorageandSingleRunner, and instead ofEventLogEncryptiontoSqlEventLogServerEncrypted.makeStorageandlayerStorage. ReplaceEventLogEncryption.sha256Stringwithdigest.digestHex(Digest.sha256, bytes).Existing workflow ID, activity idempotency key and event log table-name encodings are unchanged.
Event log encryption, identity key derivation and session authentication now run on
Aead,Digest,SignatureandSecureRandom.EventLogEncryption.makeandEventLogEncryption.layertake those services from context, so Node apps can use theNodeCryptolayers.EventLogEncryption.layerSubtleand the session auth functions use the Web Crypto layers on theWebCryptoreference instead ofglobalThis.crypto. Existing identities, derived signing keys and encrypted batches are unchanged.UUIDv7 and ULID generation is now monotonic below the maximum 48-bit timestamp, including within a millisecond and across clock rollback. Ordering is per
SecureRandominstance; the unsafe helpers and model UUIDv7 defaults share per-realm ordering.#8829
3f8f359Thanks @jem-computer! - Declare decision images as input fields withDecision.Image, and addDecision.locate, which answers with a bounding box around one target in an image field.DecideOptions.imagesis removed. AddDecision.Imagefields to the input schema and refer to each image by its path in instructions:Custom providers receive
imagesas{ reference, path, image }, with each image replaced by its reference instateand its data as a base64 string orURL.Decision.locate({ image: "photo", instructions })takes a path thatDecision.makechecks against the input's image fields. Providers opt in withsupportsLocate: true.Decision.AnyandDecisionModel.ProviderAnswergain locate variants, so exhaustive switches over them need aLocatecase.TypeSafeDecisionModelsupports images, sent as assets keyed by reference, and sends locate decisions as Box questions, which needjev-previeworjev-1.14.0. OpenAI and Cloudflare label each image with its reference.#8829
2a03584Thanks @jayhemnani9910! - AddDuration.formatIso,Duration.fromIsoandSchema.DurationFromIsoStringfor ISO 8601 durations. Only exact units are supported: weeks, days, hours, minutes and seconds. Years and months are rejected because they have no fixed length.#8829
40e145eThanks @yordis! - AddDuration.toMicrosfor converting durations to microseconds.#8829
7217410Thanks @tim-smart! - Add encrypted remote compaction to the event log.#8829
cf249feThanks @tim-smart! - Detect unsupported streaming request bodies inFetchHttpClientand fail with anEncodeErrorinstead of silently sending[object ReadableStream]. SetFetchHttpClient.StreamBodyFallbackto"buffer"to buffer the body in memory on those runtimes instead.#8829
4f0fad1Thanks @effect-bot! - Fence Redis PersistedQueue settlements and lock refreshes on a per-acquisition lock, so a stale handler can no longer release another live claim, including one with the same custom id in another queue. The lock format is incompatible with older workers on the same prefix: stop every old worker and let its locks expire before starting upgraded workers.#8829
f74db37Thanks @smit153! - Accept{ self }before the generator body inEffect.fnUntracedandEffect.fnUntracedEagerto bindthis, matchingEffect.fn.#8829
069cf72Thanks @effect-bot! - Add opt-in RFC 9457 Problem Details support toHttpApi.ProblemDetailsineffect/httpprovides theapplication/problem+jsonmedia type, a lenient codec for problem details objects, and a response constructor.HttpApiError.Problem<Self>()(tag, { type, status, title }, fields?)declares a typed problem as a yieldable error class that endpoints render, document and decode asapplication/problem+json, discriminated bytype.HttpApiSchema.asProblemrenders a built-in error such asHttpApiError.NotFoundas a problem.HttpApiMiddleware.ProblemDetailswithHttpApiMiddleware.layerProblemDetailsrenders request decoding failures as a generic400problem (with per-fielderrorswhenincludeDetailsis enabled) and response encoding failures as a500problem.The default behaviour is unchanged: without the opt-in, built-in errors and decoding failures still produce the same responses as before.
#8829
9a07ebcThanks @effect-bot! - AllowHttpApiSchema.Upgradealongside ordinary success responses, for servers that decline the upgrade, and addHttpApiClient.isUpgradedto narrow the client result.HttpApiClient.Upgradedvalues now carry a[HttpApiClient.UpgradedTypeId]brand. Code that buildsUpgradedvalues by hand, such as client mocks, must add[HttpApiClient.UpgradedTypeId]: HttpApiClient.UpgradedTypeIdto the object literal.#8829
f40dc4eThanks @bezff! -HttpClient.withCookiesRefnow takes aRef<ReadonlyArray<Cookie>>and sends stored response cookies only to a matching host, path and scheme, using the newCookies.mergeIntoArrayandCookies.toRequestCookieHeader. Seed the ref withCookies.mergeIntoArrayor with cookies that set adomain.#8829
fa516c6Thanks @Tarekkharsa! - ExportHttpClient.isTransientErrorandHttpClient.isTransientResponse, the predicatesretryTransientuses to decide what to retry.#8829
ffd9237Thanks @effect-bot! - Addlog: "Unhandled"toEffect.ignore,Effect.ignoreCause, and their Stream and Channel variants. This resolvesReferences.UnhandledLogLevelwhen a failure occurs and suppresses logging when that reference isundefined, while preserving each combinator's existing failure semantics.#8829
93895b9Thanks @tim-smart! - AddkeystoKeyValueStoreandSchemaStore. It returns a snapshot of the keys in the store, in no particular order, and is implemented by the memory, file system, SQL, Web Storage and IndexedDB stores. Custom stores built withKeyValueStore.makeorKeyValueStore.makeStringOnlymust now providekeys.KeyValueStore.prefix(...)now scopeskeys,sizeandisEmptyto keys under the prefix, with the prefix removed from the returned keys. PreviouslysizeandisEmptyreported on the whole backing store.Stores built with
KeyValueStore.makethat don't provideclearPrefixnow derive it fromkeysandremoveinstead of failing for non-empty prefixes.#8829
e5a1479Thanks @effect-bot! - Add the unstableMatch.literalsandMatch.literalsExhaustiveAPIs for matching string and number literal unions with a record of handlers.#8829
65db606Thanks @effect-bot! - Add request-level dependencies and middleware toMcpServerso handler services can be supplied per request. Breaking: pass registration layers through the transport'sregistrationsoption, and capture construction-time handler services inLayer.unwrapinstead ofLayer.provide.#8829
7c42335Thanks @tim-smart! - AddMcpServer.visibilityto hide tools, resources and prompts per request based on services provided by MCP middleware. Middleware that wraps a visibility now runs on list requests, once for each registration, soMiddlewareMethodincludes the list methods. Middleware provided both locally and globally now runs once.#8829
cb21d14Thanks @effect-bot! - Add acacheHintsoption to theMcpServerlayers to set how long clients may treatv2026_07_28discovery and list results as fresh, for examplecacheHints: { tools: { ttl: "1 minute", cacheScope: "private" } }. Results without a hint, andresources/read, keep{ ttlMs: 0, cacheScope: "private" }.#8829
c32eb78Thanks @effect-bot! - ExposeSqlMessageStorage.makeEncodedStorageto construct an encoded SQL message storage driver without running migrations or executing startup SQL. RunlayerMigrationsseparately with the same table prefix before using the driver;makeEncodedcontinues to run migrations by default.#8829effect/sql under Metro. The
be9895bThanks @bezff! - MovefromFileSystemfromeffect/sql/Migratortoeffect/sql/MigratorFileSystem, so React Native apps can importeffect/sql/Migratorandeffect/sqlbarrel and@effect/sql-sqlite-react-native/SqliteMigratorno longer exportfromFileSystem; the other SQL adapter migrators still re-export it.#8829
26b4bfeThanks @fubhy! - Type received and forwarded HTTP request methods asstringso methods such asPROPFINDare represented accurately, including in AI HTTP error details. Exhaustive matches on request methods now need a fallback or a guard usingHttpMethod.isHttpMethod.#8829
f97711fThanks @effect-bot! - IsolatePersistencestores on theKeyValueStoreand Redis backings. Clearing a store now only removes that store's entries, and different store / key pairs no longer map to the same backing key.Add
KeyValueStore.clearPrefix, implemented by the memory, file system, SQL, Web Storage and IndexedDB stores.KeyValueStore.prefix(...).clearnow only removes keys under the prefix. Stores built withKeyValueStore.makethat don't provideclearPrefixremove the matching keys one by one instead of clearing everything.Both backings now store entries under
<storeId>:<key>, with%and:in the store id percent-encoded.Key layout change. Entries written by earlier versions are not read back:
Persistence.layerKvs/layerBackingKvs: every existing entry becomes unreachable, because keys used to be<storeId><key>with no separator. Cached results are recomputed.Chat.layerPersistedon aKeyValueStorebacking loses its stored chat histories.Persistence.layerRedis/layerBackingRedis: keys are unchanged unless the store id contains%or:. Entries for those store ids become unreachable.Old entries are not migrated or removed automatically.
#8829
4f16778Thanks @effect-bot! - Add the unstablePool.StatsandPool.statsAPIs for sampling how many pool items are idle or in use and how many borrowers are waiting.PgPool.statsandPgClient.poolStatsexpose the same snapshot for PostgreSQL sessions, so applications can export connection pool metrics without reaching into pool internals.#8829
d2b6bc7Thanks @jpowersdev! - Add experimentalGlobpath matching and a sharedFileSystem.globimplementation for Node, Bun, and Deno.FileSystemimplementations, including inputs toFileSystem.make, must providereadDirectoryEntries; mappingreadDirectorynames to{ name, type: "Unknown" }is supported. Wrappers must apply directory-listing changes to both methods.FileSystem.makenow derivesglobinstead of accepting it. Apply custom overrides afterward withFileSystem.of({ ...fs, glob: customGlob })./separators and backslash escapes; Node extglobs no longer expand. Results use/separators and are relative torootunless the pattern is absolute. Deno wildcards now skip dotfiles unless explicitly named ordot: true; unreadable wildcard-reached directories are skipped, while read failures at the root or a leading literal directory propagate.#8829
3d88452Thanks @fubhy! - AddCommandLinetoeffect/processfor quoting and joining command lines, and supportRedactedarguments andenvvalues inChildProcess.Migration:
ChildProcess.maketemplates keep quoted words together and throw aCommandLineErrorfor shell syntax such as|,$HOMEor*. Quote such characters or pass them with${}.shelloption, templates cannot contain${}values and extra arguments fail withBadArgument. Pass the whole script as the command, built withCommandLine.join.StandardCommand.argsandenvvalues can beRedactedstrings.ChildProcess.TemplateExpressionandChildProcess.TemplateExpressionItemare removed. Use theCommandLinetypes of the same name.#8829
3c42058Thanks @effect-bot! - RemoveAiError.HttpRequestDetailsandResponse.HttpRequestDetails, so AI errors and response metadata no longer carry request headers or query parameters.AiError.NetworkErrorrecords the request asmethodandurlfields instead ofrequest, and therequestfield is gone fromAiError.HttpContextandResponse.ResponseMetadataPart.#8829
2ae4045Thanks @tim-smart! - Calls made withdiscard: truenow complete when the server acknowledges them, instead of when the request is written.SchemaBinary peers must be upgraded together because the new
discardfield changes the envelope fingerprint.#8829
e853fa1Thanks @effect-bot! - Add anonDisconnectoption toRpcServer.makeand its layer and HTTP wrappers, so applications can observe client disconnects without taking fromProtocol.disconnectsand preventing the server from interrupting the disconnected client's requests.#8829
1194a4cThanks @bezff! -sql.insertandsql.updateValuesnow require a non-empty array of rows at the type level. Narrow array inputs withArray.isReadonlyArrayNonEmptybefore passing them to these helpers.#8829
2cb498eThanks @effect-bot! - Fix a SQLite client hanging forever after a queuedwithTransactionorreservewas interrupted just as it received the connection. The interrupted acquisition could keep the connection's only permit without registering its release.Add
Semaphore.takeScoped, which holds permits until the current scope closes. Waiting can be interrupted unless the caller is uninterruptible, and acquired permits are always returned when the scope closes.#8829
89e5443Thanks @jpowersdev! - AddTerminal.size, a scoped queue that starts with the current terminal dimensions and receives each resize. Custom terminals passed toTerminal.makemust now supplysize.#8829
2a9a425Thanks @jayhemnani9910! -Toml.parsenow returns aResultinstead of throwing, failing with anEncodingErroron invalid input. It also rejects documents that extend an inline table or a statically defined array, which TOML 1.0 forbids.Patch Changes
#8829
ed20129Thanks @effect-bot! - Report unobserved release failures atUnhandledLogLevelfor RcMap and RcRef idle expiry, abandoned interrupted RcMap lookups, and ScopedCache expiry discovered by keys, values, or entries scans. Preserve failure propagation when cleanup is observed by a caller.#10076
20795b9Thanks @jpowersdev! -Base64Url.decodeandBase64Url.decodeStringnow reject partially padded input such asZg=. Unpadded input (Zg) and fully padded input (Zg==) still decode.#10083
a8e5e6cThanks @jpowersdev! - FixBigDecimal.fromStringandBigDecimal.fromStringUnsafeaccepting a sign after the decimal point.#10093
fb5dbeeThanks @tim-smart! - Release a frozen runner's MySQL shard locks aftershardLockExpiration.SqlRunnerStoragesetswait_timeouton its MySQL lock connection, and restores it before returning the connection to the pool, so a runner that stops refreshing loses its named locks instead of holding them until the server drops its TCP connection. Vitess ignoreswait_timeout, so runners behind Vitess keep the previous behavior.#10095
8309b94Thanks @tim-smart! - Restoreidle_session_timeouton the PostgreSQL shard-lock connection beforeSqlRunnerStoragereturns it to the pool, so other queries on that connection no longer have their session ended aftershardLockExpirationidle.#8829
af23904Thanks @devangpratap! - Reject an append assignment such asFOO+=bar cmdinCommandLine.templateandChildProcess.makewithUnsupportedSyntax, asFOO=bar cmdalready is, instead of runningFOO+=baras the program.#8829
468c6eeThanks @tim-smart! - Keep the source context'smaxDepthwhenContext.pickis given zero or one key, and reduce the bundle size ofContext.makeUnsafe.#8829
fe6b748Thanks @effect-bot! - Support duplexadditionalFdsthroughgetInputFdandgetOutputFd, preserving both directions when used withpipeTo.#10064
e75708cThanks @gcanti! - FixSchemaRepresentation.toCodeDocumentlosing__proto__properties or changing object prototypes in generated annotations.#10086
7890077Thanks @jpowersdev! -HttpTraceContext.fromHeadersnow rejects uppercase hex trace and span IDs intraceparent,b3andX-B3-*headers, matching the lowercase encodings required by W3C Trace Context and B3. Previously they were accepted and propagated unchanged, which conforming downstream receivers reject.#10085
c4a00fcThanks @jpowersdev! - Rejecttraceparentheaders with malformed trace flags inHttpTraceContext. Flags that are not two lowercase hexadecimal digits now returnOption.none()instead of continuing the trace.#8829
8938b19Thanks @effect-bot! - MakeremoveonKeyValueStore.layerFileSystemsucceed when the key does not exist, matching the other backends.#8829
89e1e1eThanks @tim-smart! - StopMcpServerfrom sending stateful clients list-change notifications for changes made before the server handled theirinitializerequest, over stdio, HTTP sessions and custom transports.#8829
eda0960Thanks @effect-bot! - LetMcpServermiddleware and visibility layers receive per-request services fromHttpRouter.middlewareunderlayerHttp. Unmet per-request services now stay asMcpRequest<"Requires", S>layer requirements, replacingMissingRequestDependencies.#8829
89e1e1eThanks @tim-smart! - AddMcpTest.makeClient, an in-memory MCP client for testingMcpServerregistrations over the JSON-RPC wire encoding.#10062
e19c611Thanks @duailibe! -Otlp.layer,Otlp.layerFromConfig,Otlp.layerJsonandOtlp.layerProtobufnow declare the sharedOtlpExporter.Flusherthey provide, instead ofLayer<never>.#10065
8e668feThanks @jpowersdev! - Preserve a leading UTF-8 BOM in URL-encoded body field names.#10067
ce9e999Thanks @jpowersdev! - Preserve a leading?in URL-encoded form field names.urlParamsBodypreviously dropped it as a query-string prefix, so?name=valuedecoded toname.#8829
6dc3f7cThanks @jpowersdev! - Add the unstableCsvmodule toeffect/encodingfor streaming CSV parsing and writing over text or UTF-8 bytes, with header records and schema adapters that convert cells throughSchema.toCodecStringTree.#10050
1513bbdThanks @gcanti! - Prevent excessive CPU use whenSchema.fromFormDataandSchema.fromURLSearchParamsdecode field names containing unmatched opening brackets.#10061
c065ed7Thanks @gcanti! - FixSchema.TaggedUnion.matchandmatchOrElsereturn inference and handler input types, and narrowmatchOrElsefallbacks to unhandled variants.Remove explicit output type arguments from
Schema.TaggedUnion.matchandmatchOrElsecalls; annotate handler return types when an explicit output is needed.#8829
e710bbbThanks @devangpratap! - FixToml.parseaccepting out of range dates and times such as1979-02-30or24:00:00, and rolling1979-02-30T07:32:00Zover to March 2 instead of rejecting it.#8829
b0d6e75Thanks @jayhemnani9910! - FixToml.parserejecting multiline basic and literal strings ending with one or two content quotes.#10068
32b3570Thanks @effect-bot! - Store the empty string key inTrieinstead of silently discarding it. Construction, lookup, replacement, modification, removal, iteration andlongestPrefixOfnow treat""like any other key.#10051
9f93f4fThanks @okarin1511! - Support YAML 1.1 merge keys (<<) inYaml.parse. An unquoted<<key merges a mapping, or a sequence of mappings, into the enclosing mapping. Explicit keys take precedence over merged keys, and earlier merge sources over later ones. Quote the key ("<<") to keep it as an ordinary key.#10069
27370c7Thanks @effect-bot! - FixYaml.parserejecting block sequence entry mappings whose first key sits more than one space after the dash. Later keys in the entry must now align with the first key, and a tab before the first key is rejected.v4.0.7Compare Source
Patch Changes
#6743
ac3485aThanks @IMax153! - Add a scopedCliOutput.Presenterservice for suppressing, redirecting, or replacing built-in CLI help, invalid-invocation, and version output.#9873
3a4c691Thanks @effect-bot! - Require tool parameter schema services inResponse.AllParts,Response.PartandResponse.StreamPart, including for toolkits with handlers, and addTool.ParametersDecodingServices.#9861
4f0600eThanks @effect-bot! - Add atoModelOutputoption toTool.makeandTool.dynamicfor sending text, images and files to the model in place of the serialized tool result. Anthropic and OpenAI Responses send native content blocks; OpenAI-compatible APIs and OpenRouter send text with a placeholder for each file, via the newPrompt.toolModelOutputToText.OpenAI Responses now sends PDF file parts given as base64, data URL or HTTP(S) URL strings instead of dropping them.
#9377
110fd22Thanks @gcanti! - Add aconcurrencyoption toArbitrary.checkEffectand global check configuration to run independent property evaluations concurrently. Results remain deterministic for deterministic generators and repeatable properties, while shrinking and replay stay sequential. The default concurrency is1.#9811
aa58cdaThanks @effect-bot! - Speed upBase64.encodeandBase64Url.encodeon large inputs and reduce the memory they allocate.#9913
8e257e7Thanks @Marve10s! - Fix duplicate interrupt reasons when interrupting a fiber insideEffe 8000 ct.withSpanorEffect.fn.#9846
e62a149Thanks @mkantautas! - FixChildProcessSpawnerhelpers hanging when a command fills a pipe the helper never reads.exitCodenow reads and discardsstdoutandstderruntil the process exits, andstring,lines,streamStringandstreamLinesread and discardstderrunlessincludeStderris set. A failure reading that output while the helper runs, such as from an outputSink, now fails the helper.#9794
dcd43a5Thanks @effect-bot! - Clarify thatChildProcessoutput sinks forstdout,stderrand outputadditionalFdsonly receive data while the corresponding handle stream is consumed, and that the handle stream emits the sink's results.#9921
3388cddThanks @Marve10s! - Fix Bash completion of file and directory paths containing spaces, quotes or glob characters.#9976
81b0e14Thanks @effect-bot! - AddCompletions.fromCommandtoeffect/cli. It converts an existingCommandtree into aCommandDescriptor, so build tooling can generate shell completion scripts withCompletions.generatewithout running the CLI.#9881
a046435Thanks @effect-bot! - SkipFlag.withFallbackPromptandArgument.withFallbackPromptfallbacks whenTerminalCapabilities.canPromptisfalse, failing with the originalMissingOptionorMissingArgumenterror instead of rendering a prompt or waiting for input.#9922
f6d8968Thanks @Marve10s! - Show command help for invalid global flag values instead of failing with a raw parse error.#8349
5741c3aThanks @ArjunCodess! - Add theCliError.userMessageannotation soCommand.runrenders tagged handler errors without wrapping them inCliError.UserError.#9959
381d5c6Thanks @baptisteArno! - Record ClickHouse migrations only after they succeed, so a failed migration and the ones after it are retried on the next run.#10001
d47478aThanks @tim-smart! - Stop a runner that lost a shard lock from storing the final reply of a persisted request on that shard. Before storing it, the runner refreshes its shard locks and checks that the shard is still among them. If it is not, the request is left for the shard's new owner.#10037
383716dThanks @tim-smart! - Release a frozen runner's PostgreSQL advisory shard locks aftershardLockExpiration. On PostgreSQL 14+,SqlRunnerStoragesetsidle_session_timeouton its lock connection, so a runner that stops refreshing loses its locks instead of holding them until the server drops its TCP connection.With advisory locks on PostgreSQL and MySQL,
SqlRunnerStoragerefresh now only confirms locks its current lock session holds. After the lock connection is replaced, shards held by the previous session are reported lost instead of being silently reacquired.#9817
46dc30aThanks @effect-bot! - Fix cluster shutdown waiting forentityTerminationTimeoutwhen a workflow is waiting on a persisted activity request that has not started. During runner shutdown the caller is now abandoned so the request replays under the next owner, and a durable caller abandoned this way is left for replay instead of being answered with an interrupt. WithpreemptiveShutdown: false, entities drain before the runner is marked as shutting down, so such a caller still waits forentityTerminationTimeout.#9985
3d5c862Thanks @tim-smart! - Fix a cluster workflow replay ignoring a durable deferred completion that is persisted but not yet processed by the new owner. ADurableDeferred.raceAllcould pick a different winner on replay and run the wrong branch. Workflow replays now read the stored completion from the unprocessed request when it has no reply yet.#9845
93ebc4fThanks @effect-bot! - FixClusterWorkflowEnginerunning a completed step's compensation twice wheninterruptUnsafeinterrupts a workflow during a running activity.#9938
c7b161aThanks @effect-bot! - Fix a forced shard release stalling forever when a child workflow wakes its still-running parent. The wake's cluster abandonment was retried, so it waited on the retired run and blocked the shard from being reacquired. The abandonment now interrupts the wake, so the activation unwinds, the release completes, and the parent is resumed under the next owner.#10034
e55945dThanks @jpowersdev! - FixHttpClientRequest.compressBodyreplacing the request's Content-Type with the body's content type. Compression now only updates the Content-Encoding and Content-Length headers.#10035
1a53d6aThanks @jpowersdev! - FixHttpMiddleware.compressionsending an uncompressed response whenAccept-Encodingcontains an empty list member, such asgzip,. Empty members are now ignored as RFC 9110 requires.#9769
5e25cc9Thanks @Marve10s! - FixEqual.equalsandHash.hashtreating any two same-lengthArrayBuffers as equal.ArrayBufferandSharedArrayBufferare now compared and hashed by their bytes.#9799
9503d5cThanks @effect-bot! - FixExit.hasFails,Exit.hasDies,Exit.hasInterrupts, andAsyncResult.isInterruptednarrowing away every failure when they returnfalse. They now returnboolean, like the matchingCausechecks; useExit.isFailureorAsyncResult.isFailureto narrow.#10026
13efb72Thanks @tim-smart! - Prevent laterSemaphore.takecalls from overtaking eligible queued requests while preserving mixed-size overtaking.#9767
8ca6abbThanks @Marve10s! - FixQueue.offerAll,MutableList.appendAllandMutableList.prependAllkeeping a reference to the caller's array. Changing that array afterward no longerConfiguration
📅 Schedule: (UTC)
* * * * 0,6)🚦 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 was generated by Mend Renovate. View the repository job log.