MirageOS 3.7.1 is released to opam repository now.
Breaking change:
- The hooks previously defined in
OS.Main.at_enter/at_enter_iter/at_exit/at_exit_iter are now part of
Mirage_runtime (only used by mirage-entropy) https://github.com/mirage/mirage/pull/1010
Behaviour changes of MirageOS unikernels:
- A unikernel now always calls the Mirage_runtime.at_exit registered
hooks – once a unikernel succesfully executed itsstart
in
Lwt_main.run
,exit 0
is called to ensure this behaviour https://github.com/mirage/mirage/pull/1011 - Top-level exceptions are no longer caught (there used to be in
mirage-unix/mirage-xen/mirage-solo5 custom handlers). The OCaml runtime
prints the exception and backtrace on stdout and calls exit 2 (from
4.10.0, abort() will be called).
Deprecations (being removed from Mirage 4.0)
- All Mirage_YYY_lwt are deprecated, Mirage_YYY interfaces are no longer
astracted over 'a io and buffer. This reduces the amount of opam
packages - mirage-yyy-lwt are no longer part of the release (each
mirage-yyy package provides a Mirage_yyy_lwt module for backwards
compatibility). Motivation was discussed in https://github.com/mirage/mirage/issues/1004 - mirage-types and mirage-types-lwt are deprecated, please use the
Mirage_YYY signatures directly instead.
Other observable changes
-
mirage configure
now deletes all exising opam files
Most reverse dependencies are already released to opam, have a look at
https://github.com/mirage/mirage/issues/1012 for progress (and the
temporary https://github.com/mirage/mirage-dev.git#easy opam overlay).
Happy hacking,
hannes