diff --git a/CHANGES.md b/CHANGES.md index 34e62f45..ad9a14c5 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,4 +1,16 @@ +# 0.10 + +- breaking: remove `around_task` from schedulers +- breaking: remove `moonpool.fib` entirely. Please use `picos_std.structured` + if you really need structured concurrency. +- remove deprecated moonpool-io and moonpool.sync + +- feat core: add `Main`, salvaged from moonpool.fib +- block signals in background threads +- refactor `chan`; fix bug in `Chan.try_push` +- fix: make `Moonpool_lwt.fut_of_lwt` idempotent + # 0.9 - breaking: require OCaml 5 diff --git a/dune-project b/dune-project index bf88d190..04dbc4f4 100644 --- a/dune-project +++ b/dune-project @@ -1,13 +1,20 @@ (lang dune 3.0) + (using mdx 0.2) (name moonpool) -(version 0.9) + +(version 0.10) + (generate_opam_files true) + (source (github c-cube/moonpool)) + (authors "Simon Cruanes") + (maintainers "Simon Cruanes") + (license MIT) ;(documentation https://url/to/documentation) @@ -16,41 +23,60 @@ (name moonpool) (synopsis "Pools of threads supported by a pool of domains") (depends - (ocaml (>= 5.0)) + (ocaml + (>= 5.0)) dune - (either (>= 1.0)) + (either + (>= 1.0)) (trace :with-test) (trace-tef :with-test) - (qcheck-core (and :with-test (>= 0.19))) - (thread-local-storage (and (>= 0.2) (< 0.3))) + (qcheck-core + (and + :with-test + (>= 0.19))) + (thread-local-storage + (and + (>= 0.2) + (< 0.3))) (odoc :with-doc) (hmap :with-test) - (picos (and (>= 0.5) (< 0.7))) - (picos_std (and (>= 0.5) (< 0.7))) + (picos + (and + (>= 0.5) + (< 0.7))) + (picos_std + (and + (>= 0.5) + (< 0.7))) (mdx (and (>= 1.9.0) :with-test))) (depopts - hmap - (trace (>= 0.6))) + hmap + (trace + (>= 0.6))) (tags (thread pool domain futures fork-join))) (package - (name moonpool-lwt) - (synopsis "Event loop for moonpool based on Lwt-engine (experimental)") - (allow_empty) ; on < 5.0 - (depends - (moonpool (= :version)) - (ocaml (>= 5.0)) - (qcheck-core (and :with-test (>= 0.19))) - (hmap :with-test) - lwt - base-unix - (trace :with-test) - (trace-tef :with-test) - (odoc :with-doc))) - + (name moonpool-lwt) + (synopsis "Event loop for moonpool based on Lwt-engine (experimental)") + (allow_empty) ; on < 5.0 + (depends + (moonpool + (= :version)) + (ocaml + (>= 5.0)) + (qcheck-core + (and + :with-test + (>= 0.19))) + (hmap :with-test) + lwt + base-unix + (trace :with-test) + (trace-tef :with-test) + (odoc :with-doc))) ; See the complete stanza docs at https://dune.readthedocs.io/en/stable/dune-files.html#dune-project diff --git a/moonpool-lwt.opam b/moonpool-lwt.opam index 08a93ac3..d29944ad 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.9" +version: "0.10" 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 40afc887..eace1e91 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.9" +version: "0.10" synopsis: "Pools of threads supported by a pool of domains" maintainer: ["Simon Cruanes"] authors: ["Simon Cruanes"] diff --git a/src/core/fut.mli b/src/core/fut.mli index de100ac8..d106a2e6 100644 --- a/src/core/fut.mli +++ b/src/core/fut.mli @@ -267,7 +267,7 @@ val await : 'a t -> 'a val yield : unit -> unit (** Like {!Moonpool.yield}. - @since NEXT_RELEASE *) + @since 0.10 *) (** {2 Blocking} *) diff --git a/src/core/main.mli b/src/core/main.mli index 1d88406a..418443a2 100644 --- a/src/core/main.mli +++ b/src/core/main.mli @@ -18,7 +18,7 @@ This module was migrated from the late [Moonpool_fib]. - @since NEXT_RELEASE *) + @since 0.10 *) val main : (Runner.t -> 'a) -> 'a (** [main f] runs [f()] in a scope that handles effects, including