- Update to version 2017.8:
+ This is a quicker release closely following 2017.7, but it
still includes a number of changes. First, a lot of work is
landing from Philip/Krzesimir for doing "collections" and
pulling content from Avahi/USB drives etc. That work is still
underneath --enable-experimental-api, but look for more from
that soon!
+ Other notable user-visible features from this cycle are:
- lib/repo: Add min-free-space-percent option, default 3%.
- Add "pull --localcache-repo".
+ An important bugfix for bare-user repo mode owners is:
lib/commit: Ensure bare-user objects are always
user-readable.
+ Besides that we have a lot of code cleanup, CI work, etc.
- Update to version 2017.7:
+ The most notable thing for this release is that for flatpak
users/distributors, this release adds a lot of (opt-in)
hardening against setuid or world-writable files. These issues
are also (to a lesser degree) applicable to ostree-based build
systems which use the bare-user repository mode. A pending
flatpak version will require this version of libostree.
+ For ostree-as-host, we fixed a major regression in SELinux
labeling for /etc (only applies to SELinux-using host systems).
+ Known issue: test-symbols.sh will fail when building from the
tarball (as opposed to a git clone).
+ Besides that, there's various smaller cleanups and fixes. It's
great to see contributors from a variety of organizations;
having libostree be a shared infrastructure layer across
distributions is a longstanding vision.
- Update to version 2017.6:
+ One of the most notable changes in this release is that we
switched to using a systemd generator for handling /var, which
means admins can now set it up as an explicit mount point. We
feel pretty confident in the code, but do test your specific
setup. One note in particular; the new model (obviously)
requires systemd, and while we tried to preserve the
non-systemd path, it wasn't explicitly tested.
+ The work to port to a new code style continues rapidly; at this
point most of the library is converted, with just the command
line remaining. I think the new style is a lot more readable
now that we rely fully on __attribute__((cleanup)).
+ Enhance the OstreeAsyncProgress reporting API, which I think is
going to be quite useful for user interface frontends (like
GNOME Software).
+ There's a smattering of smaller bugfixes; minor memory leaks,
double close() and the like. In this cycle we also beefed up
our CI/testing more - we now test both Fedora Atomic Host and
flatpak more explicitly. Contributions to extend the suite to
other distributions would be appreciated; for example, tests
for ostree-as-host on Debian. Our Travis-executed tests should
be extensible.
+ Fix some of the test suite for installed tests, and also
introspection fixes for language bindings.
+ Another feature that involved a lot of internal changes is our
handling for /etc on SELinux-based systems. We now label files
as we go rather than having a more fragile separate relabeling
path. This is also exposed as an API, which is used by
rpm-ostree now. I think this particular change highlights the
strength of "libostree" as an API that can be reused by higher
level systems.
- Changes from version 2017.5:
+ This is a bugfix release for 2017.4 to fix a regression that
broke flatpak.
- Changes from version 2017.4:
+ A notable new feature in this release is a fourth repository
mode: "bare-user-only". This is very similar to bare-user, but
canonicalizes permissions and ignores xattrs. The intended
use of this is for "non-OS" container tools such as flatpak,
where one intentionally discards the traditional file
ownership. (I'm calling this container case "non-OS" to
distinguish from other container tools where one might want to
"log in" via PAM and supporting distinct UIDs inside a single
container is valuable)
+ We have a few new APIs, such as ostree_check_version() which is
important when making use of some of the "API extensions" we
have using GVariant on e.g. ostree_repo_pull_with_options().
+ The diff is a bit larger due to us switching to a new code
style.
+ Another quite important change is that ostree trivial-httpd is
disabled by default. With a libcurl build, this is the last
part that links to libsoup. It's only needed for unit tests, so
can be subpackaged or discarded. (We're doing the latter for
Fedora).
+ Speaking of curl, we now support --with-openssl which enables
using OpenSSL's libcrypto for SHA256. This can be notably
faster. You likely want this if e.g. libcurl is already linked
to OpenSSL for you. I'm increasingly confident in the curl
code, and should be ready to recommend using it by default in
the next release or two.