From 42e7a5a865706ed6e8fb198adbeed4c01b258e50 Mon Sep 17 00:00:00 2001 From: Marcin Szamotulski Date: Thu, 30 Jul 2026 12:44:46 +0200 Subject: [PATCH 1/4] Removed active-repositories It is not needed any more. --- cabal.project | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cabal.project b/cabal.project index 7c73cf62f6..d9d7da4c68 100644 --- a/cabal.project +++ b/cabal.project @@ -20,10 +20,6 @@ index-state: -- Bump this if you need newer packages from CHaP , cardano-haskell-packages 2026-07-02T10:10:00Z -active-repositories: - , :rest - , cardano-haskell-packages:override - packages: ./monoidal-synchronisation ./network-mux ./ouroboros-network From d409d69d7d6a89305950ccf7c2e8e67520e980aa Mon Sep 17 00:00:00 2001 From: Marcin Szamotulski Date: Thu, 30 Jul 2026 12:45:55 +0200 Subject: [PATCH 2/4] Switch to io-classes-1.11 --- cabal.project | 4 ++-- cardano-diffusion/cardano-diffusion.cabal | 8 ++++---- flake.lock | 12 ++++++------ network-mux/network-mux.cabal | 2 +- network-mux/test/Test/Mux.hs | 1 - .../framework/lib/Ouroboros/Network/Driver/Limits.hs | 6 ++---- .../framework/lib/Ouroboros/Network/Driver/Simple.hs | 6 ++---- .../lib/Ouroboros/Network/Driver/Stateful.hs | 9 +++------ .../framework/lib/Ouroboros/Network/Mux.hs | 3 +-- ouroboros-network/ouroboros-network.cabal | 10 +++++----- .../lib/Test/Ouroboros/Network/TxSubmission/AppV2.hs | 12 ------------ 11 files changed, 26 insertions(+), 47 deletions(-) diff --git a/cabal.project b/cabal.project index d9d7da4c68..c594e470e0 100644 --- a/cabal.project +++ b/cabal.project @@ -15,10 +15,10 @@ repository cardano-haskell-packages -- repeat the index-state for hackage to work around haskell.nix parsing limitation index-state: -- Bump this if you need newer packages from Hackage - , hackage.haskell.org 2026-06-29T22:49:53Z + , hackage.haskell.org 2026-08-24T13:11:25Z -- Bump this if you need newer packages from CHaP - , cardano-haskell-packages 2026-07-02T10:10:00Z + , cardano-haskell-packages 2026-08-21T16:44:04Z packages: ./monoidal-synchronisation ./network-mux diff --git a/cardano-diffusion/cardano-diffusion.cabal b/cardano-diffusion/cardano-diffusion.cabal index 17163e46e9..716be617d7 100644 --- a/cardano-diffusion/cardano-diffusion.cabal +++ b/cardano-diffusion/cardano-diffusion.cabal @@ -196,7 +196,7 @@ library contra-tracer, deepseq, dns, - io-classes:{io-classes, si-timers, strict-stm} ^>=1.8, + io-classes:{io-classes, si-timers, strict-stm} ^>=1.11, monoidal-synchronisation, network ^>=3.2.7, network-mux, @@ -330,7 +330,7 @@ library protocols bytestring >=0.10 && <0.13, cardano-diffusion:api, cborg >=0.2.1 && <0.3, - io-classes:{io-classes, si-timers} ^>=1.8, + io-classes:{io-classes, si-timers} ^>=1.11, ouroboros-network:{api, framework, protocols}, random, typed-protocols:{typed-protocols, cborg, stateful} ^>=1.2, @@ -573,7 +573,7 @@ library subscription containers >=0.5 && <0.9, contra-tracer ^>=0.2.1, deepseq, - io-classes:si-timers ^>=1.8.0.1, + io-classes:si-timers ^>=1.11, network-mux ^>=0.11.0.0, ouroboros-network:{api, framework}, @@ -618,7 +618,7 @@ library ping directory, dns, formatting, - io-classes:{io-classes, si-timers, strict-stm} ^>=1.8.0.1, + io-classes:{io-classes, si-timers, strict-stm} ^>=1.11, iproute ^>=1.7.15, network ^>=3.2.7, network-mux, diff --git a/flake.lock b/flake.lock index df112ed038..cd2d6106bc 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "CHaP": { "flake": false, "locked": { - "lastModified": 1782990451, - "narHash": "sha256-U0o77JuGp6ADqym7TtGV3AwzRn5SFuiTRyCOR6qfxGA=", + "lastModified": 1787332452, + "narHash": "sha256-r2AL3g8FbJDSZqGxx+lntUH8roT1Bgts4Y/cQIjzm6M=", "owner": "intersectmbo", "repo": "cardano-haskell-packages", - "rev": "def6ba6e0324e451802f5a17b12a00bd64639e14", + "rev": "9b3fb2ffaab78614fa063bcd640412bb4d940641", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "hackageNix": { "flake": false, "locked": { - "lastModified": 1782976946, - "narHash": "sha256-5HahZmuFlRH3bveusYWWTi3/dl2QjIpuHdAUCFRny+c=", + "lastModified": 1787577449, + "narHash": "sha256-84qQ8EvtkcvkdUNUchn1125oWx7P1rhA3AIhvTzLb7Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6b1f625198e7d1c0a62418084d45aa970cabfa21", + "rev": "c71f9547e8efa6977af04fa449e5a3b40ec60ff1", "type": "github" }, "original": { diff --git a/network-mux/network-mux.cabal b/network-mux/network-mux.cabal index c143c7fdc2..2054d8034c 100644 --- a/network-mux/network-mux.cabal +++ b/network-mux/network-mux.cabal @@ -64,7 +64,7 @@ library containers >=0.5 && <0.9, contra-tracer ^>=0.2.1, formatting, - io-classes:{io-classes, si-timers, strict-stm} ^>=1.8, + io-classes:{io-classes, si-timers, strict-stm} ^>=1.11, monoidal-synchronisation >=0.1 && <0.2, network ^>=3.2.7, process ^>=1.6, diff --git a/network-mux/test/Test/Mux.hs b/network-mux/test/Test/Mux.hs index b0ba8977b1..4c65e3d8ce 100644 --- a/network-mux/test/Test/Mux.hs +++ b/network-mux/test/Test/Mux.hs @@ -2553,7 +2553,6 @@ prop_mux_trailing_bytes , MonadMask m , MonadTimer m , MonadThrow (STM m) - , MonadSay m ) => BL.ByteString -> NonEmptyByteString diff --git a/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Limits.hs b/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Limits.hs index 12a197d161..46cbf34ce3 100644 --- a/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Limits.hs +++ b/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Limits.hs @@ -280,8 +280,7 @@ driverWithLimitsRnd = mkDriverWithLimitsRnd runDecoderWithLimit Identity runDecoderWithLimit :: forall m bytes failure a. - ( Monad m - , MonadEvaluate m + ( MonadEvaluate m , NFData failure ) => Word @@ -333,8 +332,7 @@ runDecoderWithLimit limit size Channel{recv} trailing0 step = runAnnotatedDecoderWithLimit :: forall m bytes failure a. - ( Monad m - , MonadEvaluate m + ( MonadEvaluate m , Monoid bytes , NFData failure ) diff --git a/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Simple.hs b/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Simple.hs index e9894581de..b5f4dff82f 100644 --- a/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Simple.hs +++ b/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Simple.hs @@ -319,8 +319,7 @@ runPipelinedAnnotatedPeer tracer codec channel peer = -- | Run a codec incremental decoder 'DecodeStep' against a channel. It also -- takes any extra input data and returns any unused trailing data. -- -runDecoderWithChannel :: ( Monad m - , MonadEvaluate m +runDecoderWithChannel :: ( MonadEvaluate m , NFData failure ) => Channel m bytes @@ -338,8 +337,7 @@ runDecoderWithChannel Channel{recv} = go runAnnotatedDecoderWithChannel :: forall m bytes failure a. - ( Monad m - , MonadEvaluate m + ( MonadEvaluate m , Monoid bytes , NFData failure ) diff --git a/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Stateful.hs b/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Stateful.hs index 93c944e80f..9fcb9ceb43 100644 --- a/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Stateful.hs +++ b/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Stateful.hs @@ -76,8 +76,7 @@ import Control.Tracer (Tracer (..), contramap, traceWith) driverStateful :: forall ps (pr :: PeerRole) failure bytes (f :: ps -> Type) m. - ( MonadAsync m - , MonadEvaluate m + ( MonadEvaluate m , MonadMask m , NFData failure , Show failure @@ -134,8 +133,7 @@ driverStateful tracer Codec{encode, decode} channel@Channel{send} = do -- runPeer :: forall ps (st :: ps) pr failure bytes f m a . - ( MonadAsync m - , MonadEvaluate m + ( MonadEvaluate m , MonadMask m , NFData a , NFData failure @@ -163,8 +161,7 @@ runPeer tracer codec channel f peer = -- | Run a codec incremental decoder 'DecodeStep' against a channel. It also -- takes any extra input data and returns any unused trailing data. -- -runDecoderWithChannel :: ( Monad m - , MonadEvaluate m +runDecoderWithChannel :: ( MonadEvaluate m , NFData failure ) => Channel m bytes diff --git a/ouroboros-network/framework/lib/Ouroboros/Network/Mux.hs b/ouroboros-network/framework/lib/Ouroboros/Network/Mux.hs index 0904451bc2..dd3e617ba9 100644 --- a/ouroboros-network/framework/lib/Ouroboros/Network/Mux.hs +++ b/ouroboros-network/framework/lib/Ouroboros/Network/Mux.hs @@ -381,8 +381,7 @@ mkMiniProtocolCbFromPeer fn = -- mkMiniProtocolCbFromPeerSt :: forall (pr :: PeerRole) ps (f :: ps -> Type) (st :: ps) failure bytes ctx m a. - ( MonadAsync m - , MonadEvaluate m + ( MonadEvaluate m , MonadMask m , ShowProxy ps , forall (st' :: ps) stok. stok ~ StateToken st' => Show stok diff --git a/ouroboros-network/ouroboros-network.cabal b/ouroboros-network/ouroboros-network.cabal index bcf5bbe17f..7879d972b0 100644 --- a/ouroboros-network/ouroboros-network.cabal +++ b/ouroboros-network/ouroboros-network.cabal @@ -122,7 +122,7 @@ library api contra-tracer, deepseq, dns, - io-classes:{io-classes, si-timers, strict-stm} ^>=1.8, + io-classes:{io-classes, si-timers, strict-stm} ^>=1.11, iproute ^>=1.7.15, measures, network ^>=3.2.7, @@ -315,7 +315,7 @@ library dns, formatting, hashable, - io-classes:{io-classes, mtl, si-timers, strict-stm} ^>=1.8 || ^>=1.9, + io-classes:{io-classes, mtl, si-timers, strict-stm} ^>=1.11, iproute, monoidal-synchronisation, mtl, @@ -392,7 +392,7 @@ library framework deepseq, formatting, hashable, - io-classes:{io-classes, si-timers, strict-stm} ^>=1.8, + io-classes:{io-classes, si-timers, strict-stm} ^>=1.11, monoidal-synchronisation ^>=0.1.0.7, network ^>=3.2.7, network-mux ^>=0.11.0.0, @@ -455,7 +455,7 @@ library tests-lib deepseq, deque ^>=0.4, formatting, - io-classes:{io-classes, si-timers, strict-stm} ^>=1.8, + io-classes:{io-classes, si-timers, strict-stm} ^>=1.11, io-sim, network-mux, ouroboros-network:api, @@ -854,7 +854,7 @@ library protocols containers, deepseq, formatting, - io-classes:{io-classes, si-timers} ^>=1.8, + io-classes:{io-classes, si-timers} ^>=1.11, nothunks, ouroboros-network:api, quiet, diff --git a/ouroboros-network/tests/lib/Test/Ouroboros/Network/TxSubmission/AppV2.hs b/ouroboros-network/tests/lib/Test/Ouroboros/Network/TxSubmission/AppV2.hs index 66d8833eb3..95e4cb890b 100644 --- a/ouroboros-network/tests/lib/Test/Ouroboros/Network/TxSubmission/AppV2.hs +++ b/ouroboros-network/tests/lib/Test/Ouroboros/Network/TxSubmission/AppV2.hs @@ -398,18 +398,6 @@ filterValidTxs mkUnrequested :: [Int] -> Tx Int -> Tx Int mkUnrequested _reqs tx = tx { getTxId = maxBound } --- | Pretty-print only the say-tracer events of an IOSim trace, prefixed --- with their simulation time. The full 'ppTrace' includes scheduling --- noise (ThreadDelay, Deschedule, TxCommitted, etc.) that obscures the --- protocol-relevant events; this helper restricts the output to the --- events that the test infrastructure forwards through 'sayTracer' --- (protocol messages, counter snapshots, shared-state changes). -ppSayTrace :: SimTrace a -> String -ppSayTrace tr = - List.intercalate "\n" - $ map (\(Time t, ev) -> show t <> " " <> ev) - $ selectTraceEventsSayWithTime' tr - -- | Documented invariants of a 'TxSubmissionState' produced by the -- 'Arbitrary' instance. Used by the generator/shrinker meta-tests. validTxSubmissionState :: TxSubmissionState -> Bool From 5a42cf7666c3ec2816a4b33768e1643722a2944c Mon Sep 17 00:00:00 2001 From: Marcin Szamotulski Date: Thu, 30 Jul 2026 16:28:51 +0200 Subject: [PATCH 3/4] Updated time dependency We also need a newer serialise release: https://github.com/well-typed/cborg/pull/385 From 411592904fd99897f31d41d7ede499f53ab53f6f Mon Sep 17 00:00:00 2001 From: Marcin Szamotulski Date: Mon, 24 Aug 2026 11:01:50 +0200 Subject: [PATCH 4/4] Added changelogs --- .../20260824_105403_coot_io_classes_1_10.md | 23 +++++++++++++++++++ .../20260824_105410_coot_io_classes_1_10.md | 23 +++++++++++++++++++ .../20260824_105418_coot_io_classes_1_10.md | 23 +++++++++++++++++++ .../20260824_105424_coot_io_classes_1_10.md | 22 ++++++++++++++++++ 4 files changed, 91 insertions(+) create mode 100644 cardano-diffusion/changelog.d/20260824_105403_coot_io_classes_1_10.md create mode 100644 network-mux/changelog.d/20260824_105410_coot_io_classes_1_10.md create mode 100644 ntp-client/changelog.d/20260824_105418_coot_io_classes_1_10.md create mode 100644 ouroboros-network/changelog.d/20260824_105424_coot_io_classes_1_10.md diff --git a/cardano-diffusion/changelog.d/20260824_105403_coot_io_classes_1_10.md b/cardano-diffusion/changelog.d/20260824_105403_coot_io_classes_1_10.md new file mode 100644 index 0000000000..1b99f051e7 --- /dev/null +++ b/cardano-diffusion/changelog.d/20260824_105403_coot_io_classes_1_10.md @@ -0,0 +1,23 @@ + + + +### Non-Breaking + +- Updated to `io-classes-1.11`. + + diff --git a/network-mux/changelog.d/20260824_105410_coot_io_classes_1_10.md b/network-mux/changelog.d/20260824_105410_coot_io_classes_1_10.md new file mode 100644 index 0000000000..edc24da37d --- /dev/null +++ b/network-mux/changelog.d/20260824_105410_coot_io_classes_1_10.md @@ -0,0 +1,23 @@ + + + +### Non-Breaking + +- Updated to `io-classes-1.11`, `time-1.15`. + + diff --git a/ntp-client/changelog.d/20260824_105418_coot_io_classes_1_10.md b/ntp-client/changelog.d/20260824_105418_coot_io_classes_1_10.md new file mode 100644 index 0000000000..edc24da37d --- /dev/null +++ b/ntp-client/changelog.d/20260824_105418_coot_io_classes_1_10.md @@ -0,0 +1,23 @@ + + + +### Non-Breaking + +- Updated to `io-classes-1.11`, `time-1.15`. + + diff --git a/ouroboros-network/changelog.d/20260824_105424_coot_io_classes_1_10.md b/ouroboros-network/changelog.d/20260824_105424_coot_io_classes_1_10.md new file mode 100644 index 0000000000..9781a5999d --- /dev/null +++ b/ouroboros-network/changelog.d/20260824_105424_coot_io_classes_1_10.md @@ -0,0 +1,22 @@ + +### Breaking + +- Updated to `io-classes-1.11`: + - type signatures of `Ouroboros.Network.Driver` APIs and + `Ouroboros.Network.Mux.mkMiniProtocolCbFromPeerSt` were adapted to `io-classes-1.11`. + +### Non-Breaking + +- Updated to `time-1.15`. + +