# rpm-ostree v2022.3 On the compose side, a major feature in this release is support for `conditional-include` and `variable` keys. This allows `include` directives to take effect only if some condition is met. See the [treefile](https://coreos.github.io/rpm-ostree/treefile/) documentation for more information on this. There is also a new `repo_metadata` treefile option that controls whether and how to inject metadata about the input rpm-md repositories. The [ostree-rs-ext stack is updated to 0.6.5](https://github.com/ostreedev/ostree-rs-ext/releases/tag/ostree-ext-v0.6.4). On the bugfixes side, when RPM scripts are executed, `/run` is now properly a `tmpfs`. On the client-side, the daemon now caches GPG verification status of commits which should dramatically increase startup times on systems which ship many GPG public keys such as Fedora. There's an ongoing effort to make use of [cap-std](https://docs.rs/cap-std/latest/cap_std/) and [rustix](https://docs.rs/rustix/latest/rustix/), with some more incremental porting happening in this release. And of course, many other fixes and minor improvements! ``` Benno Rice (4): Replace some uses of "blacklist" with more accurate language. Add a Treefile option for where to stash the RPM repo metadata. Wire the repo_metadata Treefile option in to the compose process. Add tests for the repo_metadata Treefile option. Colin Walters (20): treefile: Add `container-cmd` Port to `once_cell`, drop `lazy_static` scripts: Use a tmpfs for /run rust/initramfs: Port to cap-std Add internal API to expose package variant list to Rust scripts: Fix tmpfs for `/run` `db version`: Switch to using SHA-256 Bump to cap-std-ext 0.24.1 cliwrap: Port to cap-std compose: Print information about target filesystem fstype: Add license identifier daemon: Drop unused import initramfs: Port to cap-std, drop `subprocess` dependency postprocess: A bit more porting to `cap_std` composepost: Drop last usage of `subprocess` crate utils: varsubst: Allocate initial string to around expected capacity live: A bit of porting to cap-std countme: Port to cap-std Bump to ostree-ext 0.6.5 testutils: Drop deprecated openat-ext usage Jonathan Lebon (18): daemon: cache GPG commit verification rust: Oxidize `variant_add_remote_status` build(deps): bump ostree from 0.13.4 to 0.13.6 rust/daemon: Use `replace_contents_with_perms` daemon: Fix clippy warnings treefile: Drop unnecessary collections:: prefixes treefile: Consistently use kebab-case and drop unnecessary renames treefile: Move from macro to function for var substitution treefile: Skip serializing `container-cmd` if None treefile: Support variables in more fields treefile: Add `variables` field treefile: Return String for releasever treefile: Support `releasever` being a number treefile: Make `basearch` and `releasever` variables treefile: Premerge variables during recursive parsing treefile: Add conditional includes tests/container-image: Add missing space before ! app/composeutil: Canonicalize empty detached metadata to NULL Joseph Marrero (1): src/app/rpmostree-builtin-cleanup: return after cleaning up repo cache Justin Kinney (1): Ignore kernel-uek posttrans scripts Luca BRUNO (3): compose: move and symlink content under /var/lib composepost: de-duplicate entries tests/basic: check iptables setup through alternatives Matthew Kenigsberg (1): docs/layering.md: script using next fcos stream Timothée Ravier (1): src/daemon: Exhaustively set arg direction for DBus interface Zbigniew Jędrzejewski-Szmek (1): scripts: add replacements scripts for /sbin/ldconfig calls in glibc-common ``` ## New Contributors * @mkenigs made their first contribution in https://github.com/coreos/rpm-ostree/pull/3467 * @keszybz made their first contribution in https://github.com/coreos/rpm-ostree/pull/3453 * @justinkinney made their first contribution in https://github.com/coreos/rpm-ostree/pull/3419 **Full Changelog**: https://github.com/coreos/rpm-ostree/compare/v2022.2...v2022.3