forked from ximion/appstream
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
2201 lines (1937 loc) · 87.7 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.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
* Ukrainian
- Yuri Chornoivan
Version 0.11.7
~~~~~~~~~~~~~~
Released: 2017-10-22
Notes:
* The appstreamcli validation commands now use curl if it is available to check all
URLs in the metadata for existence.
If you don't want this behavior, pass "--nonet" to appstreamcli. There might also
be false positives (one is known with the KDE bugtracker) that need to be investigated,
so feedback on this new feature is welcome.
Features:
* validator: Check all urls for validity (Matthias Klumpp)
* validator: Check web-application components for missing tags (Matthias Klumpp)
* Add API to retrieve the AppStream library version (Matthias Klumpp)
* apt: Allow fetching 128x128@2 HiDPI icons (Rico Tzschichholz)
Specification:
* Add the "url" launchable type (Dimitrios Christidis)
* spec: Clarify some icon details in the collection data (Marius Vollmer)
* spec: Allow <icon> tags in generic components (Marius Vollmer)
* spec: Specify the web-application component type (Matthias Klumpp)
Bugfixes:
* Fix endless loop when validating screenshots (Matthias Klumpp)
* ascli: Show a list of component-types when --help is passed to new-template (Matthias Klumpp)
* validator: Drop the wget fallback, making missing curl only an info (Matthias Klumpp)
* meson: Properly define header-file in gir (Rico Tzschichholz)
Translation:
* Norwegian Bokmål [new!]
- Allan Nordhøy
* Swedish
- Anders Jonsson
* German
- Andreas Kleinert
* Chinese (Traditional)
- Chang-Chia Tseng
* Dutch
- Heimen Stoffels
* Italian
- Milo Casagrande
* Czech
- Pavel Borecki
* Polish
- Piotr Drąg
* Ukrainian
- Yuri Chornoivan
Version 0.11.6
~~~~~~~~~~~~~~
Released: 2017-10-02
Features:
* Improve screenshot validation (Matthias Klumpp)
* Allow to disable introspection (Matthias Klumpp)
Bugfixes:
* Revert back to the old build option names (Matthias Klumpp)
* Apply maintainer flags equally to C++ and C (Matthias Klumpp)
* Explicitly set C/C++ standard versions (Matthias Klumpp)
* vapi: Include the right header (Matthias Klumpp)
* xml: Correctly write screenshots tag again (Matthias Klumpp)
* Do not cache a screenshot that doesn't have images (Matthias Klumpp)
* xml: Support legacy screenshot tags again (Matthias Klumpp)
Translation:
* Swedish
- Anders Jonsson
* Portuguese (Brazil)
- Davi da Silva Böger
- Rafael Fontenelle
Version 0.11.5
~~~~~~~~~~~~~~
Released: 2017-09-04
Features:
* Restructure build feature flags (Matthias Klumpp)
* Allow disabling API documentation build (Matthias Klumpp)
Bugfixes:
* qt: Don't check bitness when finding AppStreamQt (Matthias Klumpp)
Translation:
* Indonesian
- se7entime
Version 0.11.4
~~~~~~~~~~~~~~
Released: 2017-08-30
Notes:
* This release switches the build system from CMake to Meson. You will need
Meson (>= 0.42) in order to build AppStream. Please test for any regressions.
Features:
* Implement Meson support (Matthias Klumpp)
* meson: Make build with sanitizers (partially) work again (Matthias Klumpp)
* meson: Add helper script for building documentation (Matthias Klumpp)
* docs: Always rebuild documentation on-demand (Matthias Klumpp)
* Update README for Meson (Matthias Klumpp)
* Implement cockpit-manifest launchable type (Matthias Klumpp)
* validator: Actually validate the type property of "launchable" tags (Matthias Klumpp)
* Allow to search the pool for components that provide a launchable (Matthias Klumpp)
* qt: Add new function to search components by launchable (Matthias Klumpp)
Specification:
* spec: New "cockpit-manifest" launchable type (Marius Vollmer)
Bugfixes:
* validator: Complain if a component has no ID (Matthias Klumpp)
Translation:
* Chinese (Traditional)
- Chang-Chia Tseng
* Polish
- Piotr Drąg
Version 0.11.3
~~~~~~~~~~~~~~
Released: 2017-08-04
Bugfixes:
* qt: Don't crash when an error is found and no error string is passed (Aleix Pol)
* Propagate document context to the context object for XML files (Matthias Klumpp)
* validator: Correctly recognize "launchable" as valid tag (Matthias Klumpp)
Translation:
* Swedish
- Anders Jonsson
* Czech
- Pavel Borecki
* Catalan
- Robert Antoni Buj Gelonch
Version 0.11.2
~~~~~~~~~~~~~~
Released: 2017-07-18
Features:
* cache: Refactor cache functions (Matthias Klumpp)
* Deduplicate origin/locale/arch with AsContext (Matthias Klumpp)
* Get rid of a couple of internal helper methods (Matthias Klumpp)
* cli: When using convert, always assume collection style for YAML (Matthias Klumpp)
Specification:
* Adjust docs to clearly state that licenses are SPDX expressions (Harald Sitter)
Bugfixes:
* qt: Improve Icon QDebug information (Aleix Pol)
* Resolve crash when serializing lots of XML documents (Matthias Klumpp)
* xml: Don't truncate translated entries after encounting a wrong locale (Matthias Klumpp)
* Set a real locale if locale is set to "ALL" (Matthias Klumpp)
* validator: Make ending dot in component name only a pedantic issue (Matthias Klumpp)
Translation:
* Arabic
- Heba ahmed
* Russian
- Igor
* Italian
- Milo Casagrande
* Lithuanian
- Moo
* Spanish
- Piotr Drąg
Version 0.11.1
~~~~~~~~~~~~~~
Released: 2017-07-02
Notes:
* This release contains refactoring of the XML/YAML parsers and some other changes that are more invasive
than usual.
Features:
* qt: Add new getters/setters and classes to be on par with the GObject library (Jan Grulich)
* qt: Add AS::Metadata class used for parsing desktop and appstream metadata files (Jan Grulich)
* Refactor the XML parser and serialization code (Matthias Klumpp)
* Refactor the YAML parser and emitter code (Matthias Klumpp)
* Implement 'service' component type (Matthias Klumpp)
* Improve speed of metainfo description parsing slightly (Matthias Klumpp)
* test: Add additional testcase for reading metainfo description tags (Matthias Klumpp)
* test: Test metainfo descriptions starting with enumerations (Matthias Klumpp)
Specification:
* doc: Add Distro Packaging page (Jeremy Bicha)
* doc: Add "service" components and their launchables (Marius Vollmer)
* Allow components to provide other components (provides -> id) (Matthias Klumpp)
Bugfixes:
* doc: Uncomment line in middle of paragraph (Jeremy Bicha)
* doc: A releases tag is not essential for components, but summary is (Matthias Klumpp)
* Allow descriptions to start with an enumeration (Matthias Klumpp)
* Ensure we always update with fresh data when refreshing the cache (Matthias Klumpp)
* Replace invalid components in the pool with new ones of the same name (Matthias Klumpp)
* Resolve a few potential bugs (found by static checks) (Matthias Klumpp)
* xml: Check if we are trying to parse a real component (Matthias Klumpp)
Translation:
* Spanish
- Adolfo Jayme-Barrientos
* Hungarian
- Balázs Úr
* Dutch
- Heimen Stoffels
* Russian
- Igor
* French
- Jean-Baptiste
* Lithuanian
- Moo
* Czech
- Pavel Borecki
* Polish
- Piotr Drąg
* Ukrainian
- Yuri Chornoivan
* Serbian (latin)
- Слободан Симић(Slobodan Simić)
Version 0.11.0
~~~~~~~~~~~~~~
Released: 2017-05-03
Features:
* Implement read/write support for content ratings (Matthias Klumpp)
* tests: Test the content_rating tag XML read/write (Matthias Klumpp)
* yaml: Read/write ContentRating (Matthias Klumpp)
* cache: Handle the content-rating property (Matthias Klumpp)
* Add new AsLaunch type (Matthias Klumpp)
* Fully implement the launchable tag (Matthias Klumpp)
* Recognize scaling factor for HiDPI icons (Matthias Klumpp)
* apt: Allow fetching HiDPI icons (Matthias Klumpp)
Specification:
* spec: Don't give wrong information about the <font/> tag (Matthias Klumpp)
* spec: Specify content_rating tag for content age ratings (Matthias Klumpp)
* spec: Specify the new launchable tag and apply its effects (Matthias Klumpp)
* spec: Add note on where to place icons with a scaling factor (Matthias Klumpp)
Bugfixes:
* Add missing word in string (Anders Jonsson)
* yaml: Fix crash when serializing component with a dbus:user provided item (Matthias Klumpp)
* cache: Don't write cache if there are no valid components (Matthias Klumpp)
* docs: Clarify "permissive" for metadata_license and make the paragraph more explicit (Matthias Klumpp)
* Ensure GVFS never starts in root user slice (Matthias Klumpp)
* Correctly tokenize values with dash or plus (Matthias Klumpp)
* vapi: Add appstream.deps file (Rico Tzschichholz)
Translation:
* Swedish
- Anders Jonsson
- Josef
* Indonesian
- Andika Triwidada
* Chinese (Traditional)
- Chang-Chia Tseng
* Chinese (China)
- Dingzhong Chen
- 陈鼎中
* Gaelic
- GunChleoc
* Dutch
- Heimen Stoffels
* Russian
- Igor
- Maxim Taranov
* French
- Jean-Baptiste
* Italian
- Milo Casagrande
* Lithuanian
- Moo
* Turkish
- Muhammet Kara
* Polish
- Piotr Drąg
* Ukrainian
- Yuri Chornoivan
* Serbian
- Slobodan Simić
Version 0.10.6
~~~~~~~~~~~~~~
Released: 2017-01-22
Features:
* validator: Be more strict about the <icon> tag types in metainfo files (Matthias Klumpp)
* validator: Unconditionally check for name and summary (Matthias Klumpp)
* Move all merge logic to AsComponent (Matthias Klumpp)
* Allow making AppStream consume data from metainfo instead of collection files (Matthias Klumpp)
* apt: Do not enable any icon downloads by default (Matthias Klumpp)
* validator: Check categories in XML as well (Matthias Klumpp)
* cli: Make templates for different component-types a bit more useful (Matthias Klumpp)
* Allow a few more permissive licenses for metadata_license (Matthias Klumpp)
* Add support for "+" operator at the end of SPDX license identifiers (Kalev Lember, Matthias Klumpp)
* cli: Print tiny summary after validation (very useful for validate-tree) (Matthias Klumpp)
* validator: Validate for hyperlinks in description / summary / developer-name (Matthias Klumpp)
* validator: Make missing long description a pedantic issue in more cases (Matthias Klumpp)
* Also recognize "FSFUL" license as pemissive (Matthias Klumpp)
* validator: Adjust priorities of missing modalias/font tags in driver/font components (Matthias Klumpp)
* Skip loading desktop-entries if we know their component already (Matthias Klumpp)
* Be lazier, only parse what is necessary in the data pool (Matthias Klumpp)
Specification:
* spec: Clarify that name/summary are now always required for metainfo files (Matthias Klumpp)
* spec: Clarify desktop vs. desktop-application (Matthias Klumpp)
* spec: Add a small paragraph about whether and what xmlns to use (Matthias Klumpp)
* spec: Make it clear <categories/> can be used in metainfo files too (Matthias Klumpp)
* spec: Make clear that update_contact's value is case-insensitive (Matthias Klumpp)
* docs: Make sure all examples follow the reverse-DNS scheme (Matthias Klumpp)
Bugfixes:
* Don't hardcode share dir but use CMAKE_INSTALL.. (Heiko Becker)
* validator: Don't enforce .desktop suffix on desktop-app component IDs (Matthias Klumpp)
* qt: Allow catching error strings returned by Pool::load (Aleix Pol)
* Always drop data from desktop-entry files if we have better metadata (Matthias Klumpp)
* apt: Install icons back if they went completely missing (Matthias Klumpp)
* Update SPDX and TLD data (Matthias Klumpp)
* yaml: Read release/urgency key (Matthias Klumpp)
Translation:
* Chinese (Taiwan)
- Chang-Chia Tseng
* Dutch (new!)
- Heimen Stoffels
* Russian
- Igor
* Finnish
- Juhani Numminen
- Lari Oesch
* Portuguese
- Manuela Silva
* Italian
- Milo Casagrande
* Czech
- Pavel Borecki
* Polish
- Piotr Drąg
* Ukrainian
- Yuri Chornoivan
* French