Skip to content

upgrade to appstream 0.15.2

Appstream contains new APIs, but no soversion change, neither in libappstream nor in libappstream-compose. Also upgraded the generator while at it. NEWS states Relicense remaining GPL-2.0 code to LGPL-2.1+, so I have updated the license accordingly.

NEWS
Version 0.15.2
~~~~~~~~~~~~~~
Released: 2022-02-22

Features:
 * compose: Allow setting a custom CAInfo file
 * qt: Always use C library for enum-to-string conversions
 * compose: Allow any amount of release entries for OS components
 * compose: Implement more flexible icon policy
 * validator: Ensure component-ID has no punctuation prefix
 * validator: Check existence of version and date release properties
 * Implement component-wide end-of-life date attribute
 * compose: Build API documentation
 * Relicense remaining GPL-2.0 code to LGPL-2.1+
 * No longer mark compose build option as experimental
 * Support the new swcatalog catalog metadata location and add app-info fallback
 * When finding components by ID, use provided IDs if no exact matches were found
 * ascli: Fix install/remove commands, add Flatpak support
 * Implement XML & YAML read/write of the "branding" tag group
 * Handle embedded lists in YAML release info paragraphs

Specification:
 * spec: Specify a "date_eol" property for the component itself
 * spec: Specify the new "branding" tag
 * docs: Update links to API reference pages
 * spec: Require that branding colours start with a hash symbol
 * docs: Clarify license and ship license copies
 * docs: Document media_baseurl property of components

Bugfixes:
 * qt: Fix crash when moving a Component
 * qt: Fix translate URL string<->enum conversion
 * qt: Deprecate mistyped UrlTranslate enum value
 * Filter out components without ID as early as possible (resolves crash)
 * Don't terminate the client if we can't get a writable cache location
 * Fix a possible parsing crash when converting markup
 * ascli: Display better messages if appstream-compose is unavailable
 * Install new collection XML to the right location
 * compose: Skip further processing if component was already dropped
 * compose: Fix SVG scaling with librsvg 2.52
 * compose: Handle missing export paths gracefully
 * Replace symlink hacks with new Meson install_symlink function
 * ci: Drop outdated libsoup dep

Contributors:
 Aleix Pol, fortysixandtwo, JakobDev, Jan Alexander Steffens, pabloyoyoista,
 Phaedrus Leeds, Philip Withnall, Matthias Klumpp

It does include a policy change. Collection metadata should be placed in /usr/share/swcatalog and /var/lib/swcatalog instead of /usr/share/app-info and /var/lib/app-info[1]. For now this is not critical because the backward compatibility is warrantied, but Discover (@PureTryOut @alexeymin) and GNOME Software (MR upstream should land in GNOME 42) must updated at some point the location where they place files system-wide.

[1] https://www.freedesktop.org/software/appstream/docs/chap-CollectionData.html#spec-asxml-filenaming

Merge request reports

Loading