I am delighted to announce the release of miou.0.6.0. This release mainly adds two new features:
- a Miou event logging system
- a new
Miou.takefunction allowing you to retrieve tasks available in aMiou.orphans
The addition of a logging system allows us to record events related to Miou (such as the creation of a new task) and to analyse these events to diagnose a Miou application that does not comply with our fundamental rules (such as never forgetting its children). This is why we offer several tools:
mtbox.recd, which allows you to record Miou events in JSON format so that you can analyse a Miou application using software such as perfetto.dev.mtbox.diag, which explains why a Miou application terminates with an exception such asStill_has_children(which results from a violation of one of our rules)mtbox.mtop, which provides anhtop-style TUI for monitoring a Miou application. You can see an example here:

mtbox is experimental (very first release) but it demonstrates what can be done with Miou and now offers a nott{y,ui}-miou library allowing you to build your own TUI applications with Miou and lwd.
The addition of Miou.take relates more to our HTTP stack provided by our httpcats library and the νιϝ Web Framework. Alongside a few additions and bug fixes, we have notably undertaken to provide a reproducible benchmark of our HTTP servers, the results of which are available here.
So, in addition to this Miou release, we continue to maintain and improve httpcats, vif and hurl to provide an HTTP stack for the Miou ecosystem.
Finally, as you are no doubt aware, we are continuing to experiment with the development of unikernels in OCaml using Miou, and this release is accompanied by a release of mkernel (our scheduler for unikernels), mnet (our TCP/IP stack), and mhttp and vifu (our HTTP stack for unikernels). Added to this are msendmail (recently released to deploy our mailing list ptt@mailingl.st), mfat (our FAT32 file system in OCaml) and mnet-dns. We are now able to offer you (in addition to our existing unikernels) new unikernels with OCaml 5:
pttto manage your mailing list (announced here)annuaireacting as a recursive DNS resolver and stub DNS resolver (with a ban list)contrunoas a TLS termination proxy managing your Let’s Encrypt certificates and their renewal- and of course
immuable, our unikernel that enables the delivery of a static website (notably that of https://mailingl.st and https://docs.osau.re)
We invite you to read our tutorial to learn how to develop unikernels and we recommend our Albatross project for deploying them.
In short, we are beginning to consolidate the ecosystem around Miou and offer more and more libraries enabling you to develop your applications with our scheduler. We would like to thank everyone who has contributed, directly or indirectly, to the development of Miou, as well as those who have helped improve the libraries that make up our ecosystem. Please feel free to get involved, ask questions and, above all, start hacking!
Happy hacking!
