Public bug reported:

Please sync appstream 0.12.0-3 (main) from Debian unstable (main)

This introduces a new feature release pretty late in the cycle, so it is
something to more carefully consider. Even if it's very late, I do think
upgrading this package in Bionic is a good idea though.

First of all, it makes upgrading the appstream-generator package to version 
0.7.1-3 possible, allowing people to generate much better and smaller metadata 
for Debian and Ubuntu repositories (and this is what sparked the creation of 
this sync request).
But there are also many other good reasons.

This is the NEWS file for the new release, with explanations on why we
want the respective changes (I shuffled some entries around to form
logical groups) :

Version 0.12.0
~~~~~~~~~~~~~~
Released: 2018-04-04

Features:
 * Implement release types
 * qt: Support release types

This adds a new feature to the AppStream specification and libappstream
that allows release metadata to be tagged as "development" or "stable"
releases. Nothing in Ubuntu uses this, so adding will not break
anything, but having this in the LTS release means upstream projects can
use this feature more easily, and Ubuntu will understand metadata
containing it.

 * Update static data lists
 * spdx: Add some compatibility workarounds for SPDX 3.0
 * validator: Validate SPDX license expressions for metadata_license

This updates the SPDX[1] license lists to version 3.0 and adds some 
compatibility glue to libappstream to parse the new license strings introduced 
in SPDX 3.0. This is very useful to have, because many projects will start 
using the new identifier, and it makes sense for AppStream in Ubuntu to be 
ready for that.
Furthermore, it prevents errors from people using the new IDs with older 
AppStream versions (unfortunately, SPDX 3.0 broke the format, AppStream speaks 
all flavors of SPDX now, though)

[1]: https://spdx.org/licenses/

 * apt: Add config snippets to enable icon downloads

This results in an easy way for users as well as software centers to
enable the download of application icon tarballs via APT just by
installing a sepecific package (apt-icons-*). This is quite neat to make
icon downloads configurable easily, and also have a central place for
the APT configuration. The new packages are used in Debian already by
GNOME Software and Plasma Dicover. All existing solutions to enable
icons work though, this is an optional change.

 * Implement support for requires/recommends
 * Add recommends/requires data to the cache
 * Add a quick way to check if a version satisfies an AsRelation requirement
 * yaml: Make Requires/Recommends data more compact and easier to emit
 * Default to format version 0.12
 * validator: Validate requires/recommends tags

This adds a new feature to allow AppStream components to require other
components or system resources (e.g. minimal memory sizes). Nothing uses
this yet, due to that this feature also can't break anything. Having it
in the LTS means that upstream projects can already add the metadata
easily though and have it validated.

 * ascli: Properly document the --no-net flag
 * ascli: Allow to disable network access via an environment variable

This is useful in a package build environment where AppStream metadata is 
validated and the distributor wants to make sure appstreamcli doesn't try to 
access the network without changing upstream's code and passing the --no-net 
flag explicitly somewhere.
Nice feature to have, no risk potential to break existing code.

 * Make as_str_replace use as_gstring_replace internally
 * yaml: Ensure all string values have whitespaces stripped
 * Make as_component_get_launchables public API
 * apt: Support 48x48px icons

This are miscellaneous improvements which should not cause any issue at
all. The 48x48px icons are used in some software centers, having them
can be useful (this was a feature requested by Elementary, so chances
are they will use these icons at some point).

Specification:
 * spec: Add a "type" property to <release/> tag
 * spec: Initial draft for requires/recommends
 * spec: Document the YAML Rquires/Recommends fields
 * spec: Clarify that the memory requirement uses MiB as unit

This improve the AppStream specification or extend it. It's just
documentation changes.

Bugfixes:
 * qt: Implement missing constructors

This fixes some nasty crashes in Qt applications using AppStream, like
Plasma Discover.

 * apt: escape the icon scale factor as it is using the arobase
character

This fixes a bug which basically rendered HiDPI icons completely useless
in AppStream under Debian/Ubuntu. Having this fix will make the use of
HiDPI icons in software centers possible.

 * Check plain language string in as_component_localized_get as well

Apparently, in some circumstances text was not properly localized due to that 
because the function did not check the language code alone after failing to 
find a localized string for the locale.
Improved localization is a good thing.

 * qt: Define location and soname for all configurations, not just Debug

This patch has been in Ubuntu before. Without it, Qt applications using
AppStream wouldn't build at all in release mode.

 * Never override high-quality data with incomplete .desktop data

Fixes an issue that would override more complete metadata with less
complete versions and also change the metadata after the user installed
an application.

 * Make data update script work with recent SPDX

Just a maintenance improvement on the source code itself with no impact
on the installed binaries and data.

 * Add a timeout to URL validity checks

Before, appstreamcli would just hang forever when validating on systems
with no network access, causing some annoyances especially on CI
systems.

The package is not causing issues in Debian and other distributions, so far 
there have been no new bug reports. In general, I think the risk of new issues 
is low, especially because the new features don't impact the existing common 
code paths much and are additions (although obviously there is no such thing as 
no regressions risk).
I think the bugfixes especially on HiDPI icons and metadata replacement, as 
well as features like the updated SPDX license library and SPDX 3.0 support and 
that updating this package allows for a more recent appstream-generator package 
to be included make it reasonable to update the package.

Changelog entries since current bionic version 0.11.8-3:

appstream (0.12.0-3) unstable; urgency=medium

  * load-desktop-data.patch: Load desktop file data properly again

 -- Matthias Klumpp <m...@debian.org>  Fri, 06 Apr 2018 21:30:08 +0200

appstream (0.12.0-2) unstable; urgency=medium

  * Make autopkgtest work again
  * Update d/copyright (Closes: #894856)
  * icon config: Pull in non-HiDPI config for large icons
    if large-icon HiDPI config is installed

 -- Matthias Klumpp <m...@debian.org>  Fri, 06 Apr 2018 14:12:26 +0200

appstream (0.12.0-1) unstable; urgency=medium

  * New upstream version: 0.12.0
  * Drop all patches: Applied upstream
  * Update .symbols file
  * d/rules: Drop obsolete --parallel flag
  * Add APT config snippet packages for an easy way of enabling
    icon downloads for different sizes and HiDPI.

 -- Matthias Klumpp <m...@debian.org>  Wed, 04 Apr 2018 18:36:26 +0200

Build logs and other QA data can be found at Debian:
https://tracker.debian.org/pkg/appstream

** Affects: appstream (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1762292

Title:
  FFE: Sync appstream 0.12.0-3 (main) from Debian unstable (main)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/appstream/+bug/1762292/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to