Repository navigation
fix(deps): update effect to v4 - #446
renovate[bot] wants to merge 1 commit into
Conversation
|
|
Review: held. This update needs migration work beyond the version bump. Effect 4 is a major release that reworks much of the Effect API. The release notes for the skipped 4.0.x versions are mostly additions and fixes. The breaking changes come from the 3.x to 4.0 move itself, and they apply here, because every package in this repo is built on Effect. What was checked:
The upgrade is still wanted. It needs its own pull request that migrates the code, moves every sibling |



Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
0.91.3→4.0.50.53.1→4.0.5^3.17.0→^3.17.0 || ^4.0.03.22.3→4.0.5Release Notes
Effect-TS/effect (@effect/platform-bun)
v4.0.5Compare Source
Patch Changes
#9136
12be65eThanks @tim-smart! - Redact sensitive query values in HTTP spans, request inspection and error messages. Also redact URL credentials in client spans, request inspection and errors. Request URLs sent over the wire are unchanged.Move
AWSAccessKeyId,Signature,sigandX-Goog-SignaturefromHeaders.CurrentRedactedNamesto the newUrlParams.CurrentRedactedNames. A custom list replaces these defaults. AddUrlParams.isRedactedName,UrlParams.redactandUrlParams.redactUrlfor explicit redaction.Updated dependencies [
f665607,dbf442b,74d1930,a03afb6,f159284,5d301cc,cd74ea2,925cf64,54c51d9,995c104,816575e,acc7860,0df6e06,52a7d3c,ec831c3,3abc63e,a841b8b,91efea7,e271997,7719bda,563397f,65b04f8,c2859bf,c462214,d1ad2c7,12be65e,352618a,2a8ec8b,8dec89d,f05642f,3ad9a0c,dba4e52,7ca8224,65d20dd,e3ff963,bc454a3,793d89e,ec9332b,f2b3d8a,cb2cf5f,b8c201d,118c9c4]:v4.0.4Compare Source
Patch Changes
7547a99,711719d,251f849,8f1ea52,c93485e,37e088f,9314666,a0a26b7,cc843ea,ab90be9,a59b971,fccf660,1bfd8fd,78e4c43,fde67a1,118deef,cea74c9,b7c1ac6,f837966,09738f4,22e7129,fdcb47e,fc349a1,ab90be9,892d14d,077c557,4a999a3,797696a,cf5179b,e1c6053,5726c65]:v4.0.3Compare Source
Patch Changes
#8909
be560ffThanks @effect-bot! - Fix Bun worker shutdown whenself.closeis unavailable so worker finalizers complete before exit.#8973
9dbd07eThanks @fubhy! - Accept address inputs inDns.reverseand name server inputs in the platformDnsservices, and addDns.nameServerFromInput.#8953
d4f7dc3Thanks @fubhy! - Add TLSA records toeffect/net/Dns, with aSchema.DnsTlsaRecordschema whose JSON codec encodes the certificate association data as hex. The Node.jsDnsservice queries them withresolveTlsa(Node.js 22.15 or 23.9 and later); Bun, Deno, and older Node.js versions fail TLSA queries withUnsupported.#8880
a9b5148Thanks @fubhy! - Add experimentalHost,Dns, andAddressResolvermodules toeffect/netfor host parsing, DNS queries, and endpoint resolution, with Node, Bun, and Deno services. DNS operations accept and normalize domain-name strings; endpoint resolution also acceptshost:portstrings. Add scoped IPv6 literals and host and DNS record schemas, including JSON codecs for records.Provide the services explicitly; they are not included in the platform
*Serviceslayers. UseNodeAddressResolver.layer.pipe(Layer.provideMerge(NodeDns.layer))to provide both Node services.#8409
b9e7821Thanks @tim-smart! - AddDatagramSocketfor UDP on Node, Bun, and Deno, andNetAddress.inetAddressFromNativeUnsafefor runtime-reported addresses.#8934
8e5ab22Thanks @tim-smart! - Esc now ends terminal key input by default, cancelling CLI prompts withTerminal.QuitError. To keep Esc non-cancelling, pass ashouldQuitpredicate tomake, such as(input) => input.key.ctrl && (input.key.name === "c" || input.key.name === "d")to quit only on Ctrl+C or Ctrl+D.#8978
0b17b9eThanks @tim-smart! - Allow WebSocket clients on Node and Bun to send handshake headers alongside subprotocols through socket constructors, channels, and layers. Preserve browser-compatible constructor calls when headers are not supplied.Updated dependencies [
b4e5af8,b8d6e7a,89d5c88,66257d2,cd2ab19,ca068ce,f686000,e052f1b,c755b69,ebe487f,63bfad8,8598157,76a03f7,182e26d,a46592a,1d3419e,e00eaae,133ceb2,a494a64,d6082a2,ee3a350,7ba976c,9dbd07e,d4f7dc3,a9b5148,e7d84e4,0e2b988,84f48df,48ed32f,59e58a6,b9e7821,aa811e4,bfc5742,f9f7a5a,73fa287,7ff5048,7803e51,93410da,8e5ab22,aef1d1f,d6d515b,ea52c24,7e44402,0b17b9e,9753be9,977096b,cf58cb0]:v4.0.2Compare Source
Patch Changes
#8770
540ecd1Thanks @fubhy! - Tag every module and directly importable export with an explicit@stability.@stability stablefollows strict semver, and@stability unstablemay receive breaking changes in minor releases.#8852
7d8d497Thanks @effect-bot! - Report the101status of a successful WebSocket upgrade to server middleware such asHttpMiddleware.loggerandHttpMiddleware.tracer, instead of the handler's discarded response status.Updated dependencies [
26c1089,6c59de7,467d3ac,375c1b0,45a70ce,fb757e3,716e358,af114e6,d0b3862,7064da9,eee0eeb,b9d6581,7a721ce,a0cb4c2,3cb395e,540ecd1,aefe05a,c381fbc,c6f2179,0aeb7fd,2fbecc8,7095539,46b75b1,99b6b45,e4cb9f1,2e03688,b817ebe,4153144,2b3c63c,bd00773,146e86a,44defad,22d6f4d,7d8d497,98a5ed7,d350f8e,bd96be0,f6af4b6,7234786,1f74b62,42763ce,5630677,a0e1b87,f5716ad,26931d0,972c80f,efebfa9,a3b4cf3,3ed997b,7b396bd,c07c144,8903b68,a84aa4e,88917eb,50a5686,c419a0e,d85a309,7e7ede6,1803500,495740d,985860d,e36abbb,c6086ee,0ac6ac8,90a1bae,b1d200c,1ba8521,1b35732,763b445,00f1cc7,d4f4bc8,f11526a,8781388,5326527,8409eb4,c5cf8ce,684ccdc,33303ea,b79fcb8,888a189,9b8200d,82303c1,76fcd89,f31e6b7,332d363,a6c7dcb,ec54070]:v4.0.1Compare Source
Patch Changes
f79b231Thanks @tim-smart! - Fix duplex socket readers throwing when a pull is interrupted or its scope closes during a read. Preserve consumed bytes in order across pull interruption and normal EOF, while discarding them when the reader scope closes.ed2cc2f,58a2ee8,bc44526,073bb47,2ec021e,cad1118,1672d9c,a81e4e6,f5c2a91,f79b231,498e72b,cabf123,a5b1d4e,878cb33,5e6f756,18dfb98,04706ef,f157482,f1aedb0,b5a2d4c,1c18c68,43416c4,d6ac8f9,1d9fb8c,20dcd50,42e5750,888e326,0b52bb4,e823e69,962647b,43fdcdc,1f89b8e,e1a521a]:v4.0.0Compare Source
Patch Changes
#8598
988c467Thanks @tim-smart! - Close server WebSockets with 1000 on success, 1001 on interruption, or 1011 on failure, while preserving explicit close codes. HTTP request scopes retain the handler's failure exit through response handling and middleware.#8633
2c552f2Thanks @IMax153! - Effect 4.0 is the first stable release of Effect v4. It replaces the 4.0.0 beta and release-candidate series, whose per-release notes remain below under the4.0.0-beta.*and4.0.0-rc.*headings. To upgrade from Effect 3, follow the migration guide.Packaging and versioning
effectand every@effect/*package.@effect/platform,@effect/rpc,@effect/cluster,@effect/cli,@effect/ai,@effect/sql,@effect/workflow,@effect/experimentaland similar packages are merged intoeffect. Separate packages remain only for platforms (@effect/platform-*), SQL drivers (@effect/sql-*), AI providers (@effect/ai-*), framework bindings (@effect/atom-*), OpenTelemetry, Vitest and tooling.effect/http,effect/http-api,effect/rpc,effect/cluster,effect/workflow,effect/ai,effect/cli,effect/sqlandeffect/schemaimport fromeffect/<area>. APIs tagged@stability unstablemay have breaking changes in minor releases. APIs without a stability tag follow semver.@stability unstable, because that dependency's releases can change them. This coversNodeRedis,DenoRedis,BunRedis,@effect/platform-node/Undiciand the undici dispatcher APIs, thewsoptions and re-exports in the platform packages, driver-specific options and clients in@effect/sql-clickhouse,@effect/sql-d1,@effect/sql-libsql,@effect/sql-mssql,@effect/sql-mysql2,@effect/sql-pgliteand@effect/sql-sqlite-do, the provider clients, models and generated schemas in the@effect/ai-*packages,@effect/opentelemetry, and thevitestre-export in@effect/vitest.effecthas no runtime dependencies.@effect/platform-deno,@effect/sql-pglite,@effect/ai-openai-compat,@effect/ai-typesafe,@effect/atom-react,@effect/atom-solid,@effect/atom-vue,@effect/openapi-generatorand@effect/doctest.@effect/docgennow lives in this repository.Core
Context.Service,FiberRefis replaced byContext.Reference,Causehas a flat structure, and many combinators were renamed. See the migration guide for the full list.Effect.tx, withTxRef,TxQueue,TxHashMap,TxPubSub,TxSemaphoreand relatedTx*data types.Clockseparates wall-clock time from monotonic time.Semaphore,Latch,LayerRef,ErrorReporter,ByteSize,NewtypeandCrypto.Arbitraryis now a native property-based testing module and no longer depends on fast-check.Schema
makeconstructors on every schema, and effectful decoding with services.SchemaRepresentationpowers JSON Schema (Draft-04, Draft-07, 2020-12 and OpenAPI 3.0/3.1) import and export, TypeScript code generation, and AI structured output.SchemaBinaryprovides a compact binary codec and is the default wire format for cluster transports.Platform, HTTP and RPC
HttpApisupports typed response headers, streaming and SSE responses, the HTTPQUERYmethod,HttpApiTestfor in-memory testing, and much faster type checking for large APIs.Sockethas a pull-based reader with backpressure and STARTTLS support. Network addresses are modeled byeffect/net.@effect/platform-denoadds full Deno support. The Node, Bun, Deno and browser packages all provide the platformCryptoservice, and the browser package adds IndexedDB support.Cluster and Workflow
DurableQueueand an in-memoryWorkflowEngineare available.ShardingConfiglimits. Shutdown, entity movement and persisted replies are more reliable.SQL
@effect/sql-pguses a built-in PostgreSQL client with pipelining, prepared statements and binary codecs, and no longer depends onpg.@effect/sql-sqlite-nodeuses Node's built-innode:sqliteand requires Node 22.16 or newer.SqlErrorexposes structured reasons such asUniqueViolation.AI
effect/aiaddsEmbeddingModel, theDecisionModelclassification and rating API, dynamic tools and tool approvals.CLI, Atom, observability and testing
effect/cliadds global flags, command aliases and examples, an interactive wizard mode, and shell completions for Bash, Zsh and Fish.effect/reactivityand the@effect/atom-*bindings add SSR hydration, stale-while-revalidate atoms and serializable RPC and HttpApi queries.@effect/opentelemetryaligns logs and spans with the OpenTelemetry specification.@effect/vitestruns property tests with the nativeArbitrarymodule and supports Vitest fixtures.Requirements
@effect/vitestand@effect/doctestrequire Vitest 5.@effect/atom-reactrequires React 19.@effect/platform-denorequires Deno 2.8.3 or newer.Updated dependencies [
cbfc7b4,5a81a6f,68b6394,5250ca6,5f9c9d1,3278821,83429b4,0af6d0c,927e01e,10d8524,35ac25a,29e0aa7,8783536,df77fff,ef7d77f,035e369,f72790c,aa19472,988c467,735b77b,e5f7d12,2c552f2]:Effect-TS/effect (@effect/sql-pg)
v4.0.5Compare Source
Patch Changes
#9102
3b7237aThanks @effect-bot! - Bind inferred empty array parameters as untyped PostgreSQL array literals so the statement can determine their type.#9120
1cd7df8Thanks @hsyntax! - Add an optionalkeepAliveidle duration that enables TCP keepalive, so a connection that silently stops responding errors instead of leaving queries hanging.Updated dependencies [
f665607,dbf442b,74d1930,a03afb6,f159284,5d301cc,cd74ea2,925cf64,54c51d9,995c104,816575e,0df6e06,52a7d3c,ec831c3,3abc63e,a841b8b,91efea7,e271997,7719bda,563397f,65b04f8,c2859bf,c462214,d1ad2c7,12be65e,352618a,2a8ec8b,8dec89d,f05642f,3ad9a0c,dba4e52,7ca8224,65d20dd,e3ff963,bc454a3,793d89e,ec9332b,f2b3d8a,cb2cf5f,b8c201d,118c9c4]:v4.0.4Compare Source
Patch Changes
ab04ad0Thanks @effect-bot! - Reject queries, streams and listeners on releasedPgConnectionpins, and ignore theirinterruptcalls. Close the session if a pin is released with an in-flight statement or an open listener, so neither can affect the next borrower.7547a99,711719d,8f1ea52,c93485e,37e088f,9314666,a0a26b7,cc843ea,ab90be9,a59b971,fccf660,1bfd8fd,78e4c43,fde67a1,118deef,cea74c9,b7c1ac6,f837966,09738f4,22e7129,fdcb47e,fc349a1,ab90be9,892d14d,077c557,4a999a3,797696a,cf5179b,e1c6053]:v4.0.3Compare Source
Patch Changes
b4e5af8,b8d6e7a,89d5c88,66257d2,cd2ab19,ca068ce,f686000,e052f1b,c755b69,ebe487f,63bfad8,8598157,76a03f7,182e26d,a46592a,1d3419e,e00eaae,133ceb2,a494a64,d6082a2,ee3a350,7ba976c,9dbd07e, [d4f7dc3](https://redirect.github.com/Effect-TS/effect/commit/d4f7dc33Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.