I am delighted to announce the release of Miou version 0.5.0. This release now uses poll(2)/ppoll(2) instead of select(3P) in order to improve I/O management performance.
Since I/O management is decoupled from the scheduler, this does not change the Miou API or the miou.unix library.
I would particularly like to thank @backtracking for allowing us to integrate part of his bitv library under a different licence, as well as @haesbaert, the original author of ocaml-iomux, for allowing us to use poll(2)/ppoll(2).
This has allowed us to go further, particularly with vif, our web framework for OCaml 5, and our website builder-web has been completely rewritten to move to OCaml 5 (thanks to @reynir and @yomimono who participated in this rewrite and provided important feedbacks).
This release comes with a new package, flux (still experimental), offering streaming abstractions that can be used with Miou. I would like to thank @rizo for his sketch streaming in this regard (pre-OCaml 5). This library takes advantage of the parallelism offered by Miou (with Miou.call) as well as resource management and finalisers (with Miou.Ownership). A tutorial is available here to create a tiny curl with a loading bar.

Finally, we are continuing to lay the groundwork for the development of unikernels with mkernel. We are currently experimenting with three unikernels:
- immuable, which reuses Vif to create websites in OCaml 5 in the form of unikernels
- chaos (still at a very experimental stage), which aims to be an NTP server
- dns-resolver, which is a DNS query resolver in the form of a unikernel
Finally, we would also like to thank everyone who has been involved in the development of Miou and its related ecosystem, whether directly or indirectly.
Happy hacking!