1effect/TSemaphore#TSemaphore:
2 replacement: "TxSemaphore.TxSemaphore"
3 note: "Rename the type and import from \"effect/TxSemaphore\". V4 Tx operations return ordinary Effects; compose multiple operations under one outer Effect.tx to keep them atomic."
4effect/TSemaphore#TSemaphore.Proto:
5 replacement: "none"
6 note: "The public prototype interface was removed."
7effect/TSemaphore#TSemaphoreTypeId:
8 replacement: "TxSemaphore.isTxSemaphore"
9 note: "The type id is internal in v4; use the public runtime guard."
10effect/TSemaphore#available:
11 replacement: "TxSemaphore.available"
12 note: "Import TxSemaphore from \"effect/TxSemaphore\"; the operation keeps its name. V4 Tx operations return ordinary Effects; compose multiple operations under one outer Effect.tx to keep them atomic."
13effect/TSemaphore#make:
14 replacement: "TxSemaphore.make"
15 note: "Import TxSemaphore from \"effect/TxSemaphore\"; the operation keeps its name. V4 Tx operations return ordinary Effects; compose multiple operations under one outer Effect.tx to keep them atomic."
16effect/TSemaphore#release:
17 replacement: "TxSemaphore.release"
18 note: "Import TxSemaphore from \"effect/TxSemaphore\"; the operation keeps its name. V4 Tx operations return ordinary Effects; compose multiple operations under one outer Effect.tx to keep them atomic."
19effect/TSemaphore#unsafeMake:
20 replacement: "none"
21 note: "The unsafe constructor was removed; use TxSemaphore.make."
22effect/TSemaphore#withPermit:
23 replacement: "TxSemaphore.withPermit"
24 note: "The helper remains, but data-first calls now pass the semaphore before the Effect."
25effect/TSemaphore#withPermits:
26 replacement: "TxSemaphore.withPermits"
27 note: "The helper remains, but data-first calls now pass semaphore, permit count, then Effect."
28effect/TSemaphore#withPermitsScoped:
29 replacement: "TxSemaphore.acquireN + Effect.addFinalizer(TxSemaphore.releaseN)"
30 note: "No scoped multi-permit helper remains; acquire and register release explicitly in a Scope."