Skip to content
Tags give the ability to mark specific points in history as being important
  • debian/2018.7-1
    2b9e04c5 · 2018.7-1 ·
    ostree Debian release 2018.7-1
  • upstream/2018.7
    Upstream version 2018.7
  • v2018.7
    21318bbc · Release 2018.7 ·
    Release 2018.7
    I've said this before but the regular variety of contributors to libostree
    makes me very happy - part of the reason I like working on Free Software
    is collaborating with smart people around the world!  Thanks to all of you!
    There's no one major feature in this release, but we have a variety
    of improvements and bugfixes.
    The addition of `min-free-space-size` in the previous release caused
    issues with older libostree/flatpak interacting with it.  We now tolerate
    both `min-free-space-size` and `min-free-space-percent` being set for
    PR: #1685
    The way libostree writes bootloader spec snippets has changed to
    have the version number first, aiding sorting.  It turns out some BLS
    implementations order via filename.  This is preparatory work for more
    directly adopting the BLS in Fedora (and I for one will not miss grub2-mkconfig
    and particularly os-prober)!
    libostree became significantly smarter about handling "recommitting" content,
    such as `ostree commit --tree=ref=foo -b bar`; it's now nearly free, and this
    can be extended to very quickly "union" or merge different refs into a unified
    whole.  See the discussion in:
    PR: #1643
    There are two fixes for staged deployments (still not the default), but
    we're aiming to do that by default in rpm-ostree soon, and that's shaking
    out some remaining issues (for example, the API didn't support overriding
    kernel arguments correctly).
    Another notable bugfix is for separate /var partition, which we regressed
    in 2018.6 as part of working on Ignition integration.
    PR: #1668
    Thanks again to all contributors!
    Alex Kiernan (2 PRs, 2 commits)
      boot: Use, not emergency.service (#1665)
      switchroot: Move late /run/ostree-booted creation to ostree-system-generator (#1675)
    Alex Kiernan (2 PRs, 2 commits)
      build: Use ostree_prepare_root_CPPFLAGS for ostree-prepare-root (#1670)
      switchroot: Fix typo in comment ENINVAL => EINVAL (#1676)
    Colin Walters (9 PRs, 9 commits)
      sysroot: Reject attempts to pin the staged deployment (#1660)
      ci/flatpak: Fix to use built ostree version (#1662)
      deploy: Retain staged by default (#1672)
      deploy: Fix overriding kernel args for staged deployments (#1677)
      build-sys: Link with gpg-error directly (#1679)
      Update libglnx (#1680)
      ci: Mark insttests as not required (#1686)
      PR: #1652
        ci: Workaround being 404
        (and 1 commit from other author)
      PR: #1668
        tests/installed: Add var-mount.yml destructive test
        (and 2 commits from other authors)
    Emmanuele Bassi (1 PR, 1 commit)
      Add a check for gpg-error via pkg-config (#1682)
    Javier Martinez Canillas (2 PRs, 2 commits)
      ostree-grub-generator: sort BLS files by version instead of alphabetically (#1653)
      deploy: Change BootLoaderSpec filenames so they can be used for sorting (#1654)
    Jonathan Lebon (2 PRs, 3 commits)
      PR: #1652
        tests/installed: Wait a bit more for http.server
        (and 1 commit from other author)
      PR: #1668
        tests/installed: Add NOTE when re-using RPMs
        switchroot: Fix regression for separately mounted /var
        (and 1 commit from other author)
    Marcus Folkesson (2 PRs, 2 commits)
      ci: exclude 'lib' from libsoup configure option (#1661)
      build: add ostree-soup-* to build process when configured with avahi (#1666)
    Matthew Leeds (2 PRs, 2 commits)
      man/ostree.repo-config: Document collection-id (#1646)
      create-usb: Tweak docs for --destination-repo (#1656)
    Philip Withnall (1 PR, 1 commit)
      lib/repo-commit: Abort a transaction if preparing it fails (#1647)
    Robert Fairley (2 PRs, 3 commits)
      tests: Run network retries test for many retries directly (#1673)
      PR: #1669
        ostree/pull: Add network-retries command line option
        tests: Move assert_fail function to tests/
    Simon McVittie (2 PRs, 2 commits)
      avahi: Fail immediately if we can't talk to D-Bus or Avahi (#1639)
      OstreeRepoFinderConfig: Fix guint/gsize confusion (#1641)
    Umang Jain (6 PRs, 9 commits)
      lib/repo: Minor fixes around min-free-space (#1663)
      Release 2018.7 (#1683)
      lib/repo: Allow min-free-space-size and -percent to co-exist (#1685)
      PR: #1602
        lib/repo: Cleanup current boot's staging dir min-free-space-* checks are hit
        lib/repo: cleanup_tmpdir should be executed after releasing lock file
      PR: #1614
        tests: Add tests for space checks during deltas codepath
        lib/repo: Enforce min-free-space-* size check for regfiles in deltas
      PR: #1671
        lib/repo-commit: Factor out min-free-space-size error reporting
        repo: Reword min-free-space-size option's error strings
    William Manley (4 PRs, 7 commits)
      ostree repo commit: Speed up composing trees with `--tree=ref` (#1643)
      tests: Save corefiles back to tests/ directory if one exists (#1657)
      PR: #1645
        OstreeMutableTree: Document ostree_mutable_tree_ensure_dir
        OstreeMutableTree: Document each private member of `OstreeMutableTree`
        Add test for composing trees in different ways
      PR: #1655
        OstreeMutableTree: Invalidate parent contents checksum when metadata changes
        OstreeMutableTree: Refactor: Add `parent` pointer
    Git-EVTag-v0-SHA512: 7cad253f86ec64fa624e40e06dbaf136a8791e0765f3b34d552dfebe568bd1fc2502f6cf1a34f15f6d0447f18f163f1754b7bb4cecc1f371e42779d41f29c9c1
  • debian/2018.6-3_bpo9+1
    ostree Debian release 2018.6-3~bpo9+1
  • debian/2018.6-3
    dd1a543c · 2018.6-3 ·
    ostree Debian release 2018.6-3
  • debian/2018.6-2
    4fc5a4a8 · 2018.6-2 ·
    ostree Debian release 2018.6-2
  • debian/2018.6-1
    554618ea · 2018.6-1 ·
    ostree Debian release 2018.6-1
  • debian/2018.5-2_bpo9+1
    ostree Debian release 2018.5-2~bpo9+1
  • upstream/2018.6
    Upstream version 2018.6
  • v2018.6
    31a356dc · Release 2018.6 ·
    Release 2018.6
    This release includes the final merge of the previously "experimental" API
    for peer-to-peer discovery/download.  This is currently supported by Flatpak
    and the EndlessOS updater.  One use case for example that this improves
    is the "update via USB stick" case; you'll need to set collection IDs, and
    have your update system use the repo finder API.  (Today `ostree admin upgrade`
    doesn't).  Thanks a lot to Endless for all of their work on this!
    PR: #1596
    libostree learned how to retry HTTP requests on transient network errors.
    By default, requests on such errors are now retried 5 times.
    PR: #1594
    There is also now a new "min-free-space-size" config option. This is similar
    to the "min-free-space-percent" option but instead takes absolute values, such
    as "1GB" or "10MB".
    PR: #1616
    The original systemd design for `ConditionNeedsUpdate=` didn't quite work
    with libostree, but Endless wrote a fix and had been shipping it for a while.
    That's now been merged: deploy: Delete .updated file from /etc and /var on new deployments
    Part of the reason this came up now is we're planning to change rpm-ostree
    to switch to systemd-sysusers:
    And today sysusers uses `ConditionNeedsUpdate=`.  Once we make
    the switch in rpm-ostree and test it out I'd recommend other operating
    systems follow (and not use nss-altfiles). And if you've already made the switch,
    let us know!
    PR: #1631
    We're working on using for Fedora CoreOS,
    which means integrating it with libostree.  As both run in the initramfs,
    we added a simple change to ensure `/var` is mounted.  A future enhancement
    here will likely involve handling custom `/var` mounts too.
    PR: #1617
    There are a variety of other changes, like `fsck --all`, having u-boot support devicetree,
    Thanks to all contributors!
    Alexander Larsson (2 PRs, 3 commits)
      ostree_repo_resolve_rev: Resolve refs set in the transaction (#1624)
      PR: #1591
        fsck: Add --all to print all corrupted object
        fsck: Include the commits that contain the corruption in errors
    Andrea Galbusera (1 PR, 1 commit)
      u-boot: add support for devicetree (#1590)
    Arnaud Rebillout (1 PR, 1 commit)
      docs: var/local -> var/usrlocal (#1588)
    Colin Walters (4 PRs, 8 commits)
      Post-release version bump (#1586)
      lib/archive: Tell g-ir-scanner to ignore the private libarchive bits (#1629)
      PR: #1566
        lib/sysroot: Add wrapper API to prune system repository
        lib: Add a public helper method for pruning to find all ref'd commits
      PR: #1632
        tests/installed: Add a free-space success path test
        lib/repo: Do free space math under lock in error path
        lib/repo: Rename free_space_size variable to free_space_mb
        lib/repo: Fix double-set-error in min-free-space-size code
    Dan Nicholson (1 PR, 1 commit)
      deploy: Delete .updated file from /etc and /var on new deployments (#1631)
    Jan Tojnar (1 PR, 1 commit)
      tests: Fix locale detection (#1611)
    Jonathan Lebon (4 PRs, 6 commits)
      ci: Add .papr-ex.yaml (#1587)
      .gitmodules: Update URL for libglnx (#1604)
      switchroot: Allow letting ostree-prepare-root mount /var (#1617)
      PR: #1601
        ci: Drop gpgme and libgcrypt hacks
        ci: Bump to f28, except flatpak
        ci: Stop layering oci-kvm-hook
    Matthew Leeds (8 PRs, 15 commits)
      bash-completion: Don't add a space after files and directories (#1598)
      Update libglnx to get g_autoptr backports (#1603)
      admin: Fix list of subcommands in help and manpage (#1621)
      lib/prune: Don't modify dirent->d_name in place (#1627)
      PR: #1596
        lib: Fix building against old glib versions
        Make P2P API public (no longer experimental)
      PR: #1605
        Fix building P2P code against old glib versions
        find-remotes: Fix unused variable warnings
        Allow compiling OstreeRepoFinderAvahi without libsoup
        Allow compiling with experimental API but without curl/soup
      PR: #1607
        ci: Use master branch as flatpak tag
        ci: Bump flatpak build to F28
      PR: #1615
        tests: Add test for including ostree.h
        Fix building against old glib versions
        Revert "lib: Fix building against old glib versions"
    Philip Withnall (4 PRs, 16 commits)
      lib/repo-commit: Delay propagation of errors from abort_transaction() (#1626)
      PR: #1594
        lib/fetcher: Factor out HTTP status code handling from soup and curl
        lib/repo-pull: Add some missing assertions for progress statistics
        tests: Test pull behaviour when network timeouts occur
        ostree/trivial-httpd: Add --random-408s command line option
        lib/fetcher-soup: Map more SoupStatus codes to known GIOErrors
        lib/repo-pull: Support retrying requests on transient network errors
      PR: #1599
        lib/repo-pull: Factor out enqueue function for FetchStaticDeltaData
        lib/repo-pull: Factor out enqueue function for FetchObjectData
        lib/repo-pull: Factor out enqueue function for ScanObjectQueueData
        lib/repo-pull: Rename a variable
        lib/repo-pull: Factor out free function for FetchDeltaSuperData
        lib/repo-pull: Use GCC `?:` ternary shortcut where appropriate
        lib/repo-pull: Use values from struct in enqueue_one_object_request()
      PR: #1600
        lib/repo-pull: Support retries for delta superblocks
        lib/repo-pull: Support queuing delta superblock requests
    Umang Jain (1 PR, 1 commit)
      lib/repo: Add min-free-space-size option (#1616)
    Git-EVTag-v0-SHA512: cf91ea18298aa55d14078cf100af703cc925d89b0f91577f40a30ca5c42e5cbd51b386f0b9a6544ba42532593fbb36ee35f9b5f1bd8784b5dc0b7e6ad06b8950
  • debian/2018.5-2
    3768e587 · 2018.5-2 ·
    ostree Debian release 2018.5-2
  • upstream/2018.5+42+gecdebeb2
    Upstream version 2018.5+42+gecdebeb2
  • debian/2018.5-1_bpo9+1
    ostree Debian release 2018.5-1~bpo9+1
  • debian/2018.5-1
    1dcc31f8 · 2018.5-1 ·
    ostree Debian release 2018.5-1
  • upstream/2018.5
    Upstream version 2018.5
  • v2018.5
    986f176e · Release 2018.5 ·
    This release has a number of features, as well as the usual
    collection of bugfixes (none critical).  On the host management
    side, we landed a design to do "staged" deployments.  There's
    some more information in [the issue](
    I've seen many, many people hit the "where did my changes in /etc go"
    problem, and this will go a long way towards addressing that.  We
    believe the design is fairly good, and the new public API should
    be considered stable.  However, the `ostree admin` commandline only
    uses it with an experimental `OSTREE_EX_STAGE_DEPLOYMENTS=1`.  Please
    try this out - the plan is to eventually make this the default.
    Today rpm-ostree gained a config file option to enable it
    persistently in [this PR](
    Another notable feature is that upon encountering an error, `fsck`
    will now mark the commits which contain that object as "partial", which
    in turn means that a future `ostree pull` will re-download the objects.
    This makes recovering from corruption much easier.  As part of this
    work, an API was added which can traverse the tree and gather parent pointers.
    More information in [this PR](
    Finally on the feature side, we have enabled repository locking by default.
    This uses file locks and is hence for multiple process exclusion.  For example,
    EndlessOS today has both flatpak and their host updater writing to the system
    repository.  Currently, the locking only applies for commit and prune operations,
    which are the most common sources of concurrency issues.  This will
    be extended over time.  If you want to disable locking, set `locking=false`
    in the repository configuration.
    More information in [this PR](
    Bugfixes are mostly things like a fix for flatpak on filesystems which
    implement reflinks, some memory leaks squashed in the commit path.  And
    the fix in [PR 1537]( is
    fairly notable as it avoids ugly behavior incorrectly scanning all files
    in newly-created repositories that didn't have the legacy `uncompressed-objects-cache`
    Additionally there are test suite improvements, documentation patches.
    The tests are all now fully Python 3 compatible.
    Thanks to all contributors!
    Alexander Larsson (3 PRs, 4 commits)
      Don't write to parent repo (#1524)
      pull: Don't save summary to cache before validating signatures (#1529)
      PR: #1533
        fsck: Mark commits with missing or deleted object partial
        lib/repo: Add ostree_repo_traverse_commit_union_with_parents
    Colin Walters (30 PRs, 44 commits)
      Add concept of "staged" deployment (#1503)
      lib/deltas: Some misc declare-and-initialize porting (#1511)
      Post-release version bump (#1512)
      tests: Merge installed/ and fedora-str/ directories (#1513)
      lib/deploy: Port final bootconfig writing to new style (#1515)
      tests/installed: Fix TESTS= being empty (#1516)
      ci: Drop patches when building RPM (#1530)
      switchroot: Don't log if running as pid1, minor code style cleanups (#1531)
      lib/sysroot: Move staged into deployment list, rework handling (#1539) Fix docs link to COPYING (#1554)
      lib/repo: Enable locking by default, but drop external API (#1555)
      deploy: Return staged deployment (#1559)
      repo: Add checksum to error message opening unreadable object (#1564)
      lib/deploy: Do post-ops when removing staged commit (#1570)
      deploy: Use fdatasync() for new kernel/initramfs by default (#1571)
      lib: Use `Locking:` term in docs (#1572)
      tests: Tweak staged-deploy test to be faster (#1573)
      README: Tweak licensing description (#1574)
      tests: Fix installed tests more (#1577)
      ci: Drop str hotpatch (#1582)
      ci: Switch libgcrypt URL (#1584)
      Release 2018.5 (#1585)
      PR: #1514
        lib/deploy: Split /etc merge into two stages
        lib/deploy: Set kargs in one place
      PR: #1535
        tests/installed: Move tasks into tasks/  directory
        tests: Better error message if target is not a symlink
        sysroot: Split out a helper function to delete a deployment dir
        tests/installed: Move auto-build logic to
        bin: Hide `admin instutil` command
      PR: #1538
        deploy: Clean up bootserial assignment function
        sysroot: Clean up origin loading function
        deploy: Silently do nothing if passed same set of deployments
      PR: #1548
        tests: Disable since it is too slow
        tests: Lower retry timeout to 5s
        fsck: Only print "marking commit partial" once
        tests/installed: Make reboot task less racy
        (and 1 commits from other authors)
      PR: #1558
        bin/deploy: Avoid loading merge deployment kargs unless necessary
        lib/deploy: Fix staged deployments with no kargs
      PR: #1567
        deploy: Don't prune repo at finalization time by default
        bin/admin-cleanup: Port to decl-and-initialize style
      PR: #1568
        lib/deploy: Throw an error if trying to stage when not ostree-booted
        lib/sysroot: Maintain one variable for "root is ostree booted"
      PR: #1583
        lib/sysroot: Add OSTREE_EX_STAGE_DEPLOYMENTS environment variable
        tests/installed: Disable all rpmmd repos
    Giuseppe Scrivano (1 PR, 1 commit)
      commit, payload-reflink: do not write to the parent repo (#1525)
    Jonathan Lebon (12 PRs, 16 commits)
      ci: turn gating back on for most testsuites (#1536)
      ci: use gpgme scratch build to workaround issues (#1540)
      ci: Temporary libgcrypt workaround for older kernels (#1547)
      ci: mark some ci testsuites as required again (#1552)
      ci: drop BDB1539 workaround (#1553)
      libglnx: Bump to fix F28 compilation (#1580)
      docs: Add "Hello World" example (#1581)
      PR: #1546
        tests: Port the last python2 script to python3
        tests/installed: Prefer python3 over python2
      PR: #1548
        tests/installed: increase async retries to 500
        (and 4 commits from other authors)
      PR: #1556
        lib/deploy: Also compare deployment csum versions
        lib/deploy: Factor out function to get deployment kargs
      PR: #1560
        man/ostree-init: Briefly describe various modes
        man/ostree: Document --repo option a bit more
      PR: #1575
        lib/commit: Fix function name typo in docstring
        lib/deploy: Add semi-colon in post-deployment msg
    Matthew Leeds (8 PRs, 11 commits)
      lib/repo: Add timestamps to OstreeRepoFinderResult (#1518)
      lib/repo-pull: Document all options in pull_from_remotes_async (#1519)
      tests: Fix unit test for ref-binding metadata (#1520)
      lib/repo-pull: Improve error message when no summary is found (#1522)
      lib: Fix a few comments (#1526)
      lib/repo-pull: Rename a variable for clarity (#1528)
      PR: #1521
        libotutil/checksum-utils: Fix memory management
        lib/commit: Fix a memory leak of OtChecksum
      PR: #1543
        man: Add man page for create-usb
        create-usb: Update summary in destination repo
        tests: Fix typo in unit test
    Owen W. Taylor (1 PR, 1 commit)
      Don't scan uncompressed_objects_dir if it doesn't exist (#1537)
    Sam Spilsbury (1 PR, 1 commit)
      avahi: Don't complain with g_warning if the daemon wasn't running (#1542)
    Simon McVittie (1 PR, 1 commit)
      build: Don't distribute Bison-generated parser in dist tarballs (#1563)
    Tobias Mueller (1 PR, 1 commit)
      repo: handle GPG_ERR_AMBIGUOUS_NAME in sign_data (#1579)
    Git-EVTag-v0-SHA512: a36ec85eaed518e9808fd572e801156171c8b7c8f043b5d151492ff94544e6d2a1fd2104de848605a32630b778739452500127e90ead78e29c405b20e1b97cca
  • debian/2018.4-2_bpo9+1
    ostree Debian release 2018.4-2~bpo9+1
  • debian/2018.4-2
    10c5c128 · 2018.4-2 ·
    ostree Debian release 2018.4-2
  • debian/2018.4-1
    6031388b · 2018.4-1 ·
    ostree Debian release 2018.4-1
  • upstream/2018.4
    Upstream version 2018.4