Skip to content

Tags: mirage/mirage

Tags

v4.11.0

Toggle v4.11.0's commit message
Release 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)

v4.10.6

Toggle v4.10.6's commit message
Release 4.10.6

CHANGES:

- Fix missing group to runtime arguments (#1635 @reynir)
- Send --name as hostname in DHCP (#1632 @hannesm, review by @reynir)

v4.10.5

Toggle v4.10.5's commit message
Release 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_dns` and
  `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)

v4.10.4

Toggle v4.10.4's commit message
Release 4.10.4

CHANGES:

- Refactor `right_tcpip_library` (#1622 @reynir, review by @hannesm)
- Correctly compare package pins when merging (#1623 @reynir, review by @hannesm)

v4.10.3

Toggle v4.10.3's commit message
Release 4.10.3

CHANGES:

- Include output file extension in generated Makefile (#1619 @Firobe,
  fixes #1610)
- Allow solo5 0.10.0 (#1620 @hannesm)

v4.10.2

Toggle v4.10.2's commit message
Release 4.10.2

CHANGES:

- Add a way to provide network and address to generic_stackv4v6 (removed in
  4.10.0, requested by @ansiwen in #1612, #1615)
- Upgrade to cmdliner 2.0.0 (#1614 @hannesm fixes #1602)
- Refactor open into qualified access in devices (#1613 @reynir)

v4.10.1

Toggle v4.10.1's commit message
Release 4.10.1

CHANGES:

- Fix the generated dependencies on mirage-runtime to 4.10.*

v4.10.0

Toggle v4.10.0's commit message
Release 4.10.0

CHANGES:

- Add unikraft targets (#1607 @fabbing @shym)
- Add a `?local_libs` parameter to allow local dune libs
  (#1609 @omegametabroccolo)
- Add a `--name` argument to each unikernel (`Mirage_runtime.name ()`),
  remove `monitor_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)

v4.9.0

Toggle v4.9.0's commit message
Release 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
```
- Inject a unit argument to the start function if otherwise it would have
  no binding (discussed various times, including #1088 #873)

v4.8.2

Toggle v4.8.2's commit message
Release 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_dhcp` device (#1593, @palainp)
- separate sections for DNS, happy-eyeballs, SSH, TLS, HTTP arguments in
  unikernel man pages (#1590 @hannesm, fixes #1587)