1effect/Effect#acquireReleaseInterruptible:
2 replacement: "Effect.acquireRelease"
3 note: "Pass `{ interruptible: true }` in the options object. Adapt arguments and imports to the v4 API."
4effect/Effect#Adapter:
5 replacement: "none"
6 note: "The generator adapter type was removed; yield Effect values directly inside `Effect.gen`. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
7effect/Effect#All:
8 replacement: "Effect.All"
9 note: "Still exported in v4; update call sites for the revised signature, options, and channel inference."
10effect/Effect#All.ExtractMode:
11 replacement: "Effect.All.Return"
12 note: "The `either` extraction helper was removed; use `mode: \"result\"` and the v4 return helper. Adapt arguments and imports to the v4 API."
13effect/Effect#allowInterrupt:
14 replacement: "Effect.yieldNow"
15 note: "Yield to the scheduler to create an interruptible checkpoint. Adapt arguments and imports to the v4 API."
16effect/Effect#allSuccesses:
17 replacement: "Effect.all"
18 note: "Run with `{ mode: \"result\" }`, then retain `Result.Success` values. Adapt arguments and imports to the v4 API."
19effect/Effect#allWith:
20 replacement: "Effect.all"
21 note: "Wrap `Effect.all(values, options)` in a lambda when a data-last combinator is needed. Adapt arguments and imports to the v4 API."
22effect/Effect#annotateLogs:
23 include: true
24 replacement: "Effect.annotateLogs"
25 note: "Still exported in v4; update call sites for the revised signature, options, and channel inference."
26effect/Effect#ap:
27 replacement: "Effect.zipWith"
28 note: "Zip the function effect and value effect, then apply the function in the combiner. Adapt arguments and imports to the v4 API."
29effect/Effect#asSomeError:
30 replacement: "Effect.mapError"
31 note: "Map errors with `Option.some`. Adapt arguments and imports to the v4 API."
32effect/Effect#async:
33 replacement: "Effect.callback"
34 note: "Use the renamed callback constructor. Adapt arguments and imports to the v4 API."
35effect/Effect#asyncEffect:
36 replacement: "Effect.callback"
37 note: "The callback registration may return an Effect cleanup action in v4. Adapt arguments and imports to the v4 API."
38effect/Effect#bindAll:
39 replacement: "Effect.bind + Effect.all"
40 note: "Bind the result of `Effect.all` explicitly in the do-notation pipeline. Adapt arguments and imports to the v4 API."
41effect/Effect#blocked:
42 replacement: "none"
43 note: "The request-runtime blocked constructor is internal; express work with `Effect.request` and a `RequestResolver`. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
44effect/Effect#Blocked:
45 replacement: "none"
46 note: "The request-runtime blocked model is internal; use public `Request` and `RequestResolver` APIs. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
47effect/Effect#cachedFunction:
48 replacement: "none"
49 note: "The function memoizer was removed; use `Cache` for keyed effectful caching. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
50effect/Effect#cacheRequestResult:
51 replacement: "none"
52 note: "Direct request-cache mutation was removed; configure request resolution through `RequestResolver`. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
53effect/Effect#catch:
54 include: true
55 replacement: "Effect.catch"
56 note: "Typed recovery skips causes containing defects and converts their typed errors to defects, preserving reason order and interruptions. An interruption alongside a typed error does not block recovery; use Effect.catchCause for full-cause handling."
57effect/Effect#catchAll:
58 replacement: "Effect.catch"
59 note: "Rename to Effect.catch. Causes containing defects skip typed recovery and convert typed errors to defects; interruptions alongside typed errors do not block recovery. Use Effect.catchCause for full-cause handling."
60effect/Effect#catchAllCause:
61 replacement: "Effect.catchCause"
62 note: "Use the shortened v4 cause-handler name. Adapt arguments and imports to the v4 API."
63effect/Effect#catchAllDefect:
64 replacement: "Effect.catchDefect"
65 note: "Use the shortened v4 defect-handler name. Adapt arguments and imports to the v4 API."
66effect/Effect#catchSome:
67 replacement: "Effect.catchFilter"
68 note: "Replace the Option-returning partial function with a Filter and handler. Causes containing defects skip typed recovery and convert typed errors to defects; interruptions alongside typed errors do not block recovery."
69effect/Effect#catchSomeCause:
70 replacement: "Effect.catchCauseFilter"
71 note: "Replace the Option-returning partial function with a cause `Filter` and handler. Adapt arguments and imports to the v4 API."
72effect/Effect#catchSomeDefect:
73 replacement: "none"
74 note: "Use `Effect.catchDefect` and branch explicitly, re-dying for unmatched defects. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
75effect/Effect#cause:
76 replacement: "Effect.exit"
77 note: "Inspect `Exit.Failure.cause`; v4 no longer exposes an Effect-only cause extractor. Adapt arguments and imports to the v4 API."
78effect/Effect#checkInterruptible:
79 replacement: "none"
80 note: "Interruptibility introspection was removed; structure the region explicitly with `Effect.interruptible` or `Effect.uninterruptible`. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
81effect/Effect#clock:
82 replacement: "Clock.Clock"
83 note: "Services are Effects in v4; yield or compose `Clock.Clock` directly. Adapt imports to the v4 API."
84effect/Effect#configProviderWith:
85 replacement: "ConfigProvider.ConfigProvider.use"
86 note: "Use the ConfigProvider reference's `.use` helper to invoke the effectful callback. Adapt arguments and imports to the v4 API."
87effect/Effect#console:
88 replacement: "Console.Console"
89 note: "Services are Effects in v4; yield or compose `Console.Console` directly. Adapt imports to the v4 API."
90effect/Effect#consoleWith:
91 replacement: "Console.Console.use"
92 note: "Use the Console reference's `.use` helper to invoke the effectful callback. Adapt arguments and imports to the v4 API."
93effect/Effect#contextWithEffect:
94 replacement: "Effect.contextWith"
95 note: "`contextWith` accepts an effectful callback in v4. Adapt arguments and imports to the v4 API."
96effect/Effect#currentPropagatedSpan:
97 replacement: "Effect.currentParentSpan"
98 note: "Use the current parent span representation. Adapt arguments and imports to the v4 API."
99effect/Effect#custom:
100 replacement: "none"
101 note: "The low-level custom instruction constructor was removed; use public constructors such as `Effect.sync`, `Effect.suspend`, or `Effect.callback`. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
102effect/Effect#daemonChildren:
103 replacement: "Effect.awaitAllChildren"
104 note: "Use structured child-fiber waiting, or fork explicitly with `Effect.forkDetach` when detachment is intended. Adapt arguments and imports to the v4 API."
105effect/Effect#descriptor:
106 replacement: "Effect.fiberId"
107 note: "The full fiber descriptor was removed; retrieve the current numeric fiber id. Adapt arguments and imports to the v4 API."
108effect/Effect#descriptorWith:
109 replacement: "Effect.fiberId + Effect.flatMap"
110 note: "Read the current fiber id and invoke the callback explicitly. Adapt arguments and imports to the v4 API."
111effect/Effect#dieMessage:
112 replacement: "Effect.die"
113 note: "Construct the desired defect explicitly and pass it to `Effect.die`. Adapt arguments and imports to the v4 API."
114effect/Effect#dieSync:
115 replacement: "Effect.suspend + Effect.die"
116 note: "Evaluate the lazy defect inside `Effect.suspend`. Adapt arguments and imports to the v4 API."
117effect/Effect#diffFiberRefs:
118 replacement: "none"
119 note: "The public FiberRefs diff API was removed; model fiber-local state with context references and scoped `Effect.provideService`. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
120effect/Effect#disconnect:
121 replacement: "Effect.forkDetach"
122 note: "Fork explicitly and decide how to await or interrupt the detached Fiber. Adapt arguments and imports to the v4 API."
123effect/Effect#dropUntil:
124 replacement: "none"
125 note: "Use an explicit `Effect.gen` loop for an effectful stopping predicate. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
126effect/Effect#dropWhile:
127 replacement: "none"
128 note: "Use an explicit `Effect.gen` loop, or `Array.dropWhile` when the predicate is pure. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
129effect/Effect#Effect:
130 replacement: "Effect.Effect"
131 note: "Still exported in v4; update call sites for the revised signature, options, and channel inference."
132effect/Effect#Effect.AsEffect:
133 replacement: "Effect.Effect"
134 note: "Use the Effect type directly and extract channels with `Effect.Success`, `Effect.Error`, and `Effect.Services`. Adapt arguments and imports to the v4 API."
135effect/Effect#Effect.Context:
136 replacement: "Effect.Services"
137 note: "Use the renamed type-level extractor for required services. Adapt arguments and imports to the v4 API."
138effect/Effect#Effect.VarianceStruct:
139 replacement: "Effect.Variance"
140 note: "Use the v4 variance interface. Adapt arguments and imports to the v4 API."
141effect/Effect#EffectGenerator:
142 replacement: "Effect.EffectIterator"
143 note: "Use the v4 iterator type used by generator delegation. Adapt arguments and imports to the v4 API."
144effect/Effect#EffectTypeId:
145 replacement: "Effect.TypeId"
146 note: "Use the v4 type-level Effect identifier. Adapt arguments and imports to the v4 API."
147effect/Effect#EffectUnify:
148 replacement: "Effect.EffectUnify"
149 note: "Still exported in v4; update call sites for the revised signature, options, and channel inference."
150effect/Effect#EffectUnifyIgnore:
151 replacement: "none"
152 note: "The internal unification-ignore helper is no longer public; rely on v4 Effect inference. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
153effect/Effect#either:
154 replacement: "Effect.result"
155 note: "V4 represents typed success/failure as `Result` instead of `Either`. Adapt arguments and imports to the v4 API. Causes containing defects are not captured as Result failures and propagate with typed errors converted to defects; interruptions alongside typed errors do not block typed recovery."
156effect/Effect#ensureErrorType:
157 replacement: "Effect.satisfiesErrorType"
158 note: "Use the renamed compile-time channel constraint. Adapt arguments and imports to the v4 API."
159effect/Effect#ensureRequirementsType:
160 replacement: "Effect.satisfiesServicesType"
161 note: "Use the renamed compile-time services constraint. Adapt arguments and imports to the v4 API."
162effect/Effect#ensureSuccessType:
163 replacement: "Effect.satisfiesSuccessType"
164 note: "Use the renamed compile-time channel constraint. Adapt arguments and imports to the v4 API."
165effect/Effect#ensuringChild:
166 replacement: "Effect.ensuring + Fiber APIs"
167 note: "Track the child Fiber explicitly and run the finalizer with `Effect.ensuring`. Adapt arguments and imports to the v4 API."
168effect/Effect#ensuringChildren:
169 replacement: "Effect.awaitAllChildren + Effect.ensuring"
170 note: "Use structured child waiting and an explicit finalizer. Adapt arguments and imports to the v4 API."
171effect/Effect#every:
172 replacement: "Effect.forEach"
173 note: "Evaluate predicates with `Effect.forEach`, then test the resulting booleans with `Array.every`. Adapt arguments and imports to the v4 API."
174effect/Effect#exists:
175 replacement: "Effect.findFirst"
176 note: "Find the first value satisfying the effectful predicate and test the returned Option. Adapt arguments and imports to the v4 API."
177effect/Effect#fiberIdWith:
178 replacement: "Effect.fiberId + Effect.flatMap"
179 note: "Read the numeric fiber id and invoke the callback explicitly. Adapt arguments and imports to the v4 API."
180effect/Effect#filterEffectOrElse:
181 replacement: "Effect.flatMap"
182 note: "Evaluate the effectful predicate and branch to `Effect.succeed` or the fallback. Adapt arguments and imports to the v4 API."
183effect/Effect#filterEffectOrFail:
184 replacement: "Effect.flatMap"
185 note: "Evaluate the effectful predicate and branch to `Effect.succeed` or `Effect.fail`. Adapt arguments and imports to the v4 API."
186effect/Effect#filterOrDie:
187 replacement: "Effect.filterOrFail + Effect.orDie"
188 note: "Filter with a typed failure, then convert it to a defect. Adapt arguments and imports to the v4 API."
189effect/Effect#filterOrDieMessage:
190 replacement: "Effect.filterOrFail + Effect.orDie"
191 note: "Create the message-bearing error in `filterOrFail`, then convert it to a defect. Adapt arguments and imports to the v4 API."
192effect/Effect#finalizersMask:
193 replacement: "none"
194 note: "Configurable finalizer execution strategies were removed; register ordered finalizers explicitly in a Scope. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
195effect/Effect#flipWith:
196 replacement: "Effect.flip"
197 note: "Flip, apply the transformation, then flip the resulting Effect back. Adapt arguments and imports to the v4 API."
198effect/Effect#fn:
199 replacement: "Effect.fn"
200 note: "Still exported in v4; update call sites for the revised signature, options, and channel inference."
201effect/Effect#fn.Gen:
202 replacement: "Effect.fn.Return"
203 note: "Use the v4 generator-return helper type. Adapt arguments and imports to the v4 API."
204effect/Effect#fn.NonGen:
205 replacement: "Effect.fn.Untraced"
206 note: "Use the v4 function helper type for non-generator wrapping. Adapt arguments and imports to the v4 API."
207effect/Effect#fork:
208 replacement: "Effect.forkChild"
209 note: "Use the renamed structured child-fiber combinator. Adapt arguments and imports to the v4 API."
210effect/Effect#forkAll:
211 replacement: "Effect.forEach + Effect.forkChild"
212 note: "Fork each effect explicitly, or prefer a higher-level concurrent combinator. Adapt arguments and imports to the v4 API."
213effect/Effect#forkDaemon:
214 replacement: "Effect.forkDetach"
215 note: "Use the renamed detached-fiber combinator. Adapt arguments and imports to the v4 API."
216effect/Effect#forkWithErrorHandler:
217 replacement: "Effect.forkChild + Fiber.await"
218 note: "Fork explicitly and observe the Fiber result to handle errors. Adapt arguments and imports to the v4 API."
219effect/Effect#fromFiber:
220 replacement: "Fiber.join"
221 note: "Join the Fiber to obtain an Effect of its result. Adapt arguments and imports to the v4 API."
222effect/Effect#fromFiberEffect:
223 replacement: "Effect.flatMap + Fiber.join"
224 note: "FlatMap the effectful Fiber and join it. Adapt arguments and imports to the v4 API."
225effect/Effect#fromNullable:
226 replacement: "Effect.fromOption + Option.fromNullable"
227 note: "Convert the nullable value to Option, then lift it into Effect. Adapt arguments and imports to the v4 API."
228effect/Effect#functionWithSpan:
229 replacement: "Effect.withSpan"
230 note: "Wrap the function body with a span whose name/options are derived from its arguments. Adapt arguments and imports to the v4 API."
231effect/Effect#FunctionWithSpanOptions:
232 replacement: "Tracer.SpanOptions"
233 note: "Use the v4 tracing options type when wrapping functions with `Effect.withSpan`. Adapt arguments and imports to the v4 API."
234effect/Effect#gen:
235 replacement: "Effect.gen"
236 note: "Still exported in v4; update call sites for the revised signature, options, and channel inference."
237effect/Effect#getFiberRefs:
238 replacement: "none"
239 note: "The FiberRefs collection is no longer public; access individual context references through Effect services. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
240effect/Effect#getRuntimeFlags:
241 replacement: "none"
242 note: "RuntimeFlags are no longer a public Effect service; use supported high-level runtime options. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
243effect/Effect#if:
244 replacement: "Effect.suspend"
245 note: "Select the branch lazily with a JavaScript conditional inside `Effect.suspend`. Adapt arguments and imports to the v4 API."
246effect/Effect#ignoreLogged:
247 replacement: "Effect.ignore"
248 note: "Use Effect.ignore(self, { log: true }). Causes containing defects are not ignored and propagate with typed errors converted to defects; interruptions alongside typed errors do not block typed recovery."
249effect/Effect#inheritFiberRefs:
250 replacement: "none"
251 note: "Bulk FiberRef inheritance was removed; propagate required context references explicitly. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
252effect/Effect#interruptWith:
253 replacement: "Effect.interrupt"
254 note: "V4 interruption uses the current fiber identity; remove the explicit FiberId argument. Adapt arguments and imports to the v4 API."
255effect/Effect#intoDeferred:
256 replacement: "Deferred.into"
257 note: "Use the Deferred module combinator. Adapt arguments and imports to the v4 API."
258effect/Effect#iterate:
259 replacement: "none"
260 note: "Use an explicit stateful `Effect.gen` loop; v4 removed the Effect-specific loop helper. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
261effect/Effect#labelMetrics:
262 replacement: "Metric.withAttributes"
263 note: "Convert labels to metric attributes and scope them around the Effect. Adapt arguments and imports to the v4 API."
264effect/Effect#labelMetricsScoped:
265 replacement: "Metric.withAttributes"
266 note: "Apply metric attributes to the scoped Effect rather than mutating scoped labels. Adapt arguments and imports to the v4 API."
267effect/Effect#LatchUnify:
268 replacement: "Latch.Latch"
269 note: "Latch moved to the standalone `effect/Latch` module; rely on normal v4 inference. Adapt arguments and imports to the v4 API."
270effect/Effect#LatchUnifyIgnore:
271 replacement: "none"
272 note: "The internal Latch unification helper was removed; use `Latch.Latch` directly. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
273effect/Effect#let:
274 replacement: "Effect.let"
275 note: "Still exported in v4; update call sites for the revised signature, options, and channel inference."
276effect/Effect#liftPredicate:
277 replacement: "Effect.filterOrFail"
278 note: "Lift the input with `Effect.succeed` and apply `filterOrFail`. Adapt arguments and imports to the v4 API."
279effect/Effect#linkSpanCurrent:
280 replacement: "Effect.linkSpans"
281 note: "Use the v4 span-link combinator. Adapt arguments and imports to the v4 API."
282effect/Effect#locally:
283 replacement: "Effect.provideService"
284 note: "FiberRef values are context references in v4; provide the reference for the Effect lifetime. Adapt arguments and imports to the v4 API."
285effect/Effect#locallyScoped:
286 replacement: "Effect.provideService"
287 note: "Provide the context reference around the scoped Effect. Adapt arguments and imports to the v4 API."
288effect/Effect#locallyScopedWith:
289 replacement: "Effect.updateServiceScoped"
290 note: "Context references replace FiberRefs in v4; update the reference for the current scope. Adapt arguments and imports to the v4 API."
291effect/Effect#locallyWith:
292 replacement: "Effect.updateService"
293 note: "Context references replace FiberRefs in v4; update the reference around the target Effect. Adapt arguments and imports to the v4 API."
294effect/Effect#logAnnotations:
295 replacement: "References.CurrentLogAnnotations"
296 note: "Context references are Effects in v4; yield or compose `References.CurrentLogAnnotations` directly. Adapt imports to the v4 API."
297effect/Effect#loop:
298 replacement: "none"
299 note: "Use an explicit `Effect.gen` loop and collect results when needed. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
300effect/Effect#makeLatch:
301 replacement: "Latch.make"
302 note: "Latch constructors moved to `effect/Latch`. Adapt arguments and imports to the v4 API."
303effect/Effect#makeSemaphore:
304 replacement: "Semaphore.make"
305 note: "Semaphore constructors moved to `effect/Semaphore`. Adapt arguments and imports to the v4 API."
306effect/Effect#mapAccum:
307 replacement: "Effect.reduce"
308 note: "Carry `[state, output]` through an effectful reduction. Adapt arguments and imports to the v4 API."
309effect/Effect#mapErrorCause:
310 replacement: "Effect.catchCause + Effect.failCause"
311 note: "Transform the Cause in a cause handler and fail with the mapped Cause. Adapt arguments and imports to the v4 API."
312effect/Effect#mapInputContext:
313 replacement: "Effect.contextWith + Effect.provide"
314 note: "Build the required context from the incoming context and provide it explicitly. Adapt arguments and imports to the v4 API."
315effect/Effect#merge:
316 replacement: "Effect.catch"
317 note: "Recover each typed error with `Effect.succeed` so both channels become success values. Adapt arguments and imports to the v4 API."
318effect/Effect#mergeAll:
319 replacement: "Effect.reduce"
320 note: "Reduce the input effects with an effectful accumulator. Adapt arguments and imports to the v4 API."
321effect/Effect#metricLabels:
322 replacement: "Metric.CurrentMetricAttributes"
323 note: "Context references are Effects in v4; yield or compose `Metric.CurrentMetricAttributes` directly. Adapt imports to the v4 API."
324effect/Effect#negate:
325 replacement: "Effect.map"
326 note: "Map the boolean result with logical negation. Adapt arguments and imports to the v4 API."
327effect/Effect#none:
328 replacement: "Effect.flatMap + Option.match"
329 note: "Fail for `Some` and succeed with void for `None`. Adapt arguments and imports to the v4 API."
330effect/Effect#once:
331 replacement: "Effect.cached"
332 note: "Create the cached Effect once, then execute the returned Effect repeatedly. Adapt arguments and imports to the v4 API."
333effect/Effect#optionFromOptional:
334 replacement: "Effect.catchTag"
335 note: "Map success to `Option.some` and recover `NoSuchElementError` with `Option.none`. Adapt arguments and imports to the v4 API."
336effect/Effect#orDieWith:
337 replacement: "Effect.mapError + Effect.orDie"
338 note: "Map the typed error to the desired defect, then convert failures to defects. Adapt arguments and imports to the v4 API."
339effect/Effect#orElse:
340 replacement: "Effect.catch"
341 note: "Use Effect.catch(self, () => that()). Causes containing defects skip the fallback and convert typed errors to defects; interruptions alongside typed errors do not block recovery."
342effect/Effect#orElseFail:
343 replacement: "Effect.mapError"
344 note: "Replace every typed error with the lazily produced failure value. Adapt arguments and imports to the v4 API."
345effect/Effect#parallelErrors:
346 replacement: "Effect.all"
347 note: "Use `{ mode: \"result\", concurrency: \"unbounded\" }` and collect failures explicitly. Adapt arguments and imports to the v4 API."
348effect/Effect#parallelFinalizers:
349 replacement: "none"
350 note: "Parallel finalizer strategy mutation was removed; fork independent cleanup explicitly when ordering is irrelevant. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
351effect/Effect#partition:
352 include: true
353 replacement: "Effect.partition"
354 note: "The tuple is now [passes, fails], the reverse of v3 [failures, successes]. Every effect still runs, and the outer effect does not fail."
355effect/Effect#patchFiberRefs:
356 replacement: "none"
357 note: "Bulk FiberRefs patching was removed; update individual context references with `Effect.updateService`. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
358effect/Effect#patchRuntimeFlags:
359 replacement: "none"
360 note: "RuntimeFlags patching was removed from the public API; use supported high-level runtime options. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
361effect/Effect#Permit:
362 replacement: "Semaphore.Semaphore"
363 note: "Use the standalone Semaphore API and its `withPermit` / `withPermits` methods. Adapt arguments and imports to the v4 API."
364effect/Effect#raceWith:
365 replacement: "Effect.raceFirst + Fiber APIs"
366 note: "Use `raceFirst` for first completion, or fork both effects and inspect their Exits for custom finishers. Adapt arguments and imports to the v4 API."
367effect/Effect#random:
368 replacement: "Random.Random"
369 note: "Services are Effects in v4; yield or compose `Random.Random` directly. Adapt imports to the v4 API."
370effect/Effect#randomWith:
371 replacement: "Random.Random.use"
372 note: "Use the Random reference's `.use` helper to invoke the effectful callback. Prefer module-level Random operations when possible."
373effect/Effect#reduceEffect:
374 replacement: "Effect.flatMap + Effect.reduce"
375 note: "Evaluate the initial Effect, then reduce the remaining effects. Adapt arguments and imports to the v4 API."
376effect/Effect#reduceRight:
377 replacement: "Effect.reduce"
378 note: "Reverse the input first, then perform the effectful reduction. Adapt arguments and imports to the v4 API."
379effect/Effect#reduceWhile:
380 replacement: "none"
381 note: "Use an explicit `Effect.gen` loop that checks the accumulator before each step. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
382effect/Effect#Repeat:
383 replacement: "Effect.Repeat"
384 note: "Still exported in v4; update call sites for the revised signature, options, and channel inference."
385effect/Effect#Repeat.Options:
386 replacement: "Effect.Repeat.Options"
387 note: "Still exported in v4; update call sites for the revised signature, options, and channel inference."
388effect/Effect#repeatN:
389 replacement: "Effect.repeat"
390 note: "Pass `{ times: n }` to the consolidated repeat combinator. Adapt arguments and imports to the v4 API."
391effect/Effect#Retry:
392 replacement: "Effect.Retry"
393 note: "Still exported in v4; update call sites for the revised signature, options, and channel inference."
394effect/Effect#Retry.Options:
395 replacement: "Effect.Retry.Options"
396 note: "Still exported in v4; update call sites for the revised signature, options, and channel inference."
397effect/Effect#runRequestBlock:
398 replacement: "none"
399 note: "The request-runtime block runner is internal; submit requests with `Effect.request`. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
400effect/Effect#runtime:
401 replacement: "Effect.context + Effect.runForkWith"
402 note: "Capture services as a Context and use the corresponding `run*With` function. Adapt arguments and imports to the v4 API."
403effect/Effect#scheduleForked:
404 replacement: "Effect.schedule + Effect.forkScoped"
405 note: "Schedule the Effect, then fork it in the current Scope. Adapt arguments and imports to the v4 API."
406effect/Effect#scopeWith:
407 replacement: "Effect.scopedWith"
408 note: "Use the renamed scoped callback combinator. Adapt arguments and imports to the v4 API."
409effect/Effect#sequentialFinalizers:
410 replacement: "none"
411 note: "Sequential reverse-order finalization is the normal Scope behavior; remove this wrapper. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
412effect/Effect#Service:
413 replacement: "Context.Service"
414 note: "Replace the `effect` constructor option with `make`. V4 does not generate a `Default` layer or wire `dependencies`; define a `Layer.effect` and provide its dependencies explicitly."
415effect/Effect#Service.AllowedType:
416 replacement: "Context.Service"
417 note: "Service type machinery moved to `Context.Service`; do not reference its internal helper types. Adapt arguments and imports to the v4 API."
418effect/Effect#Service.Class:
419 replacement: "Context.Service"
420 note: "Service classes are now defined with `Context.Service`. Adapt arguments and imports to the v4 API."
421effect/Effect#Service.HasArguments:
422 replacement: "Context.Service"
423 note: "Service constructor typing is handled by `Context.Service`. Adapt arguments and imports to the v4 API."
424effect/Effect#Service.MakeAccessors:
425 replacement: "Context.Service"
426 note: "Use the generated `.use` helper instead of v3 accessor type machinery. Adapt arguments and imports to the v4 API."
427effect/Effect#Service.MakeArguments:
428 replacement: "Context.Service"
429 note: "Pass a `make` Effect in the v4 `Context.Service` options. Adapt arguments and imports to the v4 API."
430effect/Effect#Service.MakeContext:
431 replacement: "Context.Service"
432 note: "Service context typing is inferred by `Context.Service`. Adapt arguments and imports to the v4 API."
433effect/Effect#Service.MakeDeps:
434 replacement: "Layer.provide"
435 note: "Compose service dependencies explicitly with Layers. Adapt arguments and imports to the v4 API."
436effect/Effect#Service.MakeDepsE:
437 replacement: "Layer.Error"
438 note: "Use Layer channel extractors rather than Service internals. Adapt arguments and imports to the v4 API."
439effect/Effect#Service.MakeDepsIn:
440 replacement: "Layer.Services"
441 note: "Use Layer channel extractors rather than Service internals. Adapt arguments and imports to the v4 API."
442effect/Effect#Service.MakeDepsOut:
443 replacement: "Layer.Success"
444 note: "Use Layer channel extractors rather than Service internals. Adapt arguments and imports to the v4 API."
445effect/Effect#Service.MakeError:
446 replacement: "Layer.Error"
447 note: "Use the Layer error-channel extractor. Adapt arguments and imports to the v4 API."
448effect/Effect#Service.MakeService:
449 replacement: "Context.Service"
450 note: "The service shape is inferred by `Context.Service`. Adapt arguments and imports to the v4 API."
451effect/Effect#Service.ProhibitedType:
452 replacement: "Context.Service"
453 note: "Do not reference the removed internal validation type. Adapt arguments and imports to the v4 API."
454effect/Effect#serviceConstants:
455 replacement: "Context.Service.use"
456 note: "Expose constants from the service explicitly or through the generated `use` helper. Adapt arguments and imports to the v4 API."
457effect/Effect#serviceFunction:
458 replacement: "Context.Service.use"
459 note: "Use the service class `.use` helper to build an accessor function. Adapt arguments and imports to the v4 API."
460effect/Effect#serviceFunctionEffect:
461 replacement: "Context.Service.use"
462 note: "Use the service class `.use` helper for effect-returning methods. Adapt arguments and imports to the v4 API."
463effect/Effect#serviceFunctions:
464 replacement: "Context.Service.use"
465 note: "Define explicit service accessors with the generated `.use` helper. Adapt arguments and imports to the v4 API."
466effect/Effect#serviceMembers:
467 replacement: "Context.Service.use"
468 note: "Define explicit service accessors with the generated `.use` helper. Adapt arguments and imports to the v4 API."
469effect/Effect#serviceOptional:
470 replacement: "service"
471 note: "Services are Effects in v4; yield or compose the service key directly. Use `Effect.serviceOption` only when absence is expected."
472effect/Effect#setFiberRefs:
473 replacement: "none"
474 note: "Bulk FiberRefs replacement was removed; provide individual context references. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
475effect/Effect#step:
476 replacement: "none"
477 note: "The low-level Effect stepping API was removed from the public surface. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
478effect/Effect#summarized:
479 replacement: "Effect.gen"
480 note: "Run the summary Effect before and after the target Effect and combine the two measurements explicitly. Adapt arguments and imports to the v4 API."
481effect/Effect#supervised:
482 replacement: "FiberSet"
483 note: "Track explicitly forked Fibers in a scoped `FiberSet` instead of installing a runtime Supervisor. Adapt arguments and imports to the v4 API."
484effect/Effect#Tag:
485 replacement: "Context.Service"
486 note: "Define services with `Context.Service`; use the generated `.use` helper for accessors. Adapt arguments and imports to the v4 API."
487effect/Effect#Tag.AllowedType:
488 replacement: "Context.Service"
489 note: "Tag validation internals were removed; use `Context.Service` directly. Adapt arguments and imports to the v4 API."
490effect/Effect#Tag.ProhibitedType:
491 replacement: "Context.Service"
492 note: "Tag validation internals were removed; use `Context.Service` directly. Adapt arguments and imports to the v4 API."
493effect/Effect#Tag.Proxy:
494 replacement: "Context.Service.use"
495 note: "Replace proxy accessors with the generated `.use` helper. Adapt arguments and imports to the v4 API."
496effect/Effect#tagMetrics:
497 replacement: "Metric.withAttributes"
498 note: "Convert key/value tags to metric attributes. Adapt arguments and imports to the v4 API."
499effect/Effect#tagMetricsScoped:
500 replacement: "Metric.withAttributes"
501 note: "Apply attributes around the scoped Effect. Adapt arguments and imports to the v4 API."
502effect/Effect#takeUntil:
503 replacement: "none"
504 note: "Use an explicit `Effect.gen` loop for an effectful stopping predicate. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
505effect/Effect#takeWhile:
506 replacement: "none"
507 note: "Use an explicit `Effect.gen` loop, or `Array.takeWhile` when the predicate is pure. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
508effect/Effect#tapBoth:
509 replacement: "Effect.tapError + Effect.tap"
510 note: "Tap the failure path first, then tap successful values. Adapt arguments and imports to the v4 API."
511effect/Effect#tapErrorCause:
512 replacement: "Effect.tapCause"
513 note: "Use the shortened v4 cause-tap name. Adapt arguments and imports to the v4 API."
514effect/Effect#timedWith:
515 replacement: "Effect.gen"
516 note: "Read the supplied clock Effect before and after the target and compute the Duration explicitly. Adapt arguments and imports to the v4 API."
517effect/Effect#timeoutFail:
518 replacement: "Effect.timeoutOrElse"
519 note: "Use `Effect.fail(onTimeout())` as the timeout fallback. Adapt arguments and imports to the v4 API."
520effect/Effect#timeoutFailCause:
521 replacement: "Effect.timeoutOrElse"
522 note: "Use `Effect.failCause(onTimeout())` as the timeout fallback. Adapt arguments and imports to the v4 API."
523effect/Effect#timeoutTo:
524 replacement: "Effect.timeoutOrElse + Effect.map"
525 note: "Map successful values first and use the timeout fallback for `onTimeout`. Adapt arguments and imports to the v4 API."
526effect/Effect#tracerWith:
527 replacement: "Tracer.Tracer.use"
528 note: "Use the Tracer reference's `.use` helper to invoke the effectful callback. Adapt arguments and imports to the v4 API."
529effect/Effect#transplant:
530 replacement: "none"
531 note: "Fiber scope grafting was removed; use structured concurrency with `forkChild`, `forkScoped`, or `forkIn`. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
532effect/Effect#transposeMapOption:
533 replacement: "Option.match"
534 note: "Return `Effect.succeedNone` for None and map the Effect result to Some. Adapt arguments and imports to the v4 API."
535effect/Effect#try:
536 replacement: "Effect.try"
537 note: "Use the callback overload for Cause.UnknownError, or the object overload with try and catch to map failures to a custom error. The callback-only overload does not accept a custom error type parameter."
538effect/Effect#tryMap:
539 replacement: "Effect.flatMap + Effect.try"
540 note: "FlatMap the source value into the v4 synchronous try constructor. Adapt arguments and imports to the v4 API."
541effect/Effect#tryMapPromise:
542 replacement: "Effect.flatMap + Effect.tryPromise"
543 note: "FlatMap the source value into the v4 Promise try constructor. Adapt arguments and imports to the v4 API."
544effect/Effect#unless:
545 replacement: "Effect.suspend"
546 note: "Select `Effect.void` or the target Effect with a negated lazy condition. Adapt arguments and imports to the v4 API."
547effect/Effect#unlessEffect:
548 replacement: "Effect.when"
549 note: "Negate the effectful boolean condition, then use the consolidated `when`. Adapt arguments and imports to the v4 API."
550effect/Effect#unsafeMakeLatch:
551 replacement: "Latch.makeUnsafe"
552 note: "The unsafe constructor moved to `effect/Latch`. Adapt arguments and imports to the v4 API."
553effect/Effect#unsafeMakeSemaphore:
554 replacement: "Semaphore.makeUnsafe"
555 note: "The unsafe constructor moved to `effect/Semaphore`. Adapt arguments and imports to the v4 API."
556effect/Effect#unsandbox:
557 replacement: "Effect.catch + Effect.failCause"
558 note: "Treat the sandboxed Cause as an error and fail with that Cause. Adapt arguments and imports to the v4 API."
559effect/Effect#updateFiberRefs:
560 replacement: "none"
561 note: "Bulk FiberRefs updates were removed; update individual context references with `Effect.updateService`. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
562effect/Effect#using:
563 replacement: "Effect.scoped + Effect.flatMap"
564 note: "Acquire inside a fresh Scope, run the use Effect, and close the Scope afterward. Adapt arguments and imports to the v4 API."
565effect/Effect#validateAll:
566 replacement: "Effect.validate"
567 note: "Use the consolidated collection validation combinator. Adapt arguments and imports to the v4 API."
568effect/Effect#validateFirst:
569 replacement: "Effect.firstSuccessOf"
570 note: "Map inputs to validation effects and select the first success; handle accumulated diagnostics explicitly if required. Adapt arguments and imports to the v4 API."
571effect/Effect#validateWith:
572 replacement: "Effect.zipWith"
573 note: "Zip and combine the Effects; use `mode: \"result\"` when both failures must be retained. Adapt arguments and imports to the v4 API."
574effect/Effect#whenEffect:
575 replacement: "Effect.when"
576 note: "The v4 `when` combinator accepts an effectful boolean condition directly. Adapt arguments and imports to the v4 API."
577effect/Effect#whenFiberRef:
578 replacement: "reference.use + Effect.when"
579 note: "Use the Context.Reference `.use` helper to inspect the value, test it, and branch explicitly. Adapt arguments and imports to the v4 API."
580effect/Effect#whenLogLevel:
581 replacement: "none"
582 note: "Log-level conditional execution was removed; configure Logger filtering and guard optional work explicitly. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
583effect/Effect#whenRef:
584 replacement: "Ref.get + Effect.flatMap"
585 note: "Read the Ref, test it, and branch explicitly. Adapt arguments and imports to the v4 API."
586effect/Effect#withClock:
587 replacement: "Effect.provideService"
588 note: "Provide `Clock.Clock` for the target Effect. Adapt arguments and imports to the v4 API."
589effect/Effect#withClockScoped:
590 replacement: "Effect.provideService"
591 note: "Provide `Clock.Clock` around the scoped Effect. Adapt arguments and imports to the v4 API."
592effect/Effect#withConcurrency:
593 replacement: "none"
594 note: "Ambient concurrency was removed; pass `concurrency` directly to `Effect.all`, `Effect.forEach`, and related combinators. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
595effect/Effect#withConfigProvider:
596 replacement: "Effect.provideService"
597 note: "Provide `ConfigProvider.ConfigProvider` for the target Effect. Adapt arguments and imports to the v4 API."
598effect/Effect#withConfigProviderScoped:
599 replacement: "Effect.provideService"
600 note: "Provide the ConfigProvider around the scoped Effect. Adapt arguments and imports to the v4 API."
601effect/Effect#withConsole:
602 replacement: "Effect.provideService"
603 note: "Provide `Console.Console` for the target Effect. Adapt arguments and imports to the v4 API."
604effect/Effect#withConsoleScoped:
605 replacement: "Effect.provideService"
606 note: "Provide the Console service around the scoped Effect. Adapt arguments and imports to the v4 API."
607effect/Effect#withEarlyRelease:
608 replacement: "Scope.make + Scope.close"
609 note: "Create a Scope explicitly, provide it to acquisition, and retain a close action. Adapt arguments and imports to the v4 API."
610effect/Effect#withFiberRuntime:
611 replacement: "none"
612 note: "Direct FiberRuntime access was removed; use public Effect, Fiber, and Context operations. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
613effect/Effect#withLogSpan:
614 include: true
615 replacement: "Effect.withLogSpan"
616 note: "Still exported in v4; update call sites for the revised signature, options, and channel inference."
617effect/Effect#withMaxOpsBeforeYield:
618 replacement: "none"
619 note: "The scheduler operation budget is no longer configurable through Effect. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
620effect/Effect#withMetric:
621 replacement: "Effect.tap + Metric.update"
622 note: "Update the Metric explicitly from the Effect success value. Adapt arguments and imports to the v4 API."
623effect/Effect#withRandom:
624 replacement: "Effect.provideService"
625 note: "Provide `Random.Random` for the target Effect. Adapt arguments and imports to the v4 API."
626effect/Effect#withRandomFixed:
627 replacement: "Effect.provideService"
628 note: "Provide a custom deterministic `Random.Random` implementation. Adapt arguments and imports to the v4 API."
629effect/Effect#withRandomScoped:
630 replacement: "Effect.provideService"
631 note: "Provide the Random service around the scoped Effect. Adapt arguments and imports to the v4 API."
632effect/Effect#withRequestBatching:
633 replacement: "none"
634 note: "Ambient request batching configuration was removed; configure batching in the `RequestResolver`. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
635effect/Effect#withRequestCache:
636 replacement: "none"
637 note: "Ambient request-cache replacement was removed; model keyed caching explicitly with `Cache`. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
638effect/Effect#withRequestCaching:
639 replacement: "none"
640 note: "Ambient request caching was removed; configure resolution or use `Cache` explicitly. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
641effect/Effect#withRuntimeFlagsPatch:
642 replacement: "none"
643 note: "RuntimeFlags patching was removed from the public API. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
644effect/Effect#withRuntimeFlagsPatchScoped:
645 replacement: "none"
646 note: "Scoped RuntimeFlags patching was removed from the public API. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
647effect/Effect#withScheduler:
648 replacement: "none"
649 note: "Ambient scheduler replacement was removed; use supported runtime run options or explicit scheduling combinators. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
650effect/Effect#withSchedulingPriority:
651 replacement: "none"
652 note: "Ambient fiber scheduling priority was removed from the public API. No direct public replacement exists in v4; rewrite the call site around the stated v4 primitive."
653effect/Effect#withTracerScoped:
654 replacement: "Effect.provideService"
655 note: "Provide the Tracer service around the scoped Effect. Adapt arguments and imports to the v4 API."
656effect/Effect#withUnhandledErrorLogLevel:
657 replacement: "Effect.ignore"
658 note: "Handle or explicitly ignore child-fiber failures, selecting the desired log behavior at the boundary. Adapt arguments and imports to the v4 API."
659effect/Effect#zipLeft:
660 replacement: "Effect.zip + Effect.map"
661 note: "Zip the Effects and select the first tuple element. Adapt arguments and imports to the v4 API."
662effect/Effect#zipRight:
663 replacement: "Effect.andThen"
664 note: "Sequence the Effects and retain the second result. Adapt arguments and imports to the v4 API."
665"effect/Effect#repeatOrElse":
666 include: true
667 replacement: "Effect.repeatOrElse"
668 note: "The fallback receives Option<Schedule.Metadata<B, A>> instead of Option<B>. Read metadata.output for the previous schedule output and metadata.attempt for the attempt count. The error also includes schedule failures. Causes containing defects from either the source or policy skip the fallback and convert typed errors to defects. Interruptions alongside typed errors do not block the fallback."
669"effect/Effect#tryPromise":
670 replacement: "Effect.tryPromise"
671 note: "Use the callback overload for Cause.UnknownError, or the object overload with try and catch to map failures to a custom error. The callback-only overload does not accept a custom error type parameter."
672effect/Effect#catchTag:
673 include: true
674 replacement: "Effect.catchTag"
675 note: "Causes containing defects skip typed recovery and convert typed errors to defects, preserving reason order and interruptions. An interruption alongside a typed error does not block recovery."
676
677effect/Effect#catchTags:
678 include: true
679 replacement: "Effect.catchTags"
680 note: "Causes containing defects skip typed recovery and convert typed errors to defects, preserving reason order and interruptions. An interruption alongside a typed error does not block recovery."
681
682effect/Effect#catchIf:
683 include: true
684 replacement: "Effect.catchIf"
685 note: "Causes containing defects skip typed recovery and convert typed errors to defects, preserving reason order and interruptions. An interruption alongside a typed error does not block recovery."
686
687effect/Effect#match:
688 include: true
689 replacement: "Effect.match"
690 note: "Causes containing defects skip typed recovery and convert typed errors to defects, preserving reason order and interruptions. An interruption alongside a typed error does not block recovery."
691
692effect/Effect#matchEffect:
693 include: true
694 replacement: "Effect.matchEffect"
695 note: "Causes containing defects skip typed recovery and convert typed errors to defects, preserving reason order and interruptions. An interruption alongside a typed error does not block recovery."
696
697effect/Effect#orElseSucceed:
698 include: true
699 replacement: "Effect.orElseSucceed"
700 note: "Causes containing defects skip typed recovery and convert typed errors to defects, preserving reason order and interruptions. An interruption alongside a typed error does not block recovery."
701
702effect/Effect#option:
703 include: true
704 replacement: "Effect.option"
705 note: "Causes containing defects skip typed recovery and convert typed errors to defects, preserving reason order and interruptions. An interruption alongside a typed error does not block recovery."
706
707effect/Effect#ignore:
708 include: true
709 replacement: "Effect.ignore"
710 note: "Ignores recoverable typed errors only. Causes containing defects propagate with typed errors converted to defects; interruptions alongside typed errors do not prevent ignoring them."
711
712effect/Effect#mapError:
713 include: true
714 replacement: "Effect.mapError"
715 note: "Maps every typed error in the cause, preserving defects, interruptions and reason order. Unlike typed recovery, mapping does not convert errors to defects."
716
717effect/Effect#mapBoth:
718 include: true
719 replacement: "Effect.mapBoth"
720 note: "Maps every typed error in the cause, preserving defects, interruptions and reason order. Unlike typed recovery, mapping does not convert errors to defects."
721
722effect/Effect#orDie:
723 include: true
724 replacement: "Effect.orDie"
725 note: "Converts typed errors to defects. If a defect is already present, every typed error is converted to a defect, preserving reason order and interruptions."
726
727effect/Effect#retry:
728 include: true
729 replacement: "Effect.retry"
730 note: "Retries typed source errors, including those alongside interruptions. A source cause containing a defect is not retried and propagates with typed errors converted to defects."
731
732effect/Effect#retryOrElse:
733 include: true
734 replacement: "Effect.retryOrElse"
735 note: "A source cause containing a defect skips retries and the fallback, converting typed errors to defects. Interruptions alongside typed errors do not block retries. Policy failures propagate unchanged."
736
737effect/Effect#repeat:
738 include: true
739 replacement: "Effect.repeat"
740 note: "If the source or policy fails with a cause containing defects, typed errors are converted to defects. An interruption alongside a typed error does not block the typed failure path."