From ed0eda226c8be1436a79e345db0e9eea57276871 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Thu, 17 Apr 2025 16:35:19 -0400 Subject: [PATCH] prepare for 0.8 --- CHANGES.md | 13 +++++++++++++ dune-project | 2 +- moonpool-io.opam | 2 +- moonpool-lwt.opam | 2 +- moonpool.opam | 2 +- src/core/chan.mli | 6 +++--- src/core/fut.mli | 4 ++-- src/fib/fiber.mli | 2 +- src/fib/main.mli | 2 +- 9 files changed, 24 insertions(+), 11 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e5dc0608..61a00a63 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,4 +1,17 @@ +# 0.8 + +- api(fut): make alias `'a Fut.t = 'a Picos.Computation.t` public +- feat: add `Fut.make_promise`, have `'a promise = private 'a fut` +- feat(exn_bt): in show/pp, do print the backtrace when present +- feat: block signals in workers if asked to +- relax bound on picos to 0.5-0.6 +- feat fib: `spawn_ignore` now has `?on` optional param +- change Moonpool.Chan so it's bounded (stil experimental) + +- fix task local storage: type was too specific +- fix fiber: use a single fut/computation in fibers + # 0.7 - add `Moonpool_fiber.spawn_top_ignore` diff --git a/dune-project b/dune-project index 260d3274..7f1de178 100644 --- a/dune-project +++ b/dune-project @@ -2,7 +2,7 @@ (using mdx 0.2) (name moonpool) -(version 0.7) +(version 0.8) (generate_opam_files true) (source (github c-cube/moonpool)) diff --git a/moonpool-io.opam b/moonpool-io.opam index 10c41c86..5e943b0a 100644 --- a/moonpool-io.opam +++ b/moonpool-io.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.7" +version: "0.8" synopsis: "Async IO for moonpool, relying on picos (experimental)" maintainer: ["Simon Cruanes"] authors: ["Simon Cruanes"] diff --git a/moonpool-lwt.opam b/moonpool-lwt.opam index 8ebde456..982f8d03 100644 --- a/moonpool-lwt.opam +++ b/moonpool-lwt.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.7" +version: "0.8" synopsis: "Event loop for moonpool based on Lwt-engine (experimental)" maintainer: ["Simon Cruanes"] authors: ["Simon Cruanes"] diff --git a/moonpool.opam b/moonpool.opam index 97b8cf67..feb9208e 100644 --- a/moonpool.opam +++ b/moonpool.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.7" +version: "0.8" synopsis: "Pools of threads supported by a pool of domains" maintainer: ["Simon Cruanes"] authors: ["Simon Cruanes"] diff --git a/src/core/chan.mli b/src/core/chan.mli index 7ec1163d..3f3444ef 100644 --- a/src/core/chan.mli +++ b/src/core/chan.mli @@ -3,7 +3,7 @@ The channels have bounded size. Push/pop return futures or can use effects to provide an [await]-friendly version. - The channels became bounded since @NEXT_RELEASE . + The channels became bounded since @0.7 . *) type 'a t @@ -35,13 +35,13 @@ val push : 'a t -> 'a -> unit (** Push the value into the channel, suspending the current task if the channel is currently full. @raise Closed if the channel is closed - @since NEXT_RELEASE *) + @since 0.7 *) val pop : 'a t -> 'a (** Pop an element. This might suspend the current task if the channel is currently empty. @raise Closed if the channel is empty and closed. - @since NEXT_RELEASE *) + @since 0.7 *) (* val pop_block_exn : 'a t -> 'a diff --git a/src/core/fut.mli b/src/core/fut.mli index c9c357f5..c56af470 100644 --- a/src/core/fut.mli +++ b/src/core/fut.mli @@ -25,7 +25,7 @@ type 'a t = 'a Picos.Computation.t type 'a promise = private 'a t (** A promise, which can be fulfilled exactly once to set the corresponding future. - This is a private alias of ['a t] since NEXT_RELEASE, previously it was opaque. *) + This is a private alias of ['a t] since 0.7, previously it was opaque. *) val make : unit -> 'a t * 'a promise (** Make a new future with the associated promise. *) @@ -38,7 +38,7 @@ val make_promise : unit -> 'a promise {[let prom = Fut.make_promise();; let fut = (prom : _ Fut.promise :> _ Fut.t) ;; ]} - @since NEXT_RELEASE *) + @since 0.7 *) val on_result : 'a t -> ('a or_error -> unit) -> unit (** [on_result fut f] registers [f] to be called in the future diff --git a/src/fib/fiber.mli b/src/fib/fiber.mli index 12d710ad..d423b9d1 100644 --- a/src/fib/fiber.mli +++ b/src/fib/fiber.mli @@ -147,7 +147,7 @@ val spawn_ignore : ?on:Runner.t -> ?protect:bool -> (unit -> _) -> unit (** [spawn_ignore f] is [ignore (spawn f)]. The fiber will still affect termination of the parent, ie. the parent will exit only after this new fiber exits. - @param on the optional runner to use, added since NEXT_RELEASE *) + @param on the optional runner to use, added since 0.7 *) val spawn_top_ignore : on:Runner.t -> (unit -> _) -> unit (** Like {!spawn_top} but ignores the result. diff --git a/src/fib/main.mli b/src/fib/main.mli index 13bd625b..609d4f2c 100644 --- a/src/fib/main.mli +++ b/src/fib/main.mli @@ -26,4 +26,4 @@ val main : (Moonpool.Runner.t -> 'a) -> 'a val main' : ?block_signals:bool -> unit -> (Moonpool.Runner.t -> 'a) -> 'a (** Same as {!main} but with room for optional arguments. - @since NEXT_RELEASE *) + @since 0.7 *)