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