Skip to content

v2020.8

Compare
Choose a tag to compare
@lucab lucab released this 17 Nov 15:53
v2020.8
3e289b1

This release mostly contains scalability improvements and bugfixes.

Caching-related HTTP headers are now supported on summaries and signatures, so that they do not have to be re-downloaded if not changed in the meanwhile.

Summaries and delta have been reworked to allow more fine-grained fetching.
It is now possible to store deltas in detached metadata outside of summary files, so that only relevant ones can be pulled when downloading a particular commit.
In particular, deltas can now be stored in a separate directory indexed by target commit, thus grouping the subset of deltas affecting it. These indexes are updated when the summary is updated and the in-summary delta index would normally be updated.

Related to the above, a new core option has been added to drop the deltas from the summary. However, as that would break older versions looking for the deltas there, it is off by default.

Finally, this fixes several bugs related to atomic variables, HTTP timeouts, and 32-bit architectures.


Alexander Larsson (16):
      deltas: Add _ostree_get_relative_static_delta_index_path()
      deltas: Add ostree_repo_list_static_delta_indexes() function
      deltas: Update delta indexes when updating summary
      deltas: Add and document no-deltas-in-summary config option
      deltas: Make ostree_repo_static_delta_reindex() public
      deltas: Add CLI ops to list and reindex delta-indexes
      deltas: Use delta indexes when pulling
      deltas: Add tests for delta indexes
      deltas: Take a shared repo lock while reindexing deltas
      deltas: Set `indexed-deltas` key in the config and summary
      pull: Only download summary if we need it for the pull operation
      tests: Add a testcase to ensure we're not using the summary if we don't need it
      Add ostree_repo_gpg_sign_data()
      ostree pull: Add more g_debug spew around fetching deltas
      ostree_repo_gpg_sign_data: Fix API doc argument name
      pull: Don't save into cache passed in GByte summaries

Colin Walters (7):
      Post-release version bump
      deploy: Remove (transfer none) from fd arg
      travis: Add a 32 bit build
      sysroot: Fix up some GI nullable annotations
      bin/checkout: Port some to new style
      deployment: Add a bunch of docs and fix annotations
      deployment: Ensure query_deployments_for returns nullable values

Dan Nicholson (1):
      lib/deltas: Annotate from checksum as nullable

Felix Krull (1):
      lib: fix GI parameter tags

Jonathan Lebon (4):
      ostree-prepare-root: print st_dev and st_ino as 64-bit ints
      lib/fetcher-curl: Use G_SOURCE_REMOVE instead of FALSE
      lib/fetch-curl: Unref timeout source
      Drop use of `volatile`

Kelvin Fan (1):
      docs: Fix various typos

Luca BRUNO (5):
      ci/travis: move to newer base distro
      ci: run ci-release-build.sh on GitHub
      workflows/release: pattern-match on PR title

Philip Withnall (5):
      libostree: Add support for ETag and Last-Modified headers
      lib/pull: Hook up HTTP caching headers for summary and summary.sig
      tests: Add simple test for summary file caching
      ostree/trivial-httpd: Add Last-Modified/ETag support
      tests: Split RFC 2616 date parsing code out and add tests

William Manley (8):
      ostree_repo_get_bootloader: Document transfer none
      Refactor: Centralise choosing the appropriate bootloader
      Refactor: sysroot.bootloader: Store enum value rather than string
      Add support for explicitly requesting any specific bootloader type
      Refactor `ostree_sysroot_query_bootloader`
      Tests: Refactor bootloader-entries-crosscheck