forked from ximion/appstream
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
2549 lines (2242 loc) · 103 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Version 0.15.1
~~~~~~~~~~~~~~
Released: 2021-12-22
Features:
* Bump GLib version requirement to >= 2.62
* compose: Port over font support from appstream-generator
* compose: Allow overriding unit used for locale processing
* compose: Refine legacy support for desktop-id launchables
* compose: Allow setting the custom desktop-entry translation function
* compose: Allow to run with threading (mostly) disabled
* compose: Reorganize feature flags, allow to disable l10n
* compose: Allow setting a screenshot file size limit
* compose: Allow to disable screencast processing explicitly
* compose: Allow to test whether result has a specific hint tag
* news-convert: Support a "Translators" section
* validator: Check that first rDNS component-ID parts are always lowercased
* validator: Validate capitalization for some selected text blocks
Bugfixes:
* vapi: Rename PoolFlag to PoolFlags to add the missing deprecated flags
* Fix cache always getting updated even if unnacessary on Debian systems
* Still verify download return codes if download was aborted intentionally
* compose: Warn if metainfo files are missing and data was processed anyway
Contributors:
Corentin Noël, Matthias Klumpp
Version 0.15.0
~~~~~~~~~~~~~~
Released: 2021-12-02
Notes:
* This release contains a complete rewrite of AppStream's caching code, making use of
libxmlb instead of LMDB now. 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.
* A few new tags have also been added, most notably "supports" for indicating
hardware or input support.
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
Version 0.14.6
~~~~~~~~~~~~~~
Released: 2021-10-08
Features:
* validator: Allow slightly longer screenshot captions
* news-to-metainfo: Recognize the "Miscellaneous" section
* ascli: Add check-license command to test license for compatibility
* Emit URLs to choosealicense.com for certain popular licenses
* Add manually curated list of DFSG-free licenses
* news-to-metainfo: Allow only marking the last entries as translatable
* compose: Add support for image and video screenshot handling
* news-to-metainfo: Parse hyphens as header separators as well
* ci: Add Fedora to the CI environment
* as-translation: Add a new source-locale property
* compose: Support source locales for translations
Specification:
* docs: Clarify screenshot image/video dimensions, quickstart recommendations
* docs: Clarify image scaling, drop fixed-size image width recommendation
* spec: Mention the already-supported scale attribute of <icon/>
* spec: Add support for source locales
Bugfixes:
* cli: Properly forward parameters to compose binary when invoked via ascli
* compose: Don't follow symlinks when processing raw directories
* xml: Make NULL value handling for RefString value readers consistent
* news-to-metainfo: Stop parsing data if we have reached our entry limit
* news-to-metainfo: Don't attempt to override existing error on parsing failure
* compose: Extract screenshot image dimension data even if we're not caching them
* curl: Use less memory when downloading large files
Contributors:
Neal Gompa, Philip Withnall, Matthias Klumpp
Version 0.14.5
~~~~~~~~~~~~~~
Released: 2021-08-28
Features:
* compose: Add locale statistics reader
* Add installed test to validate all metainfo data on the system
* compose: Add initial compose utility
* compose: Read SVGZ images in AscImage
* compose: Better heuristics for finding KDE icons
* compose: Allow filtering which components are processed
* compose: Allow exporting hint report as YAML
* cli: convert: Autodetect metainfo/collection XML files
* Add documentation for appstreamcli compose
* validator: Nag about missing content_rating and releases
* compose: Add metainfo file for cli utility
Specification:
* docs: Clarify how Qt translations are searched for
* spec: Use "i386" as arch name for the shared ABI of all 32-bit x86 CPUs
* spec: Remove debshots screenshots API references
* docs: Document the version comparison algorithm
Bugfixes:
* qt: Make Pool's parent class public
* Use locale_strip_encoding for determining the current locale as well
* Consider locale like "ca@valencia" compatible with "ca"
* validator: Properly emit some invalid tag name messages
* Resolve g_memdup deprecation warning for GLib >= 2.68
* cli: Don't occasionally remove spaces when wrapping words
* Propagate bundle information even if PreferLocalMetainfoData is True
* Add workaround for GIR inconsistency in AsFormatVersion enum
* Add assertion against as_get_resource() returning NULL
* context: Don't initialize filename ref string value
Contributors:
Aleix Pol, Matthias Klumpp
Version 0.14.4
~~~~~~~~~~~~~~
Released: 2021-06-22
Features:
* qt: Expose setter and getter for pool cache location
* utils: Use GLib's gstring_replace if available
* its: Allow to mark release descriptions as non-translatable
* compose: Point people at the specification if metadata license is invalid
Specification:
* docs: Clarify which metadata licenses are permitted
* docs: Fix a typo on the icon cache page
* spec: Add a paragraph about which license to put in <project_license>
* Add documentation for YAML release type and urgency
* Add documentation for YAML provides
Bugfixes:
* component: Don't strip ";" from keywords before translating them
* utils: Don't strip modifiers when stripping encoding
* compose: Check optipng is there before we use it
* Improve text line wrapping, especially if many newlines are present
* Make word-wrap function unicode-aware
* Make license_is_metadata_license parse more complex expressions
* Improve cache refresh code, don't flag cache as updated if update failed
* Use system cache even if we had to drop some invalid metadata
* Assign more string class members safely
* Fix flashed firmware generating incorrect XML
* Fix YAML having wrong names for the firmware data
Contributors:
Aleix Pol, Iain Lane, Philip Withnall,
Robert Ancell, Matthias Klumpp
Version 0.14.3
~~~~~~~~~~~~~~
Released: 2021-03-08
Specification:
* spec: Mention that license-IDs are case-sensitive
* spec: Fix case of LicenseRef-proprietary in the spec
Bugfixes:
* compose: Don't loop endlessly if external desktop l10n function is set
* Never create a predictable dir in /tmp for caching
Contributors:
Philip Withnall, Matthias Klumpp
Version 0.14.2
~~~~~~~~~~~~~~
Released: 2021-03-02
Features:
* qt: Implement missing Pool::componentsByCategories
* Share one user-owned read-only system metadata cache between all applications
* pool: Clean up user sysdata caches if we start to use the system cache
* Port over some parsing improvements for desktop-files from asgen
* compose: Add helper for reading desktop-entry files
* compose: Handle bad UTF-8 in desktop-entry files even better
* search: Perform partial token matches instead of prefix matches
* search: Unconditionally perform partial term matching after exact matching
* news-to-metainfo: Recognize the "Contributors" section
* Update our own metainfo file for appstreamcli
Bugfixes:
* Read descriptions from collection XML correctly again
* tests: Fix a few memory leaks
* Make people acknowledge they know the ascompose API is unstable
* search: Make whole-search string matching a lot more strict
* validator: Resolve false-positive when testing remote icon URL validity
* utils: Improve textwrap if text is just one excessively long word
* compose: Permit U+00AD SOFT HYPHEN in string values
* Validate our own metainfo file
* compose: Don't assume lowest priority for desktop-entry-only components
* search: Only replace full words with greylist terms, not partial ones
* ascli: Take all positional parameters as search terms when searching
Version 0.14.1
~~~~~~~~~~~~~~
Released: 2021-02-16
Features:
* Switch back from Soup to cURL for HTTP(S) (Matthias Klumpp)
* validator: Check a few more things on requires/recommends items (Matthias Klumpp)
* Only download the first bytes of a file when checking URLs for validity (Matthias Klumpp)
Specification:
* spec: Officially mark <mimetypes/> tag as deprecated (Matthias Klumpp)
Bugfixes:
* qt: Return better errors in AppStream::Metadata (Matthias Klumpp)
* Do not automatically clean up errors that will be propagated (Matthias Klumpp)
* Remove overall extern "C" to make very new (2.67+) GLib versions happy (Matthias Klumpp)
* ascli: Don’t use GNU C extension type names (Philip Withnall)
* build: Use c11 rather than gnu11 and define vendor extensions separately (Philip Withnall)
Version 0.14.0
~~~~~~~~~~~~~~
Released: 2021-02-02
Notes:
* Component data-IDs gain a fifth part for a "branch". If you parse the IDs with AppStream's
functions, this change is fully backwards compatible. If you do your own parsing of these
IDs, please check if you have 4-part or 5-part IDs and split accordingly.
The branch is not used by AppStream (it is just passed through), but needed in GNOME Software
for Flatpak and Snappy support.
* AppStream-Generator depends on libappstream-compose now, however the API is still not stable, so
please do not use it unless you either are appstream-generator or like using experimental code.
Features:
* news-to-metainfo: Interpret placeholder release dates as denoting a dev version
* Make as_utils_build_data_id public API
* Add AsReview for attaching user reviews to software components
* Add compile-time version test macros
* Add a branch element to component data-IDs
* Add branch property to AsComponent
* utils: Add data-ID hashing and matching functions
* utils: Make as_gstring_replace public API
* Add branch info to on-disk cached components
* content-rating: Add as_content_rating_add_attribute API
* Rename INPUTMETHOD component kind enum to INPUT_METHOD
* Add "cabinet" bundle type for firmware deployments
* Make AsTokenMatch public API
* Add function to AsScreenshot to get image closest to preferred size
* Allow AsComponent to directly ingest desktop-entry data
* Make as_pool_build_search_tokens API public
* Add "origin" token match
* Make as_component_add_provided_item API public
* Add some useful image dimension constants
* compose: Add blur function from asglib
* Add more efficient load_from_bytes method to AsComponent
* Add methods to load metadata directly from GBytes
* compose: Make image loading code more versatile
* Add editorconfig
* Make more use of RefString in AsComponent
* Revamp version comparison algorithm
* ascli: Add native profiling support
* compose: Reduce Hint memory usage, allow to retrieve var list
* compose: Allow clients to add their own, new hint tags
* compose: Allow hints to be created from tags, include validator hints in pool
* compose: XML-escape validator explanations
* compose: Add a few more methods from asgen's GeneratorResult
* compose: Add helper method for metainfo validation
* compose: Add metainfo parsing helper function
* Implement "filename" property for release artifacts
* ascli: Add new `os-info` subcommand
* Add code to validate platform triplets
* validator: Validate more release-tag specific issues
* Add utils helper function to install a variety of metadata
* Improve desktop-entry tests, always add "launchable" tag
* Update AppStream format version
* qt: Add bindings for relations API (requires/recommends)
* Use ref-strings for locale hash tables and token tables
Specification:
* docs: Update revision and date
* spec: Add "cabinet" bundle type for firmware deployments
* spec: Allow "filename" tag in release artifacts
* docs: Clarify section on release artifact platform triplets
* spec: Properly mark mailto: links in contact URLs as deprecated
Bugfixes:
* parse-desktop: Do not try to propagate a null error (Aleix Pol)
* Retain loaded context in AsMetadata and allow external media base url changes
* meson: Use project arguments instead of global arguments
* ascli: Improve text reflow in console output
* metainfo-to-news: Use "*" instead of "-" for markdown enumerations
* Drop unneeded compiler warning override
* Fix small memory leak in AsTranslation
* Avoid extra strlen() call when loading metadata from file
* Fix a few more memory leaks
* validator: Add some more tests
* ascli: Remove some code duplication, improve help summary text
* meson: Hardcode less paths
* tests: Add version comparison tests from appstream-glib, to ensure we compare the same
* gir: Ensure as_version_string shows up in introspection data
* ascli: Improve display of indented long-text output
* compose: Fix build with GLib < 2.66
* Make sure there are no duplicate operating-system components
* compose: Ensure font selection for symbolic fonts actually works
* validator: Ensure we return false in API functions if validation failed
* Ignore minimal translations in metainfo description texts
Version 0.13.1
~~~~~~~~~~~~~~
Released: 2020-11-30
Bugfixes:
* Install enum types headers to the right location
* qt: Construct library using libappstream dependency object
* validator: Improve check for invalid hyperlinks to reduce false-positives
Version 0.13.0
~~~~~~~~~~~~~~
Released: 2020-11-30
Notes:
* This release introduces a new library, libappstream-compose, designed to
provide building blocks for composing AppStream metadata. This includes GUI
stuff like font and SVG rendering, which libappstream deliberately does not
provide. The new compose library is not API/ABI stable and should - for now -
only be used by appstream-generator.
Features:
* qt: add missing Provided::KindId enum (Aleix Pol)
* Add experimental libappstream-compose (Matthias Klumpp)
* Implement support for display_length relation kind (Matthias Klumpp)
* Implement "tv-remote" input control kind (Matthias Klumpp)
* Refactor AsRelation to use GVariant internally (Matthias Klumpp)
* content-rating: Align the OARS/CSM mappings of sex-* (Philip Withnall)
* content-rating: Add content rating system APIs from gnome-software (Philip Withnall)
* content-rating: Expand translator comments to link to OARS website (Philip Withnall)
Specification:
* spec: Specify display_length requires/recommends item (Matthias Klumpp)
* spec: Add tv-remote user input control type (Matthias Klumpp)
Bugfixes:
* Use glib-mkenums to create the GType of all the available enums (Corentin Noël)
* Set FD_CLOEXEC on the LMDB FD manually (Fabian Vogt)
* Never ship with an embedded convenience copy of Highlight.js (Matthias Klumpp)
* Don't fail doc install if global highlight.js wasn't found (Matthias Klumpp)
* Properly escape markup when fixing invalid description data (Matthias Klumpp)
* validator: Don't pass NULL to vprintf, it's not an allowed value (Matthias Klumpp)
* meson: Kill deprecation warning for pkgconfig.generate (Matthias Klumpp)
* validator: Demote cid-contains-uppercase-letter from INFO to PEDANTIC (Matthias Klumpp)
* Change some AsPool GIR annotations to only transfer container,
as workaround for issue in GIR (Matthias Klumpp)
* Properly parse YAML font provides entry (Matthias Klumpp)
* content-rating: Lower the OARS/CSM mapping of sex-homosexuality/intense (Philip Withnall)
* Change return annotation of as_agreement_get_sections to "transfer none" (Rico Tzschichholz)
* contrib: Vala expects element-type of PtrArray to reflect their ownership (Rico Tzschichholz)
Version 0.12.11
~~~~~~~~~~~~~~
Released: 2020-05-12
Features:
* Auto-update static category data from fd.o
* Implement support for input control relations
* validator: Validate input control relations
* validator: Put AppStream technical terms and tag names in backticks in
explanation texts
* Modernize the README
* validator: Check for uppercase letters in cids
* Strip beginning/trailing newlines in a number of places
* Make AsContext getter for AsComponent public API
* qt: Add support for name_variant_suffix
* Make component sort-score API public API
* Implement a YAML representation of release artifact information
Specification:
* Build specification and docs with DAPS
* docs: Add (HTML) anchors for requires/recommends items
* spec: Specify user input control recommendations
* docs: Don't show reference to nonexistent provides->service tag for services
* spec: Encourage the use of only lowercase letters for component-IDs
* docs: Document --explain flag in ascli manual page as well
* docs: Add permalink anchors to some list entries
* Formally support BLAKE2b/s as hash functions for release artifacts
* docs: Link to the MetaInfo Creator webapp in a few places
Bugfixes:
* Be less noisy about ignoring excessively long search tokens
* Tighten the "free license" check and prevent false positives
* cache: Use correct fts value per result (David Hewitt)
* validator: Control items can't have a version
* validator: Reduce download timeout
* yaml: Strip encoding when serializing keyword lists
* Allows arbitrary indentation when converting NEWS files
* Ignore NULL values silently in our stringstrip function
* Only dump valid metainfo description markup, sanitize it otherwise
Version 0.12.10
~~~~~~~~~~~~~~
Released: 2020-01-18
Notes:
* This release drops its optional dependency on Curl in favor of a non-optional
dependency on libsoup.
Features:
* Sort addons less prominently than applications (Aleix Pol)
* validator: Display wrong data hint if metadata_license is invalid (Matthias Klumpp)
* Split tokens for descriptions as well (Matthias Klumpp)
* validator: Replace curl with libsoup for download tests (Matthias Klumpp)
* Update content rating for OARS 1.1, make CSM age conversion public API (Matthias Klumpp)
* tests: Don't duplicate XML/YAML preambles in test data (Matthias Klumpp)
* Add asynchronous method for loading the metadata pool (Matthias Klumpp)
* Try to reuse initial temporary cache when loading data into pool (Matthias Klumpp)
* Reduce minimum required GLib version to 2.58 (Matthias Klumpp)
* Implement support for "runtime" component type (Matthias Klumpp)
* Use SPDX JSON and filter out license exceptions in static data (Matthias Klumpp)
* Update SPDX and TLD data (Matthias Klumpp)
* Implement support for the WITH operator in recent SPDX (Matthias Klumpp)
* Add function to test if a license string is for free software (Matthias Klumpp)
* qt: Add wrappers for license exception and freeness tests (Matthias Klumpp)
* ascli: Add vercmp shorthand for compare-versions subcommand (Matthias Klumpp)
* ascli: Don't print validation issues in color and bold - color is enough (Matthias Klumpp)
* its: Mark name_variant_suffix as translatable (Matthias Klumpp)
* Make AsContext public API (Matthias Klumpp)
* Add convenience methods to direcly serialize a component to XML (Matthias Klumpp)
Specification:
* docs: Adjust Freedesktop spec URLs to their new redirect locations (Matthias Klumpp)
* Document & implement the new name_variant_suffix tag (Matthias Klumpp)
* spec: Specify the "runtime" component type (Matthias Klumpp)
* spec: Permit alternative IDs in appstream URIs (Matthias Klumpp)
Bugfixes:
* Fix double-free error when trying to dump bad XML markup (Matthias Klumpp)
* validator: Check URLs correctly if they have leading/trailing spaces (Matthias Klumpp)
* Remove deprecated GLib API (Matthias Klumpp)
* Don't autofree a temporary error that may be propagated (Matthias Klumpp)
* Don't attempt to add a zero-length search token to the index (Matthias Klumpp)
* Filter out search tokens that are stemmed to nothing (Matthias Klumpp)
* Prefer locale with region code over plain language code if possible (Matthias Klumpp)
* Use the same locale fallback algorithm everywhere (Matthias Klumpp)
* validator: Don't fail when encountering WITH operator (Matthias Klumpp)
* contrib/vapi: Add deprecated ProvidedKind.MIMETYPE to preserve API (Rico Tzschichholz)
Version 0.12.9
~~~~~~~~~~~~~~
Released: 2019-09-24
Features:
* validator: Add method to retrieve list of all tags
* ascli: Add command to make a desktop-entry file from a metainfo file
* ascli: Add command for YAMl NEWS file conversion
* ascli: Convert text NEWS file as well
* Recognize Specification/Documentation as new section type when converting NEWS
* Augment metainfo file with release information automatically
* Use gperf for description markup as well
* validator: Make file-extension checks work with complex URIs
* Implement support for release issues
Specification:
* docs: Actually give a metadata license recommendation
* Document the issue tag, which can be part of release information
* spec: Explicitly allow WebP for images in metainfo files
* Permit requires/recommends relations on firmware, like Fwupd uses
Bugfixes:
* docs: Move compulsory_for_desktop where it belongs
* docs: Mention how to exclude .desktop files from being processed
* Make -Wdeprecated-copy non-fatal in maintainer mode for now
* cache: Relax LMDB database max size assumption a bit to help 32bit builds
* validator: Don't crash in assertion if we have no filename
* Catch more errors when parsing YAML and _ref less often
* Interleave translated/untranslated paragraphs when generating metainfo XML
* Don't format cached XML
* Don't emit language tag for screenshot if it is unnecessary
* docs: Add missing documentation to API reference
* docs: Document a few missing ascli subcommands
Version 0.12.8
~~~~~~~~~~~~~~
Released: 2019-08-16
Notes:
* This release changes the output of appstreamcli's validate actions.
Please account for that if you were parsing it! The new `--format=yaml`
flag for ascli may be interesting to produce machine-readable output.
Features:
* Add install-docs meson build option (Antonio Larrosa)
* Use more portable deprecation macro
* Deprecate AsIssueImportance, use equivalent AsIssueSeverity instead
* validator: Implement first bits of tag-based validation
* cli: Print terse issue list by default, make long explanation explicit
* Assume releases are sorted in metainfo, fail validation on wrong sorting
* validator: Allow returning validator output as structured YAML
* validator: Refine YAML output and allow CLI to generate it for validate-tree
* Improve XML node dumping functions
* Permit <em/> and <code/> in description paragraphs and lists
* validator: Don't complain about <em/> and <code/> in paragraphs
* validator: Validate release info better, check release dates
* Recognize more "provides" item types
* validator: Check relations for loops with the component itself
* its: Handle new inline markup correctly in translations
* Add AsVideo object to contain screenshot video data
* Implement video support for screenshots
* validator: Validate the new video screenshot element
* qt: Add support for screenshot videos
* validator: The default screenshot must not contain a video
* validator: Add methods to query tag severity/explanation explicitly
* Implement support for icon-theme components
Specification:
* spec: Recommend latest-to-oldest release order for metainfo
* spec: Permit use of <em/> and <code/> for description formatting
* docs: Clarify when/why to use .appdata.xml instead of .metainfo.xml extensions
* docs: Explain why name/summary should not be omitted for app metainfo files
* spec: Clarify that ISO 8601 dates in AppStream require the complete date
* spec: Specify videos as a screenshot option
* spec: Specify an icon-theme component type
Bugfixes:
* Change spelling: DBus → D-Bus, MIME types → Media types (Allan Nordhøy)
* pool: Use fallback tempdir if user /home does not exist
* Restore compatibility with GLib < 2.58
* Find LMDB even if no pkg-config file was installed
* pool: Improve error reporting on cache refreshes
* Fix possible NULL dereference
* Fix division-by-zero if there are no components available at all
* pool: Fix some error checks when adding components
* Report better errors when counting cached components fails
* Fix infinite recursion if component has itself listed as an addon
* validator: Correctly read line numbers in long files
* Catch out-of-context XML reading errors again
* Protect against addon extension loops in the cache
Version 0.12.7
~~~~~~~~~~~~~~
Released: 2019-06-16
Notes:
* This release changes the way AsPool caches components and will also
permanently keep components in an LMDB-based cache.
Additionally, the GVariant AsComponent serialization was removed.
Features:
* Depend on LMDB (Matthias Klumpp)
* tests: Test pool cache and XML read performance separately (Matthias Klumpp)
* Improvements to data caching and fulltext search (Matthias Klumpp)
* Add new LMDB based component cache (Matthias Klumpp)
* cache: Implicitly hash keys if they are too long for the database (Matthias Klumpp)
* cache: Implement all supported search modes (Matthias Klumpp)
* cache: Implement various performance optimizations and helpers (Matthias Klumpp)
* cache: Allow switch to nosync mode, make insertions threadsafe (Matthias Klumpp)
* Refactor component pool to make use of the mmap'ed caches by default (Matthias Klumpp)
* Don't limit term length in user search queries (Matthias Klumpp)
* Ignore one-letter search terms (Matthias Klumpp)
* pool: Mask removed components in readonly caches so they can not be queried (Matthias Klumpp)
* Remove component GVariant serialization (Matthias Klumpp)
* cache: Use binary representations for cache values (Matthias Klumpp)
* cache: Always refine launchable entries, to make them searchable (Matthias Klumpp)
* Make component scope API public (Matthias Klumpp)
* Handle LicenseRef URLs explicitly when extracing a license URL (Matthias Klumpp)
* Update static data (Matthias Klumpp)
* tests: Update perf test with test for the new cache implementation (Matthias Klumpp)
* its: Add "translatable" option in metainfo.its (fujiwarat)
Specification:
* Add a note about not dropping .desktop suffix from existing IDs (Kalev Lember)
* spec: clarify <translation/> purpose (Kamil Páral)
* docs: Explicitly rule out nested lists (Marius Vollmer)
* docs: Add link to project page to specification abstract (Matthias Klumpp)
* spec: Clarify format of the appstream: URI (Matthias Klumpp)
* spec: Clarify how to denote proprietary licenses (Matthias Klumpp)
Bugfixes:
* tests: Fix potential wrong output when two tests fail in parallel (Matthias Klumpp)
* validator: Allow some top-level tags to be empty (Matthias Klumpp)
* Only match all things for broad queries, for invalid ones return nothing (Matthias Klumpp)
* Determine system cache age correctly and don't needlessly refresh it (Matthias Klumpp)
* Never attempt to load the system cache when it is not needed (Matthias Klumpp)
* Assume "unknown" distribution ID by default (if /etc/os-release is missing) (Matthias Klumpp)
* cache: Ensure previous cache is closed before opening a new one (Matthias Klumpp)
* Put test data in alphabetical order (Robert Ancell)
* Generate XML and YAML in alphabetical order (Robert Ancell)
Version 0.12.6
~~~~~~~~~~~~~~
Released: 2019-03-02
Features:
* Implement artifacts (Matthias Klumpp)
* Search improvements (Matthias Klumpp)
Specification:
* doc: help distinguish the 2 'languages' tags (Beuc)
* spec: Document the new artifacts tag (Matthias Klumpp)
Translation:
* Finnish
- Ammuu5
* Hungarian
- Balázs Úr
* Turkish
- Kemal Oktay Aktoğan
* Spanish
- advocatux
* Danish
- scootergrisen
Version 0.12.5
~~~~~~~~~~~~~~
Released: 2019-01-26
Features:
* qt: expose the spdx parser to Qt users (Aleix Pol)
* Implement operating-system component and add convenience functions (Matthias Klumpp)
* qt: Add operating-system component type and a few utility functions (Matthias Klumpp)
* Allow fetching the ISO8601 date directly alongside the timestamp in AsRelease (Matthias Klumpp)
* Implement date_eol for AsRelease (Matthias Klumpp)
* Add convenience methods for retrieving date_eol as UNIX timestamp (Matthias Klumpp)
* qt: Allow retrieving the EOL timestamp for releases (Matthias Klumpp)
* Implement new release details URL (Matthias Klumpp)
* Make rDNS conversion function more generic and add more extensive tests (Matthias Klumpp)
Specification:
* docs: <release> tag can have details url (Jehan)
* spec: Specify the operating-system component (Matthias Klumpp)
* spec: Specify date_eol for releases (Matthias Klumpp)
* docs: Explicitly state list items are allowed in ol/ul lists (Matthias Klumpp)
Bugfixes:
* Don't warn about issues in a cache refresh if there weren't any (Matthias Klumpp)
* Ensure releases are always sorted in descending order (Matthias Klumpp)
* pool: Fix g-i for get_components_*() while GPtrArray owns its elements (Rico Tzschichholz)
Translation:
* Chinese (Simplified)
- Dingzhong Chen
* German
- Johannes Keyser
* Turkish
- Mesut Akcan
* French
- Nathan
* Czech
- Pavel Borecki
* Catalan
- Robert Antoni Buj Gelonch
* Portuguese:
- ssantos
Version 0.12.4
~~~~~~~~~~~~~~
Released: 2018-12-22
Features:
* pool: Be a lot more forgiving when encountering invalid components (Matthias Klumpp)
* Implement component removal via remove-component merges (Matthias Klumpp)
* validator: Warn about insecure URLs, handle mailto: URLs (Matthias Klumpp)
* Add a contact URL type (Robert Ancell)
Specification:
* Document new remove-component merge type (Matthias Klumpp)
Bugfixes:
* as-pool: fix GObject annotation for GPtrArray owning the elements (Corentin Noël)
* Make invalid components ratio check more accurate (Matthias Klumpp)
* Ensure description paragraphs contain no invalid XML tags (Matthias Klumpp)
Translation:
* Norwegian Bokmål
- Allan Nordhøy
* Swedish
- Anders Jonsson
* Chinese (Traditional)
- Chang-Chia Tseng
- Jeff Huang
* Dutch
- Heimen Stoffels
* Russian
- Igor
* Galician
- Iván
* Japanese
- Ryo Nakano
- Kyotaro Iijima
* Turkish
- Mesut Akcan
* Italian
- Milo Casagrande
* Lithuanian
- Moo
* Polish
- Piotr Drąg
* Portuguese (Brazil)
- Rafael Fontenelle
* Portuguese
- ssantos
* Ukrainian
- Yuri Chornoivan
* Arabic
- alaazghoul
- mohammadA
Version 0.12.3
~~~~~~~~~~~~~~
Released: 2018-10-22
Notes:
* Beginning with this release, data from local .desktop files will not be loaded into
the pool automatically, unless a metainfo file also exists.
This should ensure less duplicated components in general higher-quality data to be
displayed. It also provides another incentive to add/fix metainfo files.
If you prefer the previous behavior, set the AS_POOL_FLAG_READ_DESKTOP_FILES flag
on your AsPool instance.
Features:
* apt: Ignore errors post-update (Matthias Klumpp)
* validator: Allow content_rating to be empty (Matthias Klumpp)
* ascli: Display stock icon name if no suitable icon was found for details view (Matthias Klumpp)
* Refactor loading of local metainfo files (Matthias Klumpp)
Specification:
* spec: Clarify the requirement for content_attribute tags in content_rating (Matthias Klumpp)
* docs: Write intro for addon quickstart (Matthias Klumpp)
* docs: Replace hyphens in component-IDs of XML examples (Matthias Klumpp)
Bugfixes:
* Ensure all addons are linked to a component (David Hewitt)
* Annotate nullable return types (David Hewitt)
* cache: Set explicit variant types for cases where they can not be inferred (Matthias Klumpp)
* utils: Handle NULL strings when comparing versions (Matthias Klumpp)
* Explicitly include string.h in as-tag.c (Matthias Klumpp)
* Properly ignore desktop-entry components if we have better data (Matthias Klumpp)
* Remove AppStream XSD schema (Matthias Klumpp)
* Update static data (Matthias Klumpp)
* Set error variable if there were some errors during refinement (Stefan Bruens)
Translation:
* Norwegian Bokmål
- Allan Nordhøy
- Petter Reinholdtsen
* German
- Chris
* Spanish
- Tatiana Canales
* Japanese
- rikanotank1
Version 0.12.2
~~~~~~~~~~~~~~
Released: 2018-08-04
Bugfixes:
* Fix a couple of incorrect g_ptr_array_unrefs (Iain Lane)
* Use autofree functions instead of freeing resources
explicitly (Matthias Klumpp)
* Add missing const (Matthias Klumpp)
* Ensure we don't produce a .pc file with unnecessary
Requires.private lines (Matthias Klumpp)
* Stop leaking local GVariantDict instance contents (Phil Miller)
* Drop leaked references to container items (Phil Miller)
Translation:
* Norwegian Bokmål
- Allan Nordhøy
* Swedish
- Anders Jonsson
* Indonesian
- Andika Triwidada
* Chinese (Traditional)
- Chang-Chia Tseng
* Dutch
- Heimen Stoffels
* French
- Hugo Locurcio
* Deutsch
- James Bond
* Italian
- Milo Casagrande
* Lithuanian
- Moo
* Čeština
- Pavel Borecki
* Português (Brasil)
- Rafael Fontenelle
* Catalan
- Robert Antoni Buj Gelonch
* Arabic
- alaazghoul
Version 0.12.1
~~~~~~~~~~~~~~
Released: 2018-06-10
Features:
* ascli: Add command to compare version numbers (Matthias Klumpp)
* yaml: Allow reading multiple localized strings from YAML data (Matthias Klumpp)
* yaml: Always include the untranslated strings (Matthias Klumpp)
* Allow to ignore media_baseurl when parsing metadata (Matthias Klumpp)
* xml: Add implementation of the agreement tag (Matthias Klumpp)
* Add new "repository" component type (Matthias Klumpp)
* yaml: Implement Agreements field (Matthias Klumpp)
* cache: Implement support for agreements (Matthias Klumpp)
* tests: Improve cache data tests, add agreement tag test (Matthias Klumpp)
* Use gperf for perfect hash generation for some tags (Matthias Klumpp)
* tests: Add rundimentary performance test (Matthias Klumpp)
* its: Mark agreement sections as translatable (Matthias Klumpp)
* qt: Add support for service/repository component types (Matthias Klumpp)
Specification:
* docs: Describe the custom tag (Matthias Klumpp)
* spec: Describe the new agreement tag (Matthias Klumpp)
* docs: Clarify that the /usr/share/appdata/ path is legacy and should
not be used (Matthias Klumpp)
Bugfixes:
* its: Allow translation of release descriptions (Marc J)
* Load data from desktop files properly again (Matthias Klumpp)
* Update desktop-environment list (Matthias Klumpp)
* qt: Don't warn about inlining in maintainer mode (Matthias Klumpp)
Translation:
* Spanish
- Adolfo Jayme Barrientos
* Русский
- Igor
* French
- Jean-François Michaud
* Dutch
- Jeff Huijsmans
* Polish
- Piotr Drąg
* Ukrainian
- Yuri Chornoivan
Version 0.12.0
~~~~~~~~~~~~~~
Released: 2018-04-04
Features:
* Implement release types (Matthias Klumpp)
* qt: Support release types (Matthias Klumpp)
* Update static data lists (Matthias Klumpp)
* Make as_str_replace use as_gstring_replace internally (Matthias Klumpp)
* spdx: Add some compatibility workarounds for SPDX 3.0 (Matthias Klumpp)
* validator: Validate SPDX license expressions for metadata_license (Matthias Klumpp)
* apt: Add config snippets to enable icon downloads (Matthias Klumpp)
* yaml: Ensure all string values have whitespaces stripped (Matthias Klumpp)
* Make as_component_get_launchables public API (Matthias Klumpp)
* Implement support for requires/recommends (Matthias Klumpp)
* Add recommends/requires data to the cache (Matthias Klumpp)
* Add a quick way to check if a version satisfies an AsRelation requirement (Matthias Klumpp)
* ascli: Properly document the --no-net flag (Matthias Klumpp)
* ascli: Allow to disable network acces via an environment variable (Matthias Klumpp)
* apt: Support 48x48px icons (Matthias Klumpp)
* yaml: Make Requires/Recommends data more compact and easier to emit (Matthias Klumpp)
* validator: Validate requires/recommends tags (Matthias Klumpp)
* Default to format version 0.12 (Matthias Klumpp)
Specification:
* spec: Add a "type" property to <release/> tag. (Jehan)
* spec: Initial draft for requires/recommends (Matthias Klumpp)
* spec: Document the YAML Rquires/Recommends fields (Matthias Klumpp)
* spec: Clarify that the memory requirement uses MiB as unit (Matthias Klumpp)
Bugfixes:
* qt: Implement missing constructors (Aleix Pol)
* apt: escape the icon scale factor as it is using the arobase character (Corentin Noël)
* Check plain language string in as_component_localized_get as well (Antonio Rojas)
* qt: Define location and soname for all configurations, not just Debug (Gabriel Souza Franco)
* Never override high-quality data with incomplete .desktop data (Matthias Klumpp)
* Make data update script work with recent SPDX (Matthias Klumpp)
* Add a timeout to URL validity checks (Matthias Klumpp)
Translation:
* Ukrainian
- AB
- Yuri Chornoivan
* Norwegian Bokmål
- Allan Nordhøy
* Swedish
- Anders Jonsson
* Indonesian
- Andika Triwidada
- se7entime
* German
- Andreas Kleinert
* Hungarian
- Balázs Meskó
- Balázs Úr
* Chinese (Traditional)
- Chang-Chia Tseng
* Russian
- Igor
* Finnish
- Juhani Numminen
* Korean
- Jung-Kyu Park
* Portuguese (Brazil)
- Luiz Fernando Ranghetti
- Rafael Fontenelle
- Rafael Henrique Mendes de Oliv
* Slovak
- Matúš Baňas
* Arabic
- Michal Čihař
- Mutaz Tayyeb AbuSaad
* Italian
- Milo Casagrande
* Lithuanian
- Moo
* Czech
- Pavel Borecki
* Polish
- Piotr Drąg
* Catalan
- Robert Antoni Buj Gelonch
Version 0.11.8
~~~~~~~~~~~~~~
Released: 2018-01-22
Features:
* validator: Emit a hint in case a discouraged AppStream ID style is used (Matthias Klumpp)
* l10n: Renamed Norwegian Bokmål language file (Matthias Klumpp)
Specification:
* docs: Add quickstart instructions for intltool (David Steele)
* spec: Discourage use of hyphens and digit-started segments for IDs (Matthias Klumpp)
Bugfixes:
* qt: Export the AppStreamQt target (Aleix Pol)
* Various string improvements (Allan Nordhøy)
* validator: Don't make HEAD requests for URL checks, fetch first byte instead (Matthias Klumpp)
* Enforce a non-broken version of gobject-introspection (Matthias Klumpp)
* Ensure LINGUAS update is only run explicitly (Matthias Klumpp)
* Fix a minor memory and fd leak (Matthias Klumpp)
Translation:
* Norwegian Bokmål
- Allan Nordhøy
- Petter Reinholdtsen
* Swedish
- Anders Jonsson
- Allan Nordhøy
* German
- Andreas Kleinert
* Chinese (Traditional)
- Chang-Chia Tseng
* Chinese (Simplified)
- Dingzhong Chen
* French
- Emmanuel Gil Peyrot
- Yvan Masson
* Dutch
- Heimen Stoffels
* Russian
- Igor
* Slovak
- Martina Tatranská
* Italian
- Milo Casagrande
* Czech
- Pavel Borecki
* Polish
- Piotr Drąg