[AppStream] AppStream 0.15.0 released!
Matthias Klumpp
matthias at tenstral.net
Thu Dec 2 22:03:14 UTC 2021
Hello!
A new AppStream release is out, this time with a huge amount of
changes, especially around caching. Most notable, we do not depend on
LMDB for the on-disk cache anymore, but use libxmlb instead. Since the
recently released version of libxmlb has a few features we need to
deliver good search performance, AppStream requires at least libxmlb
>= 0.3.4.
The library itself has no dependencies beyond what AppStream itself
requires, so it should be no problem to add or upgrade.
This release contains a complete rewrite of AppStream's caching code,
using libxmlb. This will allow for more complex queries and simplifies
the caching code a bit.
As part of this change, AsPool is now quite a bit more powerful in
what it can do.
Caches are now always shared between applications, client-specific
caches do no longer exist. If requested, an AsPool can now also
transparently reload metadata in the background in case it changes on
disk. If a client adds components that are not backed by metadata
on-disk that AppStream knows, the components will be kept in memory.
A few new tags have also been added, most notably "supports" for
indicating hardware or input support.
Please test client tools carefully with this release, and let me know
if you notice any regressions, especially in the quality of search
results! (Search should be better, but testing every edge case is
hard).
Release notes below.
Tarballs available here:
https://www.freedesktop.org/software/appstream/releases/
Cheers,
Matthias
Version 0.15.0
~~~~~~~~~~~~~~
Released: 2021-12-02
Features:
* Refactor the caching code and partition cache into sections
* cli: Display nicer status information when refreshing caches
* cli: Allow limiting refresh action to data from certain groups
* Allow clients to configure the addon autoresolve magic
* Allow clients to control the local metainfo preference
* qt: Add wrappers for new AsPool API
* Add directory monitoring helper for AsPool
* Add an auto-reload mechanism to refresh cache sections when data changes
* Implement support for a "supports" relation kind
* qt: Wrap the AsPool ::changed signal
* qt: Add version test macro for Qt library as well
* cli: Make validator output a bit nicer
* cli: Base "status" command on metadata source layout from AsPool
* Implement the new "Tags" tag
* Make component-ID search case-insensitive
Specification:
* spec: Add a "supports" relation type
* Add support for specifying a graphics tablet as input control method
* Add support for the "hardware" relation item
* spec: Add "tags" tag for tagging components
* apidoc: Document file not found error code
* docs: Fix various typos and grammar issues
Bugfixes:
* compose: Adjust to rsvg API changes
* qt: Pass NULL to C function when overriding cache location with empty string
* tests: Make unit tests clean up temporary caches if possible
* qt: Align API deprecations with C library API
* Cache Flatpak data properly, and add some quirk fixes for it
* file-monitor: Explicitly cancel GFileMonitor before unreffing it
* Fix broken markup by using itstool to generate final translated metainfo
* validator: Fix some issues pointing at the wrong node
* validator: Validate the "tags" tag group
Contributors:
Phaedrus Leeds, Matthias Klumpp
--
I welcome VSRE emails. See http://vsre.info/
More information about the AppStream
mailing list