[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [MirageOS-devel] [ANN] mirage 3.7 release
Dear all, we are pleased to announce Mirage 3.7.1 (https://github.com/ocaml/opam-repository/pull/15200). This release contains some user-visible changes: - During a "mirage configure", existing opam files are deleted (this means a mirage configure -t unix && make followed by mirage configure -t spt && make will just work, and not lead to opam complaining). - At the (normal) end of execution of a unikernel. OCaml's exit function is called (exit 0). This means that registered at_exit hooks are actually executed on all targets. - Exceptions during execution are no longer catched and reported via Logs.err -- but instead uniformly left to the OCaml runtime. The mirage-unix target in addition exited successfully (exit code 0) even on exception, xen and solo5 used exit code 1 (now: 2, or with OCaml 4.10 abort). The reporting via Logs worked fine on console, but not via syslog (since the unikernel was gone before the network packet was sent out). Now, all targets uniformly report a backtrace on console / stdout. - Mirage interfaces have been reduced by a factor of two. Instead of abstracting over type 'a io and type buffer, they are concrete to Lwt.t and Cstruct.t now. This does not mean that mirage will be "stuck with Lwt" or "stuck with Cstruct", we can still evolve -- it only means that for a given mirage release, the io and buffer types won't change (i.e. all libraries will use the same). The generated documentation is much more concise now. The number of opam packages is cut in half. mirage-types-lwt (Mirage_types_lwt) is now an alias of Mirage_types (both will be deprecated in MirageOS 4.0). Please note that this only affects the core MirageOS interfaces, but libraries implementing protocols of course still can (should?) abstract over the used io library. For concrete code, what used to be: module Main (T : Mirage_time_lwt.S) is now: module Main (T : Mirage_time.S) For our mirage-skeleton examples, the diff looks very much like that - https://github.com/mirage/mirage-skeleton/pull/278 This change required the release of all implementations (tracked as https://github.com/mirage/mirage/issues/1012). Please be patient, some packages are still in the process of being released for that -- but the majority should work now. It is likely that documentation and examples on the Internet don't work anymore in respect to this change. Please don't hesitate to post them on this list, so we can adapt them to the 3.7 release series. Best, hannes _______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/mirageos-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |