effectful 2.7.0.0 → 2.7.1.0
raw patch · 6 files changed
+21/−9 lines, 6 filesdep ~effectful-corePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: effectful-core
API changes (from Hackage documentation)
Files
- CHANGELOG.md +11/−1
- effectful.cabal +4/−2
- src/Effectful/Concurrent.hs +1/−1
- src/Effectful/Concurrent/Async.hs +2/−2
- src/Effectful/FileSystem/IO/ByteString/Builder.hs +2/−2
- src/Effectful/Prim/IORef.hs +1/−1
CHANGELOG.md view
@@ -1,3 +1,11 @@+# effectful-2.7.1.0 (2026-08-24)+* Re-export `Effectful.Labeled.Provider` and `Effectful.Labeled.Provider.List`+ from `effectful-core`.+* Export `seqForkUnliftIO` and add `unsafeSeqForkUnliftIO` in+ `Effectful.Dispatch.Static` for the `SeqForkUnlift` strategy.+* Export `type (++)` from `Effectful.Dispatch.Dynamic`.+* Remove an unnecessary `HasCallStack` constraint from `handleJust`.+ # effectful-2.7.0.0 (2026-08-24) * Add `OsPath` variants of the `FilePath` based APIs (`Effectful.FileSystem.OsPath` for `System.Directory.OsPath` and@@ -17,6 +25,8 @@ * Add the `ReturnWith` effect (`Effectful.ReturnWith.Dynamic`, `Effectful.ReturnWith.Static` and `Effectful.Labeled.ReturnWith`) for early return from a computation.+* Make the `Provider` and `ProviderList` effects dynamically dispatched and+ export their operations. * Re-export `Labeled(..)` from all `Effectful.Labeled.*` modules. * Drop support for GHC < 9.6. * Add definitions of `rethrowM` to `MonadThrow` and `catchNoPropagate` to@@ -87,7 +97,7 @@ * Re-export `writeTMVar` from `stm-2.5.1.0` in `Effectful.Concurrent.STM`. * Add `cancelMany` to `Effectful.Concurrent.Async`. -# effectful-core-2.6.0.0 (2025-06-13)+# effectful-2.6.0.0 (2025-06-13) * Adjust `generalBracket` with `base >= 4.21` to make use of the new exception annotation mechanism. * Add `withException` to `Effectful.Exception`.
effectful.cabal view
@@ -1,7 +1,7 @@ cabal-version: 3.8 build-type: Simple name: effectful-version: 2.7.0.0+version: 2.7.1.0 license: BSD-3-Clause license-file: LICENSE category: Control@@ -60,7 +60,7 @@ , async >= 2.2.5 , bytestring >= 0.10 , directory >= 1.3.8- , effectful-core >= 2.7.0.0 && < 2.7.1.0+ , effectful-core >= 2.7.1.0 && < 2.7.2.0 , file-io >= 0.1.4 , filepath >= 1.4.100 , process >= 1.6.9@@ -116,6 +116,8 @@ , Effectful.Labeled.Error , Effectful.Labeled.Input , Effectful.Labeled.Output+ , Effectful.Labeled.Provider+ , Effectful.Labeled.Provider.List , Effectful.Labeled.Reader , Effectful.Labeled.ReturnWith , Effectful.Labeled.State
src/Effectful/Concurrent.hs view
@@ -186,7 +186,7 @@ esF <- cloneEnv es C.forkOS $ unEff k esF --- | Lifted 'E.forkOSWithUnmask'.+-- | Lifted 'C.forkOSWithUnmask'. forkOSWithUnmask :: (HasCallStack, Concurrent :> es) => ((forall a. Eff es a -> Eff es a) -> Eff es ())
src/Effectful/Concurrent/Async.hs view
@@ -373,7 +373,7 @@ pooledMapConcurrently f t = unsafeEff $ \es -> do U.pooledMapConcurrently (\a -> unEff (f a) =<< cloneEnv es) t --- | Lifted 'U.pooledMapConcurrentlyN'.+-- | Lifted 'U.pooledMapConcurrentlyN_'. pooledMapConcurrentlyN_ :: (HasCallStack, Concurrent :> es, Foldable f) => Int@@ -411,7 +411,7 @@ pooledForConcurrently t f = unsafeEff $ \es -> do U.pooledForConcurrently t (\a -> unEff (f a) =<< cloneEnv es) --- | Lifted 'U.pooledForConcurrentlyN'.+-- | Lifted 'U.pooledForConcurrentlyN_'. pooledForConcurrentlyN_ :: (HasCallStack, Concurrent :> es, Foldable f) => Int
src/Effectful/FileSystem/IO/ByteString/Builder.hs view
@@ -28,12 +28,12 @@ ---------------------------------------- -- Executing Builders --- | Lifted 'BS.Builder.hPutBuilder'.+-- | Lifted 'BSB.hPutBuilder'. hPutBuilder :: FileSystem :> es => Handle -> Builder -> Eff es () hPutBuilder h = unsafeEff_ . BSB.hPutBuilder h #if MIN_VERSION_bytestring(0,11,2)--- | Lifted 'BS.Builder.writeFile'.+-- | Lifted 'BSB.writeFile'. writeFile :: FileSystem :> es => FilePath -> Builder -> Eff es () writeFile fp = unsafeEff_ . BSB.writeFile fp #endif
src/Effectful/Prim/IORef.hs view
@@ -61,7 +61,7 @@ atomicModifyIORef' :: Prim :> es => IORef a -> (a -> (a, b)) -> Eff es b atomicModifyIORef' var = unsafeEff_ . Ref.atomicModifyIORef' var --- | Lifted 'Ref.atomicWriteIORef''.+-- | Lifted 'Ref.atomicWriteIORef'. atomicWriteIORef :: Prim :> es => IORef a -> a -> Eff es () atomicWriteIORef var = unsafeEff_ . Ref.atomicWriteIORef var