Version 0.8.8 ~~~~~~~~~~~~~~ Released: 2022-04-10 Bugfixes: * Use higher stack size for archive read generator Contributors: Matthias Klumpp Version 0.8.7 ~~~~~~~~~~~~~~ Released: 2022-02-22 Bugfixes: * Fix build on 32-bit architectures * Set CAInfo on compose instance as well * Don't unlink components of fake packages * Process icons by suite/section across all architectures * Fix a bunch of Meson and D deprecation warnings Version 0.8.6 ~~~~~~~~~~~~~~ Released: 2021-12-22 Notes: * This is the first release to fully use libappstream-compose for almost all metadata analysis (except icon processing, which needs special care). Features: * Reimplement data extractor using the compose API * Enable screencasts in compose based on our screenshotVideos feature flag * Run external metadata through the exact same processing as all other data * Redirect glib debug messages to our own logging if in verbose mode * Adjust parallel processing work unit sizes for seeding * ci: Add Fedora to the CI environment Bugfixes: * Fix build with GLib >= 2.69 * engine: Protect iconTarFiles variable when scanning for icons in parallel * Resolve some issue tag conflicts with as-compose * Control batch processing better to enable better extractor reuse * Add duplicate-metainfo exemption for injected data * Improve explanation of the "no-metainfo" tag * Don't emit "description-from-package" if "no-metainfo" was already present Contributors: Neal Gompa (ニール・ゴンパ), Matthias Klumpp Version 0.8.5 ~~~~~~~~~~~~~~ Released: 2021-08-28 Features: * snap: Set `grade` to `stable` * Improve metainfo/desktop deduplication code * Use ascompose for adding translation status data Bugfixes: * Always mark desktop-file as handled when handling its metainfo file (#91) * Fix compilation due to broken generated GdkPixbuf code * config: Move setUseOptipng call after we determine if optipng is available * snap: Add glib{,-networking} to asgen's stage-packages * snap: Build libas from a tag * Adjust for compose API changes Contributors: Balló György, Dan Printzell, Iain Lane and Matthias Klumpp Version 0.8.4 ~~~~~~~~~~~~~~ Released: 2021-03-02 Features: * Replace our HashMap with native associative arrays * Switch back to using the curl-based downloader again * Use the desktop-entry parsing code from appstream-compose * Try finding icons in /usr/share/icons root directory as well * Update our own metainfo file and validate it Bugfixes: * snap: Set LD_LIBRARY_PATH to the stage dir for asgen's build * snap: Install curl as a normal build-package * snap: Build with -j1 * debian: Forget a package's filename when removing its temporary dir * debian: Add more synchronization * zarchive: Log the error when we can't open an archive * various: Improve builddir != srcdir builds and build the snap like this * Replace theme icon generator concurrency with a range * snap: Build AppStream in debugoptimized mode instead of release mode Contributors: Iain Lane, Matthias Klumpp Version 0.8.3 ~~~~~~~~~~~~~~ Released: 2021-02-02 Notes: * This release requires libappstream-compose from the AppStream project to build. The library is still in progress and currently has an unstable API, but is developed in sync with appstream-generator, so asgen can safely depend on it. Features: * Elevate no-metainfo presence to a warning by default (Matthias Klumpp) * Ignore all apps with only desktop-entry files using OnlyShowIn (Matthias Klumpp) * Make use of the helper classes provided by appstream-compose (Matthias Klumpp) * Add editorconfig (Matthias Klumpp) * Use ascompose result type as base for the generator result container (Matthias Klumpp) * Use the validator helper function from appstream-compose (Matthias Klumpp) * Use metainfo parsing helper from appstream-compose (Matthias Klumpp) * alpine: add capabilities to download packages via HTTP (Rasmus Thomsen) * config: allow overriding export dir via --export-dir (Rasmus Thomsen) Bugfixes: * Add explicit option to disable network-dependent tests (Matthias Klumpp) * Add missing CSS styling for permalinks to Debian template (Matthias Klumpp) * Captialize "MetaInfo" the same everywhere in hint messages (Matthias Klumpp) * Use binding generator to create the missing AppStream Utils functions (Matthias Klumpp) * Never open contents cache DB env more than once in the same thread (Matthias Klumpp) * Re-enable LMDB TLS support (Matthias Klumpp) * downloader: Check read byte count before appending to buffer (Matthias Klumpp) * Ensure export directory paths are sane, absolute paths all the time (Matthias Klumpp) Version 0.8.2 ~~~~~~~~~~~~~~ Released: 2020-05-12 Features: * Add experimental Snapcraft build definition * snap: Move to strict confinement (Iain Lane) * snap: Lots of debugging & integration work (Iain Lane) * Find external binaries in PATH instead of hardcoding absolute paths to them * Add static bindings for libsoup * Switch to new libsoup-based downloader, drop Curl * Always log the generator version for some operations * Display more verbose debug messages when downloads are retried * Better messages for network connection errors * Support Ubuntu language packs for l10n status info extraction * Make permalink anchors visible in HTML output * alpine: Add new backend for Alpine Linux (Rasmus Thomsen) Bugfixes: * Pull a few Mustache engine code improvements from upstream * Throw a better error message in unit tests when ffprobe isn't found * tests: Skip video metadata check if ffprobe can not be found * Check if our GdkPixbuf is able to handle all essential image formats * Slighty reduce default logging verbosity when finding icons * Give up icon search when component was rejected in icon storage routine * Swallow bad last-modified times from servers instead of freaking out * Make downloader a thread-local singleton (instead of thread-global) * Create XDG runtime dir in case it is missing * Make a failure to read an archive symlink target non-fatal * Print available font names in issue report if no matching font was found * Handle unexpected NULL-byte files better * Find Yarn, even when it was renamed * Strip out release artifacts for components that have a package Version 0.8.1 ~~~~~~~~~~~~~~ Released: 2020-01-20 Bugfixes: * Don't crash if a gettext locale has no strings * Reject packages which should have a long description but don't have one * debian: Search for bz2 files again, i18n still uses those * Work around some curl/D behavior changes and make HTTPS downloads work again * Check suite status before removing hints/components * Don't fail download on HTTP status code 302 * Properly fail icon search in all failure cases, add more debug logging * Ensure icon tarballs are closed immediately after writing to them * Flip around sorting of suites on HTML reports Version 0.8.0 ~~~~~~~~~~~~~~ Released: 2019-09-24 Notes: * This release needs FFmpeg installed if video screenshots should be permitted. No transcoding will be done. Check out the options to modify this feature in the documentation. Features: * Add Igor Khasilev's container implementations to the source * Replace EMSI containers with built-in implementation * Bump dependency on AppStream * Fix build with latest AppStream * Implement improved validation issue reporting * Always build registry of all hint tags, instead of adding them on-demand * Add AV1 video sample for video support tests * Add video tag support, analyze and store videos * Use generic download method for downloading screenshots as well Bugfixes: * Make dscanner happy again * Drop wrap files: We don't need them anymore * debian: Don't check for bz2 compressed indices * Only add remote icons if we have a mediaBaseUrl and are permitting image caches * Validate injected metainfo files as well * Ignore pedantic issues in HTML reports * Fix getFileContents when acting on remote data * XML-escape validator explanations Version 0.7.7 ~~~~~~~~~~~~~~ Released: 2019-02-24 Features: * Speed up locale search by moving it to its own database cache (Matthias Klumpp) Bugfixes: * Component removal requests don't need to have a package-name set (Matthias Klumpp) Version 0.7.6 ~~~~~~~~~~~~~~ Released: 2019-01-10 Features: * Limit the amount of release metadata in output (Matthias Klumpp) * Implement icon loading for injected metadata (Matthias Klumpp) * Prefer some SFNT font metadata over internal heuristics (Matthias Klumpp) * Implement Gettext locale processing (Matthias Klumpp) * Use a struct instead of bitfield to store enabled generator features (Matthias Klumpp) * Refactor locale statistics loader (Matthias Klumpp) * Explicitly remove temporary package data after reading locale info (Matthias Klumpp) * Make arch-specific injected metadata override arch:all data (Matthias Klumpp) Bugfixes: * Complain if the user wants to associate a component with a fake package (Matthias Klumpp) * Check that fonts and OS components have an icon (Matthias Klumpp) * Sanitize image URLs before attempting download (Matthias Klumpp) Version 0.7.5 ~~~~~~~~~~~~~~ Released: 2019-01-04 Features: * Load components for Arch Linux (Balló György) * Embed mustache-d code (Matthias Klumpp) * Protect against HTTPS-to-HTTP downgrades (Matthias Klumpp) * Allow asgen maintainer to mark components for removal and inject additional metainfo files (Matthias Klumpp) * docs: Document the metainfo injection feature (Matthias Klumpp) Bugfixes: * Fix a few issues found by dscanner (Matthias Klumpp) * Properly error out on HTTP 404 status codes (Matthias Klumpp) * Add wrapfile for mir-core (Matthias Klumpp) * Also ignore web applications without an icon (Matthias Klumpp) Version 0.7.4 ~~~~~~~~~~~~~~ Released: 2018-08-04 Features: * Write CID<->GCID mapping table as additional output data (Matthias Klumpp) * Don't rebuild GLibD as part of asgen, use the shared library instead (Matthias Klumpp) * Add hint to add launchable tag if .desktop file is missing (Matthias Klumpp) * Use posix_spawn codepath for optipng if possible via GLib (Matthias Klumpp) * Unconditionally add stock-type icon if desktop-file allows for it (Matthias Klumpp) * Allow font languages to be specified in a languages tag (Matthias Klumpp) * Improve font language processing with metainfo hints (Matthias Klumpp) * fonts: Sort selected font styles, prefer regular style for samples (Matthias Klumpp) * fonts: Use a random pangram for fonts supporting English (Matthias Klumpp) * fonts: Assume 100% language support for all locale mentioned in font data (Matthias Klumpp) Bugfixes: * Fix build with phobos 2.081 (Antonio Rojas) * Depend on non-broken Meson version (Matthias Klumpp) * fonts: Always prefer English for samples if font supports it (Matthias Klumpp) * Initialize font icon lookup table only if there are fonts (Matthias Klumpp) Version 0.7.3 ~~~~~~~~~~~~~~ Released: 2018-04-26 Features: * Don't include desktop files with an empty OnlyShowIn and complain about that * Improve decompression code slightly * Improve code to check for inclusion of .desktop files * Optimize category filter function * ubuntu: Use GC managed arrays for langpack info storage * ubuntu: Hold copy of language pack array per package * ubuntu: Don't load language packs multiple times, cleanup index data properly * Close package from a base suite immediately in the seeding step Bugfixes: * debian: Make package index threadsafe again * Don't add data to contents store in parallel * Don't add the same architecture multiple times when generating reports * Enable static check for poor exception handling * Don't run through a synchronized section when fetching package filename * Update dscanner and invoke it from a more versatile Python script Version 0.7.2 ~~~~~~~~~~~~~~ Released: 2018-04-16 Features: * Dramatically reduce memory usage of cruft cleanup operation * Parallelize database cleanup a bit more * debian: Add basic in-memory deduplication of translated texts for packages Bugfixes: * Fix build on 32bit architectures * Make GStreamer entry entirely optional for packages * Ensure we properly merge in desktop-entry data from launchable tags * Never process desktop files twice * Don't append desktop data to mime/category lists * Update wrap files to work with gir-to-d >= 0.15 Version 0.7.1 ~~~~~~~~~~~~~~ Released: 2018-04-06 Features: * debian: Use TagFile class from Laniakea * debian: Use the packages real architecture in its identifier * debian: Implement packageForFile backend feature * Do more complex parsing of metainfo license expressions * ci: Enable more static analysis checks * Improve manual page Bugfixes: * Never upscale icons if we don't need to, use pixmaps directory as last resort * Update wrap files to work with gir-to-d >= 0.14 * Don't try to upscale tiny icons from the pixmaps directory * Register HiDPI icons for fonts properly * Fix some minor style issues found by D-Scanner * Document WorkspaceDir config file option Version 0.7.0 ~~~~~~~~~~~~~~ Released: 2018-04-04 Notes: * Processing single packages and calling publication and processing separately is not a fully supported feature yet! This release lays the groundwork for it, but its final implementation will happen later. Do not use this in production! Features: * stdx.allocator-backed containers library * Use stdx.allocator-backed HashMap in more places * Trigger GC less aggressively, use smaller parallel work unit sizes * Allow setting a workspace in config and calling asgen on a config file * Add backend interface for processing a single package * Allow calling only the metadata publication step * Add framework for extracting data directly from package files * Allow setting icon policy in configuration * Add support for more icon types and customizable icon policy * Allow icon upscaling in certain cases, but complain about it * Modernize Meson definitions * Document how to modify icon policies in configuration * Use AppStream 0.12.0 and format 0.12 by default Bugfixes: * Update wrap files to be compatible with gir-to-d >= 0.13 * Improve ArchiveDecompressor usage * For each array appender, try to guess capacity to reserve better * Properly add remote icon URLs * Fetch JavaScript bits with Yarn instead of Bower * Ensure we can run asgen again from its build directory * Ignore data from immutable suites on cleanup * Don't parallelize cleanup data collection routine * Release memory chunks faster during cleanup operations Version 0.6.8 ~~~~~~~~~~~~~~ Released: 2017-11-06 Notes: * The -Ddownload_js build flag is now -Ddownload-js to follow the naming of other Meson flags more closely. Features: * Encode AppStream library version in version info string on reports * Don't require an install candidate for a webapp * Update hicolor theme fallback definition * Try to filter out symbolic icons for apps * Allow processing only one section in a suite * Relax icon scaling rules Bugfixes: * Move time graph legend to the top left * ci: Use the packaged gir-to-d * Drop an unused gdc conditional * Ensure the validator never tests web URLs for validity * Drop LLVM DC bug workaround and allow cross-module inlining * Make D GIR interface build work again with recent Meson versions * Don't fail if we have a dupe ID with no pkgname, can happen now with webapps Version 0.6.7 ~~~~~~~~~~~~~~ Released: 2017-10-02 Features: * ci: Enable gdc again for testing (Matthias Klumpp) * Make rpmmd backend work (Matthias Klumpp) * Make an empty main function for embedded unittests (Matthias Klumpp) * Add a metainfo file (Matthias Klumpp) * Add a manual page (Matthias Klumpp) * Sort suite names on the index page (Matthias Klumpp) Bugfixes: * use file.exists to check file existence (Antonio Rojas) * arch: Don't ref generator results (Matthias Klumpp) * Improve the icon tarball generation code (Matthias Klumpp) * Resolve deprecation warning (Matthias Klumpp) Version 0.6.6 ~~~~~~~~~~~~~~ Released: 2017-09-22 Features: * Add basic HiDPI support (Corentin Noël) * Generate the HiDPI tarball (Corentin Noël) * Add an 'info' command to dump package information (Matthias Klumpp) * Handle the "Hidden" property in .desktop files and complain about it (Matthias Klumpp) Bugfixes: * arch: XML-escape package descriptions (Matthias Klumpp) * Check for availability of a component-id at the right time (Matthias Klumpp) * Make writing compressed results a bit more robust (Matthias Klumpp) * Resolve all deprecation warnings and slightly improve code (Matthias Klumpp) Version 0.6.5 ~~~~~~~~~~~~~~ Released: 2017-07-02 Features: * Generate type=codec metadata for gstreamer packages (Iain Lane) * Add a feature flag for GStreamer processing (Iain Lane) * ci: Switch to using upstream GirToD (Matthias Klumpp) * Set asgen version in defines.d by Meson as well (Matthias Klumpp) * Format graphs a bit nicer (Matthias Klumpp) Bugfixes: * Find files in DATADIR - not relative to the executable (Iain Lane) * Fix typo in metadata-path hint (Matthias Klumpp) * Try to be more informative when a component has no ID (Matthias Klumpp) * Ensure the rDNS scheme is really followed before editing an ID (Matthias Klumpp) Version 0.6.4 ~~~~~~~~~~~~~~ Released: 2017-05-25 Features: * Automatically generate GIR D bindings at build-time (Matthias Klumpp) * Remove dub build file (Matthias Klumpp) * Use Meson subproject/wrap to fetch mustache-d in case it is missing (Matthias Klumpp) * Add a launchable tag to output if we can add one (Matthias Klumpp) * Make legacy metainfo dir a warning (Matthias Klumpp) * Validate launchable entries and add heuristics in case they aren't present (Matthias Klumpp) Bugfixes: * Import buildPath directly from std.path (Antonio Rojas) * Remove spurious std.stream import (Matthias Klumpp) Version 0.6.3 ~~~~~~~~~~~~~~ Released: 2017-03-08 Features: * Experiment with scoped classes (Matthias Klumpp) * Drop embedded generator copy (Matthias Klumpp) * Use final classes whenever possible (Matthias Klumpp) * Centralize all export-dir locations in base config class (Matthias Klumpp) * Allow to manually configure data export locations (Matthias Klumpp) Bugfixes: * Fix some quirks and make the tests work again (Matthias Klumpp) * ci: Don't build with GDC (Matthias Klumpp) * Don't fail if a suite has no base suite (Matthias Klumpp) * engine: Process base suite packages for contents only (Iain Lane) * Update README.md (#39) (Blake Kostner) * debian: Only select the most recent packages for a scan (Matthias Klumpp) * Streamline final component validity check, resolve a crash (Matthias Klumpp) Version 0.6.2 ~~~~~~~~~~~~~~ Released: 2017-01-24 Notes: * GDC 6.x can't compile the project at time due to a GDC bug. See https://bugzilla.gdcproject.org/show_bug.cgi?id=251 for more information. Features: * Support desktop-app metainfo files without .desktop file if they have an icon set * Write log entry when starting/finishing icon tarball write * Update AppStream bindings * Allow to specify allowed keys * Don't show pedantic validator hints * Allow metainfo file to specify sample texts for fonts * Process XPM icons if they are large enough Bugfixes: * Safeguard against TLD checks with empty-or-null string * Ensure desktop-apps have at least one valid category set * Don't override metainfo name/summary with .desktop values * Quit immediately if the component type is unknown * Correctly read a font's full-name * Don't needlessly reprocess fonts Version 0.6.1 ~~~~~~~~~~~~~~ Released: 2016-12-26 Features: * Add a symlink so that Ubuntu uses the same template as Debian (Iain Lane) * Support linking to "old suites" in the HTML index (Iain Lane) * hints: icon-not-found: Explain the symlink problem for Debian & Ubuntu (Iain Lane) * Add preliminary new asgen logo (Matthias Klumpp) * Use struct for archive (Matthias Klumpp) * Reuse AsMetadata while processing metainfo files (Matthias Klumpp) Bugfixes: * Correctly install templates with Meson (Matthias Klumpp) * meson: Make finding mustache-d more robust (Matthias Klumpp) * Fix build with DMD (Antonio Rojas) * engine: Don't clean packages in base suites (Iain Lane) * download: If we have a last-modified date, set the mtime of the target file (Iain Lane) * Simplify zarchive code a little (Matthias Klumpp) * Use module initializer to initialize global static data (Matthias Klumpp) * Fix build on Debian with GDC (Matthias Klumpp) Version 0.6.0 ~~~~~~~~~~~~~~ Released: 2016-10-03 Notes: * If possible, you should build Meson with the LLVM D compiler and the Meson build system now. Features: * Produce better error messages on failed libarchive actions (Matthias Klumpp) * Add a hook to the desktop file parser to run backend specific code (Iain Lane) * Add an Ubuntu backend to retrieve langpack translations (Iain Lane) * Open databases with NOTLS (Matthias Klumpp) * Tweak the issue messages a bit (Matthias Klumpp) * Complain about stuff in legacy paths (Matthias Klumpp) * Only search for .desktop files if we have a DESKTOP_APP component (Matthias Klumpp) * Create new Font class to read font metadata (Matthias Klumpp) * Render an icon for fonts (Matthias Klumpp) * Add dependencies on Pango, FreeType and Fontconfig (Matthias Klumpp) * Determine languages a font supports (Matthias Klumpp) * Reorganize code for proper namespacing (Matthias Klumpp) * Render font screenshots (Matthias Klumpp) * Map font full names to files in a spec-compliant way (Matthias Klumpp) * Enable fonts support by default (Matthias Klumpp) * Share ContentsStore between threads again (Matthias Klumpp) * Make Meson a first-class buildsystem for asgen (Matthias Klumpp) * Update README (Matthias Klumpp) Bugfixes: * Fix build on non-64-bit architectures (Matthias Klumpp) * Work around LDC bug (Matthias Klumpp) * fclose() the memstream when we are done with it (Iain Lane) * debpkgindex: Be less noisy about translations in debug mode (Iain Lane) * Use getTestSamplesDir (Iain Lane) * Retry on all curl errors, not just timeouts (Iain Lane) * Synchronise downloading of files (Iain Lane) * ubuntu: Don't reference all packages, just the ones we need (langpacks) (Iain Lane) * Use an ugly mutex to work around Fontconfig issues (Matthias Klumpp) * Make FC mutex a bit more fine-grained (Matthias Klumpp) Version 0.5.0 ~~~~~~~~~~~~~~ Released: 2016-08-30 Features: * Add more speed and style optimizations, make Package an abstract class (Matthias Klumpp) * Use a string appender instead of a string array for writing output (Matthias Klumpp) * debian: Support downloading files from a mirror, instead of having them local (Iain Lane) * debian: Support DDTP translations (Iain Lane) * Ignore some more useless categories (Matthias Klumpp) * Add skeleton for RPMMD (Matthias Klumpp) * Add a few optimizations using immutable and appender (Matthias Klumpp) * Do not spawn compressors anymore, use libarchive directly (Matthias Klumpp) * Make compiling with LDC easier (Matthias Klumpp) * Add example for cruft collection script (Matthias Klumpp) * Allow cleaning up statistical data retroactively (Matthias Klumpp) * Rehash hash tables that we query often (Matthias Klumpp) * Always optimize debug builds (Matthias Klumpp) * Make a splitbuild with Meson and Ninja possible (Matthias Klumpp) * Use AppStream's knowledge about TLDs to build smarter global-component-ids (Matthias Klumpp) * Allow specifying the format version metadata should be built for (Matthias Klumpp) * Adjust for AppStream 0.10 release (Matthias Klumpp) * Perform legal checks before allowing metadata to be added to the pool (Matthias Klumpp) Bugfixes: * Fix dataUseJSTime in section overview template (Blake Kostner) * debian: Only retrieve DDTP translations from the section we're looking at (Iain Lane) * Fix deprecation warnings from LDC (Matthias Klumpp) * Work around some weird JSON parser quirk (int incompatible with uint) (Matthias Klumpp) * Prevent creating excess statistic entries (Matthias Klumpp) * Fix potential crash (Matthias Klumpp) * Use native generator when not compiling with GDC (Matthias Klumpp) * Work correctly if CIDs omit the .desktop suffix (Matthias Klumpp) * Only add valid category names to output (Matthias Klumpp) * Don't emit description-from-package multiple times per package. (Matthias Klumpp) Version 0.4.0 ~~~~~~~~~~~~~~ Released: 2016-07-12 Features: * README: Add link to D tour * Run optipng with standard settings * Add command to forget extracted data for a package * Implement immutable suites * Use appender more often and apply some style fixes * Build with parallel by default when using Makefile * Drop some deprecated stuff Bugfixes: * Display an error when processing a suite without section or arch * debian: Fix exception message if directory does not exist * Code improvements: More pure, more safe, more trusted * Drop global data validation result box * Don't crash if media pool directory does not exist and immutable suites are used Version 0.3.0 ~~~~~~~~~~~~~~ Released: 2016-05-24 Features: * Register new backend for Arch Linux (Matthias Klumpp) * arch: Add reader for lists index file and skeleton for PackageIndex (Matthias Klumpp) * Make generic archive class work well with non-Debian packages (Matthias Klumpp) * Add HTML anchors for maintainers on report pages (Matthias Klumpp) * html: Show suite name in section overview (Matthias Klumpp) * Allow not setting a MediaBaseUrl (Matthias Klumpp) * Add some font rendering experiments (Matthias Klumpp) * Allow storing multiple statitics entries per point in time (Matthias Klumpp) * Make icon tarball build reproducible (Matthias Klumpp) * Make ArchiveDecompressor API more powerful and always return const(ubyte)[] (Matthias Klumpp) * arch: Speed up backend by loading all data in one go (Matthias Klumpp) * Split "handleScreenshots" into more useful, fine-grained flags (Matthias Klumpp) * Add timestamp to output and only touch it if something has changed (Matthias Klumpp) * Only update metadata if the indices have been changed (Matthias Klumpp) * Store media in pool subdirectory (Matthias Klumpp) * Add flag to enforce metadata processing, even if nothing changed (Matthias Klumpp) * Allow disabling metadata timestamps (Matthias Klumpp) * Improve scan-skipping code (Matthias Klumpp) Bugfixes: * Fix build on non-64bit arches (Matthias Klumpp) * Handle compressed empty files correctly (Neil Mayhew) * Drop other, non-UTF-8 encodings from language codes too (Matthias Klumpp) * Drop non-printable characters from .desktop file values (Matthias Klumpp) * Loop over more things by-reference to reduce RAM usage (Matthias Klumpp) * debian: Read Packages.xz files if no .gz file is available (Matthias Klumpp) * Don't lie about thumbnail sizes in their filename (Matthias Klumpp) * Don't duplicate architecture tag if there are multiple issues (Matthias Klumpp) * Catch data serialization errors (Matthias Klumpp) * Run bower with allow root to be able to make js as root (Harald Sitter) Version 0.2.0 ~~~~~~~~~~~~~~ Released: 2016-04-24 Features: * Don't ship minified JS * Get rid of (almost) all the embedded JS copies, use Bower * Add makefile for convenience * Use Flot for drawing graphs * Update README * Document all asgen-config settings * Reserve subdb in contents database to cache icon data * Make IconHandler use a pre-filtered list of icons * Allow templates to override only parts of the default branding * Add some default branding for Debian * Show logo on generated HTML pages * debian: Link some interesting resources from the main page Bugfixes: * Find aliased icons correctly * Keep priority sorting of themes * Make the hicolor theme always-available, using an embedded index copy if necessary * Fix counting of issues * Do not accidentally upscale screenshots while creating thumbnails * debian: Don't make a missing package index fatal * Don't fail if we are trying to add statistics too quickly * Rename remove-valid to reflect what it actually does * Ignore errors if we are trying to decompress a 0-byte gzip file * Suite arguments aren't optional for process/remove-found * Demote screenshot-no-thumbnails to info Version 0.1.0 ~~~~~~~~~~~~~~ Released: 2016-04-18 Notes: * Initial release