# Mirage 4.5.0 released

**URL:** <https://discuss.ocaml.org/t/mirage-4-5-0-released/14518>\
**Category:** Community\
**Tags:** mirageos, announce\
**Created:** [April 19, 2024, 2:12pm UTC](https://discuss.ocaml.org/t/mirage-4-5-0-released/14518 "2024-04-19T14:12:10Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![samoht](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/samoht/32/81_2.png) [@samoht](https://discuss.ocaml.org/u/samoht)\
**Post date:** [April 19, 2024, 2:12pm UTC](https://discuss.ocaml.org/t/mirage-4-5-0-released/14518/1 "2024-04-19T14:12:11Z")

</div>

On behalf of the Mirage team, I’m happy to announce the release of MirageOS 4.5.0. This was merged in `opam-repository` last week, so it should be available just in time for the upcoming [14th MirageOS hack retreat](https://retreat.mirage.io/)!

This release introduces a significant change in the Mirage tool by splitting the definition of command-line arguments used at configure-time and runtime. Command-line arguments used in the configure script (also called ‘configuration keys’ and defined in the `Key` module) are essential during the setup of module dependencies for the unikernel, allowing for specialized production of a unikernel for a given target runtime environment. On the other hand, command-line arguments that the unikernel can use a runtime (defined in the `Runtime_arg` module) are helpful for customizing deployments without altering the dependencies of the unikernels.

- API changes:

- Intended use of configuration keys (values of type `'a key`):

- Intended use of command-line runtime arguments (values of type `a runtime_arg`):

- `key_gen.ml` is not generated anymore, so users cannot refer to `Key_gen.<key_name>` directly.

- Code migration:

The [mirage-skeleton](https://github.com/mirage/mirage-skeleton) repository and a few tutorials on [https://mirage.io](https://mirage.io) have been updated and now compile with [mdx](https://github.com/realworldocaml/mdx) to check for future API breakage. Documentation PRs are very welcome if you find some missing updates. We also welcome more general feedback regarding this API change.

I also would like to use this announcement as a reminder that we have restarted the mirage bi-weekly calls. Check the [MirageOS mailing list](https://lists.xenproject.org/archives/html/mirageos-devel/) or the [MirageOS Matrix channel](https://matrix.to/#/!CokxBnmvmEfvUKOmHg:matrix.org?via=matrix.org&via=recoil.org&via=asra.gr) for more info. The next one is planned for the 29th of April. If you are using or planning to use MirageOS (or are just curious about the project), feel free to join, it’s open to everyone!

Happy hacking!
