-
v2019.3b15ed421 · ·
Release 2019.3 A lot of changes since the last release. On the feature side, probably the biggest is we've made public the internal API for kernel arguments, which rpm-ostree now uses. Other things include a new `--modern` switch for `init-fs`, better support in `pull` for downgrade protection, better use of `mmap`, support for committing archives (tarballs) from stdin, etc. Finally, libostree now supports being built without GPG, which is an important preparatory piece for introducing an alternative signature system - look for more work on that soon. Thanks to all contributors! ``` Allen Bai (1 PR, 1 commit) lib/kargs: Make API public and upstream new rpm-ostree APIs (#1869) Allen Bai (1 PR, 1 commit) lib/util: Fix segfault when validating filename (#1868) Colin Walters (4 PRs, 4 commits) Add OSTREE_BUILT_FEATURES to ostree-version.h (#1890) admin/init-fs: Add a --modern switch (#1894) README.md: Rework "projects using" section (#1895) Release 2019.3 (#1902) Dan Nicholson (5 PRs, 16 commits) bin/refs: Allow overwriting existing ref (#1870) PR: #1799 tests: Always cleanup gpg-agent when exiting tests/libtest: Allow appending actions to be run on EXIT lib: Kill GPG agent when cleaning up tmp homedirs lib/gpg: Add helper to kill GPG agent PR: #1872 tests/test-gpg-signed-commit: Test more key states tests/libtest: Allow specifying GPG homedir to cleanup lib/gpg: Show if GPG key has been revoked lib/gpg: Show information for expired keys lib/gpg: Factor out expiration timestamp formatting PR: #1884 tests/sizes.js: Fix byte array unpacking tests/sizes: Fix call to commit_transaction() PR: #1892 ci/rpmostree: Bump to 2019.3 lib/kargs: Don't expose OstreeKernelArgs autoptr cleanup on old glib tests/gpg: Skip tests when subkeys can't be expired tests/gpg: Use exit hook to kill agent in temporary GPG homedir Daniel Drake (1 PR, 1 commit) lib/deploy: handle FIFREEZE ENOSYS failure (#1901) Denis Pynkin (1 PR, 9 commits) PR: #1889 tests/test-repo-finder-mount: skip some tests if GPG is not supported tests/gpg: fix GPG-dependent shell tests if no GPG support tests/gpg: fix the check of GPG support gpg: add dummy public interface lib: rename common sign/verification functions and variables gpg: conditionally build GPG-related code for sign/verification build: Conditionally build the GPG-related tests build: Conditionally build GPGME-related sources build: Add conditional use of GPGME Felix Krull (2 PRs, 6 commits) README: update link to ostree-rs (#1860) PR: #1861 lib: add parameter annotations for sysroot_load_if_changed lib: add some missing (out) annotations lib: fix up some nullability annotations lib: add minimum version to various symbols based on libostree-released.sym lib: fix doc comment for ostree_repo_get_min_free_space_bytes Jonathan Lebon (3 PRs, 4 commits) Post-release version bump (#1844) bin: Better handle -- (#1899) PR: #1891 lib/pull: Rename variable for clarity lib/pull: Allow downgrade protection with overrides Matthew Leeds (1 PR, 1 commit) lib/repo: Improve docs for get_min_free_space_bytes() (#1879) Philip Withnall (1 PR, 1 commit) ostree-repo-finder: Clarify immutability after construction (#1863) Rafael Fonseca (2 PRs, 2 commits) admin: allow multiple args for pin subcommand (#1874) lib/kargs: add missing function to symbol-versioning table (#1883) Richard Hughes (1 PR, 1 commit) lib: mmap the summary to reduce RSS in clients (#1856) Robert Fairley (4 PRs, 8 commits) ci: Split out installdeps.sh from build.sh (#1865) lib/util: Drop unneeded ot-tool-util.h includes (#1876) PR: #1857 lib/fetcher-util: Use GIOErrorEnum instead of GIOError tests: Drop unused variable PR: #1871 ci/flatpak: Bump FLATPAK_TAG to 1.4.1 Makefile-libostree.am: Work around clang issues with g-ir-scanner ci/build-check: Remove unused-command-line-argument diagnostic ci: Use Fedora 29 artifacts Tristan Cacqueray (3 PRs, 3 commits) docs: fix switchroot source link (#1849) docs: fix missing as typo (#1850) prepare-root: remove ignored MS_MGC_VAL flag (#1851) Tristan Van Berkom (1 PR, 4 commits) PR: #1862 tests: Test committing archives from stdin man: Document ability to commit archives from stdin bin/commit: Support committing archives from stdin lib/commit: Added new ostree_repo_write_archive_to_mtree_from_fd() ``` Git-EVTag-v0-SHA512: 0033fb6c93a0aed1518c93ac8ba153862da38e06e1e24fcae910121e36298295dff76cd7a38720e8ffa1c1899cdffd867ecd5350d9582b618eedd6172d6f5b8f
-
-
v2019.280435e12 · ·
Release 2019.2 It's been some time since the last release, so this is a slightly larger one! There's lots of new features, and a few bug fixes. Some highlights below. New features: - A new `sysroot.bootloader` key was added to be more explicit about which bootloader OSTree should use. Notably a `none` value is supported, in which OSTree is solely responsible for writing the BLS entries. This can then be used by bootloaders like GRUB2, which now supports BLS natively. (#1814) - `ostree config` now supports the `unset` command to unset a key from the OSTree repo config (#1743) - `ostree remote add` now supports the `--force` flag to replace a remote of the same name if it exists (#1166) - `ostree-prepare-root` now logs a structured journal message after finding the deployment to which to pivot. This can be used by higher-level apps like RPM-OSTree to build a history of the deployments the machine was booted into. (#1842) - The staging API now supports a lockfile which prevents finalization at shutdown. This is intended to be used in systems like Fedora CoreOS, which needs more fine-tuned control between *staging* a deployment, and setting it as the *default* deployment on reboot. (#1841) - `ostree static-delta show` now prints the `From` and `To` commits for which the delta was generated (#1823) Bug fixes: - Make looking up collection-refs similar to how regular refs are looked up, i.e. first in the transaction, then in the current repo, and then in the parent repo (#1821) - Don't include the OSTree commit version number twice in the boot menu title. This affected at least Fedora-based systems composed with RPM-OSTree's `mutate-os-release`. (#1829) - Activate `ostree-finalize-staged` earlier; this should hopefully make deployment finalization more reliable by running it later in the shutdown sequence, when less services are running (#1840) - Run `grub2-mkconfig` on the filesystem tree of the pending deployment, rather than the previously deployed tree. This was a corner case where the deployment failed if a previous deployment did not exist, on systems where grub.cfg is used. (#1831) As always, thanks to all the contributors! ``` Colin Walters (5 PRs, 8 commits) Post-release bump (#1800) static-delta: Change `show` to display from/to commits (#1823) prepare-root: Fix compilation with --with-static-compiler (#1846) PR: #1803 lib/commit: Don't set user.ostreemeta for bare → bare-user-only imports lib/commit: Set xattr on correct fd for bare-user → bare-user imports lib/commit: Fix bare → bare imports PR: #1806 ci/rpmostree: Bump to 2019.1 ci/rpmostree: Fix use of `fatal` Dan Nicholson (1 PR, 3 commits) PR: #1166 remote-add: Add --force option to add or replace remote man: Document remote add --if-not-exists option repo: Add OstreeRepoRemoteChange replace operation Jeremy Bicha (1 PR, 1 commit) tests: Update for glib 2.59.2 (#1818) Jonathan Lebon (6 PRs, 9 commits) lib/deploy: Don't include version twice in bootmenu title (#1829) boot: Activate ostree-finalize-staged even earlier (#1840) ostree-prepare-root: Log journal message after finding deployment (#1842) Release 2019.2 (#1844) PR: #1841 lib/deploy: Support locking deployment finalization lib/deploy: Write to journal if nothing to finalize lib: Add ot_journal_* helper macros PR: #1843 lib/sysroot: Match deployment /usr mode for overlay lib/sysroot: Call `chmod` on overlay dirs when unlocking Laurent Bonnans (1 PR, 1 commit) lib/repo: fix leak of `bootloader` field (#1837) Matthew Leeds (11 PRs, 17 commits) tests: Don't skip collection-based summary test (#1804) lib/repo-pull: Allow the keyring remote to be overridden (#1810) lib/repo-pull: Fix docs for n-network-retries option (#1812) lib/repo: Fix Since: annotation for REMOTE_CHANGE_REPLACE (#1813) tests: Remove unused includes in libostreetest.c (#1815) man: Document ostree --version (#1820) lib/repo-refs: Resolve collection-refs in-memory and in parent repos (#1821) lib: Check for http_proxy being the empty string (#1835) PR: #1743 ostree/config: Check for too many args man/ostree-config: Consistently use GROUPNAME placeholder ostree/config: Use g_autoptr instead of goto ostree/config: Add an "unset" operation PR: #1825 lib/repo-refs: Allow resolving local collection-refs lib/repo-refs: Add a flag to exclude listing from refs/mirrors lib/repo-refs: Fix resolving collection-refs PR: #1834 tests: Put a regex in quotes tests: Escape periods when appropriate Micah Abbott (1 PR, 1 commit) README: add note about Liri OS (#1802) Robert Fairley (3 PRs, 9 commits) PR: #1814 Add sysroot.bootloader repo config key libotutil: Rename to ot_keyfile_get_string_list_with_separator_choice() tests/test-config: Remove extra space ostree-grub-generator: Comment wording fix (and 1 commit from other author) PR: #1831 grub2: Generate config from pending deployment tests/test-admin-deploy-none: Split grub.cfg directory and file creation tests/test-admin-deploy-none: Update comment for #1774 status PR: #1839 tests/test-config: Fix regex causing Debian test failure travis: Update to Debian Stretch Robert Fairley (1 PR, 1 commit) PR: #1814 libotutil: Add ot_keyfile_get_value_with_default_group_optional() (and 4 commits from other authors) ``` Git-EVTag-v0-SHA512: 1a900dac71e960a425bbf4252b91287f0c4a68719d21f719aa2a7741c8923905b9dd0c1b95eb5acbdc0b3dd2d7b4dab45b8c93847081a3eb9f1faca7d0d6cb63
-
-
v2019.113bcc496 · ·
Release 2019.1 This is the first libostree release of 2019; no big changes, just a collection of smaller features and bugfixes. On the features side, a good example is: `lib/repo: Search a list of paths in gpgkeypath for gpg keys` from PR #1773 - this will be useful for Fedora which rotates GPG keys across releases. Another feature is `grub2: add support for devicetree` from PR: #1790 `lib/kargs: allow empty-list arguments` i.e. PR #1785 is between a bugfix and feature - it ensures libostree supports "empty list" kernel arguments. There's also some ongoing work to have libostree be a "backend" for OCI/Docker container storage; `checkout: honor opaque checkouts` in PR #1486 is part of that. `pull: If built with --disable-http2, allow enabling via http2=1` from PR #1798 will allow people to more easily play with HTTP2 if it's disabled by default. Thank you to all contributors! ``` Alexander Larsson (1 PR, 1 commit) Fix leak in ostree_content_stream_parse() (#1784) Colin Walters (6 PRs, 8 commits) lib/commit: Try checksum+hardlink for untrusted local same-uid repos (#1776) Update libglnx (#1781) ci/papr: Drop insttests (#1783) pull: If built with --disable-http2, allow enabling via http2=1 (#1798) PR: #1766 ci: Add `dist-then-build` target to catch missing `EXTRA_DIST` build-sys: Dist ostree-finalize-staged.path PR: #1800 Post-release bump Release 2019.1 Giuseppe Scrivano (1 PR, 1 commit) checkout: honor opaque checkouts (#1486) Jonathan Lebon (7 PRs, 7 commits) bin/refs: Disallow creating broken aliases (#1768) bin/pull-local: Add --commit-metadata-only (#1769) lib/commit: Copy user.ostreemeta only for bare-user (#1771) lib/commit: Add devino_cache_hits to txn stats (#1772) bin/pull: Add URL metavar for --url switch (#1782) boot/grub2: Add some more explanation in ostree-grub-generator (#1791) PR: #1761 ostree/main: Wrap `Version` in `--version` in quotes (and 1 commit from other author) Luca Bruno (1 PR, 1 commit) lib/kargs: allow empty-list arguments (#1785) Matthew Leeds (1 PR, 1 commit) lib/repo: Clarify docs for importing w/ trust (#1777) Matthias Clasen (1 PR, 2 commits) PR: #1788 Fix a small leak in ostree_repo_remote_list_collection_refs Fix a small leak in ostree_repo_pull_with_options Rafael Fonseca (2 PRs, 2 commits) admin/status: Correctly check GPG signature (#1787) admin/status: test GPG signature check (#1797) Ricardo Salveti (1 PR, 1 commit) grub2: add support for devicetree (#1790) Sinny Kumari (1 PR, 1 commit) atomic-upgrades doc: fix example url to fetch a ref checksum (#1795) Umang Jain (3 PRs, 3 commits) lib/repo-commit: Relax min-free-space check in prepare_transaction() (#1779) man/ostree.repo-config: Update min-free-space-* docs (#1786) PR: #1761 Post-release version bump (and 1 commit from other author) rfairley (1 PR, 1 commit) lib/repo: Search a list of paths in gpgkeypath for gpg keys (#1773) ``` Git-EVTag-v0-SHA512: e27d4941f2f4304c9d7afac93995bd47f0b25b186bd8436a2058bfb58258b12f03852ba775ed64436a5c5b1d53e52f33c1c9f065cfec993b96777a700e49da8b
-
-
v2018.9f3eba6bc · ·
Release 2018.9 It's been two months since our last release, so this one is slightly larger than usual (the ~monthly cadence). It's mostly bugfixes again, although there were some API additions and new configuration options. These new features are things like: - Allow disabling pulling from LAN/USB/Internet (#1758) - lib/repo: Add an API to get min-free-space-* reserved bytes (#1715) - OstreeMutableTree: add _remove method (#1724) - repo: Add a checkout option to not hardlink zero-sized files (#1752) On the bugfix side, nothing major; we have the usual small memory leak fixes (yeah, we use GCC autocleanups, but still, this is C). Beyond that, good examples of bugfixes are: - finalize-staged: Bump timeout to 5 minutes (#1755) - deploy: Fix removing /var/.updated with separate /var mount (#1730) - src/ostree: Don't delete refs having aliases (#1749) One notable change in this release is the initrd service `ostree-prepare-root.service` now runs earlier in the boot process. This shouldn't actually affect OSes, unless there's extended logic in the initrd that integrates tightly with OSTree. The use case for this is better integration with Ignition, which will be used in Fedora CoreOS. PR: #1759 Another systemd related change is the introduction of a path unit: `ostree-finalize-staged.path`. This allows the service of the same name to be path activated instead of explicitly started at deployment staging time. This release however does not yet rely on this mechanism to give time for packagers and integrators to adapt to the new unit (e.g. by enabling it in the systemd presets). A future release will *require* this. Note that deployment staging is still not the default for libostree, although at least rpm-ostree now unconditionally uses staging, and while it generally worked well, we hit issues with people using slower hard drives, hence the increase in timeout in PR #1755 . PR: #1740 Another change to call out is: lib/commit: Don't chown objects to repo target owner (#1754) We previously had incomplete support for a process running as uid 0 writing to a repository owned by a non-zero uid, but it was never finished. This will likely be revisited at a later time. We also merged: lib/grub2: Support Debian-style grub.cfg path (#1714) from a new contibutor (thanks Felix!). Who incidentally also posted recently about new Rust bindings: https://mail.gnome.org/archives/ostree-list/2018-October/msg00000.html https://crates.io/crates/libostree Thanks a lot to all contributors! ``` Colin Walters (12 PRs, 13 commits) Post-release version bump (#1705) deploy: Fix removing /var/.updated with separate /var mount (#1730) lib/commit: Don't copy xattrs for metadata objects (#1736) lib/progress: Fix leak of GSource (#1741) Only verify OSTREE_MAX_METADATA_SIZE for HTTP fetches (#1744) rofiles-fuse: Improve error message for failure to open root (#1747) repo: Add a checkout option to not hardlink zero-sized files (#1752) checkout: Support --union-identical and --force-copy{,--zerosized} (#1753) finalize-staged: Bump timeout to 5 minutes (#1755) remount: Refactor to helper function instead of loop (#1760) README: Add bindings section (#1762) PR: #1757 sysroot: Add error prefixing to deployment parsing sysroot: Update some code to use fstatat_allow_noent API Dan Nicholson (1 PR, 1 commit) lib/commit: Don't chown objects to repo target owner (#1754) Felix Krull (1 PR, 1 commit) lib/grub2: Support Debian-style grub.cfg path (#1714) Jonathan Lebon (7 PRs, 12 commits) ci: Disable f28-rpmostree for now (#1727) ci: Bump rpm-ostree tag to 2018.8 (#1728) boot: Add ostree-finalize-staged.path (#1740) lib/mutable-tree: Port to new style (#1742) PR: #1732 lib/fetcher-curl: Prefix fatal errors with full URL lib/fetcher-curl: Drop unnecessary check lib/fetcher-util: Mark journaled msgs as LOG_ERR PR: #1750 lib/sysroot-deploy: Write to journal when finalizing boot: Add Documentation= lines to services boot: Remove [Install] from ostree-finalize-staged PR: #1759 ostree-prepare-root.service: Run earlier in initrd ostree-prepare-root.service: Use RemainAfterExit=yes Laurent Bonnans (1 PR, 1 commit) lib/fetcher: Fix some memory leaks in curl fetcher (#1716) Matthew Leeds (10 PRs, 14 commits) avahi: Be robust to missing refs in peer summaries (#1717) lib/repo: Clean up OstreeRepo docs (#1725) lib/repo: Define a metadata key, ostree.deploy-collection-id (#1726) create-usb: Always use archive mode (#1733) create-usb: Add a --commit option (#1735) bash-completion: Fix --repo autocomplete (#1745) man/create-usb: Don't recommend summary updates (#1746) PR: #1737 man/ostree.repo-config: Document locking options lib/repo: Fix minor mistake in locking docs lib/repo: Allow disabling lock timeout PR: #1758 lib/repo-pull: Disable LAN updates by default Allow disabling pulling from LAN/USB/Internet PR: #1763 Rename core.repo-finders to core.default-repo-finders lib/repo-pull: Add an explanatory comment Robert McQueen (1 PR, 1 commit) OstreeMutableTree: add _remove method (#1724) Sinny Kumari (1 PR, 1 commit) src/ostree: Don't delete refs having aliases (#1749) Umang Jain (3 PRs, 6 commits) Release 2018.9 (#1761) PR: #1715 lib/repo: Ensure min-free-space* config value doesn't overflow Add tests for ostree_repo_get_min_free_space_bytes lib/repo: Add an API to get min-free-space-* reserved bytes PR: #1722 tests: Update tests for ostree_repo_get_min_free_space_bytes() lib/repo: Separate min-free-space-* calculation from transaction codepath ``` Git-EVTag-v0-SHA512: 7d4337f3b58ddd13c825eb80c0e39ebd5f4db1368a34ba6a037264c9941b373ba594a7b9f3ac63cb85e64f475bf5589001032a7ba6da371a2c76a336b4c89c85
-
-
v2018.87aa242c3 · ·
Release 2018.8 This release is pretty much all minor bugfixes: memory leaks, fixing error messages and docs, handling a race condition on pull with summary updates. There's one new feature (noted below), and we also gained a new contributing tutorial: https://mail.gnome.org/archives/ostree-list/2018-August/msg00005.html Thanks to Robert Fairley and Cheryl Fong! The one bugfix I want to call out explicitly is: ostree-remount.service: RemainAfterExit=yes PR: #1697 It's surprising it took us so long to find and fix this; I've seen occasional boot failures that I believe trace down to this problem. The behavior of systemd units of Type=simple without RemainAfterExit=yes set is rather nonsensical; I may try to push to have a warning emitted upstream if such a unit is a dependency of another. And the one new feature is the `auto-update-summary` config option for repositories. For more information, see the docs and PR: #1681 Thanks to all contributors! ``` Alexander Larsson (3 PRs, 3 commits) Fix leak in ostree_repo_list_collection_refs (#1700) ostree_repo_static_delta_generate: Fix leak (#1701) ostree_repo_pull_from_remotes_async: Fix leak of options (#1702) Colin Walters (3 PRs, 3 commits) lib/pull: Fix minor memleak in error path (#1684) ostree-remount.service: RemainAfterExit=yes (#1697) Release 2018.8 (#1705) Dan Nicholson (1 PR, 5 commits) PR: #1698 repo: Add OSTREE_REPO_TEST_ERROR=invalid-cache env var tests: Test for recovery from corrupted summary cache lib/pull: Fetch summary if cached version doesn't match signature lib/pull: Add debug message when loading summary from cache tests: Add tests for remote summary update races Jonathan Lebon (4 PRs, 10 commits) ci: Bump rpm-ostree tag we build for tests (#1708) PR: #1692 lib: Fix some logic/error-checking code lib: Fix some minor memory leaks lib: Check for NULL pointers in some more places PR: #1693 lib/commit: Only auto-update summary if refs were written lib/config: Deprecate commit-update-summary option lib/config: Rename change-update-summary to auto-... lib/refs: Use GLNX_HASH_TABLE_FOREACH_KV helper PR: #1710 ostree/config: Delete rogue printf and tweak help man/config: Keep cmdsynopsis for GROUP.KEY version Matthew Leeds (4 PRs, 5 commits) man/ostree.repo-config: Update min-free-space-* docs (#1687) lib/repo-commit: Fix min-free-space error message (#1691) lib/repo-pull: Use correct keyring for dynamic remotes (#1695) PR: #1681 config: Add a core/change-update-summary option lib/repo: Take exclusive lock while generating summary Philip Withnall (1 PR, 1 commit) lib/repo-pull: Prefer object pull over from-scratch delta if ref exists (#1709) Robert Fairley (2 PRs, 2 commits) docs: Add Contributing Tutorial to Mkdocs pages (#1711) PR: #1694 docs: Add contributing tutorial (and 1 commit from other author) Sinny Kumari (1 PR, 1 commit) src/ostree: Add --group option to ostree config (#1696) Stefan Agner (1 PR, 1 commit) Avoid race condition in case tests directory does not exist (#1704) Umang Jain (1 PR, 1 commit) Post-release version bump (#1683) Will Thompson (1 PR, 1 commit) repo: remove outdated note from write_config() docs (#1707) Will Thompson (1 PR, 1 commit) man/ostree.repo-config: improve min-free-space-* docs (#1706) bubblemelon (2 PRs, 2 commits) bin/refs: Clarify --create error message (#1690) PR: #1694 docs: Add detail to CONTRIBUTING.md and link to tutorial (and 1 commit from other author) ``` Git-EVTag-v0-SHA512: cb84a0dc71f917fc9fa715531e3154a23e861bf1e4223caf6c34e16461c7830a383bb9f090963eaaeaeb3c449434be7cf4246e63c15d5a2d5c7da101568f52e3