Skip to content
Tags give the ability to mark specific points in history as being important
  • v2018.4
    155c936c · Release 2018.4 ·
    A quick turnaround after 2018.3 to include one main PR:
    "switchroot: Ensure /run/ostree-booted is created even without initramfs"
    This fixes ostree when booting without an initramfs. Thanks to @akiernan for the
    bug report and helping review the fix! I'm working on enhancing the test suite,
    which will help in adding some coverage here.
    Colin Walters (6 PRs, 10 commits)
      Post-release version bump (#1506)
      ci/papr: Fix artifacts (#1507)
      switchroot: Ensure /run/ostree-booted is created even without initramfs (#1508)
      lib/deltas: Squash some GCC maybe-uninitialized warnings (#1510)
      Release 2018.4 (#1512)
      PR: #1509
        tests/payload-link: Just test a single duplicate object
        tests: Small tweaks for local iteration
        tests/installed: Use temporary directories more consistently
        tests/str: Verify standard-test-roles is installed
        tests/str: Rework sysinstall-tests to be an entrypoint
    Git-EVTag-v0-SHA512: ad47f2566b56f852982235224bc5256f1ac682da78579998b6ebcef719691c9dc2d9987691ee98730c7776da48c7ff50b02f55cbf5e7355a12627cb2843dcf51
  • v2018.3
    671b026f · Release 2018.3 ·
    Keeping up with our ~monthly cadence. A variety of contributors here again, it's
    great to see!  There's two notable features, and a variety of non-critical bugfixes.
    On the features side we have:
     - `sysroot: Add concept of deployment "pinning" 📌` (#1464)
     - `ostree: introduce PAYLOAD_LINK object type` (#1443)
    By default libostree prunes older deployments; the pinning feature allows you to
    explicitly retain them until unpinned.  This is useful for major version updates.
    The `PAYLOAD_LINK` functionality allows libostree to do content-based
    deduplication. Previously, if e.g. a file changes in metadata (mode, owner,
    xattrs such as SELinux labels), we can't make a plain Unix hardlink, and hence
    by default end up with a new copy on disk. However, the Linux kernel has
    standardized "reflinks" and some filesystems support them, including modern
    versions of XFS. When reflinks are available, this functionality causes
    libostree to compute a content-only payload, and when importing an object, if it
    matches in content with an existing object, to use reflinks to deduplicate, while
    using different inodes.
    Beyond that, as mentioned above we have a variety of non-critical fixes such
    as memory leaks, test suite improvements, correctly printing the "would be pruned"
    size when using `prune --no-prune`, etc.
    Thanks to all contributors!
    Colin Walters (15 PRs, 20 commits)
      build-sys: Post-release version bump (#1455)
      ci: Rework installed tests to use Fedora Standard Test interface (#1462)
      bash-completion: Remove `admin` completions (#1468)
      prune: Error if --static-deltas-only without --delete-commit (#1482)
      lib/repo: Do account for size with prune --no-prune (#1483)
      docs/prune: Document that --static-deltas-only isn't that useful (#1484)
      repo/refs: Clean up error prefixing (#1485)
      tests/str: Rework invocation (#1493)
      tests: Avoid generating lots of output in itest-payload-link (#1494)
      lib/deploy: Port various functions to declare-and-initialize (#1499)
      main, status: Factor out deployment printing into helper (#1504)
      Release 2018.3 (#1506)
      PR: #1464
        sysroot: Add concept of deployment "pinning" 📌
        sysroot: Add API to clean up transient keys in origin files
        sysroot: Bump mtime when writing an origin file
      PR: #1497
        sysroot: Rework how we find booted deployment
        sysroot: Track whether /run/ostree-booted exists
        lib/deploy: Port deployment checkout func to new style
      PR: #1505
        lib/deploy: Have internal origin writing API take sepolicy
        lib/deploy: Use in-function error prefixing more
    Giuseppe Scrivano (1 PR, 3 commits)
      PR: #1443
        commit: add logic for .payload-link
        ostree: introduce PAYLOAD_LINK object type
        ostree-repo-private: remove declaration for _ostree_repo_find_object
    Jeremy Hiatt (1 PR, 1 commit)
      lib/repo: Fix multi-signature support when generating summary files (#1489)
    Joaquim Rocha (1 PR, 1 commit)
      pull: Ignore the cancellable when aborting a transaction (#1492)
    Jonathan Lebon (2 PRs, 2 commits)
      lib/fetcher: Allow clients to append to User-Agent (#1496)
      lib/core: Support <remote>: syntax when listing refs (#1500)
    Jonathan Lebon (1 PR, 1 commit)
      lib/sysroot: Fix retrieving non-booted pending deployment (#1472)
    Luca Bruno (1 PR, 1 commit)
      rust/bupsplit: minor idiomatic fixes (#1502)
    Matthew Leeds (6 PRs, 6 commits)
      lib/repo-finder-mount: Fix path to flatpak repo (#1471)
      lib/repo-finder-mount: Update comment about paths (#1473)
      lib/repo-pull: Fix free function for hash table (#1474)
      lib/remote: Fix memory leak (#1476)
      lib/repo-finder-mount: Improve debug message (#1477)
      lib: Fix memory leaks of OstreeRemote (#1478)
    Rasmus Thomsen (1 PR, 1 commit)
      configure: add option for libsystemd (#1490)
    Simon McVittie (2 PRs, 5 commits)
      Use Python 3 for tests (#1463)
      PR: #1457
        tests/bootloader-entries-crosscheck: Use Python 3-friendly sorting
        test-concurrency: Explicitly use floor division
        test-concurrency: Replace range with xrange
        test-concurrency: Use Python 3 syntax for octal
    Git-EVTag-v0-SHA512: 00afcacb0ad3b8c2c42c2d3e44e1c807a0dbb65beb2ba888ceab459c603d8c1e5ef380abb0a77c02eacba839b0a3b6138a92a0f05e4c2bfe04eeefe41081e6bf
  • debian/2018.2-1_bpo9+1
    ostree Debian release 2018.2-1~bpo9+1
  • debian/2018.2-1
    ca7bc15a · 2018.2-1 ·
    ostree Debian release 2018.2-1
  • upstream/2018.2
    Upstream version 2018.2
  • v2018.2
    81560cad · Release 2018.2 ·
    We're keeping up with the approximately-monthly release cycle.  There's
    mostly a collection of smaller fixes here, with some enhancements.
    I'm biased but my personal favorite is #1438 since it makes
    the output of `findmnt` rather significantly nicer on this workstation
    where I have container tooling creating sub-mounts in `/var` that are
    no longer replicated in `/sysroot`.
    For the embedded space, #1411 for devicetree support is likely interesting,
    and is related to a discussion on the mailing list:
    Jonathan's PR #1441 to add callback filtering to checkout
    was necessary for us to re-implement some hairy logic from librpm
    around "file coloring"; see
    We're getting quite far along now in having rpm-ostree be a truly
    hybrid system, supporting the existing RPM ecosystem.
    Marcus definitely wins the "lines changed" count this cycle by adding
    `SPDX-License-Identifier` to all of the C source files (#1439).  This happened
    because we relicensed the documentation to dual `CC BY-SA` and `GFDL` in #1432
    to enable [a Wikipedia page]( which I just
    noticed exists now!
    It's great to see all of the interest in and use of libostree across
    the board, and thanks to all contributors!
    Alex Kiernan (2 PRs, 2 commits)
      switchroot: Fix split source/build directory (#1445)
      Fix static-compiler when CC includes args (#1454)
    Colin Walters (13 PRs, 13 commits)
      ci: Run a subset ⊂ of rpm-ostree's tests (#771)
      ci: Bump flatpak version (and build to f27) (#1400)
      build-sys: Post-release version bump (#1417)
      lib/pull: Port a few functions to new style (#1424)
      ci/papr: Update most contexts to f27 (#1426)
      bin/delta: Fix compilation with relative subdirs --filename (#1427)
      docs: Dual license under CC BY-SA and the GFDL (#1432)
      switchroot: Ensure /sysroot is set to "private" propagation (#1438)
      deploy: SELinux-relabel installed kernel/initramfs data (#1444)
      repo: Create uncompressed-object-cache dir dynamically (#1446)
      core: Add API (and standard concept for) content checksum (#1449)
      fetcher: Drop max queue size assertion in libsoup/libcurl backends (#1453)
      Release 2018.2 (#1455)
    Jonathan Lebon (2 PRs, 4 commits)
      lib/checkout: add filter API to skip over files (#1441)
      PR: #1442
        bin/checkout: add --selinux-policy switch
        tests/installed: support TESTS filter
        libotutil: factor out utility to parse file by line
    Marcus Folkesson (1 PR, 1 commit)
      Add SPDX-License-Identifier to source files (#1439)
    Matthew Leeds (5 PRs, 5 commits)
      man: Add man page for find-remotes (#1410)
      find-remotes: Minor fixes to --finders code (#1414)
      man: Update ostree-summary.xml (#1416)
      lib/pull: Allow specific commits in P2P updates (#1425)
      lib/pull: Properly remove temporary remotes (#1450)
    Philip Withnall (1 PR, 1 commit)
      lib/core: Expand documentation for ostree_parse_refspec() (#1437)
    William Manley (2 PRs, 4 commits)
      PR: #1411
        Add support for devicetree files alongside the kernel and initramfs
        syslinux: Add support for DEVICETREE from bootloader spec
      PR: #1418
        ostree admin deploy: Add --no-prune option
        ostree admin deploy: Refactor bringing cleaning into `main`
    Git-EVTag-v0-SHA512: cbb96ab975e3430d3dcb0552b8b9fec4c32c3d289343a66b304f3d937d56d60f635791b7c31da4118545ecbaec18130cef5d077429b0e0c39fbb235dc7f960b6
  • debian/2018.1-1_bpo9+1
    ostree Debian release 2018.1-1~bpo9+1
  • debian/2018.1-1
    813cc392 · 2018.1-1 ·
    ostree Debian release 2018.1-1
  • upstream/2018.1
    Upstream version 2018.1
  • v2018.1
    d3fa9502 · Release 2018.1 ·
    Release 2018.1
    One of the most notable things in this release is patches
    from Gatis Paeglis and William Manley to fix up libostree's
    support for systems without an initramfs (prominent in the
    embedded/appliance case).
    Just as a side note: On the flip side some initial testing of a Fedora Atomic
    Host (which uses libostree) was done on an IBM S390x system - real mainframe
    hardware. Just like the Linux kernel and systemd, the vision for libostree is to
    span a wide range of use cases like this.
    Related to this, build patches were contributed by Anton Gerasimov and Marcus
    Folkesson - per the above we try to keep our feature set
    Next I want to note a major new feature landed in this
    release that we will be using in rpm-ostree; `--copyup` support
    for `rofiles-fuse`:
    For a long time we were trying to change the Fedora RPM package
    scripts to be "pure rofiles" compatible, but I finally decided
    to punt on that due to glibc.  I suspect other people maintaining
    build systems may be in a similar situation.
    Also, I landed a series of hardening patches against path
    traversal; as I say in the PR set, since we've checked this
    in the HTTP code since the start I think we're generally safe:
    There are a variety of other changes here; see
    the linked PRs below for more information.
    Thanks a lot to all contributors!
    Anton Gerasimov (1 PR, 1 commit)
      PR: #1397
        build-sys: Allow building with curl, but without libsoup
        (and 1 commits from other authors)
    Colin Walters (9 PRs, 13 commits)
      rofiles: Add --copyup option (#1382)
      rofiles: Fix --copyup when creating a new file (#1396)
      grub2: Exit gracefully if there's no system ostree repository (#1399)
      lib/fetcher: Add version to USER_AGENT string (#1406)
      Release 2018.1 (#1413)
      PR: #1387
        build-sys: Post-release version bump
        ci: Make rust build nonblocking for now
      PR: #1391
        Revert "ci: Make rust build nonblocking for now"
        build-sys: Link with -ldl for rust build
      PR: #1397
        bin: Fix cookie builtin build with curl but no soup
        (and 1 commits from other authors)
      PR: #1412
        lib: Validate metadata structure more consistently during pull
        lib/checkout: Validate pathnames during checkout
        tests: Add a test case for path traversal in a dirtree
    Gatis Paeglis (1 PR, 4 commits)
      PR: #1401
        ostree-grub-generator: update outdated comment
        Support for booting without initramfs
        deploy: add --karg-none argument
        ostree-prepare-root: enabler for simpler kernel arg
        (and 1 commits from other authors)
    Jonathan Lebon (2 PRs, 4 commits)
      tests/libtest-core: support multiple literal checks (#1409)
      PR: #1402
        bash/ostree: add missing --add-metadata option
        bin/commit: add --keep-metadata option
        bin/commit: move parent checking code higher up
    Marcus Folkesson (1 PR, 1 commit)
      lib/pull: allways include ostree-repo-pull-private.h (#1389)
    Matthew Leeds (1 PR, 2 commits)
      PR: #1407
        tests: Use --finders option for find-remotes
        find-remotes: Add --finders option
    Philip Withnall (1 PR, 1 commit)
      build: Fix typo in -Wparentheses warning (#1388)
    Simon McVittie (2 PRs, 2 commits)
      tests: Don't assume uid == primary gid (#1390)
      tests: Assert that byte-order is swapped on LE but not BE CPUs (#1393)
    Will Thompson (1 PR, 1 commit)
      ostree-grub-generator: fix typo in comment (#1398)
    William Manley (1 PR, 1 commit)
      PR: #1401
        Tests: test-no-initramfs: Test both legacy and new kernel locations
        (and 4 commits from other authors)
    Git-EVTag-v0-SHA512: 32b75a08ee3df95d4286cddb5cdea6c9fff2bb33134a61072505d0c5cf9a9bf5a2f66fd35ec5591a550f3c0d7f560c64783a9e1f0b98a8de9dfec485d160c3ce
  • debian/2017.15-2
    268b2560 · 2017.15-2 ·
    ostree Debian release 2017.15-2
  • debian/2017.15-1
    af045019 · 2017.15-1 ·
    ostree Debian release 2017.15-1
  • debian/2017.14-1_bpo9+1
    ostree Debian release 2017.14-1~bpo9+1
  • upstream/2017.15
    Upstream version 2017.15
  • v2017.15
    19d08dab · Release 2017.15 ·
    Release 2017.15
    The headlining feature in this release is support for
    repository locking, contributed by Dan Nicholson.  Currently it is
    disabled by default; add `locking=true` in a repository configuration
    file to enable.  This feature should be considered as "tech preview"; it's
    highly likely we'll stabilize it in its current form, but it's possible something
    will change.  Currently the locking only protects commit + prune; there is
    a large pending PR to extend locking to many more APIs and commands.
    Several new APIs were added; for example libostree now has a convenient
    API to break a hardlink, which happens in e.g. rpm-ostree in several places
    such as handling the RPM database.
    Also, multithreading support in the commit APIs was cleaned up and clarified.
    It's now possible to call `transaction_set_ref()` from multiple threads, which
    rpm-ostree uses now to import RPMs to OSTree in parallel.
    We're tracking an issue with http2+libcurl (#1362) and while I've been too
    cowardly to pull out wireshark and gdb to fully track this down, it looks like
    there are a number of issues still floating around HTTP2+libcurl (some are
    server bugs), that we added support at both build and runtime to disable http2.
    The `fsck` command learned how to verify ref bindings, and relatedly,
    the `commit` command gained a `--unbound` option to skip creating ref bindings.
    Thanks to all contributors
    Colin Walters (21 PRs, 26 commits)
      lib/repo: Add MT support for transaction_set_ref(), clarify MT rules (#1358)
      build-sys: Post-release version bump (#1361)
      lib/repo-file: Add casts to appease GLib g_object_ref cast PR (#1363)
      lib/commit: Refactor file commits to separate subdir from content (#1365)
      pull: Add http2=false remote config option (#1368)
      docs/related: Add Balena (#1369)
      lib/commit: Fix memleak in bare-user devino hit path (#1370)
      lib/commit: Use more direct path for regfile commits (#1371)
      build-sys: Add --disable-http2 (#1373)
      lib/repo: Add an API to mark a commit as partial (#1376)
      bin/fsck: Make ref binding verification optional (#1379)
      bin/commit: Support creating "unbound" commits (#1380)
      bin/refs: Disallow aliases to remote refs (#1381)
      Bump libglnx, use "n items" progress for fsck (#1383)
      build-sys: Use -fno-strict-aliasing by default (#1384)
      Release 2017.15 (#1386)
      PR: #1343
        tests: Test concurrent operations
        lib/repo: Add some error prefixing in commit, repo create
        (and 4 commits from other authors)
      PR: #1364
        tests: Change test-corruption to use fatal()
        Add public API for fsck, use it before loading metadata
      PR: #1372
        bin/show: Add --no-byteswap
        bin/commit: Add --add-metadata that accepts g_variant_print() format
      PR: #1375
        lib/repo: Disable locking by default, add locking=true boolean
        lib/repo: Make locking timeout configurable
      PR: #1378
        lib/core: Optimize breaking hardlinks for regfiles
        lib/core: Add a "break hardlink" API
    Dan Nicholson (1 PR, 4 commits)
      PR: #1343
        lib/prune: Take exclusive repository lock
        lib/commit: Add repository locking during transactions
        lib/repo: Add locking auto cleanup handler
        lib/repo: Add repo locking mechanism
        (and 2 commits from other authors)
    Matthew Leeds (1 PR, 1 commit)
      lib/repo: Properly list remotes of parent repos (#1366)
    Philip Withnall (1 PR, 11 commits)
      PR: #1347
        tests: Expand fsck unit tests to cover checks on bindings
        tests: Fix LC_ALL for systems which use .utf8 suffixes
        ostree/commit: Allow --orphan and --bind-ref to be specified together
        ostree/fsck: Add --verify-back-refs option
        lib/repo: Clarify documentation for ostree_repo_list_refs{,_ext}()
        ostree/fsck: Handle refspecs from ostree_repo_list_refs()
        ostree/fsck: Verify commit bindings for each ref
        lib/static-delta: Drop duplicated declaration from private header
        lib/pull: Fix capitalisation in binding verification error messages
        lib/pull: Split verify_bindings() out into a cmdprivate method
        ostree/fsck: Factor out common commit checking code
    Sam Thursfield (1 PR, 1 commit) Link to BuildStream (#1360)
    Git-EVTag-v0-SHA512: 67edb397e64223ecd05c1285e9cf3da6087a8794d8ecdf1a7c66a56cb3afb042a43184224e61aa8631308bddd5bf5e45587c9b05268a36fe2c676869b522249a
  • debian/2017.14-1
    74167a6b · 2017.14-1 ·
    ostree Debian release 2017.14-1
  • upstream/2017.14
    Upstream version 2017.14
  • v2017.14
    b0f9a298 · Release 2017.14 ·
    Release 2017.14
    This release is almost entirely bugfixes.  One notable
    fix is a read-after-free when libcurl is finalizing that some
    people have hit.
    There are a number of improvements around the `${repo}/tmp` directory and the
    per-transaction staging directory in preparation for adding locking in a future
    release. This release should already help avoid several failures when doing
    concurrent commits; the aim of the locking work will support concurrent prunes
    and commits.
    I'm using [a new script](
    to generate the shortlog with PR numbers included below:
    Thanks to all contributors!
    Alexander Larsson (1 PR, 1 commit)
      rofiles-fuse: Fix utime() support (#1351)
    Carlos Alberto Lopez Perez (1 PR, 1 commit)
      grub-generator: If OSTREE_BOOT_PARTITION is not set, default to /boot (#1326)
    Colin Walters (15 PRs, 18 commits)
      build: Add -Werror=undef by default, fix fallout (#1320)
      lib/pull: Avoid error if current with --require-static-deltas (#1323)
      build-sys: Post-release version bump (#1324)
      build: Work around -Wundef with older GLib (#1327)
      build: Also fix -Werror=undef for old libsoup (#1328)
      deltas: Don't try to rollsum/bsdiff .xz files (#1333)
      lib/traverse: Port to new style (#1338)
      bin: Port a few commands (diff,remote,static-delta) to new style (#1344)
      fetcher/curl: Stop using CURLOPT_LOW_SPEED_TIME/_LIMIT (#1349)
      lib/commit: Use direct repo writes if fsync is disabled (#1354)
      lib/repo: Add a new private API for bare content writes (#1355)
      tests/delta-crosscheck: Disable fsync (#1356)
      lib/repo: Add a DEVINO_CANONICAL commit modifier flag (#1357)
      Release 2017.14 (#1359)
      PR: #1352
        lib/repo: Verify txn stagedir existence after locking
        lib/commit: Move txn stagedir deletion/unlock into one place
        ci: Really show test-suite.log on travis
        tests: Run python tests with stdout unbuffered
        lib/commit: Minor refactoring of tmpdir cleanup code
        lib/commit: Reuse txn dir for tmpfiles
    Dan Nicholson (6 PRs, 15 commits)
      tests: Don't symlink rofiles-fuse if it's disabled (#1325)
      bin/summary: Fix --raw option (#1336)
      PR: #1322
        lib/pull: Skip ostree_repo_resolve_keyring_for_collection for bindings
        lib/core: Fix documentation comment in ostree_validate_collection_id
        build: Define OSTREE_ENABLE_EXPERIMENTAL_API for g-ir-scanner
        build: Ensure enumtypes.h is built before enumtypes.c
      PR: #1337
        Revert "lib/pull: Skip ostree_repo_resolve_keyring_for_collection for bindings"
        lib: Include OstreeRemote and OstreeCollectionRef in GIR
        lib/remote: Export ostree_remote_get_type symbol
      PR: #1346
        lib/repo: Don't delete new tmpdir if it can't be locked
        lib/repo: Handle race with existing tmpdir being deleted
        lib/repo: Restore tmpdir reusing out parameter
        lib/repo: Add debug messages when allocating tmpdir
      PR: #1352
        lib/repo: Verify txn stagedir existence after locking
        lib/commit: Move txn stagedir deletion/unlock into one place
        ci: Really show test-suite.log on travis
        tests: Run python tests with stdout unbuffered
        lib/commit: Minor refactoring of tmpdir cleanup code
        lib/commit: Reuse txn dir for tmpfiles
    Dusty Mabe (1 PR, 1 commit)
      add back helpful --allow-downgrade err message (#1348)
    Joaquim Rocha (1 PR, 1 commit)
      lib/remote: Add a method to return the URL (#1353)
    Jonathan Lebon (1 PR, 2 commits)
      PR: #1350
        ci: Make sure we save gtdr test results on failures
        papr: Bump primary to f27
    Kalev Lember (1 PR, 1 commit)
      fetcher/curl: Fix invalid memory access in finalize() (#1332)
    Philip Withnall (3 PRs, 5 commits)
      build: Add a TODO comment about improving glib-mkenums usage in future (#1330)
      PR: #1335
        lib/repo: Add gtk-doc comment to OstreeRepoCommitState
        lib/repo: Add OSTREE_REPO_COMMIT_STATE_NORMAL to represent most commits
      PR: #1341
        lib/repo: Fix a memory leak of options in ostree_repo_create()
        lib/repo: Add (transfer) annotations to various GHashTable arguments
    Will Thompson (1 PR, 1 commit)
      build: fix "executible" typo (#1345)
    Git-EVTag-v0-SHA512: 006947e52f45c4a2f7bb11549b666f26727359ab9bb1ec9541ed516b74ec8430356586bfde1b618ac172901ea49227539ac3f80d1efa01ef927d5d89f0b48d85
  • debian/2017.13-1_bpo9+1
    ostree Debian release 2017.13-1~bpo9+1
  • debian/2017.13-1
    b556e893 · 2017.13-1 ·
    ostree Debian release 2017.13-1