1"effect/Layer#annotateLogs":
2 replacement: "Layer.fromBuild((memoMap, scope) => Effect.annotateLogs(Layer.buildWithMemoMap(self, memoMap, scope), ...annotations))"
3 note: "Apply Effect.annotateLogs to the layer acquisition effect."
4"effect/Layer#annotateSpans":
5 replacement: "Layer.fromBuild((memoMap, scope) => Effect.annotateSpans(Layer.buildWithMemoMap(self, memoMap, scope), ...annotations))"
6 note: "Apply Effect.annotateSpans to the layer acquisition effect."
7"effect/Layer#catchAll":
8 replacement: "Layer.catch"
9 note: "The typed-error handler was renamed."
10"effect/Layer#catchAllCause":
11 replacement: "Layer.catchCause"
12 note: "The cause handler was renamed."
13"effect/Layer#context":
14 replacement: "Layer.effectContext(Effect.context<R>())"
15 note: "Capture and return the current service context."
16"effect/Layer#CurrentMemoMap":
17 replacement: "Layer.CurrentMemoMap"
18 note: "The service remains but is now a Context.Service class with forkOrCreate."
19"effect/Layer#die":
20 replacement: "Layer.unwrap(Effect.die(defect))"
21 note: "Lift the Effect defect constructor."
22"effect/Layer#dieSync":
23 replacement: "Layer.unwrap(Effect.suspend(() => Effect.die(evaluate())))"
24 note: "Suspend evaluation and lift Effect.die; Effect.dieSync was also removed."
25"effect/Layer#discard":
26 replacement: "Layer.flatMap(self, () => Layer.empty)"
27 note: "Build the layer while dropping its output context."
28"effect/Layer#ensureErrorType":
29 replacement: "Layer.satisfiesErrorType"
30 note: "The type constraint helper was renamed."
31"effect/Layer#ensureRequirementsType":
32 replacement: "Layer.satisfiesServicesType"
33 note: "The requirements type constraint was renamed to services."
34"effect/Layer#ensureSuccessType":
35 replacement: "Layer.satisfiesSuccessType"
36 note: "The type constraint helper was renamed."
37"effect/Layer#extendScope":
38 replacement: "Layer.buildWithScope(self, outerScope) and Effect.provideContext(program, context)"
39 note: "Explicitly build against the desired outer scope and provide the resulting context."
40"effect/Layer#fail":
41 replacement: "Layer.unwrap(Effect.fail(error))"
42 note: "Lift the Effect failure constructor."
43"effect/Layer#failCause":
44 replacement: "Layer.unwrap(Effect.failCause(cause))"
45 note: "Lift the Effect cause-failure constructor."
46"effect/Layer#failCauseSync":
47 replacement: "Layer.unwrap(Effect.failCauseSync(evaluate))"
48 note: "Lift the retained Effect constructor."
49"effect/Layer#failSync":
50 replacement: "Layer.unwrap(Effect.failSync(evaluate))"
51 note: "Lift the retained Effect constructor."
52"effect/Layer#fiberRefLocallyScopedWith":
53 replacement: "Layer.effect(reference, Effect.map(reference, f))"
54 note: "FiberRef was removed; compute and provide a transformed Context.Reference value."
55"effect/Layer#flatten":
56 replacement: "Layer.flatMap(self, (context) => Context.get(context, key))"
57 note: "Expand the removed convenience combinator with flatMap and Context.get."
58"effect/Layer#function":
59 replacement: "Layer.effect(keyB, Effect.map(keyA, f))"
60 note: "Read the input service through its Context.Key and provide the transformed service."
61"effect/Layer#isFresh":
62 replacement: "none"
63 note: "Layer.fresh remains, but its wrapper has no public freshness predicate."
64"effect/Layer#Layer":
65 replacement: "Layer.Layer"
66 note: "The type remains with Layer<ROut, E, RIn> parameter order."
67"effect/Layer#Layer.Context":
68 replacement: "Layer.Services<T>"
69 note: "The input-services extractor moved to the module level and was renamed."
70"effect/Layer#LayerTypeId":
71 replacement: "none"
72 note: "The marker is private in v4; use Layer.Any or Layer.Variance for type constraints."
73"effect/Layer#locally":
74 replacement: "Layer.updateService(self, reference, () => value)"
75 note: "Replace FiberRef-local configuration with Context.Reference provision."
76"effect/Layer#locallyEffect":
77 replacement: "Layer.fromBuild((memoMap, scope) => f(Layer.buildWithMemoMap(self, memoMap, scope)))"
78 note: "Transform the public layer acquisition effect directly."
79"effect/Layer#locallyScoped":
80 replacement: "Layer.succeed(reference, value)"
81 note: "Provide a v4 Context.Reference value as a configuration layer."
82"effect/Layer#locallyWith":
83 replacement: "Layer.updateService(self, reference, f)"
84 note: "Transform a Context.Reference during layer acquisition."
85"effect/Layer#map":
86 replacement: "Layer.flatMap(self, (context) => Layer.succeedContext(f(context)))"
87 note: "Expand the removed output-context mapping combinator."
88"effect/Layer#mapError":
89 replacement: "Layer.fromBuild((memoMap, scope) => Effect.mapError(Layer.buildWithMemoMap(self, memoMap, scope), f))"
90 note: "Transform the typed error of layer acquisition."
91"effect/Layer#match":
92 replacement: "Layer.fromBuild with Effect.matchEffect over Layer.buildWithMemoMap"
93 note: "Fold the source acquisition effect, then build the selected failure or success layer."
94"effect/Layer#matchCause":
95 replacement: "Layer.fromBuild with Effect.matchCauseEffect over Layer.buildWithMemoMap"
96 note: "Fold the source acquisition cause, then build the selected failure or success layer."
97"effect/Layer#memoize":
98 replacement: "automatic shared memoization under Effect.provide"
99 note: "Reuse the same Layer value; use { local: true } or Layer.fresh to opt out, or MemoMap APIs for manual control."
100"effect/Layer#MemoMap":
101 replacement: "Layer.MemoMap"
102 note: "The interface remains and now supports parent-child ambient maps."
103"effect/Layer#MemoMapTypeId":
104 replacement: "none"
105 note: "The MemoMap marker is private in v4."
106"effect/Layer#orElse":
107 replacement: "Layer.catch(self, () => fallback())"
108 note: "Expand the removed lazy fallback alias with Layer.catch."
109"effect/Layer#passthrough":
110 replacement: "Layer.merge(Layer.effectContext(Effect.context<RIn>()), self)"
111 note: "Capture required input services and merge them into the layer output."
112"effect/Layer#project":
113 replacement: "Layer.flatMap(self, (context) => Layer.succeed(keyB, f(Context.get(context, keyA))))"
114 note: "Project one derived service and drop the other outputs."
115"effect/Layer#retry":
116 replacement: "Effect.retry(acquire, schedule) before Layer.effect or Layer.effectContext"
117 note: "Retry the acquisition Effect; for an arbitrary layer, rebuild a fresh layer for each attempt through Layer.fromBuild."
118"effect/Layer#scope":
119 replacement: "Layer.effect(Scope.Scope, Effect.acquireRelease(Scope.make(), Scope.close))"
120 note: "Construct and close a child scope explicitly."
121"effect/Layer#scoped":
122 replacement: "Layer.effect"
123 note: "Scoped acquisition was merged into Layer.effect, which supplies and excludes the layer Scope."
124"effect/Layer#scopedContext":
125 replacement: "Layer.effectContext"
126 note: "Scoped context acquisition was merged into Layer.effectContext."
127"effect/Layer#scopedDiscard":
128 replacement: "Layer.effectDiscard"
129 note: "Scoped discard acquisition was merged into Layer.effectDiscard."
130"effect/Layer#service":
131 replacement: "Layer.effect(key, key)"
132 note: "A Context.Key is an Effect that reads and passes through its service."
133"effect/Layer#setClock":
134 replacement: "Layer.succeed(Clock.Clock, clock)"
135 note: "Clock.Clock is now a Context.Reference; provide it directly."
136"effect/Layer#setConfigProvider":
137 replacement: "ConfigProvider.layer(configProvider)"
138 note: "Use the dedicated ConfigProvider layer constructor."
139"effect/Layer#setRandom":
140 replacement: "Layer.succeed(Random.Random, random)"
141 note: "Random.Random is now a Context.Reference; provide it directly."
142"effect/Layer#setRequestBatching":
143 replacement: "none"
144 note: "Requests now use resolver-driven batching and expose no batching switch."
145"effect/Layer#setRequestCache":
146 replacement: "none"
147 note: "The public Request.Cache and its configuration API were removed."
148"effect/Layer#setRequestCaching":
149 replacement: "none"
150 note: "The public request-caching toggle was removed."
151"effect/Layer#setScheduler":
152 replacement: "Layer.succeed(Scheduler.Scheduler, scheduler)"
153 note: "Scheduler.Scheduler is now a Context.Reference; provide it directly."
154"effect/Layer#setTracer":
155 replacement: "Layer.succeed(Tracer.Tracer, tracer)"
156 note: "Tracer.Tracer is now a Context.Reference; provide it directly."
157"effect/Layer#setTracerEnabled":
158 replacement: "Layer.succeed(References.TracerEnabled, enabled)"
159 note: "Provide the v4 Reference instead of setting a FiberRef."
160"effect/Layer#setTracerTiming":
161 replacement: "Layer.succeed(References.TracerTimingEnabled, enabled)"
162 note: "Provide the renamed v4 Reference instead of setting a FiberRef."
163"effect/Layer#setUnhandledErrorLogLevel":
164 replacement: "Layer.succeed(References.UnhandledLogLevel, severityOrUndefined)"
165 note: "Provide LogLevel.Severity or undefined instead of Option<LogLevel>."
166"effect/Layer#setVersionMismatchErrorLogLevel":
167 replacement: "none"
168 note: "No version-mismatch log-level Reference or public replacement exists."
169"effect/Layer#tapErrorCause":
170 replacement: "Layer.tapCause"
171 note: "The cause observer was renamed. Its callback must accept the source layer's full error cause; a callback narrowed to only part of the error union is rejected."
172"effect/Layer#toRuntime":
173 replacement: "Layer.build(self), then Effect.runForkWith, Effect.runPromiseWith, or Effect.runSyncWith"
174 note: "Runtime<R> was removed; build a Context, or use ManagedRuntime.make for a reusable managed runner."
175"effect/Layer#toRuntimeWithMemoMap":
176 replacement: "Layer.buildWithMemoMap(self, memoMap, scope), then Effect.run*With(context)"
177 note: "Explicit memo-map building now yields a Context rather than a Runtime."
178"effect/Layer#unwrapEffect":
179 replacement: "Layer.unwrap"
180 note: "The Effect-based unwrap constructor was renamed and generalized."
181"effect/Layer#unwrapScoped":
182 replacement: "Layer.unwrap"
183 note: "Scoped and unscoped unwrap were merged; Layer.unwrap supplies and excludes the layer Scope."
184"effect/Layer#updateService":
185 replacement: "Layer.updateService"
186 note: "The combinator remains and now accepts any Context.Key."
187"effect/Layer#zipWith":
188 replacement: "Layer.fromBuild with concurrent Effect.zipWith over Layer.buildWithMemoMap"
189 note: "Combine acquisition effects directly; use Layer.merge when the function only merged Context values."
190"effect/Layer#tapError":
191 replacement: "Layer.tapError"
192 note: "The observer must accept the source layer's full error union. Widen callbacks that handled only a subtype; saved curried observers preserve the source error type."