Skip to content
Release 2016.6

There's quite a lot of changes in this release since 2016.5, but one
thing I want to call out explicitly is that we fixed a race condition
in the HTTP pull code that could cause hangs or crashes that mostly
occurred only when doing "large" pulls (thousands of object requests).
If this occurs, client systems can work around it by cancelling and
retrying the pull.

Other high level changes:

Jonathan Lebon:
      ostree-repo-libarchive.c: major refactor

This laid more groundwork for rpm-ostree to import RPM (CPIO) archives
sanely.  If you are integrating with an existing package management
format, this should help a lot.

Mathnerd314 (11):
      repo: use OSTREE_TIMESTAMP (=1) for checked-out files

Is a quite interesting change - we previously used a timestamp of
zero, but Nix has apparently done better with `1` for various reasons.
This is a pretty subtle change, so be on the lookout for regressions.

Thanks to all contributors!

Alexander Larsson (13):
      ostree export: Add --subpath support
      ostree export: Add --prefix option
      repo: Allow loading files staged in the transaction
      repo: Fix temporary directory allocation
      repo: Handle parent repos with different remote configuration
      tests: Fix build with old glib
      Build on older versions of glib
      libotutil: Fix leak of VariantMapData
      pull: Fix leak of debug temporary strings
      pull: Fix leak of FetchObjectData in some cases
      pull: Fix leaked uri in request_static_delta_superblock_sync
      pull: Fix leak of refs_to_fetch
      tests: Exit valgrind tests if a leak is detected

Colin Walters (50):
      core: Remove ostree_checksum_update_meta that was not implemented
      lib: Remove ostree_repo_file_make_empty_tree
      Rename test-abi to test-symbols, start verifying symbols are documented
      libtest: Skip FUSE if CAP_SYS_ADMIN not in bounding set
      repo: Simplify internal has_object() lookup code
      deploy: Start hardlinking kernel/initramfs on single-part again
      build: Introduce --with-dracut=yesbutnoconf
      libglnx porting: Migrate from GSConsole
      repo: Fix reading repos on read-only media
      repo: Add OSTREE_REPO_TEST_ERROR=pre-commit env var
      repo: Add OSTREE_BOOTID override envvar for debugging
      repo: Clean up staging directory for previous boot IDs
      repo: Make repo/tmp expiry configurable via tmp-expiry-seconds
      lib: Add more filename validations (no ., .. or /) in commit logic
      libglnx porting: Migrate to glnx_stream_fstat()
      build: Use --std=gnu99
      trivial-httpd: Add __attribute__((format))
      Make enum generation private by default, export stub symbol
      build: Don't run glib-mkenums if there's nothing to do
      README: x/xdg-app/flatpak/
      libglnx porting: Port "load utf8 file" contents API callers
      repo: Port uncompressed cache GC to libglnx
      libglnx porting: Port callers of gs_file_unlink to just unlink()
      libglnx porting: Port away from gs_file_ensure_directory()
      sysroot: Correct error handling path in previous libglnx port
      core: Port to new libglnx tempname API
      lib: Change ot_util_variant_map helpers to consistently sink refs
      lib: Drop GFile variant mapping API for fd-relative
      libglnx porting: Port away from gs_file_map_noatime()
      glnx porting: Port away from gs_file_get_basename_cached()
      tests: Use strict mode by default for C tests
      tests/test-pull-c: New test that runs through the pull API via C
      glnx porting: Drop last uses of gs_file_get_basename_cached()
      libglnx porting: Drop last use of gs_transfer_out_value()
      glnx porting: Drop use of gs_file_openat_noatime
      lib: Add `_ALLOW_NOENT` flag to internal variant mapping API
      lib: Add a helper for mmap->bytes with openat(), use it in repo
      repo: (minor) Drop a GFile usage in signature creation
      lib: Fix a leak in remote parsing
      lib: Add OSTREE_SUPPRESS_SYNCFS environment variable
      tests: Modernize valgrind infrastructure
      lib: Port some manual close() cleanups to be glnx_fd_close
      manual: Link to mender.io
      Add "archive" as an alias for "archive-z2"
      repo: Avoid a possible divide by zero in progress
      manual: Discuss mirroring
      build: Fix libreaddir-rand to honor global CFLAGS
      tests: Support OT_SKIP_READDIR_RAND
      pull: Ensure we always process queue only from main thread
      Release 2016.6

