File: NEWS

package info (click to toggle)
appstream 1.1.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,408 kB
  • sloc: ansic: 51,906; xml: 10,459; cpp: 4,721; python: 538; sh: 260; makefile: 24
file content (3243 lines) | stat: -rw-r--r-- 133,039 bytes parent folder | download
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
Version 1.1.1
~~~~~~~~~~~~~
Released: 2025-10-02

Features:
 * Add option to disable man page creation

Bugfixes:
 * Add explicit UTF-8 tests to check for libfyaml's unicode handling
 * yaml: Drop implicit string quoting, make it explicit

Miscellaneous:
 * qt: Drop support for Qt5

Contributors:
 Matthias Klumpp

Version 1.1.0
~~~~~~~~~~~~~
Released: 2025-09-16

Notes:
 * This release switches to libfyaml for YAML parsing. This allows us to
   support YAML 1.2 and limit parsing to it, enables better JSON parsing,
   and lower peak memory use when processing YAML. It also allows for future
   memory optimizations.
   Parsing a more restricted set of YAML may also help security.
 * This release also seals some internal libappstream-compose API
   that was public for a while for use by appstream-generator.
   It has no users anymore and should not have been public. This is one
   step closer to declaring the compose C API stable as well.

Features:
 * Port YAML parsing to libfyaml
 * Port YAML emission to libfyaml
 * compose: Port to libfyaml
 * yaml: Reduce string copies when comparing main keys, compare lengths first
 * yaml: Reduce copies when filling locale tables and string list
 * compose: Add support for JPEG-XL
 * compose: Make the AscImage API more generic
 * compose: Seal away all GdkPixbuf and AscCanvas references from public API

Bugfixes:
 * validator: Fix possible double dereference of the same issue instance
 * tests: Pass tests with older versions of libfyaml
 * Fix a few double-free issues in error conditions
 * compose: Fix possible race condition when fetching pangrams
 * compose: Draw better background shapes and center text properly for font icons
 * parser: Guard against "tag" elements with NULL values
 * yaml: Allow duplicate keys when parsing data (speeds up parsing dramatically)
 * cache: Fix potential use-after-free issue when counting components

Miscellaneous:
 * Update COPYING with latest from FSF
 * Update GPL-2.0.txt with latest from FSF
 * compose: Prefer int over uint everywhere in AscImage API

Contributors:
 Marc-André Lureau, Matthias Klumpp

Version 1.0.6
~~~~~~~~~~~~~
Released: 2025-08-14

Features:
 * compose: Accept .ttc font files
 * compose: Give font icons a background shape
 * compose: Render more elaborate font sample cards

Bugfixes:
 * compose: Insert screenshot tags for auto-generated font screenshots
 * compose: Trim substring when truncating font sample text
 * meson: don't override appstreamcli when cross-building
 * compose: Prefer rendering font icon with "Regular" style
 * compose: Sanitize font text samples before using them as icon
 * Follow directory symlinks when looking for Flatpak data
 * compose: Drop bad private-header include in public header
 * compose: Drop unneeded const declaration for GKeyFile
 * Fix typo that prevented video metadata from being composed properly

Contributors:
 Joey Riches, Marc-André Lureau, Matthias Klumpp

Version 1.0.5
~~~~~~~~~~~~~
Released: 2025-04-24

Features:
 * qt: Expose markup conversion utils
 * desktop-styles: Add android and iOS
 * validator: Check for xml:lang="en" being used on description template elements
 * validator: Flag cases of raw text in "description" elements
 * metadata: Add more known extensions into as_metadata_file_guess_style()

Specification:
 * docs: Clarify that the style segment of a screenshot environment is optional
 * docs: Explain consequences of defining an icon for desktop-app metainfo
 * docs: Clarify that description content must be in p/li elements

Bugfixes:
 * validator: mark as_validator_issue_tag_list static
 * docs: Add workaround for gi-docgen misnaming devhelp files
 * compose: Do not permit SVG images as screenshots
 * compose: Don't "forget" to scan remaining paths when re-encountering a dir
 * pool: Try explicit singular term match if we only have low-quality tokens
 * utils: Provide compatibility with Fedora icon tarballs when installing them
 * utils: Remove leftover g_chmod()
 * zstd-decompressor: Pass output/written data when decompression finished
 * utils: Expect a dash in icons file name
 * utils: Recognize .yml* and .yaml* file extension variants, and .zst extension
 * utils: Rename the appstream file when re-saving it on install

Contributors:
 Alyssa Ross, Ismael Asensio, Kolja, Matthias Klumpp, Milan Crha

Version 1.0.4
~~~~~~~~~~~~~
Released: 2024-12-08

Features:
 * bundle: Add AS_BUNDLE_KIND_SYSUPDATE
 * desktop-style-ids: Add dark support for Plasma
 * desktop-style-ids: add pantheon:dark
 * qt: Expose branding color
 * sysinfo: Add memory size detection support for Illumos and Solaris
 * sysinfo: Add memory size detection support for GNU/Hurd
 * validator: Don't fail validation if a snapshot release is missing a time

Specification:
 * docs: Note that support for some legacy path was dropped in 1.0
 * docs: Update fd.o spec URLs
 * docs: Better explain desktop applications
 * Update ESRA website URL

Bugfixes:
 * validator: Make sure we read an initialised variable
 * qt: Specify utc as the dates' timezone
 * tests: Ignore some tests on Windows
 * sysinfo: make uname() usage POSIX compliant
 * Only emit legacy compat tag developer_name for catalog data
 * compose: Allow file discovery even in symlinked directories
 * Avoid a race condition when loading GResource data
 * validator: Mention length limit in summary length warning message
 * utils: Explicitly set permissions on installed metadata files
 * as-vercmp: Fix gtkdoc to not start with '>'

Miscellaneous:
 * desktop-style-ids: Remove Endless
 * ci: Fix FreeBSD build (update `py-gi-docgen`)
 * ci: Update to Ubuntu 24.04 for Debian Testing builds
 * utils: Assume 64px as size when installing an icon tarball of unknown size

Contributors:
 Adrien Plazas, Airat Makhmutov, Aleix Pol, Carl Schwan,
 Cassidy James Blaede, Danielle Foré, Elliott Sales de Andrade,
 James Addison, Marcel Telka, Matthias Klumpp, Roke Julian Lockhart,
 Pino Toscano, sid

Version 1.0.3
~~~~~~~~~~~~~~
Released: 2024-04-24

Features:
 * validator: Check that description lists don't get translated
 * validator: Improve translation checks for descriptions
 * cli: compose: Allow to propagate selected custom entries to catalog output
 * validator: Check for common typo of "scheme_preference" branding property
 * xml: Generate a developer_name compat tag for older 3rd-party parsers
 * validator: Flag duplicate branding colors as invalid
 * Add Plasma Mobile as recognized desktop-style

Specification:
 * docs: Clarify a developer element is not allowed to exist multiple times
 * docs: Explicitly clarify a developer/name element must not be repeated
 * docs: Clarify metainfo translation rules a bit

Bugfixes:
 * qt: Fix relocation of Config.cmake files
 * cli: check-syscompat: Recognize available required controls as available
 * validator: Guard issue emission functions with G_GNUC_PRINTF
 * validator: Always use secure string formatting for issue emit function
 * utils: Explicitly set format style when installing catalog metadata
 * Suppress static-analyzer drawing wrong conclusions on GCC 14

Miscellaneous:
 * docs: List AppStreamCompose as related to AppStream
 * docs: Add manpages back
 * validator: Mark developer-id-missing as info-priority again

Contributors:
 JakobDev, John Zimmermann, Matthias Klumpp, Max Buchholz, tytan652

Version 1.0.2
~~~~~~~~~~~~~~
Released: 2024-02-24

Features:
 * qt: Allow building for multiple Qt major versions at once
 * Improve low-quality category check and extend its blacklist
 * validator: Add some limited developer-ID validation
 * validator: Emit an overridable warning if homepage URL was omitted
 * compose: Allow rendering vector graphics to HiDPI bitmaps unconditionally
 * compose: Allow setting a custom icon-policy on the command-line

Specification:
 * docs: Mention that <summary/> tag can be translated
 * docs: Generate validation issue tag documentation from code
 * docs: Add information on how to exclude elements from translation
 * spec: Recommend using rDNS strings or Fediverse handles as developer-ID
 * spec: Make launchable requirement for desktop-apps more strict

Bugfixes:
 * qt: Component::customValue should be const
 * validator: Remove mention of shorthands from relation-display-length-value-invalid
 * sysinfo: Swap arguments of g_pattern_match_simple
 * qt: Add missing screenshot sorting function
 * qt: pool: Add missing Q_EMIT keyword
 * validator: Improve error message if no valid categories were found
 * validator: Make some length limitations more strict
 * validator: Only emit developer-name-tag-deprecated once
 * validator: Ensure filename is properly included in location info again
 * validator: Improve error reporting on images with missing/bad locales
 * compose: Don't accidentally set icon scale to 0 in some cases
 * compose: Add heuristics to show out-of-scope errors if filters were set
 * Don't prematurely abort URL validity check during semi-large redirects
 * docs: Update supported hashsums to reflect reality
 * docs: Describe version comparison letters special case
 * docs: Clarify release descriptions *must not* contain embedded URL
 * docs: Explicitly mention /var/cache/swcatalog is a valid catalog data location
 * tests: Fix tests with old & new FontConfig
 * its: Allow untranslatable developer/name and agreement sections

Miscellaneous:
 * compose: Clarify that "no valid category" can mean bad ones were ignored
 * news-convert: Don't strip out the last text in brackets

Contributors:
 Aleix Pol, Alexander Wilms, Fabio, Kolja, Matthias Klumpp, Patrick, ratijas

Version 1.0.1
~~~~~~~~~~~~~~
Released: 2023-12-16

Bugfixes:
 * Fix lib name for Qt5 link target
 * meson: Pass -D_DARWIN_C_SOURCE on darwin
 * Fix macOS build
 * stemmer: Resolve potential issue where stemmer may never be initialized
 * cli: Don't fail what-provides if components were found
 * Fix query element order for what-provides queries
 * validator: Demote developer-name-tag-deprecated to info severity for now
 * content-rating: Fix missing or wrong value descriptions for rating IDs
 * curl: Add transfer speed timeouts for HTTP downloads
 * curl: Retry operations on potentially transient errors

