packages feed

http2-client-effectful 1.0.0 → 1.0.1

raw patch · 3 files changed

+13/−7 lines, 3 filesdep ~effectfuldep ~http2PVP ok

version bump matches the API change (PVP)

Dependency ranges changed: effectful, http2

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -5,6 +5,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/). +## [1.0.1] - 2026-10-01++### Changed++- Removed redundant environment cloning and lock allocation per HTTP/2 stream in `withHttp2Stream` and push-promise handling. Streams now run synchronously on the calling thread without overhead.+ ## [1.0.0] - 2026-07-07  ### Added
http2-client-effectful.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: http2-client-effectful-version: 1.0.0+version: 1.0.1 synopsis: Effectful bindings for the http2-client library description:   Adaptation of the @<https://hackage.haskell.org/package/http2-client http2-client>@ library for the @<https://hackage.haskell.org/package/effectful effectful>@ ecosystem.@@ -13,7 +13,7 @@ bug-reports: https://issues.digital-autonomy.institute category: Web build-type: Simple-extra-source-files:+extra-doc-files:   CHANGELOG.md  common common@@ -50,9 +50,9 @@   build-depends:     base >=4.10 && <5,     bytestring >=0.12 && <0.13,-    effectful >=2.6 && <2.7,+    effectful >=2.6 && <2.8,     http-types >=0.12 && <0.13,-    http2 >=5.3 && <5.4,+    http2 >=5.3 && <5.5,     http2-client >=0.10 && <0.11,     mtl >=2.3 && <2.4, 
src/Effectful/Http2Client.hs view
@@ -15,7 +15,7 @@ -- and client teardown, so the rest of the operations here can be used -- directly in your effect stack. ----- = Example Usage+-- = Example usage -- -- === Opening a connection and running a client --@@ -341,7 +341,7 @@         , _sendDataChunk = \flagMod dat -> unsafeRunClientIO (Client._sendDataChunk stream flagMod dat)         , _handlePushPromise = \sid hdrs handler ->             either throwError pure-                =<< unsafeConcUnliftIO Ephemeral (Limited 1) \unlift -> Client.runClientIO do+                =<< unsafeSeqUnliftIO \unlift -> Client.runClientIO do                     let unliftClientIO :: Eff es b -> ClientIO b                         unliftClientIO = ExceptT . unlift . runErrorNoCallStack @ClientError . inject                     Client._handlePushPromise@@ -390,7 +390,7 @@ withHttp2Stream f = do     Http2Client client <- getStaticRep     either throwError pure-        =<< unsafeConcUnliftIO Ephemeral (Limited 1) \unlift -> Client.runClientIO do+        =<< unsafeSeqUnliftIO \unlift -> Client.runClientIO do             let unliftClientIO :: Eff es b -> ClientIO b                 unliftClientIO = ExceptT . unlift . runErrorNoCallStack @ClientError . inject             Client._startStream client $ unliftStreamDefinition unliftClientIO . f . liftHttp2Stream client