Gatis Paeglis (3):
      Remove unused variables from install_deployment_kernel
      Fix --enable_rofiles_fuse=no build
      Fix build when have_libsoup_client_certs=no

Giuseppe Scrivano (1):
      man: add missing options for commit

Jonathan Lebon (7):
      ostree-repo-libarchive.c: major refactor
      ot-builtin-commit.c: add --skip-list option
      tests/test-libarchive.sh: add more test
      tests/test-libarchive-import.c: add tests
      OstreeRepo: add extensions directory
      ostree_repo_write_commit: add missing docstring arg
      configure.ac: properly check for bison

Krzesimir Nowak (26):
      lib: Fix a typo
      trivial-httpd: Remove useless code
      lib: Fix an introspection annotation
      tests, lib: Remove unused variables
      lib: Add URL override pull option
      pull: Add a --url option
      trivial-httpd: Add a --log-file option
      tests: Add a test for ostree pull --url
      sysroot: Plug some leaks
      core: Improve variant format docs
      repo: Plug a leak
      repo: Allow using options for fetching summary
      libostree: Variant-related leak plugs and fixes
      libostree: Fix bracket-missing warnings
      libostree: Add g_autoptr() support for the public types
      build: Remind about bumping related versions
      build: Allow ostree to use g_autoptr on its types internally
      build: Install new autocleanups header
      libotutil: Plug a leak
      core: Add a function creating an archive-z2 content stream
      repo: Factor out the check of gpg result to a separate function
      repo: Add a missing Returns paragraph
      repo: Factor out setting up a GPG verifier
      repo: Add functions for verifying any data in repository
      summary: Fix a typo
      repo: Fix build on 32-bit systems

Mathnerd314 (11):
      commit: accept NULL subject argument
      commit: Add --editor / -e command line argument
      commit: Display subject/body in commit editor
      commit: Don't require a subject
      log: Display "(no subject)" for commits without a subject
      commit: Update manpage to reflect --editor
      repo: use OSTREE_TIMESTAMP (=1) for checked-out files
      pull: Move libsoup-related code from ostree-repo.c to ostree-repo-pull.c
      pull: Move pull and pull_onedir back into ostree-repo.c
      docs: Get API docs working again
      related-projects: Update with more information and projects

Micah Abbott (1):
      docs: fix swapped link syntax

Sam Spilsbury (2):
      Makefile: Move to AM_DISTCHECK_CONFIGURE_FLAGS
      repo: Display estimated time remaining when pulling

Simon McVittie (12):
      libtest: show files' contents when assertions about them fail
      test-parent: this test requires user xattrs
      test-sysroot.js: set "strict mode" when sourcing libtest.sh
      Link libreaddir-rand to libdl
      autogen.sh: rely on VPATH for submodules' Makefile-*.am.inc
      build: distribute libostree.sym in tarballs
      build: distribute test scripts in tarballs
      build: distribute TAP helper scripts in tarballs
      build: distribute more test files
      libtest: make gpghome in tmpdir writeable
      libostreetest: include libtest.sh from srcdir, not builddir
      build: re-create tests/ostree-symlink-stamp if Makefile changes

Yu Qi Zhang (2):
      refs: add "ostree refs --create" and unit tests
      libglnx porting: delete temp files on failure of file creation

Git-EVTag-v0-SHA512: 216ec7ea61eeabb0404207b01387b7de85276b2fbf09e39928f4800eddac06904d690dbf66260282a1cc4127f15a68feb0a8da31921d7d943856569cb81b1d6f