Miscellaneous:
 * validator: Improve hint for content-attribute-value-invalid
 * Allow building without zstd temporarily

Contributors:
 Antonio Rojas, Bobby Rong, Matthias Klumpp, Rui Chen

Version 1.0.0
~~~~~~~~~~~~~~
Released: 2023-11-11

Notes:
 * This version breaks API and bumps the SONAME of libappstream!
   Applications using AppStream will have to be ported to the new API.
   The 1.0 release is coinstallable with the stable 0.16.x series.

Features:
 * Autoformat C and C++ sources
 * Remove all deprecated symbols
 * Drop support for many deprecated AppStream XML features
 * Use GPtrArray to expose keywords list
 * Add length argument to raw metadata parsing functions
 * Add component array container class
 * Remove named values for display_length relations
 * Make AsPool only accept/return component boxes
 * Port all API away from per-entity locale overrides
 * Reduce appstream.conf to its essentials, make it work on stateless systems
 * Hide search engine details from public API
 * Wrap release entries in AsReleaseList container class
 * Make AsMetadata handle AsReleaseList objects
 * Refactor is_satisfied result into new RelationCheckResult class
 * Add a method to check all relations of a component and get the result
 * Add algorithm to score compatibility with a system, add chassis templates
 * ascli: Add new check-syscompat command to check chassis compatibility
 * Implement environment property for component screenshots
 * Autogenerate translatable DE and gui-environment-style C arrays
 * Expose more advanced markup conversion function, update function names
 * Allow BLAKE3 and SHA512 checksums for release artifacts
 * Stop supporting mailto: URLs in <url/> tags
 * validator: Improve API and simplify it
 * validator: Parse XML in pedantic mode when validating
 * validator: Check screenshot environment property
 * validator: Only apply summary-has-dot-suffix check to untranslated strings
 * compose: Allow creating metadata with complete URLs and no base URL
 * spdx: Add API to retrieve a translated license name from an SPDX ID
 * qt: Switch to building with Qt6
 * qt: Make it possible to iterate ComponentBox
 * qt: Implement AppStream::ComponentBox::erase
 * qt: Allow concatenating two ComponentBoxes
 * qt: Allow loading Pool asynchronously
 * qt: Use ComponentBox/Releases in Qt bindings as well
 * qt: Add support for the new API to check relation satisfaction
 * qt: Maintenance and namespace fixes, use cPtr() to get C pointers everywhere
 * bundle: Add linglong as a new type of bundle
 * Add GUI environment IDs for macOS and Microsoft Windows
 * validator: Check if Release Description is inside description tag
 * validator: Add validation for content_rating
 * Add support for building on Win32
 * win32: change some file/path-related code for portability
 * Implement the developer element for unique developer IDs
 * Implement scaling factor for screenshots
 * component-box: Allow removal of components by-index
 * Implement support for external references and citations
 * Implement usertags for release data as well
 * Move ValueFlags to the context, instead of tieing them to components
 * pool: search: Add additional weight for exact substring matches on names
 * sysinfo: Add memory size detection support for macOS
 * Add support for Zstd for on-disk data compression
 * utils: Make tar unpacker independent of zstd binary presence
 * Drop Python2 provided tag support
 * data: Add ‘Endless’ to the list of desktops
 * Add NetBSD support

Specification:
 * Drop (most) deprecated information
 * docs: Clarify environment-based screenshot ordering
 * Add new  'snapshot' release kind
 * docs: Build all API documentation with gi-docgen
 * spec: Document the new "developer" element
 * spec: Document the "reference" tag for registry references
 * docs: Add example of YAML for references elements
 * Allow hyphens in the last segment of a component-ID
 * docs: Drop outdated information from l10n quickstart guide

Bugfixes:
 * meson: check for docbook xsl stylesheets
 * Fix tweaking of appstream.pc when building as subproject
 * Fix crash in asc_l10n_search_translations_qt()
 * qt: Make Qt6 dependency a system dependency.
 * meson: do not rely on an exe wrapper
 * meson: do not -I/usr/include when !stemmer
 * meson: Prevent building attempts with MSVC
 * meson: Use an SPDX license indentifier in project(license:)
 * Add meson overrides
 * compose: Set lower-cased CID for synthesized components again
 * compose: Set lower-cased CID in desktop-entry parse function
 * compose: Honor prefix in font search
 * compose: Select the correct default icon glyphs for fonts
 * Don't crash when non-YAML documents are read as YAML
 * Do not override default-priority when parsing multiple metadata files
 * Ensure stemmer always has the right locale and token-search works
 * Require a more recent libxmlb to avoid crashes
 * Rename component get_releases to indicate that releases may not be loaded from the web
 * Prevent string-id validation functions from matching source comments
 * Don't define _POSIX_C_SOURCE when building for NetBSD

Miscellaneous:
 * Explain metainfo-ancient error in more detail
 * Make sed invocation more portable
 * Add FreeBSD CI
 * Allow variable shadowing in C++ code
 * Drop the catchall as-enums unit
 * vapi: Drop unneeded metadata
 * Make AsMetadata return a component box for multiple components
 * apt: Make item descriptions more human-friendly
 * Streamline README

Contributors:
 Aleix Pol, Alessandro Astone, Alexander Wilms, Dan Yeaw, Daniel Drake,
 Gary Wang, Gleb Popov, Ingo Klöcker, JakobDev, Jeremy Whiting, Kai Uwe Broulik,
 Marc-André Lureau, Matthias Klumpp, Philip Withnall, Tao Zuhong,
 Thomas Klausner, Tristan Partin, and thanks to all translators mentioned
 in the respective l10n files!

Version 0.16.4
~~~~~~~~~~~~~~
Released: 2023-11-10

Features:
 * Allow hyphens in the last segment of a component-ID
 * Implement the developer element for unique developer IDs
 * Add meson overrides

Bugfixes:
 * meson: Prevent building attempts with MSVC
 * meson: Avoid potentially bad sed backup filename when fixing .pc file

Miscellaneous:
 * Make sed invocation more portable

Contributors:
 Gleb Popov, Matthias Klumpp, Tristan Partin

Version 0.16.3
~~~~~~~~~~~~~~
Released: 2023-08-22

Features:
 * compose: Allow creating metadata with complete URLs and no base URL

Bugfixes:
 * Fix tweaking of appstream.pc when building as subproject
 * Do not override default-priority when parsing multiple metadata files
 * Ensure stemmer always has the right locale and token-search works
 * Require a more recent libxmlb to avoid crashes

Miscellaneous:
 * Work around invalid null-dereference warning in GCC 13

Contributors:
 Daniel Drake, Matthias Klumpp

Version 0.16.2
~~~~~~~~~~~~~~
Released: 2023-04-26

Notes:
 * Due to a past mistake, AppStream until now assumed xml:lang was
   using POSIX locale, while in fact XML locale need to be in BCP47 format.
   Most of the translation tools do this correctly, but notably msgfmt
   when used in batch mode doesn't (which affects anything using Meson's
   i18n module). AppStream is now behaving according to spec, with some
   fallback code in place, but please check your XML is translated
   correctly to ensure all translations are visible.

Features:
 * Add API for asking whether the pool is empty
 * Add DDE to known desktop-environment list
 * validator: Check if Release Description is inside description tag
 * Make AppStream use BCP47 for locale in XML data

Bugfixes:
 * Add missing standard::is-hidden attribute to file search enumerator
 * spdx: Accept brackets in spdx license expression check
 * introspection: Bring back AS_FORMAT_STYLE_COLLECTION into its enum
 * compose: Fix crash in asc_l10n_search_translations_qt()
 * compose: Set lower-cased CID for synthesized components again
 * Don't crash when non-YAML documents are read as YAML

Miscellaneous:
 * sanitizers: Allow null-dereference check again

Contributors:
 Aleix Pol, Caolán McNamara, Corentin Noël, Gary Wang,
 Gleb Popov, JakobDev, Matthias Klumpp, Will Thompson

Version 0.16.1
~~~~~~~~~~~~~~
Released: 2023-02-10

Notes:
 * This is a bugfix-only release to primarily address an issue introduced
   in v0.15.6 that caused any clients using GIR bindings to crash after a while.

Specification:
 * docs: Clarify the locations where catalog icons should be placed
 * spec: Expand documentation for <issue> elements
 * spec: Mention that <issues> is not part of the description
 * spec: Give some guidance about tone in release descriptions

Bugfixes:
 * Fix binding helper macro to behave correctly if a function is passed directly
 * Override-merge icons and provided items correctly
 * tests: Ensure locale is C.UTF-8 in pool tests

Miscellaneous:
 * release: Add sanity checks at beginning of each function

Contributors:
 Corentin Noël, Matthias Klumpp, Pablo Correa Gómez, Philip Withnall

Version 0.16.0
~~~~~~~~~~~~~~
Released: 2023-01-26

Features:
 * pool: Offer API to look up components by bundles
 * Bump format version to 0.16
 * Add new AsSystemInfo to read information about the current OS and device
 * Add helper to get device names from a modalias
 * Implement support for external release metadata
 * Add validation support for external release metadata
 * compose: Validate external release metadata used for the catalog as well
 * its: Add rule for standalone release metadata
 * Add function to test if an AsRelation is satisfied on the current system
 * cli: Add command to list category contents
 * cli: Display colored checkmarks if possible
 * cli: Add new is-satisfied check to test relations from the command-line
 * cli: Add Markdown export support for metainfo-to-news
 * qt: Add support for SystemInfo & relation satisfication checks

Specification:
 * spec: Specify a metadata format for external release descriptions

Bugfixes:
 * Fix build with Clang 15
 * Give a better error message if trying to list too many categories
 * Adjust documentation of AsPool.get_components_by_categories to reflect reality
 * validator: Validate merge component catalog data properly again

Miscellaneous:
 * Consistently name catalog metadata as such everywhere

Contributors:
 Aleix Pol, Matthias Klumpp, Rafael Fontenelle

Version 0.15.6
~~~~~~~~~~~~~~
Released: 2022-12-22

