Releases: mirage/mirage
Releases · mirage/mirage
4.11.0
CHANGES:
- Introduce a "--utcp" configuration-time flag (and "--management-utcp")
(#1636 @hannesm @palainp) - BREAKING: the "--dhcp" configuration-time argument is now a flag "--no-dhcp"
(and "--management-no-dhcp") (#1636 @hannesm) - Mirage.{direct_tcp, direct_stackv4v6, generic_stackv4v6,
generic_stackv4v6_with_lease}: remove ?tcp argument (#1636 @hannesm) - Mirage.direct_tcp has an optional ?group argument now (#1636 @hannesm)
- Mirage.{generic_stackv4v6, generic_stackv4v6_with_lease}: remove ?dhcp_key
and ?net_key argument, they are now always constructed (#1636 @hannesm) - BREAKING: remove deprecated Mirage_runtime.register (#1638 @hannesm)
- BREAKING: use "-" instead of "_" in DNS and happy eyeballs boot arguments:
dns-servers (was dns_servers),
dns-timeout (was dns_timeout),
dns-cache-size (was dns_cache_size),
he-aaaa-timeout (was he_aaaa_timeout),
he-connect-delay (was he_connect_delay),
he-connect-timeout (was he_connect_timeout),
he-resolve-timeout (was he_resolve_timeout),
he-resolve-retries (was he_resolve_retries),
he-timer-interval (was he_timer_interval)
(#1638 @hannesm)
4.10.6
4.10.5
CHANGES:
- Enable DHCP by default, and request and use DHCP lease information as fit
(plus allow dynamically to request further DHCP options) (#1628 @reynir,
review by @palainp @hannesm) - Provide
Mirage.generic_stackv4v6_with_lease(#1628 @reynir) - Provide
Mirage_runtime_network.optional_network(#1628 @reynir) - Allow dhcp to provide information to DNS (
Mirage.resolver_dnsand
Mirage.generic_dnc_client) and other entities (via
Mirage.make_dhcp_requests/Mirage.add_dhcp_requests/Mirage.dhcp_requests)
(#1628 @reynir) - Update to charrua 3.0 (#1628 @reynir)
- Upgrade to ocamlformat 0.28.1 (#1625 @reynir)
- Avoid lwt 6 due to a dune issue (ocaml/dune#13299,
#1629, 35c43d3 @hannesm)
4.10.4
4.10.3
4.10.2
4.10.1
4.10.0
CHANGES:
- Add unikraft targets (#1607 @fabbing @shym)
- Add a
?local_libsparameter to allow local dune libs
(#1609 @omegametabroccolo) - Add a
--nameargument to each unikernel (Mirage_runtime.name ()),
removemonitor_hostname(#1611 @hannesm) - Use Git_net instead of Git_mirage (#1606 @dinosaure)
- Fix Mirage_runtime documentation headers, use correct Stop special comment
(#1605 @reynir) - Exclude buggy dune versions from testing (#1609 @reynir)
- Remove unused exports about ip stacks, ipv4_config, ipv6_config,
socket_tcpv4v6, and socket_udpv4v6 (#1612 @hannesm)
4.9.0
CHANGES:
-
Remove time, pclock, mclock, random from functor arguments
Instead, use the linking trick in mirage-mtime, mirage-ptime, mirage-sleep
libraries (#1599 @hannesm, discussion in #1513 and on the mailing list)
This removes the default_time, default_monotonic_clock, default_posix_clock
bindings, and allows "Mirage.register" to get ?sleep ?ptime ?mtime ?random
passed optionally, following how ?argv is handled.This is a breaking change, and your unikernel likely needs to be updated. Have
a look at mirage/mirage-skeleton#407 for how our
examples changed.As example, the hello-key unikernel diff:
--- a/tutorial/hello-key/config.ml
+++ b/tutorial/hello-key/config.ml
@@ -2,5 +2,5 @@
open Mirage
let packages = [ package "duration" ]
-let main = main ~packages "Unikernel.Hello" (time @-> job)
-let () = register "hello-key" [ main $ default_time ]
+let main = main ~packages "Unikernel" job
+let () = register "hello-key" [ main ]
--- a/tutorial/hello-key/unikernel.ml
+++ b/tutorial/hello-key/unikernel.ml
@@ -5,13 +5,12 @@ let hello =
let doc = Arg.info ~doc:"How to say hello." [ "hello" ] in
Mirage_runtime.register_arg Arg.(value & opt string "Hello World!" doc)
-module Hello (Time : Mirage_time.S) = struct
- let start _time =
+let start () =
let rec loop = function
| 0 -> Lwt.return_unit
| n ->
Logs.info (fun f -> f "%s" (hello ()));
- Time.sleep_ns (Duration.of_sec 1) >>= fun () -> loop (n - 1)
+ Mirage_sleep.ns (Duration.of_sec 1) >>= fun () ->
+ loop (n - 1)
in
loop 4
-end
4.8.2
CHANGES:
- allow ocaml-solo5 1.x (@hannesm #1595)
- guide the user what to do next (#1592 @hannesm, fixes #921)
- revise syslog devices, add monitoring (#1591 @hannesm)
- add
ipv4_of_dhcpdevice (#1593, @palainp) - separate sections for DNS, happy-eyeballs, SSH, TLS, HTTP arguments in
unikernel man pages (#1590 @hannesm, fixes #1587)