Features:
 * qt: Add API for ContentRating descriptions and ratingIds
 * Add some coccinelle semantic patches for common style issues
 * compose: Allow building without SVG support (for bootstrap only)
 * validator: Check for nodes that are text nodes even though they shouldn't be
 * validator: Extend validation for custom tag
 * validator: Improve Screenshot validation

Specification:
 * docs: Fix typos in <extends> documentation

Bugfixes:
 * validator: internat: Don't allow bandwidth_mbitps when value is offline-only
 * validator: Fix timestamp validation
 * validator: Allow release descriptions to start with punctuation
 * compose: Only add no-metainfo tag if component isn't already ignored
 * compose: Show better error in AscImage if compose was build without rsvg
 * Add a hack to clarify proper PtrArray element ownership for language bindings
 * qt: Port away from deprecated QDateTime API
 * qt: Deprecate Component::requires
 * qt: Fix warning
 * qt: Fix stringListToCharArray and Pool::componentsByCategories
 * qt: Port away from deprecated foreach
 * as-review: Add a typedef for property enums
 * as-review: Install properties at once rather than individually
 * as-review: Specify G_PARAM_STATIC_STRINGS for properties
 * as-review: Emit GObject::notify on property value changes
 * as-review: Add missing property for as_review_{get,set}_priority()
 * ascli: fix NULL pointer dereference

Miscellaneous:
 * docs: Split releases specification into its own section
 * style: Make code easier to read by using helper macros in all places
 * Make some compiler warnings fatal unconditionally

Contributors:
 Aleix Pol, JakobDev, Matthias Klumpp, Nicolas Fella, Philip Withnall,
 r-ricci, Will Thompson

Version 0.15.5
~~~~~~~~~~~~~~
Released: 2022-08-22

Features:
 * validator: Allow severity downgrade of releases-not-in-order for GNOME
 * validator: Perform stricter integer validation
 * validator: Check for url redefinitions
 * Implement the "replaces" tag
 * Add convenience function that check if component is free by license and origin
 * qt: Add wrappers for AsComponent isFree/supports/replaces
 * Always add untranslated component names to the search index
 * validator: Validate the "internet" relation item
 * validator: Add validation for memory relation
 * Implement internet relation item

Specification:
 * spec: Specify a proper "replaces" tag
 * spec: Add an <internet/> kind to requires/recommends/supports

Bugfixes:
 * validator: Don't permit overriding the unknown root tag issue
 * compose: Don't crash if metainfo file contains an invalid stock icon
 * spdx: Fix possible crash when NULL is passed to is_free_license
 * compose: Don't synthesize components for desktop files of settings apps
 * Return the correct values in as_display_length_kind_from_px()
 * validator: Distinguish translatable from not-translatable tags in duplicate checks

Miscellaneous:
 * Silence static analyzer false-positives based on GCC version
 * data: use lxml to get the XDG categories

Contributors:
 JakobDev, Philip Withnall, Pino Toscano, Matthias Klumpp

Version 0.15.4
~~~~~~~~~~~~~~
Released: 2022-05-22

Features:
 * validator: Check timestamp validity
 * validator: Allow (limited) overriding of issue tag severities
 * validator: Add strict mode
 * ascli: validate: Allow simple overriding of issue tags
 * validator: Check for exact relation item redefinitions

Bugfixes:
 * Add vcs-browser URL to metainfo.xml
 * compose: Improve media-baseurl sanity checks for icon/screenshot policies
 * compose: Don't create bad data when localized screenshots exist
 * compose: Sanitize prefix value and verify all units for results
 * compose: Fail and not just warn if we couldn't open a unit
 * compose: Make no-result detection a bit more robust
 * compose: Properly handle localized screenshots
 * compose: Ignore current locale when analyzing screencasts

Contributors:
 JakobDev, Matthias Klumpp

Version 0.15.3
~~~~~~~~~~~~~~
Released: 2022-04-10

Features:
 * qt: Include enums for VcsBrowser and Contribute
 * Add vcs-browser and contribute URL type
 * validate: Improve validation of desktop files alongside metainfo data
 * its: Mark deprecated rules as deprecated
 * Implement l10n support for metainfo keyword tags
 * validator: Perform basic validation of keywords in metainfo data
 * compose: Prefer metainfo keywords over desktop-entry keywords
 * meson: Bump minimum version to 0.62

Specification:
 * docs: Document keywords for metainfo files as well
 * docs: Spell it metainfo, not meta-info if referencing metainfo.xml files
 * spec: Document how keywords in metainfo files should be translated

Bugfixes:
 * qt: If the timestamp is 0, return a default QDateTime()
 * docs: Include compose manual page
 * validate: Point at the right line for description-enum-item-invalid
 * validator: Find data if /usr prefix is missing as well
 * validator: Make insufficient launch data for desktop-apps a hard error
 * Don't fail downloads or URL checks if redirects were involved
 * apt: Only refresh the OS data cache (not the whole system cache) on APT update
 * compose: Emit error if filters are set but no output was generated
 * Centralize GOnce guard to fix an assertion failure in AsComponent

Contributors:
 Aleix Pol, JakobDev, Matthias Klumpp, Simon McVittie

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

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

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

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

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

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
 * 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
   - Yvan Masson

Version 0.10.5
~~~~~~~~~~~~~~
Released: 2016-12-22

Features:
 * Match modalias wildcards on regular searches (Matthias Klumpp)
 * xml: Add methods to get/set custom data in metainfo/collection files (Matthias Klumpp)
 * Make cache update issue messages slightly more verbose (Matthias Klumpp)
 * Add preliminary code for reading metainfo files in addition to .desktop files (Matthias Klumpp)
 * cache: Cache custom fields as well (Matthias Klumpp)

Bugfixes:
 * qt: Make sure dependencies are fetched when looking for the package (Aleix Pol)
 * yaml: Consistently read/write the Suggests field (Matthias Klumpp)
 * Correctly read bundle kind from XML data (Matthias Klumpp)

Translation:
 * Russian
   - Igor
 * German
   - Lukas Selch
 * Italian
   - Milo Casagrande
 * Turkish
   - Muhammet Kara
 * Polish
   - Piotr Drąg
 * Ukrainian
   - Yuri Chornoivan
 * Portuguese (Brazil)
   - dsboger

Version 0.10.4
~~~~~~~~~~~~~~
Released: 2016-11-27

Features:
 * qt: Introduce AppStream::Suggested in the Qt frontend (Aleix Pol)

Bugfixes:
 * Properly validate suggests tag (Matthias Klumpp)
 * qt: Add an empty check to Provided and return it if necessary (Matthias Klumpp)
 * Add path search to find libstemmer headers (#91) (Neal Gompa)

Translation:
 * Indonesian
   - John Vandenberg
   - Prasasto Adi
   - Sandy Kurniawan
 * English (United Kingdom)
   - John Vandenberg
 * Lithuanian
   - Moo

Version 0.10.3
~~~~~~~~~~~~~~
Released: 2016-11-01

Notes:
 * The release breaks the Qt library API. Patches to make KDE Discover use the new API exist
   in its Git master branch, and will be available with Plasma 5.9.
   The patches will likely not enter the stable branch, so if you want to upgrade AppStream,
   you might need to ship patches for Discover downstream to use the new API.

Features:
 * qt: Update API to reflect more recent AppStream features, be easier to
   extend and also a bit faster due to removing needless data conversions.
   (Matthias Klumpp, Aleix Pol)
 * Make components record their origin kind internally (Matthias Klumpp)
 * Provide a file:/ URL for icons when we know a file name (Matthias Klumpp)
 * Add support for Snappy/Snap bundles (Matthias Klumpp)

Specification:
 * Add new AppStream logo and button (Ken Vermette)
 * Add new AppStream logo and buttons to the docs (Matthias Klumpp)

Bugfixes:
 * ascli: When converting, always include all translations (Matthias Klumpp)
 * Match .desktop files and metainfo data properly if ID is lacking .desktop suffix (Matthias Klumpp)

Translation:
 * Chinese (Taiwan)
   - Mingye Wang
 * Chinese (China)
   - Mingye Wang
 * English (United Kingdom)
   - Sandy Kurniawan
 * Indonesian
   - Sandy Kurniawan

Version 0.10.2
~~~~~~~~~~~~~~
Released: 2016-10-10

Features:
 * test: Add unittests for reading urls (Matthias Klumpp)
 * qt: Add AppStream::Category class (Matthias Klumpp)
 * qt: Add missing URL type (Matthias Klumpp)
 * Handle "font" provided type in XML and YAML (Matthias Klumpp)
 * Replace Intltool with modern Gettext/Itstool (Matthias Klumpp)
 * Add logic to parse desktop entries (Matthias Klumpp)
 * Don't add ignored components to the pool (Matthias Klumpp)
 * validator: Validate fd.o domain name, make GNOME warning only pedantic (Matthias Klumpp)
 * validator: Allow languages tag in metainfo files (Matthias Klumpp)
 * Read information from .desktop files and add it to the pool (Matthias Klumpp)
 * Give the client app full control on what data sources we load (Matthias Klumpp)
 * Add private API for component scoping (Matthias Klumpp)

Specification:
 * docs: Clarify name/summary essentialness for desktop-apps (Matthias Klumpp)
 * spec: Clarify how fonts provides should be handled (Matthias Klumpp)
 * spec: Simplify font metainfo, add more examples and clarify requirements (Matthias Klumpp)

Bugfixes:
 * ascli: Replace refresh-index with refresh-cache in help text (#81) (Larry Price)
 * qt: nullptr access on unopened databases resulting in a crash (Harald Sitter)
 * qt: The data pool must always be valid during the Database lifetime (Matthias Klumpp)
 * If search results are going to be sorted, it makes sense for higher scores to be at the top of the list. Fixes #77. (Larry Price)
 * validator: Don't enforce long descriptions on fonts (Matthias Klumpp)
 * Hardcode metainfo directory (Matthias Klumpp)
 * ascli: Make every module use the global no-color flag properly (Matthias Klumpp)
 * validator: Don't emit excess warnings on missing type properties (Matthias Klumpp)

Translation:
 * Hungarian
   - Balázs Úr
 * German
   - James Bond
 * Italian
   - Milo Casagrande
 * Lithuanian (new!)
   - Moo
 * Polish
   - Piotr Drąg
 * Portuguese (Brazil)
   - Rafael Capaci Pereira
 * Ukrainian
   - Yuri Chornoivan

Version 0.10.1
~~~~~~~~~~~~~~
Released: 2016-09-16

Features:
 * Add AppStream button image (Ken Vermette)
 * Ship a metainfo file (Matthias Klumpp)
 * Don't use an extra hash table for AsProvided (Matthias Klumpp)
 * Register bundle type for AppImageKit (Matthias Klumpp)
 * Implement localization component type (Matthias Klumpp)
 * validator: Complain less-loudly when encontering GNOME-specific tags (Matthias Klumpp)
 * validator: Check for superfluous dots (Matthias Klumpp)
 * validator: Strictly validate ID for KDE and GNOME (Matthias Klumpp)
 * ascli: Modernize the way we handle subcommands (Matthias Klumpp)
 * qt: Allow retrieving the desktop-id of a component (Matthias Klumpp)

Specification:
 * Add new driver component type (Matthias Klumpp)
 * spec: Describe localization component type (Matthias Klumpp)

Bugfixes:
 * docs: Add a few missing classes to the API docs (Matthias Klumpp)
 * Fix cache (de)serialization for screenshots and suggestions (Matthias Klumpp)
 * yaml: Set screenshot image type correctly (Matthias Klumpp)
 * cache: Iterate the right dictionary when looking at checksums (#71) (Iain Lane)
 * apt: Ignore broken symlinks in /var/lib/apt/lists (Iain Lane)
 * as_get_yml_data_origin: Error out if opening the file fails for any reason (Iain Lane)
 * Make addons find their target component again (Matthias Klumpp)
 * yaml: Don't fail if we encounter a translated node without template (Matthias Klumpp)
 * Don't  use GObject ref on GPtrArray (Matthias Klumpp)
 * ascli: Read metainfo files correctly when converting files (Matthias Klumpp)
 * xml: Properly serialize provides tag (Matthias Klumpp)
 * pool: Correctly update addon info when loading data from a cache object (Matthias Klumpp)
 * ascli: Auto-disable colors if we are not on a tty (Matthias Klumpp)
 * yaml: Enforce string/int type on YAML scalars (Matthias Klumpp)
 * yaml: Fix loading of cached icons in all formats (Matthias Klumpp)
 * qt: Never lie about a component kind (Matthias Klumpp)

Translation:
 * Hungarian
   - Balázs Úr
 * Chinese (Taiwan)
   - Chang-Chia Tseng
 * German
   - Matthias Klumpp
 * Italian
   - Milo Casagrande
 * Indonesian
   - Mohamad Hasan Al Banna
 * Polish
   - Piotr Drąg
 * Kurdish Sorani [NEW!]
   - Rasti K5
 * Ukrainian
   - Yuri Chornoivan

Version 0.10.0
~~~~~~~~~~~~~~
Released: 2016-08-30

Notes:
 * This release breaks API/ABI in order to support multiple metadata sets describing the same
   component (needed for bundling support), moving away from the database as central data store
   and general cleanup.
 * Porting is relatively straightforward, if you were using AsDatabase, you should switch to AsPool
   now (AsDatabase has been a wrapper around AsPool for a while anyway).
 * Many methods became private API with this release, file a bug if you miss anything.
 * The 'categories.xml' file is gone - please account for that if you were reading it directly,
   and consider using AsCategory instead, which offers the same functionality.

Features:
 * Remove the AsDatabase class (Matthias Klumpp)
 * Use cmakedefine for compile-time features (Matthias Klumpp)
 * Rename AsDataPool -> AsPool (Matthias Klumpp)
 * Add placeholder enum for web applications (Matthias Klumpp)
 * qt: Implement Appstream::Release for the Qt interface (Aleix Pol)
 * Recognize the "Pantheon" desktop for Elementary (Matthias Klumpp)
 * Get rid of the menu parser and make AsCategory more useful instead (Matthias Klumpp)
 * Allow AsComponent to automatically check for list-value duplicates (Matthias Klumpp)
 * Give bundles their own class (Matthias Klumpp)
 * Stop shipping the categories.xml file (Matthias Klumpp)
 * Allow multiple metadata sets in the pool to describe a component (Matthias Klumpp)
 * Name AppStream metadata styles consistently (Matthias Klumpp)
 * Allow the 'C' description fallback to be turned off (Iain Lane)
 * Make AsScreenshot return localized images by default (Matthias Klumpp)
 * Allow to compare AsRelease versions easily (Matthias Klumpp)
 * Make get_icon_repository_paths private API (Matthias Klumpp)
 * ascli: Allow dumping metadata as YAML (Matthias Klumpp)
 * Use GVariant instead of ProtoBuf based cache (Matthias Klumpp)
 * Enable stemming by default (Matthias Klumpp)
 * Make components directly reference their addons, avoiding to query twice (Matthias Klumpp)
 * Refactor data pool metadata loading (Matthias Klumpp)
 * Allow setting the AppStream format version when (de)serializing data (Matthias Klumpp)
 * Always write modern metadata, unless a lower format version is requested explicitly (Matthias Klumpp)
 * Also find components in searches which have the search keyword in an addon (Matthias Klumpp)
 * ascli: Add function to convert XML to YAML and vice versa (Matthias Klumpp)
 * Consistent naming for metadata format and style (Matthias Klumpp)

Specification:
 * spec: Add hint on how the keywords tag should be localized (Matthias Klumpp)

Bugfixes:
 * Resolve unit test failures on arm and mips (Matthias Klumpp)
 * gir: Correctly annotate ownership transference of GPtrArrays (Matthias Klumpp)
 * l10n: Drop languages without translations (Matthias Klumpp)
 * Don't hide symbols in public headers (Matthias Klumpp)
 * Properly validate desktop-environment strings (Matthias Klumpp)
 * validator: Fix name/summary check in validate-tree (Matthias Klumpp)
 * xml: Properly write localized keywords (Matthias Klumpp)
 * Avoid watching superfluous directories for metadata (Matthias Klumpp)
 * Update architecture diagrams and optimize PNGs (Matthias Klumpp)
 * Get rid of Xapian-isms (Matthias Klumpp)

Translation:
 * Chinese (Taiwan)
   - Chang-Chia Tseng
 * Chinese (China)
   - Dingzhong Chen
   - wsxy162
 * French:
   - Christophe CHAUVET
   - Claude Paroz
 * German:
   - Mario Blättermann
 * Czech:
   - Michal Čihař
 * Italian:
   - Milo Casagrande
 * Russian:
   - Nataliia
 * Polish
   - Piotr Drąg
 * Catalan:
   - Robert Antoni Buj Gelonch
 * Ukrainian:
   - Yuri Chornoivan
 * Hungarian:
   - kelemeng

Version 0.9.8
~~~~~~~~~~~~~~
Released: 2016-08-10

Features:
 * qt: Different approach for storing the icon size and url relation (Aleix Pol)
 * Strictly validate AppStream IDs (Matthias Klumpp)
 * Add AsSuggested class (Lucas Moura)
 * tests: Test merges for suggestions (Lucas Moura)
 * Add functions handling SPDX license ids and expressions (Matthias Klumpp)
 * validator: Include a line-hint in the issue report (Matthias Klumpp)
 * Implement console-application component type (Matthias Klumpp)
 * validator: Validate files following the new cid scheme properly (Matthias Klumpp)
 * validator: Validate metadata_license for permissiveness (Matthias Klumpp)
 * Compress cache data (Matthias Klumpp)
 * Implement "translate" URL type (Matthias Klumpp)
 * xml: Implement the suggests tag (Matthias Klumpp)
 * yaml: Implement reading and writing of Suggests field (Matthias Klumpp)
 * Consider merge components valid if they have at least an ID (Matthias Klumpp)
 * yaml: Read/write merge components (Matthias Klumpp)

Specification:
 * spec: Add console-application component type (Matthias Klumpp)
 * spec: Streamline the requirements for component-ids (Matthias Klumpp)
 * spec: Define a "translate" URL type (Matthias Klumpp)
 * spec: Specify the suggests tag (Matthias Klumpp)
 * spec: Describe the merge property (Matthias Klumpp)
 * spec: Proofreading fixes (Philip Withnall)

Bugfixes:
 * Make searching for multiple terms work properly again (Matthias Klumpp)
 * Don't fail on invalid search terms (Matthias Klumpp)
 * Don't re-instantiate stemmer on each use (Matthias Klumpp)
 * ascli: Line-wrap unicode texts properly on the console (Matthias Klumpp)
 * Add missing docs to the API reference (Matthias Klumpp)
 * tests: Add test description to each test (Matthias Klumpp)
 * Sort search results by default (Matthias Klumpp)
 * Fix a few issues with merging (Matthias Klumpp)

Version 0.9.7
~~~~~~~~~~~~~~
Released: 2016-07-20

Notes:
 * This release contains a lot of very invasive changes and deprecates some API, most
   notably AsDatabase. Please test this release carefully.
   There will be an API/ABI break in a future release, so if possible please adjust your
   code to not use deprecated interfaces.

Features:
 * Don't fall back to Debian screenshots server if none is specified for the distro (Matthias Klumpp)
 * Split out distro-specific helpers (Matthias Klumpp)
 * Implement Xapian-less search (Matthias Klumpp)
 * Use a pure PB cache instead of Xapian (Matthias Klumpp)
 * qt: Don't rely on Xapian for searches (Matthias Klumpp)
 * Deprecate AsDatabase (Matthias Klumpp)
 * Hide internal symbols from the symbols table (Matthias Klumpp)
 * Allow injecting components into the pool and unittest the cache (Matthias Klumpp)
 * Add by-category filter to AsDataPool (Matthias Klumpp)
 * Validate Freedesktop category names (Matthias Klumpp)
 * Allow building AppStream with stemming support (Matthias Klumpp)
 * Cache search tokens (Matthias Klumpp)

Specification:
 * docs/quickstart: Clarify the role of releases/provides (Matthias Klumpp)
 * docs/quickstart: Screenshot images don't need to define width/height (Matthias Klumpp)

Bugfixes:
 * qt: Properly expose enums for introspection (Aleix Pol)
 * qt: Make it possible to easily output data types using QDebug (Aleix Pol)
 * xml: Fix formatting of <screenshot/> tag (Matthias Klumpp)
 * xml: Work around non-threadsafe behavior of libxml2 (Matthias Klumpp)
 * xml: Properly write provides tag (Matthias Klumpp)
 * Fix code documentation for as_component_get_id (Lucas Moura)
 * Fix some xmldata methods documentation (Lucas Moura)
 * cli: Create metainfo directory if it is missing and respect DESTDIR (Matthias Klumpp)

Version 0.9.6
~~~~~~~~~~~~~~
Released: 2016-05-12

Features:
 * Improve metadata file decompression code (Matthias Klumpp)
 * validator: Simplify loading of data too (Matthias Klumpp)
 * Make it easy to compile with Address Sanitizer enabled (Matthias Klumpp)
 * Allow compiling with UBSan as well (Matthias Klumpp)
 * Add back support for Travis CI (Matthias Klumpp)
 * yaml: Write Releases field (Matthias Klumpp)

Bugfixes:
 * qt: Properly check for component validity (Matthias Klumpp)
 * Ensure decompressed metadata is null-terminated (Neil Mayhew)
 * validator: Long descriptions are not needed for generic components (Matthias Klumpp)
 * Make VAPI generation depend on GIR typelibs explicitly (Matthias Klumpp)
 * Be more verbose when failing to move the cache directory (Matthias Klumpp)
 * Handle format errors when parsing YAML metadata (Neil Mayhew)

Version 0.9.5
~~~~~~~~~~~~~~
Released: 2016-05-02

Features:
 * Update README (Matthias Klumpp)
 * Provide a bit more hints for translators (Matthias Klumpp)
 * Improve error messages when reading broken XML (Matthias Klumpp)
 * Load all XML in AsXMLData (Matthias Klumpp)
 * Implement reading localized images from metadata (Matthias Klumpp)
 * Write localized images in XML/YAML serialize routines (Matthias Klumpp)
 * Unify codepaths for checking compatible locales (Matthias Klumpp)
 * yaml: Implement read/write support for the Languages field (Matthias Klumpp)
 * xml: Serialize and read languages tag properly (Matthias Klumpp)
 * validator: Validate files in legacy paths too (Matthias Klumpp)

Specification:
 * spec: Allow localized screenshot images (Matthias Klumpp)

Bugfixes:
 * Refactor icon-finding code and fix rare double-free corruption (Matthias Klumpp)
 * Properly validate randomly ordered XML tags for duplicates (Matthias Klumpp)
 * validator: The translation tag is only valid in metainfo files (Matthias Klumpp)
 * Be slightly less pedantic about size info when reading screenshot images (Matthias Klumpp)
 * xml: Properly write <release/> description tag (Matthias Klumpp)

Version 0.9.4
~~~~~~~~~~~~~~
Released: 2016-04-18

Features:
 * Handle legacy screenshot tags (Matthias Klumpp)
 * Print prettier YAML documents (Matthias Klumpp)
 * yaml: Allow loading of distro metadata slices without header (Matthias Klumpp)
 * Do not check for installation candidate on minimal validation (Matthias Klumpp)
 * Don't check if component has an installation candidate before including it (Matthias Klumpp)
 * Quick-check components only when the pool is fully loaded (Matthias Klumpp)
 * Support the stub data of GNOME Software (Matthias Klumpp)
 * Support reading per-component priorities (Matthias Klumpp)
 * Implement the architecture property (Matthias Klumpp)
 * Use architecture data to resolve conflicting IDs (Matthias Klumpp)
 * Add icon size information to generated XML (Matthias Klumpp)
 * xml: Load size hints for icons (Matthias Klumpp)
 * l10n: Update

Specification:
 * docs: Explicitly define more minimally required tags per component type (Matthias Klumpp)
 * Make /usr/share/metainfo the canonical path for upstream metadata (Matthias Klumpp)
 * spec: Make architecture a property of <components/>, and no tag (Matthias Klumpp)
 * spec: Update the cached icon DEP-11 specification to allow size information (Matthias Klumpp)

Bugfixes:
 * Fix a few minor issues spotted by the YAML validator (Matthias Klumpp)
 * Correctly build distro XML descriptions from upstream XML (Matthias Klumpp)
 * Be very strict about which elements are allowed in a description tag (Matthias Klumpp)
 * yaml: Prevent bool keys (Matthias Klumpp)
 * ascli: Properly print long descriptions and wrap lines (Matthias Klumpp)
 * Export less C++ symbols (Matthias Klumpp)
 * Show a better error message when failing to parse XML (Matthias Klumpp)
 * Allow adding 0x0 icons (Matthias Klumpp)
 * yaml: Implement the updated "cached" icon format in a backwards-compatible way (Matthias Klumpp)
 * apt: Drop flat repository entries (Matthias Klumpp)
 * Probe less sizes if we already have size information (Matthias Klumpp)
 * Don't make stubs delete package information from valid components (Matthias Klumpp)
 * apt: Handle quoted origin entries properly (Matthias Klumpp)

Version 0.9.3
~~~~~~~~~~~~~~
Released: 2016-03-24

Features:
 * Allow to update an existing component with fresh metadata
 * Implement YAML serialization
 * writer: Allow to omit writing a header/root node
 * cli: Add convenience method to install metainfo files
 * cli: Add a new "status" command for various diagnostic information
 * yaml: Allow unicode
 * Print prettier XML by default
 * l10n: Update

Bugfixes:
 * Reset umask before building the data cache
 * apt: Work around APT using server mtime for its downloaded files

Version 0.9.2
~~~~~~~~~~~~~~
Released: 2016-02-28

Features:
 * qt: Improve usage of Qt containers (Aleix Pol)
 * qt: Implement Component::extends on the Qt front-end (Aleix Pol)
 * qt: Also call reserve for bundles on the Qt frontend (Aleix Pol)
 * validator: strstrip values when reading XML/YAML and validate linebreaks in summaries (Matthias Klumpp)
 * validator: Check if a description is present (Matthias Klumpp)
 * Always build with YAML support (Matthias Klumpp)
 * Move XML parser into its own class (Matthias Klumpp)
 * Make data-pool use the new YAML-aware metadata parser (Matthias Klumpp)
 * Simplify data-pool building routine (Matthias Klumpp)
 * Preprocess extension information for frontends (Matthias Klumpp)
 * qt: Use the new extensions property (Matthias Klumpp)
 * Implement translations tag (Matthias Klumpp)
 * cli: Document the "install" command (Matthias Klumpp)
 * l10n: Update

Specification:
 * spec: Document the translation tag (Matthias Klumpp)
 * doc: Don't use <tip/> tags in documentation (Matthias Klumpp)
 * spec: Mention the essential tags for a type:desktop component (Matthias Klumpp)

Bugfixes:
 * as-cache-builder: Cope with no YAML documents (Iain Lane)
 * 50appstream: Don't run if we can't write to the system paths (Iain Lane)
 * Check for writability instead of root permissions when updating the cache (Matthias Klumpp)
 * qt: Don't compute screenshot images and then forget about them (Aleix Pol)
 * Add the missing extends property to the Xapian cache (Matthias Klumpp)
 * validator: Don't fail validation for description-less addons. (Matthias Klumpp)
 * Make reading empty cache values more robust (Matthias Klumpp)
 * Check if GIR scanner & compiler are really installed (Matthias Klumpp)

Version 0.9.1
~~~~~~~~~~~~~~
Released: 2016-02-04

Features:
 * Improve Qt5 usage (Aleix Pol)
 * Also use Q_GLOBAL_STATIC for Provides::kindToString (Aleix Pol)
 * validator: Validate the font component type (Matthias Klumpp)
 * Implement date property on release tags (Matthias Klumpp)
 * Ship ITS files from KDE upstream (Matthias Klumpp)

Specification:
 * doc: Clarify why the metadata_license tag is needed (Matthias Klumpp)
 * spec: Specify font component type (Matthias Klumpp)
 * doc: Update year and version (Matthias Klumpp)
 * spec: Specify a date attribute on release tags, containing an ISO8601 time (Matthias Klumpp)

Bugfixes:
 * Lower cmake requirement to 3.1.0 (Harald Sitter)
 * doc: DEP-11 URLs are no integers (Matthias Klumpp)
 * apt: Hide appstreamcli stdout output (Matthias Klumpp)
 * Return specific error when cache was not found (Matthias Klumpp)
 * apt: Ensure DEP-11 files stay gzip compressed (Matthias Klumpp)
 * apt: Correctly test for appstreamcli (Matthias Klumpp)
 * Fix a few memory leaks (Matthias Klumpp)
 * Work around limitations of GLibs time_val_from_iso8601 function (Matthias Klumpp)

Version 0.9.0
~~~~~~~~~~~~~~
Released: 2015-12-12

Notes:
 * This release breaks API/ABI, ensure you adjust your depending applications!
   All code marked as legacy has been removed, as well as some older, now unnecessary
   classes. Instead, new classes, like AsProvided, have now been introduced.
   Take a look at the API documentation for furher information.
 * For Debian-based systems, we now provide full integration with the APT package-manager.
   Support for this feature needs to be explicitly enabled at build-time.

Features:
 * Use modern GLib macros to declare types (Matthias Klumpp)
 * Refactor icon handling (Matthias Klumpp)
 * Refactor handling of provided items (Matthias Klumpp)
 * Modernize AsCacheBuilder class (Matthias Klumpp)
 * Modernize AsCategory class (Matthias Klumpp)
 * Bump API level (Matthias Klumpp)
 * Make some AsComponent methods private (Matthias Klumpp)
 * Drop obsolete utility functions (Matthias Klumpp)
 * Modernize AsDatabase class (Matthias Klumpp)
 * Drop AsSearchQuery (Matthias Klumpp)
 * Make AsDistroDetails a modern class (Matthias Klumpp)
 * Modernize AsMenuParser and AsImage (Matthias Klumpp)
 * Update validator classes (Matthias Klumpp)
 * Improve error handling for database queries. (Matthias Klumpp)
 * Initial code to improve APT integration (Matthias Klumpp)
 * Refine the AsDataPool class (Matthias Klumpp)
 * cli: Add new install command to directly install components (Matthias Klumpp)
 * cli: Make removal of packages by component-id possible (Matthias Klumpp)
 * Make cache builder smarter in detecting metadata changes (Matthias Klumpp)
 * l10n: Update translations

Bugfixes:
 * categories: Add missing icon names (Aleix Pol)
 * Tweak the component-id-collision test slightly (Matthias Klumpp)
 * AsComponent: Added missing documentation (Corentin Noël)
 * gir: Fix warnings (Matthias Klumpp)
 * Always build a new cache if none existed yet in the target location (Matthias Klumpp)
 * Don't do symlink maintenance if target doesn't exist yet (Matthias Klumpp)

Version 0.8.6
~~~~~~~~~~~~~~
Released: 2015-11-06

Features:
 * Define autoptr macros for AppStream types (Matthias Klumpp)
 * Implement the release/size tag (Matthias Klumpp)
 * validator: Check for missing name / summary in metainfo and .desktop files
   (Matthias Klumpp)

Specification:
 * spec: Specify the appstream:// URL handler (Matthias Klumpp)
 * spec: Add new size tag to the release tag (Matthias Klumpp)

Bugfixes:
 * Don't fail displaying package names in component_to_string (Matthias Klumpp)
 * Fixed VAPI compilation. (Corentin Noël)
 * qt: Correctly load icon urls again (Matthias Klumpp)
 * Add missing GIR annotations. (Corentin Noël)
 * Reinitialize the DEP-11 parser after each file (Corentin Noël)

Version 0.8.5
~~~~~~~~~~~~~~
Released: 2015-10-14

Features:
 * Update README
 * Use ProtoBuf to serialize data for the Xapian cache
 * Annotate the proto definition with descriptions about the messages
 * Restructure database schema definition
 * qt: Read screenshots pb data
 * qt: Fully support the new database layout
 * Show if component type is unknown in debug output
 * Implement the release-urgency property
 * qt: Don't build standalone - this now only leads to potential errors
 * qt: Add some very basic unit tests
 * Enable unit-tests unconditionally

Specification:
 * spec: Document the release-urgency property

Bugfixes:
 * Don't stop processing completely, if XML file with errors is found
 * cli: Fix display of detailed output
 * Correctly check the database schema version
 * Move default cache to avoid errors when the old db is still around
 * qt: Ensure database schema version matches
 * Don't crash if database schema is unknown

Version 0.8.4
~~~~~~~~~~~~~~
Released: 2015-09-08

Features:
 * ascli: Validate whole file trees
 * qt: Align version number with the AppStream version numbers
 * validator: Always include the filename in validator output
 * qt: Remove support for Qt4
 * ascli: Allow some commands to bypass the cache
 * Change validator output to make it a bit easier to read
 * validator: Validate metainfo filenames as well
 * l10n: Update translations

Bugfixes:
 * Fix crash when parsing metainfo file without all locales enabled
 * ascli: Make manpage reflect reality

Version 0.8.3
~~~~~~~~~~~~~~
Released: 2015-08-28

Notes:
 * All the different appstream-* tools are now combined in one
   appstream-cli tool.

Features:
 * Be less strict about valid screenshot tags
 * Implement changes on provides/firmware
 * Rename the 'appstream*' tools to 'appstream-cli'
 * Implement MediaBaseUrl property
 * dep11: Implement parsing of Releases

Specification:
 * docs: Document the new naming scheme for type:firmware component IDs
 * Start documenting DEP-11 in AppStream as well
 * docs: Mention the DEP-11 validator tool
 * docs: Completely describe current DEP-11 spec

Bugfixes:
 * The DBus session bus is actually an user bus
 * Fix component priorization for XML and YAML

Version 0.8.2
~~~~~~~~~~~~~~
Released: 2015-06-26

Notes:
 * Ubuntu AppInstall support has been removed from this release, as its data
   never matched the DEP11/ASXML data and pretty much every distribution can offer
   one of those better data sources now.
 * This release contains some heavy refactoring, most importantly it removes the
   "DataProvider" concept and hardcodes the ASXML/DEP11 metadata parsers.
   This improves maintainability and speed of the AppStream libraries.
   Please report any bugs you may find!

Features:
 * Refactor DataProvider code (Matthias Klumpp)
 * Remove DEP-11 validator, it belongs to the dep11 package (Matthias Klumpp)
 * Add icon information to generated XML (Matthias Klumpp)
 * Allow more than one checksum kind per AsRelease (Matthias Klumpp)
 * Propagate bundle information in case multiple components with the same id are found
   (Matthias Klumpp)

Bugfixes:
 * tests: Add unit test for simple XML description writer (Matthias Klumpp)
 * Remove some useless code in AsDataPool and recognize DEP-11 data again (Matthias Klumpp)
 * Fix several quirks in the ASXML description writing code (Matthias Klumpp)
 * tests: Add rudimentary DEP-11 test (Matthias Klumpp)
 * Fix a rare double-free corruption (Matthias Klumpp)
 * Extract correct description markup when reading distro XML (Matthias Klumpp)
 * Updated POTFILES.in (Piotr Drąg)

Version 0.8.1
~~~~~~~~~~~~~~
Released: 2015-05-31

Features:
 * qt: Add QLoggingCategory appstreamqt.database (Daniel Nicoletti)
 * Don't implicitly clear component list when parsing XML (Matthias Klumpp)
 * Implement support for firmware component type (Matthias Klumpp)
 * qt: Recognize firmware component type (Matthias Klumpp)

Specification:
 * spec: Document the firmware component (Matthias Klumpp)

Bugfixes:
 * qt: Remove useless moc file on database.cpp (Daniel Nicoletti)
 * Fix doc symlink install code (Matthias Klumpp)
 * qt: Load developer_name from database (Matthias Klumpp)
 * Prevent crash when saving an empty XML document (Matthias Klumpp)
 * Handle empty XML document as valid file (Matthias Klumpp)
 * Relicense some remaining files from GPLv3 to GPLv2 (Matthias Klumpp)
 * Fix typo which prevented description XML from being generated (Matthias Klumpp)

Version 0.8.0
~~~~~~~~~~~~~~
Released: 2015-01-26

Notes:
 * This release contains a few new tags, <source_pkgname/> and <bundle/>, as well
   as several specification refinements.
   Refer to the documentation for detailed explanations.

Features:
 * qt: Make Qt5 default (Aleix Pol)
 * validator: Hide pedantic issues by default (Matthias Klumpp)
 * Make origin a public property of the metadata generator (Matthias Klumpp)
 * Implement the <bundle/> tag (Matthias Klumpp)
 * qt: Implement support for bundles (Matthias Klumpp)
 * Update the validator to the latest spec version (Matthias Klumpp)
 * Implement <source_pkgname/> tag (Matthias Klumpp)
 * validator: Make it possible to validate a gzip-compressed metadata file (Matthias Klumpp)
 * Install prebuilt documentation by default (Matthias Klumpp)

Specification:
 * spec: Allow width and height properties for "local" and "remote" icons (Matthias Klumpp)
 * spec: Add <bundle/> tag (Matthias Klumpp)
 * spec: Allow bundles of type "xdg-app", additionally to "limba" (Matthias Klumpp)
 * spec: Make clear that <release/> tags may have a <description/> child (Matthias Klumpp)
 * spec: Recommend screenshot sizes for distro-XML (Matthias Klumpp)
 * spec: Specify the <source_pkgname/> tag (Matthias Klumpp)

Bugfixes:
 * Clean up some dead code in Xapian wrapper (Matthias Klumpp)
 * Fix a couple of minor issues found by static code analysis (Matthias Klumpp)
 * asi: Always return a valid exit code (Matthias Klumpp)
 * Always search for data in /usr/share, ignore DATADIR (Aleix Pol)
 * Correctly read and propagate language properties (Matthias Klumpp)
 * Add missing developer_name to database (Matthias Klumpp)
 * Improve database-writing code to ignore NULL values (Matthias Klumpp)
 * Properly write localized XML for some tags (Matthias Klumpp)
 * validator: Fix empty-check for description tag (Matthias Klumpp)
 * validator: Don't perform sanity checks on the metadata tag (Matthias Klumpp)

Version 0.7.6
~~~~~~~~~~~~~~
Released: 2015-01-14

Notes:
 * This release contains some API and ABI breaks. Recompiling against the new library
   should be the only necessary step for most software, if you were not using
   deprecated functionality.

Features:
 * Update translations
 * Update database location for possible fast language switching (Matthias Klumpp)
 * Use colorful output when using GCC and compiling in maintainer-mode (Matthias Klumpp)
 * Make API to parse distro XML in AsMetadata public (Matthias Klumpp)
 * Allow building distro XML from a list of AsComponent objects (Matthias Klumpp)
 * Convert AsComponent into a "modern" GObject (Matthias Klumpp)
 * Add extra multilanguage support to AsComponent, which is needed for
   complete serialization (Matthias Klumpp)
 * Remove functions marked as deprecated (Matthias Klumpp)
 * Add convenience functions to save generated XML (Matthias Klumpp)

Bugfixes:
 * Move component serialization to AsMetadata (Matthias Klumpp)

Version 0.7.5
~~~~~~~~~~~~~~
Released: 2014-11-28

Features:
 * Update translations

Specification:
 * doc: Clarify meaning of icon types (Matthias Klumpp)

Bugfixes:
 * dep11: Fix memory leak in DEP-11 parser (Matthias Klumpp)
 * Fix origin<->name confusion (Matthias Klumpp)

Version 0.7.4
~~~~~~~~~~~~~~
Released: 2014-10-30

Features:
 * Add local icon directories to the icon search path (Matthias Klumpp)
 * Properly handle origin and icons in size-specific directories (Matthias Klumpp)
 * Allow client applications to fetch icons in multiple sizes (Matthias Klumpp)
 * qt: Implement multisize-icons (Matthias Klumpp)
 * qt: Add documentation to the deprecated methods (Matthias Klumpp)
 * validator: Ensure that stock and cached icons only contain the icon basename (Matthias Klumpp)

Bugfixes:
 * dep11: refine quote test (Matthias Klumpp)
 * Don't count it as problem if no metadata is found (Matthias Klumpp)
 * Check if AppInstall directory exists, before attempting to scan it (Matthias Klumpp)
 * Don't query system categories while processing metadata (Matthias Klumpp)

Version 0.7.3
~~~~~~~~~~~~~~
Released: 2014-10-10

Features:
 * Implement basic support for the new icon cache layout (Matthias Klumpp)

Specification:
 * spec: Update the icon-cache layout to allow icons with larger sizes (Matthias Klumpp)

Bugfixes:
 * Treat the text/plain mimetype equal to YAML or XML (Matthias Klumpp)
 * Use camel-case for the AppStream GIR (as used everywhere else) (Matthias Klumpp)
 * qt: Include QMultiHash (Aleix Pol)
 * Fix wrong DATADIR variable (Matthias Klumpp)

Version 0.7.2
~~~~~~~~~~~~~~
Released: 2014-09-22

Notes:
 * This release drops the PackageKit plugin (and the build dependency on PK alltogether).
   This means that AppStream will no longer automagically update the Xapian index. Please
   make sure that tools or packages which modify the AppStream distro XML/YAML call
   'appstream-index refresh' when they are done. (reason for dropping the plugin is PackageKit
   removing support for plugins with its 1.0 release)

Features:
 * Remove the PackageKit plugin (Matthias Klumpp)
 * Use GNUInstallDirs (Matthias Klumpp)

Bugfixes:
 * Ensure that we do not convert NULL to a C++ string (Matthias Klumpp)
 * Fix check for generic/unknown component in XML serialization (Matthias Klumpp)
 * Fix tests on a system which doesn't have a 'categories.xml' (Matthias Klumpp)
 * Fix some compiler warnings with clang (Matthias Klumpp)

Version 0.7.1
~~~~~~~~~~~~~~
Released: 2014-09-08

Features:
 * qt: Make it possible to build AppstreamQt against Qt5 (Aleix Pol)
 * qt: Introduce a method to check if a Qt Appstream::Component is
   fully initialized (Aleix Pol)
 * qt: Make it possible to query the database for the components given
   a package name (Aleix Pol)
 * Improve generator performance by caching the short language code (Matthias Klumpp)
 * qt: Print component id instead of package name in warning messages (Matthias Klumpp)
 * Improve loading of uncompressed distro-metadata (Matthias Klumpp)
 * Allow manually defining the default locale for a data pool (Matthias Klumpp)
 * dep11: Add validator for the DEP-11 file-format (Matthias Klumpp)
 * Add basic function to convert AsComponent to XML (Matthias Klumpp)
 * dep11: Implement DEP-11 data parser based on libyaml (Matthias Klumpp)
 * Share icon-refinement and component-completion between all data providers (Matthias Klumpp)

Bugfixes:
 * qt: Respect the global install paths set by the toplevel CMake file (Matthias Klumpp)
 * docs: get rid of "childrens" (Vladimír Čunát)
 * Don't crash if no timestamp was defined (Matthias Klumpp)
 * Fix FTBFS with Clang (Matthias Klumpp)
 * docs: Update architecture images to reflect reality (Matthias Klumpp)
 * Install PK plugin into PK >= 0.9.x plugin path (Matthias Klumpp)
 * Don't crash in as_component_to_string() if no packages are set (Matthias Klumpp)
 * Don't crash when generating the database in case a component has no categories (Matthias Klumpp)

Version 0.7.0
~~~~~~~~~~~~~~
Released: 2014-07-16

Notes:
 The AppStream code has been relicensed from LGPL-3+ to LGPL-2.1+
 There have also been smaller API breaks in libappstream, see the
 list below for information about that.

Features:
 * Allow overriding of watched data dirs (Matthias Klumpp)
 * More work on the cache-builder to be more flexible (Matthias Klumpp)
 * Add DataPool helper class (Matthias Klumpp)
 * Do some major refactoring on how the cache is created (Matthias Klumpp)
 * validate: Process multiple files (Matthias Klumpp)
 * Get rid of as_strv_dup (Matthias Klumpp)
 * Implement support for the "addon" component type (Matthias Klumpp)
 * Implement support for dbus provides type (Matthias Klumpp)
 * Allow fetching data by component type (Matthias Klumpp)
 * Relicense to LGPLv2.1+ and GPLv2+ (Matthias Klumpp)
 * Drop some deprecated API (Matthias Klumpp)
 * Add some limited support for parsing legacy upstream metadata files (Matthias Klumpp)
 * Implement developer_name tag (Matthias Klumpp)
 * Allow querying the database for multiple component types with one query (Matthias Klumpp)
 * Implement 'languages' tag (Matthias Klumpp)
 * Improve code which loads urls from the database (Matthias Klumpp)
 * validator: Correctly check for compliant localization of tags (Matthias Klumpp)
 * Share database definition between libas and libas-qt (Matthias Klumpp)
 * appinstall: Handle NoDisplay as well, and treat OnlyShowIn as compulsority (Matthias Klumpp)
 * qt: Make it possible to compile only the Qt library (Matthias Klumpp)
 * Optimize database generation process to save some time (Matthias Klumpp)
 * asi: Don't use GObject class to handle the tool's internals (Matthias Klumpp)
 * asi: Improve command syntax (Matthias Klumpp)
 * asi: Further code improvements (Matthias Klumpp)
 * Expose internal options for database and data placement to asi (Matthias Klumpp)
 * Improve database refresh API (Matthias Klumpp)
 * tests: Make tests work standalone (Matthias Klumpp)
 * vapi: Move to contrib, it's not static data (Matthias Klumpp)
 * Update global categories definition (Matthias Klumpp)
 * Implement support for multiple package names per component (Matthias Klumpp)
 * qt: Implement support for screenshots (Matthias Klumpp)
 * qt: More methods to retrieve components from the database (Matthias Klumpp)
 * docs: Install gtk-doc documentation (Matthias Klumpp)
 * Use XZ compression for release tarball (Matthias Klumpp)
 * Use the same datasource-dir method for AsDataPool which was used for AsBuilder (Matthias Klumpp)
 * qt: Parse the screenshot xml and store it in some relevant datatypes (Sune Vuorela)
 * qt: Acually return the map built when converting UrlKinds to strings (Sune Vuorela)
 * qt: Parse and handle the Provides part of the appstream data (Sune Vuorela)
 * Some Qt cleanups after a review by Andreas. (Sune Vuorela)
 * qt: Create a database constructor that uses the default system path (Sune Vuorela)
 * qt: Adapt to multiple package names for a component (Sune Vuorela)

Specification:
 * spec: Use UNIX epoch instead of YYYYMMDD for timestamps (Matthias Klumpp)
 * spec: Add new "languages" tag to distro XML (Matthias Klumpp)
 * spec: Add new component type: Addon (Matthias Klumpp)
 * spec: Define a 'dbus' type as new 'provides' element (Matthias Klumpp)
 * spec: Specify a developer_name tag (Matthias Klumpp)
 * spec: Allow an update_contact tag in upstream-metadata (Matthias Klumpp)
 * spec: Allow /var/cache location for icons (Matthias Klumpp)
 * spec: Allow multiple definitions of the 'pkgname' tag (Matthias Klumpp)
 * spec: Hide multiarch install path section (Matthias Klumpp)

Documentation:
 * docs: Add quickstart page template (Matthias Klumpp)
 * docs: Export documentation by default (Matthias Klumpp)
 * docs: Restructure application description and add quickstart page (Matthias Klumpp)
 * docs: Explicitly allow the mimetypes tag in generic components (Matthias Klumpp)
 * docs: Sketch section about translation (Matthias Klumpp)
 * docs: Various fixes for the spec, add missing project_license to generic component (Matthias Klumpp)
 * docs: Add Intltool translation Automake integration hints (Matthias Klumpp)
 * docs: Sketch section about addons (Igor Gnatenko)
 * docs: Fix some quirks in the distro XML spec (Matthias Klumpp)
 * docs: Update app quickstart guide and add example screenshots (Matthias Klumpp)

Bugfixes:
 * Fix some bugs in handling of provides-items (Matthias Klumpp)
 * Fix some annotations & remove cruft (Matthias Klumpp)
 * Update tests and fix a memory leak (Matthias Klumpp)
 * validator: Improve handling of translated metadata files (Matthias Klumpp)
 * Fix issue when loading compressed metadata files (Matthias Klumpp)
 * qt: Added 'const' to the description (Floris-Andrei Stoica-Marcu)
 * Print a better result message on cache update in case of metadata errors (Matthias Klumpp)
 * Fix crash in AppInstall data provider (Matthias Klumpp)
 * Remove bogus g_free() of paths strv in ASXML provider (Matthias Klumpp)
 * Get rid of explicit include of config.h (Matthias Klumpp)
 * Fix typo in appstream-index manpage (Sune Vuorela)
 * validator: Only test if valid tags are empty (Matthias Klumpp)
 * Make creating the Xapian cache at different locations work again (Matthias Klumpp)
 * Remove leftover cruft from config.h.in (Sune Vuorela)
 * asi: Respect the no-color option (Matthias Klumpp)

Version 0.6.2
~~~~~~~~~~~~~~
Released: 2014-05-12

Features:
 * Deprecate get_homepage in favour of get_url
 * Store all urls in the database
 * Split validation into new AsValidator for future extension
 * Heavily improve metadata validator, add new as-validator binary
 * Add methods to check if component is compulsory or in a specific category
 * Add function to pretty-print description markup and use it in asi-tool
 * Implement missing support for mimetypes
 * Add manpage for appstream-validate
 * Allow fast searching for mimetype handlers

Specification:
 * spec: Use subdirectories for multiarch metadata
 * spec: Exclusively use SPDX license tags
 * spec: Update screenshot spec to reflect reality
 * docs: Fix some quirks and issues
 * docs: Rework url information as variablelist
 * spec: Rename "manual" url type to "help"

Bugfixes:
 * Ensure active metadata locale does not have an UTF-8 suffix
 * Refine icon path/url detection for applications
 * Deprecate idname and make Component header nicer to work with
 * Fix bug in category-loading and display categories in the asi-tool
 * Fix multiple potential crashes when parsing upstream metadata
 * Make sure we don't use deprecated methods internally anymore
 * tests: Run database tests on private db copy
 * asi-tool: Fix small (but annoying) warning
 * asi-tool: Adjust manpage to reflect reality
 * validator: Create better log messages

Version 0.6.1
~~~~~~~~~~~~~~
Released: 2014-04-24

Features:
 * Make AsMetadata handle (almost) all XML parsing (Matthias Klumpp)
 * Add function to parse upstream metadata in AsMetadata (Matthias Klumpp)
 * Add methods to set/get locale used for metadata parsing (Matthias Klumpp)
 * Add function to load metadata from memory (Matthias Klumpp)
 * Implement a parser mode to abstract away differences in AS metadata (Matthias Klumpp)
 * Auto-generate Vala API file, if desired (Matthias Klumpp)
 * Add functions to get a component by it's ID (Matthias Klumpp)
 * Index terms for provided items (Matthias Klumpp)
 * Allow fetching components by the items they provide (Matthias Klumpp)
 * Parse AppStream data in /var/lib/app-info/xmls (Matthias Klumpp)
 * Implement priority property (Matthias Klumpp)

Specification:
 * spec: Add priority property for components in distro-metadata (Matthias Klumpp)

Bugfixes:
 * Fix libappstream pkgconfig (Matthias Klumpp)
 * Make data-providers emit "component" signal (instead of "application") (Matthias Klumpp)
 * Make translation possible again (Matthias Klumpp)
 * Handle lib directory suffix on distributions like Fedora (Rex Dieter)
 * docs: Fix examples to use the <releases/> tag correctly (Matthias Klumpp)
 * Print error if compiled with -DVAPI, but no vapigen was found (Matthias Klumpp)
 * Improve documentation and annotations (Matthias Klumpp)
 * Improve API for provides-tests (Matthias Klumpp)
 * Implement strict parsing of the description tag in upstream metadata (Matthias Klumpp)
 * docs: Fix the section on 3rd-party screenshot services (Matthias Klumpp)

Version 0.6.0
~~~~~~~~~~~~~~
Released: 2014-04-16

Notes:
 This release breaks both the library API and the Appstream specification.
 Please adjust your tools to work with Appstream 0.6, especially take a look
 at the documentation for the new Appstream XML specification.

Features:
 * Add new AsComponent class (Matthias Klumpp)
 * Rewrote libappstream in plain C (Matthias Klumpp)
 * client: Add option for detailed output (Matthias Klumpp)
 * Use "kind" instead of "ctype" for component types (Matthias Klumpp)
 * Implement compulsory-for-desktop (Matthias Klumpp)
 * Some refactoring, additions and improvements (Matthias Klumpp)
 * Correctly handle component types according to the 0.6 spec (Matthias Klumpp)
 * Bring back thumbnail support for ss.d.n services (Matthias Klumpp)
 * client: Improve screenshot url display (Matthias Klumpp)
 * Implement support for <provides/> (Matthias Klumpp)
 * Implement support for <release/> (Matthias Klumpp)
 * Some API future-proofing (Matthias Klumpp)
 * Add helper to generate Vala VAPI file (Matthias Klumpp)

Specification:
 * docs: Initial documentation on components and lots of restructuring (Matthias Klumpp)
 * docs: Add FontData meta-info spec (Matthias Klumpp)
 * docs: Add description of input-method metainfo (Matthias Klumpp)
 * docs: Some changes on ASXML for component-support (Matthias Klumpp)
 * docs: Clarify font classifier (Matthias Klumpp)
 * spec: Don't use specialized tags, everything is a component. Kill <id/> types (Matthias Klumpp)
 * spec: All upstream meta-info goes to /usr/share/appdata now (Matthias Klumpp)
 * specs: Update Appstream example XML for latest changes (Matthias Klumpp)
 * specs: Add new <architectures/> tag to Appstream distro spec (Matthias Klumpp)
 * spec: Add "origin" property for components tag (Matthias Klumpp)
 * spec: Define icon repository (Matthias Klumpp)
 * spec: Component-type is "desktop" for apps now (Matthias Klumpp)
 * spec: Add <releases/> parent for release tags (Matthias Klumpp)
 * spec: Allow more url types (Matthias Klumpp)
 * spec: Clarify how the description tag should be translated (Matthias Klumpp)
 * spec: Hide fonts for now - the spec is not yet ready (Matthias Klumpp)
 * spec: Add component type for codecs (Matthias Klumpp)
 * specs: Update project mission statement (Matthias Klumpp)
 * spec: Use metadata_license instead of the BE version (Matthias Klumpp)
 * spec: Add note on multiarch-support (Matthias Klumpp)


Bugfixes:
 * Make parallel compilation possible (Matthias Klumpp)
 * Allow compiling with -Wall -Werror (Matthias Klumpp)
 * Prevent identifier collisions in the database (Matthias Klumpp)
 * Some fixes for the introspection build process (Matthias Klumpp)
 * Some basic fixes for the XSD schemes (Matthias Klumpp)

Version 0.5.0
~~~~~~~~~~~~~~
Released: 2014-02-23

Features:
 * Parse screenshot data and make it available via library API (Matthias Klumpp)
 * Add screenshot data to the Xapian database (Matthias Klumpp)
 * Add function to dump screenshot data as XML (Matthias Klumpp)
 * cli: Add colored output to the command-line tool (Matthias Klumpp)
 * cli: Display some screenshot information, if it is found (Matthias Klumpp)
 * cli: Allow the tool to trigger cache rebuilds (Matthias Klumpp)
 * Add new API to return available screenshot sizes (Matthias Klumpp)
 * Always compile tests (Matthias Klumpp)
 * Improve Xapian search capabilities (Matthias Klumpp)

Specification:
 * spec: Deprecate appcategory element in favour of category element (Matthias Klumpp)
 * docs: Update architecture images (Matthias Klumpp)
 * docs: Remove reference to OCS (Matthias Klumpp)
 * spec: Add caption for screenshots (Matthias Klumpp)

Bugfixes:
 * Always install appstream.pc in correct libdir (Matthias Klumpp)
 * Always rebuild the database if watchfile is missing (Matthias Klumpp)
 * Don't throw an error if we are on a system without the ASXML dir (Matthias Klumpp)
 * Fix some memory leaks (Matthias Klumpp)
 * Fix some strange vala compile issue with newer valac versions (Matthias Klumpp)

Version 0.4.0
~~~~~~~~~~~~~~
Released: 2013-10-20

Features:
 * Include /var/cache/app-info as location for AppStream XMLs (Matthias Klumpp)
 * Search for icons in the caches too (Matthias Klumpp)
 * Remove API for manually refreshing the Xapian cache (Matthias Klumpp)
 * Remove refresh action from appstream-index tool (Matthias Klumpp)
 * Implement PackageKit plugin to refresh the cache (Matthias Klumpp)
 * Implement support for compressed AppStream files (Matthias Klumpp)
 * Support all icon types in AppStream XML parser (Matthias Klumpp)
 * Parse description tags in AppStream XML (Matthias Klumpp)
 * Update database schema, breaking USC compatibility (Matthias Klumpp)
 * Only rebuild AppStream Xapian cache if data has changed (Matthias Klumpp)
 * Store app homepage and iconpath correctly in new database layout (Matthias Klumpp)
 * docs: Document important parts of AppStream (Matthias Klumpp)
 * docs: Document appcategories tag (Matthias Klumpp)
 * docs: Add example XML for AppStream files (Matthias Klumpp)
 * docs: Briefly describe the screenshot service (Matthias Klumpp)
 * docs: Include preexisting architecture graphics and fix some quirks (Matthias Klumpp)
 * docs: Specify how icons will be handled and which ones take priority (Matthias Klumpp)

Specification:
 * spec: Add project_group element (Matthias Klumpp)
 * spec: The "remote" type is much more precise than "url" (Matthias Klumpp)
 * spec: Add documentation tag to the AppStream spec (Matthias Klumpp)
 * spec: Enforce at least one id, pkgname, name, summary and icon tag (Matthias Klumpp)
 * spec: Define and describe project_license tag (Matthias Klumpp)
 * spec: Add screenshots to the AppStream XML spec (Matthias Klumpp)
 * spec: Add new compulsory_for_desktop tag (Matthias Klumpp)

Bugfixes:
 * Ensure that we have GI set up, before compiling libappstream (Matthias Klumpp)
 * Set has_type_id=false for Xapian binding (Matthias Klumpp)
 * Ensure we do always target the right GLib version (Matthias Klumpp)
 * Fix crash in AppStream PackageKit plugin (Matthias Klumpp)

Version 0.3.1
~~~~~~~~~~~~~~
Released: 2013-06-26

Bugfixes:
 * Use a GPtrArray for search results
 * Adjust unit-tests and client tool

Version 0.3.0
~~~~~~~~~~~~~~
Released: 2013-06-10

Features:
 * Add command-line method to search for apps (Matthias Klumpp)
 * Restructure code to clearly separate client and daemon (Matthias Klumpp)
 * Make DBus API an internal implementation detail (Matthias Klumpp)
 * Rewritten and more advanced XDG menu file parser (Matthias Klumpp)
 * Implemented new Category handling (Matthias Klumpp)
 * Many improvements in documentation (Matthias Klumpp)
 * Implement API to access any AppStream-compliant screenshot service (Matthias Klumpp)

Bugfixes:
 * Fix creation of missing database (Matthias Klumpp)
 * Make UAI more failsafe (Matthias Klumpp)
 * Improve error handling and command-line output (Matthias Klumpp)
 * Greatly improve search results (Matthias Klumpp)
 * Fix translation template (Matthias Klumpp)

Version 0.2.0
~~~~~~~~~~~~~~
Released: 2013-03-15

Features:
 * Add distro-agnostic category definition (Matthias Klumpp)
 * Make DBus API more failsafe (Matthias Klumpp)
 * Place Xapian cache in different directory (Matthias Klumpp)
 * Add release script and release instructions (Matthias Klumpp)

Bugfixes:
 * Kill some compiler warnings (Matthias Klumpp)
 * Print error message if xmlto was not found (Matthias Klumpp)
 * Make --nowait option finally work again (Matthias Klumpp)
 * docs: Build C API documentation (Matthias Klumpp)
 * Print better message if category dir is null (Matthias Klumpp)

Version 0.1.0
~~~~~~~~~~~~~~
Released: 2012-10-02

Notes:
 * Initial release