aboutsummaryrefslogtreecommitdiff
path: root/NEWS
blob: 1a127a34ef788b0dc27ecf10fa342f63577b6c02 (plain)
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
News for Paludis
================

This file lists the major changes between versions. For a more detailed list
of every change, see the Git log.

master:
    * 'cave sync --suffix' is now known as '--source' (although the old
      version is still supported for compatibility).  The short version is
      still '-s'.

    * Command-line arguments that have a short version and can be negated
      with '--no-*' can now be negated in short form by using '+' instead
      of '-', for example '+x' for '--no-execute'.

0.68.0:
    * Licence groups are now supported.

    * Various bug fixes.

0.66.0:
    * The short options for 'cave owner' and 'cave print-owner' have changed.

    * Support for directory whitelisting for exheres-0.

    * Various bug fixes.

0.64.3:
    * Fixed a bug where a ! inside a || ( ) could cause a segfault.

    * Assorted minor bug fixes and compiler compatibility changes.

0.64.2:
    * The Python bindings now cover various additional things.

    * CONFIG_PROTECT is now available for merge-check hooks.

    * When using Portage format configurations, userpriv is now available.

0.64.1:
    * 'cave resolve --keep if-same-metadata' now thinks "cat/pkg[a][b]" and
      "cat/pkg[b][a]" are "the same".

    * Support for Portage-format configurations has been improved slightly.

0.64.0:
    * Support for Gentoo old-style virtuals has been removed.

    * The 'accerso', 'instruo' and 'appareo' clients have been removed in favour
      of 'cave'.

    * 'cave resolve' now has 'if-same-metadata' options for '--keep' and
      '--keep-targets', to take care of all those times when Gentoo developers
      ignore policy and change dependencies without a revbump.

    * Dependent IDs now have their dependency type (e.g. 'build', 'runtime')
      shown in the reasons output for 'cave resolve' and 'cave uninstall'.

0.62.2:
    * 'cave fix-linkage' no longer gets upset at .la files that are missing a
      final newline character.

0.62.1:
    * 'cave resolve --hide' now affects resolvent selection too.

    * Various minor bug fixes.

0.62.0:
    * New package dep spec syntax for matching masks: '[.(mask)?]'.

    * Added 'cave sync --revision', currently only for Git syncs.

    * We now use Google's 'gtest' for unit tests.

    * Fairly hefty code cleanups.

0.60.4:
    * 'cave search --and' now works as documented.

    * Previously pbins had problems with symlinks due to oddities in libarchive.
      This is now worked around.

    * We now treat invalid cached metadata slightly differently, to avoid
      problems with Gentoo shipping broken metadata due to lack of validation in
      Portage.

0.60.3:
    * Second attempt at getting '--enable-prebuilt-documentation' to work
      reliably.

0.60.2:
    * A new configure option, '--enable-prebuilt-documentation', can be used to
      avoid requiring Asciidoc, since on Gentoo Asciidoc has several bogus
      dependencies that pull in a lot of unwanted packages on X-less systems.

0.60.1:
    * 'cave resolve --reinstall-dependents-of' now does what the documentation
      says it does.

    * 'cave help' no longer explodes if script commands are present.

    * We now work with Jansson 2.0 too.

0.60.0:
    * 'cave resolve' can now '--reinstall-dependents-of'

    * HTML versions of man pages are now created from the generated Asciidoc
      files rather than directly.

0.60.0_pre1:
    * The deprecated 'adjutrix', 'inquisitio', 'importare', 'paludis' and
      'reconcilio' clients have been removed.

    * 'build_options: split strip' are removed in favour of 'build_options:
       symbols=preserve|split|strip|compress'.

    * We now generate man pages via 'asciidoc'.

    * The 'cave resolve -D' short option is now '-B' instead.

    * A new special 'nothing' set has been added.

0.58.5:
    * 'cave search' no longer fails when encountering invalid metadata.

    * New 'cave' subcommand: 'mirror'

0.58.4:
    * cave resolve --via-binary would lock up under certain circumstances. This
      is now fixed.

    * New 'cave resolve' option: '--no-restarts-for'

    * New 'cave' subcommand: 'generate-metadata'

0.58.3:
    * We no longer issue QA warnings for certain extremely common QA violations
      on Gentoo.

0.58.2:
    * We now work around various libarchive oddities that cause problems with
      binary packages.

    * We now prioritise suggestions.conf over the --suggestions and
      --recommendations command line options.

0.58.1:
    * When a package strongly blocks other installed slots of itself, the
      resolver no longer fails to find an ordering if upgrading older slots
      would make the blocker no longer met.

    * 'cave show' now displays overridden masks on unmasked packages.

0.58.0:
    * The 'paludis' client is now deprecated in favour of 'cave'.

    * New 'cave resolve' option: '--one-binary-per-slot'.

    * Suggestions may now be controlled by 'suggestions.conf'.

0.56.4:
    * Certain abusive || ( ) dependencies are now handled in the same way that
      Portage treats them.

    * When using 'cave uninstall --remove-if-dependent' followed by 'cave
      resume', dependent packages would be added to rather than removed from
      world. This is now fixed.

0.56.3:
    * cave report would previously not mention certain security issues. This is
      now fixed.

    * Syncing via 'rsync' now uses '--delete-delay' rather than
      '--delete-after'. This requires rsync 3.

0.56.2:
    * EAPI 4 is enabled.

    * New 'cave' subcommand: 'digest'.

    * New 'cave print-unused-distfiles' option: '--include'.

    * Updates now work correctly again.

0.56.1:
    * We now show the number of skipped and failed packages in "x of y" output.

    * We now run pkg_pretend even if certain confirmations are required.

    * Various minor bug fixes and documentation tweaks.

0.56.0:
    * New 'cave' subcommand: 'print-spec'.

    * New 'cave resolve' option: '--dependencies-to-slash'.

    * New 'cave sync' options: '--suffix' (and support for sync suffixes in
      repository configuration files).

    * 'cave resolve' now shows which reasons are responsible for reconfiguration
      requirements.

    * The user used for userpriv operations (typically 'paludisbuild') is now
      expected to be in the 'tty' group.

    * The 'repo_file' variable may now be used in repository_defaults.conf.
      Added new repo_file_basename, repo_file_unsuffixed, variables.

    * Values in overlay thirdpartymirrors files now override those in masters.

    * The documentation now recommends use of the 'cave' client rather than
      'paludis'.

0.54.11:
    * 'cave resolve --make binaries' now behaves properly when considering
      packages that cannot be made into binaries.

    * 'cave show x' will no longer suggest every package name containing an 'x'.

    * Display-If-Profile headers in news items are now handled correctly.

0.54.10:
    * A bug in via-binary package ordering has been fixed.

    * 'cave owner' now has a --dereference option.

    * We now use libmagic rather than calling the 'file' executable to determine
      whether or not to strip files.

0.54.9:
    * Binary package configuration is now documented, although it is still
      considered experimental. Various binary-related bugs are fixed.

    * We now display much cleaner errors if output manager creation fails (e.g.
      if the log directory does not exist).

    * New cave print-unused-distfiles subcommand.

    * We no longer show "no output for X seconds" messages when only one job is
      running.

0.54.8:
    * We now produce easier to understand error messages for certain resolutions
      where unmasking is required.

    * We now show suggestions when 'cave resolve' targets do not exist.

0.54.7:
    * Added 'cave has-version', 'cave print-best-version'.

    * 'cave show' now displays correct headings for suboption groups.

0.54.6:
    * Coreutils 8.6 changes how 'stat' displays mtimes. We now support the new
      output format.

0.54.5:
    * A bug where especially nasty circular dependencies would sometimes end up
      being ordered incorrectly has been fixed.

    * cave show --all-versions, --repository-at-a-time, --no-keys

0.54.4:
    * XFS clobbers set*id bits when fallocate is used. This is now worked
      around.

    * Various output improvements to 'cave display-resolution'.

    * 'cave resolve' now has '--ignore-unable-decisions' and
      '--ignore-unorderable-jobs' overrides. Both will lead to horribly broken
      systems if abused.

    * New 'cave' subcommands: 'size', 'print-size'.

    * 'cave owner /blah/' will now match paths like '/blah'.

    * 'cave resolve --prefer/--avoid' now work if given an unqualified package
      name.

    * New user dependency spec options: [.::repokey=blah], [.$role] and [.key?].

0.54.3:
    * split debug now works correctly again.

    * IDs for repositories will now exist but be masked in their origin
      repository when a repository is already configured.

    * New --graph-jobs option for 'cave resolve'.

    * 'cave execute-resolution' no longer shows (no output for x seconds)
      messages when only one job is active.

    * The option descriptions for 'cave import --preserve-work' now match what
      the option values do.

    * 'cave purge' will now error if given parameters, since it does not do
      anything with them.

0.54.2:
    * Upgrading from older versions to 0.54.1 would produce strange errors. This
      does not happen for 0.54.2.

    * Blockers and uninstalls for chroots are now handled.

0.54.1:
    * User-defined cave commands are now passed all command line arguments
      correctly.

    * 'cave show' now has '--description-keys', and 'cave search' uses this
      where appropriate.

    * Paludis key=value configuration files can now use '$ENV{FOO}' to refer to
      an environment variable.

    * output.conf can now set log_path, and user defined output managers will
      now override builtin output managers with the same name.

    * When running in 'quiet' mode, status messages are now shown.

    * Warning and error messages are now shown at the end, along with info and
      log messages.

    * The 'tee' output manager handler now has 'stdout_children' and
      'stderr_children' for only forwarding stdout or stderr.

    * Where supported, 'fallocate' is now used when merging files.

    * Where supported, dirent->d_type is now used to reduce the number of stat()
      calls that are made.

0.54.0:
    * 'cave resolve --remove-if-dependent' will now cause dependent packages to
      be removed from world, if no versions remain.

    * 'cave resolve --make' now defaults to 'chroot' when the environment's
      preferred root is not '/'.

    * 'cave display-resolution --show-option-descriptions' now works as
      documented.

    * 'cave fix-linkage' may take multiple '--library' arguments.

    * New 'cave' subcommands: 'report', 'print-id-environment-variable'.

    * 'cave print-' commands are now consistent in handling '--all' / '-a' and
      '--best' / '-b'.

    * 'cave show' will now always show keys specified by '-k', even if those
      keys are internal-only or complex.

    * 'cave search' now takes an optional SQLite index, which can be created
      using 'cave manage-search-index'.

    * 'cave search' now has a '--visible' option.

    * The 'importare', 'inquisitio' and 'reconcilio' clients are now deprecated
      in favour of 'cave import, 'cave search' and 'cave fix-linkage'
      respectively.

    * Output managers and output.conf are now documented features, and a new
      'command' output manager handler was added.

    * Hooks are now run using an output manager, where appropriate. The API for
      .so hooks has been changed to allow this.

    * The demo hooks have been removed, since none are particularly useful with
      'cave'.

    * 'cave' now has a global '--colour' option, and coloured output is disabled
      by default when outputting to a non-tty.

    * The output format for certain cave commands can now be tinkered with by
      the user. Use 'cave dump-cave-formats-conf' to create ~/.cave/formats.conf
      and then edit as desired.

    * The way sub-programs are executed has changed to be somewhat less
      convoluted.

0.52.3:
    * A bug causing screwiness with soft-blocking EAPI 3 packages where both
      packages installed the same file with an mtime in the distant past has
      been fixed.

    * GCC 4.5 appears to be unhappy with dlclose being called in a static
      variable's destructor. We no longer do this.

    * ACCEPT_LICENSE is now automatically set based upon accepted licences that
      have been accepted by the user.

    * 'cave print-id-*' now have '--all' and will accept wildcards.

    * CONFIG_PROTECT and CONFIG_PROTECT_MASK for installed packages are now
      accessible as metadata keys.

    * Certain 'cave' commands will now suggest possibilities if there is nothing
      matching the target supplied. Fuzzy name matching will now also suggest
      packages whose names contain the target as a substring, as well as
      packages whose names are similar to the target.

0.52.2:
    * 'cave perform' now calls '_fail' hooks.

    * 'cave print-id-contents' now has '--type'

    * 'cave print-packages' now has '--repository' and '--category'

    * Output buffering of commands has changed to better handle progress bars of
      the kind displayed by 'wget' and 'git'. To avoid excessive hopping, 'cave
      execute-resolution' will now only switch between buffered outputs every
      few seconds, rather than 0.1s if new output is available.

    * 'cave display-resolution' now shows flag changes in a more obvious manner.

    * 'cave purge' and purge checking for 'cave resolve' are now significantly
      faster.

    * 'cave resolve --less-restrictive-remove-blockers' is now much more likely
      to be able to fix breakages by reinstalls. A horrible error that was most
      easily triggered by use of this option is now fixed.

0.52.1:
    * glibc 2.12 changes the OS ABI used by its libraries. 'cave fix-linkage'
      and 'reconcilio' have been updated to ignore OS ABI mismatches to avoid
      marking every package that uses libc as being broken.

0.52.0:
    * format="exheres" and format="ebuild" are now deprecated in favour of
      format="e".

    * Specifying 'root' in a repository config file now overrides the
      environment-supplied default.

    * 'cave resolve' will now select packages even if [use] dependencies are
      unmet, and will display the necessary changes needed to user
      configuration.

    * 'cave resolve --without' will now allow nothing at all to be installed.

    * 'cave resolve' now has options for chroot handling.

    * 'cave execute-resolution' now writes resume data after every job
      completion, rather than just upon normal exit.

    * 'cave import' now has '--strip --preserve-work' options, and the default
      for build_options: preserve_work is now disabled.

    * 'cave print-ids' now has short options.

    * 'cave display-resolution' now displays better job count information, and
      more compact at displaying circular dependencies.

0.50.3:
    * :* dependencies no longer count as matching every slot when testing
      removal safety.

    * When 'cave resolve' changes from having made a decision to being unable to
      make a decision, and where dependencies from the previously made decision
      have already been tracked, a horrible error is no longer produced.

    * 'cave display-resolution' now shows download sizes, and no longer displays
      empty descriptions.

    * 'cave resolve' now has a '--fetch' option to skip non-fetch jobs.

    * 'cave show' now has a '--no-versions' option.

0.50.2:
    * 'cave resolve --continue-on-failure' interacted weirdly with background
      fetching. This is now fixed.

    * Support for automatic repository configuration creation via installing
      a 'repository/somerepo' pseudo-package is now available on Gentoo.

    * Queries in the form '*/*::foo->' no longer force pointless generation of
      metadata for ebuilds.

0.50.1:
    * 'cave purge' and 'cave resolve' will no longer either give misleading
      output or produce a horrible error when a package providing an old style
      virtual is marked for purging.

    * 'cave resolve' will no longer give a horrible error when encountering
      certain convoluted circular dependencies.

0.50.0:
    * We now require a compiler supporting various C++0x features, such as GCC
      4.4 or later.

    * format="exheres" and format="ebuild" are now known as format="e". The old
      format names remain valid and are not yet deprecated.

    * Arguments in the form -X0 are now parsed as -X 0 rather than -X -0.

    * 'cave execute-resolution' now allows a single fetch job and a single
      execute job to be executed in parallel.

    * 'cave update-world' now displays whether or not world is changed.

    * 'cave execute-resolution' headings and summaries now include information
      on the versions being replaced, where appropriate

    * 'cave resolve' will now select weakly masked packages rather than being
      unable to decide. Such packages must be manually unmasked before the
      resolution can proceed.

0.48.6:
    * If the user explicitly specified an option for the special 'test' flag,
      this would override the build_options magic. This is now fixed.

    * Certain pkg_ functions are no longer skipped for 0-based EAPIs, to work
      around badly behaving Gentoo ebuilds.

    * If 'cave show' displays a masked package, it will now pick a version that
      is easy to unmask over a higher version that cannot be unmasked.

    * New 'cave verify' subcommand for checking whether installed packages have
      been modified.

0.48.5:
    * xattr support was previously looking for attr/xattr.h rather than
      sys/xattr.h, and so was not being detected on glibc systems without attr
      installed. This is now corrected.

    * On some systems, the Python bindings were giving dlopen related warnings
      due to the linker trying to be too clever. This is now worked around.

    * New cave subcommands for scripting: print-id-actions, print-id-masks,
      print-repository-metadata, print-set.

0.48.4:
    * 'cave uninstall' now accepts wildcards.

    * 'cave purge' and 'cave resolve' will no longer attempt to purge things
      that cannot be uninstalled.

    * 'cave show -t' now has short options for values.

    * We now tolerate ebuilds that try to output things or die in global scope.

0.48.3:
    * 'cave display-resolution' now indicates when changing the origin
      repository for an upgrade.

    * 'cave display-resolution' now shows dependency reasons correctly.

    * 'cave resolve !foo' now applies to all slots of foo, rather than using the
      --target-slots option.

    * 'cave uninstall' will now only update world if every slot has been
      removed.

    * 'cave execute-resolution' will now show pkg_nofetch information where
      appropriate.

    * 'cave resume' on a resume file that includes already-completed uninstalls
      no longer errors.

    * Uninstalls are now considered for 'cave execute-resolution
      --continue-on-failure' (previously a failed uninstall would not count as a
      failure).

0.48.2:
    * The 'cave' client is now enabled by default. 'cave' is a modular console
      client that will eventually replace 'paludis'. It is currently reasonably
      functional and well tested, but does not yet have all the features present
      in 'paludis', and is thus not yet considered a complete replacement.

0.48.1:
    * We now work around broken TLS support in certain monkey-patched GCC
      versions.

    * Various minor bug fixes.

    * Working compiler support for 'extern template' is now required.

    * The PALUDIS_IGNORE_HOOKS_NAMED environment variable can be used to skip
      executing hooks from specific files.

0.48.0:
    * --reset is now the default for git syncers. If Paludis is used to sync a
      git repository with modifications, those modifications will be lost. Use
      --no-reset to stay with the old (git pull) behaviour, but note that it is
      probably better to change your workflow such that Paludis never directly
      works with any repository it does not manage.

    * environment.conf is now general.conf. Your existing environment.conf
      should be renamed.

    * When switching UIDs, we now also pick up supplemental groups.

    * World is now updated for package moves.

0.46.0:
    * We can now read environment.bz2 files from VDB created by newer Portage
      versions.

    * appareo now has various options relating to checksum overriding.

    * When creating cache subdirectories, we now copy the mode of the main cache
      directory rather than using umask to determine permissions.

0.44.2:
    * Various documentation updates.

    * When disambiguating a spec like foo::bar, where cat-1/pkg::foo and
      cat-2/pkg::bar exist, we now recognise that you must want cat-2.

    * A bug causing NoConfig clients to fail to find profiles when used with a
      supplemental repository that does not provide its own profiles description
      has been fixed.

0.44.1:
    * EAPI 3 support is enabled.

    * A bug giving incorrect results when using -* in use.conf/options.conf has
      been fixed.

0.44.0:

    * The 'everything' set is now called 'installed-packages'. A new set named
      'installed-slots' has been added, which is similar but includes slot
      restrictions matching installed slots.

    * kdebuild-1 support has been removed, following the Gentoo Council's
      decision to remove all mention of it from the Package Manager
      Specification. Users with installed kdebuild-1 packages must remove them
      before upgrading.

    * Support for EAPI 4 (formerly known as EAPI 3) is present but not
      installed, since the specification has yet to be approved.

    * Support for the new EAPI 3 is present but not installed, since the
      specification has yet to be approved.

    * The [.key=value] syntax for user dep specs now works with sets, sequences
      and spec trees. If < is used instead of =, a less than comparison is used
      for numeric values, and for compound values, a match succeeds if any item
      of the key is equal to the specified pattern.

    * build_options: preserve_work can be used to avoid removing temporary
      working directories, and to force a non-destructive merge.

    * Profile updates (package and slot moves) are now enabled by default.

    * Workarounds for various interactivity abuses carried out by certain
      ebuilds have been added.

    * Various large code cleanups and build system cleanups.

0.42.3:

    * Updated environment filtering code for bash 4.1.

    * Fixed symlink handling under SELinux.

0.42.2:

    * An obscure resolver bug that results in 'evolution' trying to downgrade
      'gnupg' on Gentoo has been fixed.

    * paludis -i foo::installed now gives an explanation of why it doesn't do
      what some people seem to expect.

    * Assorted documentation tweaks.

0.42.1:

    * Various improvements to error handling.

    * Syncing svn repositories no longer breaks when using weird locales.

    * GNU info handling will now work even if Paludis is run via sudo with
      env_reset enabled.

0.42.0:

    * Qualudis has been removed.

    * Various cached values are now forcibly discarded when they're not going to
      be used any more, leading to paludis --owner and reconcilio using
      considerably less RAM.

    * Various bug, style and performance fixes related to updates (package moves
      etc). By default updates will still only be displayed but not carried out;
      consult the FAQ for details.

0.42.0_alpha1:

    * The Git syncer now has various options for dealing with branches.

    * Experimental support for profile updates (package moves etc). By default
      updates will be displayed but not carried out; consult the FAQ for
      details.

    * Support for the recently changed EAPI 3 is present and used during tests
      but excluded from the install target.

0.40.1:
    * Bugfix: sometimes fetch failures would not register as errors.

0.40.0:
    * Notifier callbacks allow clients to tell the user what's going on when
      generating metadata, performing resolutions etc.

    * Sets now work slightly differently. For sets defined by multiple
      repositories (e.g. 'system'), 'setname::repo' can be used to access the
      part of the set defined by a given repository.

    * Bugfix: Upgrading an unpackaged package no longer errors out.

    * Bugfix: Combining :slot and ::/path restrictions now works correctly.

0.38.2:
    * Failures installing qt-core on Gentoo have been fixed.

0.38.1:
    * Various fixes when using the Portage configuration.

0.38.0:
    * The =...* dependency operator in configuration files and command-line
      arguments now matches component-wise rather than character-wise.

    * Support for EAPI 3 is present and used during tests but excluded from the
      install target.

0.36.1:
    * Various Ruby 1.9 fixes.

    * Hashes are now memoised, to speed up --pretend --install for certain
      cases.

    * We now use pcrecpp rather than pcre++ to avoid the latter's lack of thread
      sanity.

0.36.0:
    * system packages are now treated as 'used' for --uninstall.

    * Fetch related errors that can be caught up-front are now tested at
      --pretend time.

    * Support for [.key=value] dependency specifications.

    * Support for configurable output managers. These are undocumented in this
      release and configuration formats may change without backwards
      compatibility; documentation and stability will be provided once we've
      ironed out any kinks. With the default configuration, message logs for all
      packages and build logs for failed packages are kept in /var/log/paludis/.

    * SLOT and EAPI now show up as metadata keys, and are searchable.

0.34.2:
    * Wildcards are now allowed for --contents and --executables.

    * A hardlink-merging bug has been fixed.

    * New appareo client, for manifest generation.

0.34.1:
    * We can now skip src_ phases where it is safe to do so.

    * Documentation updates for repository configuration.

    * Support for managing user and group accounts (requires distribution
      support).

0.34.0:
    * instruo is now parallelised.

    * For NoConfigEnvironment profiles are only loaded when needed.

0.34.0_alpha2:
    * Unpackaged repository now defines merge and strip phases, making phases
      useful for importare.

    * Fixed build errors on certain systems.

    * Stop pythons from eating all your rams when compiling.

    * Updates to zsh completions.

0.34.0_alpha1:
    * Masks that have been overridden by the user are now shown.

    * Support phases.

    * Paludis internals are now threaded using pthreads, and provide the SGI
      guarantee.

0.32.4:
    * DEFINED_PHASES can now be cached for 0-based EAPIs.

    * Tidy up documentation and completion functions after the removal of
      --checks and --debug-build.

    * Profile EAPI files are now supported for E repositories.

    * Fix bug where IUSE="foo +foo -foo" would show three foos rather than one.

0.32.3:
    * Fixed handling of VIDEO_CARDS="foo" in make.conf, ** in package.keywords
      with PortageEnvironment.

    * Fixed new/changed options display.

    * Fixed the stripper.

    * RESTRICTed build options are no longer shown.

0.32.2:
    * Fixed various compiler issues.

    * ERepository::package_names (and by extension, paludis --list-packages) are
      now quite a bit faster, but may list package names whose package
      directories include no versions.

    * DEFINED_PHASES is now used and supported (but not used for 0-based EAPIs
      with pre-generated cache, since a cache line has yet to be standardised).
      As a result, ebuild hooks for phases that aren't used will not necessarily
      be triggered.

0.32.1:
    * VDB entries not containing an IUSE file would give incorrect behaviour.
    This is now fixed.

0.32.0:
    * accerso now handles unmirrorable files sensibly.

    * sets would sometimes not end up being added to world. This is now fixed.

0.32.0_alpha1:
    * Support for packages that haven't been written yet.

    * --debug-build and --checks are gone, replaced by the special
      build_options: choice that can be configured in a similar way to use
      flags.

    * Clients using NoConfigEnvironment now use --extra-repository-dir (possibly
      multiple times) and --master-repository-name rather than
      --master-repository-dir.

    * The contrarius client has been removed.

    * metadata.xml support.

0.30.3:
    * 0.30.2 would fail tests on some systems due to relative path issues.
      This is now fixed.

0.30.2:
    * Work around ebuilds that treat cwd as secure.

0.30.1:
    * EAPI 2 support.

0.30.0:
    * Paludis no longer includes wrappers for GNU awk, make, patch, and sed.
      Users of systems where the default versions are not the GNU versions
      must use PATH manipulation or aliases in /etc/paludis/bashrc to ensure
      that the GNU versions are used.  (This is not necessary on typical Linux
      systems; check <command> --version if in doubt.)

    * Support for from- and in- repository deps.

    * Wildcards are now allowed for paludis --query, --uninstall, --install.

    * Unavailable format repositories are now documented and built by default.

0.28.0:
    * Compilers without tr1 memory, type traits and functional support are no
      longer supported. This means you, gcc-3.

    * Support for the Exherbo distribution.

    * Better detection of SCM versions.

    * bug fixes: pkg_pretend now behaves correctly with resumes (ticket:604).
      Better support for Portage config files (ticket:597). Package dep spec
      parsing no longer has trailing hyphen issues (ticket:590).

    * New Selection + Filter + Generator interface using Environment, replacing
      the old PackageDatabase Query (ticket:559).

    * importare can now change file ownership to root (ticket:599).

0.26.2:

    * Bug fixes: importare now really adds packages to world by default, as
      promised in 0.26.0_pre3.  pkg_pretend is now properly fatal (ticket:579).
      There are no longer bogus 'use flags defined recursively' messages
      (ticket:568).  Symlink rewriting now works when builddir contains symlinks
      (ticket:571).  The dreaded Ruby bindings segfaults are fixed (ticket:558).

    * The Ruby bindings have been extended somewhat.

0.26.1:
    * Bug fix: if we install a directory using rename(), call utime() on all
      file children.

0.26.0:
    * Fixed gcc-3.4 compile.

0.26.0_pre4:
    * portage_compatible in environment.conf is deprecated in favour of the new,
      more fine-grained accept_breaks_portage.  When using Portage configuration
      files, this is also supported as PALUDIS_IGNORE_BREAKS_PORTAGE in
      make.conf, for the convenience of users who prefer to use
      Portage-compatible configuration files without caring about Portage
      compatibility.

    * Extended attributes are now preserved when merging, where supported.

    * paludis now supports syncing from bzr repositories.

0.26.0_pre3:
    * reconcilio no longer accepts the --verbose switch; verbose display is
      now turned on unconditionally.

    * env->query_use(...) now issues a QA notice and returns false for E
      repository IDs when the flag isn't in IUSE / USE_EXPAND / arch.list.

    * importare now adds packages to the world file unless the --preserve-world
      option is specified; any packages previously installed with importare
      should be added manually if appropriate.  The special "ununused" set no
      longer exists.

    * If 'foo' is a user defined set, we automatically create 'foo*' which is
      like 'foo' but with all operators treated as '*' recursively.

0.26.0_pre2:
    * paludis now supports ${root} in environment.conf.  This can be
      used when defining the "world" key, so that the configuration
      works when the filesystem is mounted as a chroot as a separate
      directory.

    * Set names can now be specified in .conf-style set files.

    * Sets can now contain ?: entries, which are like ? entries but also
      consider the slot part of the dependency specification.

    * We no longer issue a QA warning for E repository profiles that attempt to
      remove the same line more than once from a parent profile's files.

0.26.0_pre1:
    * paludis now rebuilds the VDB names and provides caches
      incrementally after each install and uninstall. This can give a
      significant speed-up, but it makes it more important to run
      paludis --regenerate-installed-cache after installing or
      removing a package with portage, as this will no longer be done
      automatically.

      This also changes the format of the provides cache, so you will need
      to run paludis --regenerate-installed-cache once after upgrading.

    * paludis now uses ${builddir}/${CATEGORY}-${PF} instead of
      ${builddir}/${CATEGORY}/${PF} as a temporary build directory.

0.26.0_alpha14:
    * paludis now has an --executables option which shows all executables
      installed by a package that are in $PATH.

    * paludis --info pkg now shows information about all installed matches and
      the best installable match by default.

    * Installation details for pretend_resume demo hook have changed. Please
      remove any old symlinks and see the comments at the start of the file
      for new instructions.

0.26.0_alpha13:
    * World is now handled by environment, not individual repositories. Consult
      the FAQ 'Upgrades' section for migration instructions.

    * All ruby demos are now installed with the executable bit set, and a
      symlink for playman is installed in $(bindir).

    * importare now has an --install-under option.

    * Added two new hook phases, install_task_execute_pre and
      install_task_execute_post, to avoid issues with continue-on-failure.

    * Hooks in the auto/ directory can now specify in which phase or phases they
      are to be run.

0.26.0_alpha12:
    * The merger is able to detect hardlinks and tries to merge them as such.

    * We're even less strict about environment checking from VDB, to avoid
      issues with packages installed several years ago when USE_EXPAND didn't
      include KERNEL etc.

    * Fixed a quoting bug that would result in unwanted wildcard expansion
      when rewriting *DEPEND values.

0.26.0_alpha11:
    * paludis --owner now shows matching files when --full-match is not
      specified.

    * importare now does stripping the same way as E repositories, based upon
      the --debug-build argument.

    * We are less strict when doing environment checking when loading an entry
      from VDB, to avoid issues with some Portage versions not setting certain
      variables.

0.26.0_alpha10:
    * rsync based syncers (rsync://, file://, tar+http:// and tar+ftp://) now
      support --exclude in sync_options, as well as --exclude-from.

    * Set names are now supported in package_mask.conf and package_unmask.conf.

    * Experimental new Exndbam repository, which can replace VDB on systems that
      don't use Gentoo trees.

    * In various places we now sort by i-node rather than filename when doing
      directory recursion. This gives substantial i/o improvements.

0.26.0_alpha9:
    * Recent Portage unpacks lzma files, in violation of PMS and without any way
      of ebuilds being able to check for this behaviour. We now emulate this
      stupidity.

    * Work around tr1::shared_ptr<> not being usable with a tr1::mem_fn when
      using boost.

    * Work around various ICC oddities.

0.26.0_alpha8:
    * Playman is now an "official" ruby demo script.

    * Various Ruby updates.

    * Various QA updates.

    * Sending Paludis a SIGINT or SIGTERM whilst it has children active will no
      longer lock.

    * Linux appears to randomly nuke set*id bits when doing a rename(). We now
      work around this.

0.26.0_alpha7:
    * New demo hook, pretend_resume.bash, to print the resume command
      at the end of the --install --pretend display.

    * dohtml fixed.

0.26.0_alpha6:
    * Various merger bug fixes.

    * Various Ruby updates.

    * Various QA updates.

    * Uninstalling packages installed with recent Portage no longer breaks.

0.26.0_alpha5:
    * STILL BROKEN, wait for 0.26.0 if you use these: CRAN, Ruby bindings for
      dep list.

    * Various switches now support --no-, for negation.

    * paludis, inquisitio --show-authors.

    * {keywords,licenses,use}.conf can now contain single- or double- quoted
      tokens.

    * paludis --install --pretend will show how many bytes still need to be
      downloaded for a given package to be installed. Two new metadata keys,
      size_of_download_required and size_of_all_distfiles, have been added.

    * Some merger improvements were implemented: try to merge by renaming a
      parent directory or merging each file separately. If a copy is needed,
      merge to a temporary file and then rename to the real destination.

    * Symlink rewriting is now part of the merger and is EAPI-configurable. All
      EAPIs known to paludis allow symlink rewriting except exheres-0.

    * Rather than spawning a second paludis instance, has_version etc in ebuilds
      now communicate back to the original Paludis process through a pipe.

    * Paludis will now work with Bash 3.2_p20 and later (gentoo#190128).

0.26.0_alpha4:
    * STILL BROKEN, wait for 0.26.0 if you use these: CRAN, Ruby bindings for
      dep specs.

    * inquisitio --all-versions, --not, --compact.

    * paludis, reconcilio, importare --compact, --show-package-descriptions.

    * New defaults: --debug-build split, --dl-blocks
      accumulate, --dl-override-masks tilde-keyword license (and use 'none' to
      ignore defaults), --show-reasons summary, --show-use-descriptions changed,
      --show-package-descriptions new, --dl-downgrade warning

    * Paludis now protects further against sandbox clobbering the PATH.

    * Metadata options for importare.

    * adjutrix, qualudis and friends ignore --master-repository-dir if
      it is the same as the main repository directory, allowing it to
      be more usefully specified in {ADJUTRIX,QUALUDIS}_OPTIONS.

    * Various API documentation improvements.

0.26.0_alpha3:
    * STILL BROKEN, wait for 0.26.0 if you use these: CRAN, Ruby bindings for
      dep specs.

    * More verbose paludis --info output.

    * Paludis now fully supports filenames containing spaces.

    * New, much more flexible, faster inquisitio.

    * paludis --continue-on-failure if-independent implemented.

    * libebt, libwrapiter no longer used.

    * Bug fixes: --dl-deps-default works again. More
      robustness/compilance improvements for reconcilio, including
      proper handling of ELF files that use the non-native byte order.
      --show-use-descriptions works as in 0.24 for new packages.

0.26.0_alpha2:
    * STILL BROKEN, wait for 0.26.0 if you use these: CRAN, Ruby bindings for
      dep specs.

    * If a wrong package or repository name is used in several places, they will
      give possible suggestions rather than just saying "could not find
      whatever".

    * More documentation for clients.

    * User-defined package sets are now cached.

    * Bug fixes: reconcilio is better at handling broken elf files. Doxygen
      external tags are fixed. IUSE in VDB has +/- stripped.

0.26.0_alpha1:
    * STILL BROKEN, wait for 0.26.0 if you use these: CRAN, Ruby bindings for
      dep specs.

    * We now ship Python bindings (Google Summer of Code project by Piotr
      JaroszyƄski).

    * Massive internals changes. The old PDE / VM system has been replaced by
      PackageIDs.

    * GCC 4.1+ users can now --enable-visibility to enable .so visibility
      attributes.

    * EAPI 1 is supported.

    * Support for .so and Python hooks.

    * New distribution configuration system, allowing distributions to change
      various aspects of default behaviour.

    * Compiling against Paludis is now done via pkg-config.

    * Huge documentation rework.

    * Unsafe uninstalls now require 'paludis --permit-unsafe-uninstalls'.

    * Manifest2 support, replacing digest support.

    * Whether src_test is run is now an EAPI defined default. 'paludis --checks
      none|default|always' can be used to change this. SKIP_FUNCTIONS voodoo is
      now considered harmful.

    * New clients: accerso (for running a distfiles mirror), instruo (for
      generating metadata cache), reconcilio (like revdep-rebuild), importare
      (for managing unpackaged packages).

    * Initial 'paludis --continue-on-failure' support.

    * Much nicer 'paludis --info', and pkg_info support.

0.24.6:
    * Various bugfixes: ebuild_notice is now called correctly by various
      utilities. Exit statuses for programs dying with a signal are now detected
      correctly.

    * g++-4.2's std::exception::what() is less useful. We now use typeid.name()
      to get the type of an exception for error messages.

    * configure now checks for more CXXFLAGS that are known to cause breakages.

    * We now include test cases for hooks. This means eselect modules are now
      strict build dependencies.

0.24.5:
    * More ldconfig oddities fixed.

    * The eselect news module is no longer shipped as part of Paludis.

0.24.4:
    * The ldconfig check introduced in 0.24.3 would incorrectly detect a BSD
      ldconfig on some GNU systems. This is now fixed.

0.24.3:
    * Bug fix: -* in keywords.conf now works.

    * Non-GNU ldconfig is now supported.

    * Various minor bug fixes and docs updates.

0.24.2:
    * Various fixes for FreeBSD, gcc 3.4.

    * Recursively defined USE flags no longer cause problems.

0.24.1:
    * Switched to automake-1.10 for BSD friendliness.

    * Dist tarballs no longer have issues with missing Vim scripts.

0.24.0:
    * Ranged dependencies using foo/bar[>=1&<2] or foo/bar[=1|=2] are now
    allowed. An asterisk can now be used for the category and / or package part
    of a dependency specification in places where it makes sense. Use of '*' in
    keywords.conf, use.conf, licenses.conf is deprecated in favour of '*/*'.

    * PMS r163 compliant version specifications.

    * Stricter in various places: ebuilds that attempt to use non-invariant
    SLOTs will now be caught, version spec compliance is enforced, more profile
    sanity checks.

    * New Vim syntax highlighting scripts.

    * New --dl-reinstall-targets option for paludis.

    * Configuration and set files can now be dynamically generated using bash
    scripts.

    * New .hook format for hooks, allowing control over execution order.

    * Better handling of dependency resolution when a virtual is provided by
    multiple packages.

    * --add-to-world-spec no longer requires 'XXXXXX'. If not present, mkstemp
    will not be used to generate the filename.

    * Symlinks are now permitted in Ebuild repositories as per PMS.

    * Various Environment-related internals changes giving cleaner code.

0.22.2:
    * Partial, highly experimental support for Portage format configuration
    files (paludis -E portage).

    * Better error and warning messages and increased error tolerance in
    various places.

    * User hooks are now run with prefixed output to make it clear what is
    running.

    * There is no longer any need to explicitly export variables in bashrc etc.

    * Manual pages now indicate default values for options.

    * Bugfix: getgrgid returning NULL no longer causes problems.

    * Bugfix: cleaning up working directories is no longer done with userpriv.

0.22.1:
    * Bugfix: pkg_setup will no longer be run with userpriv.

    * Bugfix: line continuations in configuration files work properly now.

    * Bugfix: buildroot is no longer created automatically, so it won't have
    inappropriate permissions.

0.22.0:
    * Ability to drop privileges when building. Paludis now expects distfiles
    and buildroot directories to be owned by the group 'paludisbuild'.

    * Dynamic environment loading: --config-suffix foo is deprecated in favour
    of --environment :foo.

    * Various PMS compliance fixes.

0.20.2:
    * Various bug fixes, most notably ncurses should now be upgradable.

0.20.1:
    * Bug fix: variables from saved environments would sometimes not be exported
    to helper programs due to a 'feature' of declare -x in bash.

0.20.0:
    * Merging is now handled by the destination repository. The new merger
    code does a two pass merge to catch most errors before the filesystem
    is modified. New merger hooks allow for much more flexibility.

    * Hooks returning non-zero will now usually cause an abort rather than
    a warning.

    * Various new QA checks.

    * Lots of internal code cleanups.

0.18.1:
    * use.conf etc now automatically includes use.conf.d/*.conf.

    * New configuration key for ebuild repositories, master_repository. If set,
    the specified repository will be used as a 'master' for profiles/, eclasses,
    PORTDIR etc.

    * qualudis now supports --master-repository-dir for checking of
    non-standalone repositories.

    * Compile fixes for g++-3.4, g++-4.2, selinux.

0.18.0:
    * Huge code cleanup. If your compiler does not implement tr1, you will now
    need boost installed.

    * Much faster adjutrix --what-needs-keywording when the system set includes
    blocks.

    * New client, inquisitio, for searching.

    * Sets can now appear in world, and can be uninstalled.

    * Support post-install configuration via paludis --config.

    * Write cache is now cleared after a sync.

    * The repository name is now appended to the names_cache path. When
    upgrading, you will be told to manually remove any old names_cache files.

    * A bug with overwriting stale symlinks with objects has been fixed.

0.16.2:
    * Defaults for repository conf files can now be specified via
    repository_defaults.conf.

    * Hooks can now determine which client is being used via the PALUDIS_CLIENT
    environment variable.

    * For unmerging, VDB parsing of Portage-generated entries is less strict.

    * Various bug fixes.

0.16.1:
    * 0.16.0 had a bug that would cause blocks to be reported incorrectly for
    certain virtuals. This is now fixed.

    * paludis --list-* now supports a --repository-format option for
    restricting output.

    * g++-3.4 ships with broken iterators. We now work around this.

0.16.0:
    * Enhanced DepList. Most blocks are now shown as errors in the list.
    Suggested dependencies are now supported. Paludis can continue resolving
    dependencies when encountering a masked package, and show a summary of
    everything that needs to be unmasked as part of the output. Post
    dependencies can now be installed much later on if necessary to resolve
    cycles. Deps in the form || ( a =b-2 ) where b-1 is installed are handled
    more elegantly. Deps in the form || ( =a-1 =a-2 ) are rewritten to a single
    package dependency. Blockers are now handled correctly. Downgrades are now
    user controllable.

    * New adjutrix --what-needs-keywording action, for use by arch and security
    teams to obtain a full list of what would need to be keyworded to mark a
    target to a particular keyword level.

    * In repository configurations, format=portage is deprecated in favour of
    format=ebuild, and format=nothing is deprecated in favour of hooks.

    * A bug whereby Paludis would sometimes use the default virtual provider
    even when an alternate virtual provider is installed is fixed.

    * We now work around a sandbox 'feature' that results in PATH being
    clobbered. This fixes build issues with openoffice, dev86 and probably
    others.

    * Emulate Portage's silly and highly limited hooks system so that
    misbehaving Java ebuilds still work. Users should not use these hooks for
    anything.

    * Syncers are now pluggable. Syncing via darcs and tar+http is now possible.
    Syncers can now take various options via the sync_options key (use
    --list-sync-protocols for a list), and sync_exclude is deprecated. Multiple
    syncers can be specifed, in which case later syncers are used as a fallback.

    * Paludis now has a logo.

0.14.3:
    * Updated zsh completion

    * The QA metadata check now handles the cached dtd properly.

    * Packages that were updated inconsistently by Portage can now be
    uninstalled without strange errors.

    * Hooks now have access to the parsed commandline via various environment
    variables.

0.14.2:
    * Various performance tweaks.

    * keywords.conf can now use * to accept packages that brokenly set only "-*"
    in KEYWORDS.

    * Installing and uninstalling set*id files is now done differently to
    prevent exploitation of supposedly uninstalled vulnerable applications.

    * Profile incremental variables are now handled in compliance with the
    current PMS draft.

    * Various extensions to the Ruby interface.

0.14.1:
    * Versions can include -rx.y, -rx.y.z etc.

    * Paludis can now be told to pull in new slots only where really necessary,
    via --dl-new-slots as-needed. This must be used in conjunction with the
    existing --dl-upgrade.

    * Paludis can now uninstall all versions of a package by --uninstall
    --all-versions.

    * Paludis now supports resuming of interrupted downloads. Consult the FAQ
    for how to use this.

    * --show-install-reasons is now called --show-reasons.

    * qualudis now supports --archs and --exclude-archs.

    * Documentation on sets and hooks is now provided.

    * Set names can now be used for the atom column in use.conf, keywords.conf,
    licenses.conf, package_unmask.conf, package_mask.conf.  use.conf and
    licenses.conf atomed entries can now override less specific entries'
    contents by using "-*".

    * The adjutrix keywords graph now indicates unused packages visually.

0.14.0:
    * The merge and unmerge utilities are now called with an explicit path.

    * The documentation has been tidied up and extended. Documentation for
    the Ruby interface is now available.

    * paludis --report now also reports unused packages.

    * Various demonstration hooks (show new packages after a sync,
    run report automatically after a sync, enhanced elog message logging)
    are now included.

    * Support for ranged dep atoms and the ~> version operator is now
    available.

    * QA now checks package visibility and profiles. The various QA blacklists
    are now in text files rather than hard coded.

    * A new client for handling cross toolchains, contrarius, is supplied.

    * Completion for ZSH is now available.

    * CVS can now be used in sync keys for repositories.

    * The paludis client can now display a description of USE flags shown
    in a --install --pretend session. The --dl-deps-default parameter can
    be used to specify default values for all six dependency classes.

    * Various icc and BSD portability fixes.

    * The uninstall_ hooks are now called only for real uninstalls. When
    cleaning a package, clean_ is used instead.

    * Paludis handles upgrading itself much more elegantly.

0.12.0:
    * The QA library now has a Ruby interface.

    * Huge performance increases for various common tasks, assisted by optional
    new cache methods. This requires changes to repository files (documented in
    CacheFiles.html).

    * Packages named -live are now recognised as SCM packages.

0.10.1:
    * Package origins and install times can now be queried.

    * Packages with version 9999, or with names ending in "-cvs" or "-svn", are
    now considered to be SCM packages for reinstall purposes.

    * Paludis will now compile with g++-3.4 again.

    * A new --report action, which displays warnings about installed packages
    that are insecure, masked or no longer available, has been added to the
    paludis client.

0.10.0:
    * Uninstall with dependencies and uninstalling unused packages is now
    supported.

    * SCM (CVS, subversion, ...) packages can now be flagged for reinstall after
    a given period of time.

    * Paludis now has options for automatically making debug or split debug
    builds.

    * The resume command can now be written to a file.

    * Cache can be written to a named directory.

    * Various ebuild compatibility tweaks.

    * When to fall back to installed packages to resolve a dependency is now
    configurable.

    * Users can define their own fetchers.

0.8.4:
    * With 0.8.3, 'make doxygen' at top level would fail. This is now fixed.

0.8.3:
    * More work on the Ruby interface.

    * paludis --query now always shows SLOT information.

    * qualudis now has a --quiet option and checks for certain illegal variable
    assignments.

    * Old-style virtual packages are no longer displayed in dep lists.

    * Bash 3.2's different =~ syntax is now supported.

    * PALUDIS_OPTIONS now only applies to paludis. ADJUTRIX_OPTIONS etc can be
    used for other clients.

0.8.2:
    * Lots of documentation updates. A new "Programming with Paludis" document
    is available.

    * NoConfigEnvironment, and by extension adjutrix, can now work with VDB
    repositories where appropriate.

    * More work on the Ruby interface.

    * Various minor Portage compatibility tweaks.

0.8.1:
    * Various autotools-related bugs are fixed. The Ruby Paludis.so should now
    be built and installed correctly on most systems.

    * A -blah in profile files now removes all blah lines, rather than just the
    first.

    * Pre-0.8 command line options are now available again, marked as
    deprecated.

0.8.0:
    * A Ruby interface is now available.

    * qualudis: Various deprecated functions are flagged. Maintainer
    information is now included in the output.

    * The deplist has been rewritten to be much cleaner and much more sensible
    in its handling of virtuals. It can now reinstall packages if USE flags have
    changed, and can display why a package is being installed.

    * The security set for Portage format repositories no longer requires an
    external preprocessor. paludis -pi security will now work off a raw sync.

0.6.7:
    * The qualudis client now checks that Manifest files are signed.

    * Various minor bug fixes.

    * We now define a PKGMANAGER environment variable and vdb entry.

0.6.6:
    * Using * -* in use.conf no longer implies -* for USE_EXPAND variables.

    * A new NoConfigEnvironment is provided to make things easier for tool
    writers.

    * The adjutrix client now has a reverse dependencies search facility.

0.6.5:
    * The USE_EXPAND code has been simplified, and numerous bugs fixed in the
    process.

    * A new --list-sets action is available.

    * For --query, visible packages are now chosen over invisible packages.

    * When a package install fails, the paludis client now displays a command
    that can be used to resume the current task.

0.6.4:
    * A bug that could cause highly strange behaviour with virtuals when using
    multiple profiles is fixed.

    * All package sets are now composite. Previously some were instead selected
    from only one repository, which was confusing behaviour and not as useful as
    originally suspected.

0.6.3:
    * -* now works properly.

    * The adjutrix keywords graph is now SLOT aware.

0.6.2:
    * A bug preventing recursion from behaving correctly in dohtml is fixed.

    * Ebuild hooks can now use 'die'.

    * The eselect news client has several new options.

    * Portage doesn't always add a newline to the last line in world. We now
    work around this.

    * use.conf now supports -*, to prevent inheriting profile defaults.

    * CONFIG_PROTECT and CONFIG_PROTECT_MASK now recognise -target and -*.

    * The adjutrix client has several new actions that will be of use to arch
    and release teams.

0.6.1:
    * A bug in dosym is fixed, meaning that Java packages, amongst others, can
    now be installed.

    * Profile package.mask files can now remove entries from inherited profiles.

    * libdir is now set properly by econf when an ebuild specifies --prefix.
    This should fix installing of KDE, amongst others.

    * More sanity checking is now done both of the build environment and at
    runtime.

0.6.0:
    * elog will now write to PALUDIS_ELOG_FILE, if defined, as well as
    displaying on screen.

    * Virtuals are now handled entirely dynamically and are not written to vdb.

    * Support for CRAN (the Comprehensive R Archive Network) repositories is now
    available.

    * Manual (man) pages are now provided.

    * Logic for complex operations such as installing and uninstalling has been
    moved out of the client code and into separate task classes.

    * Repository formats are now dynamically loaded from .so files rather than
    being compiled in.

    * libwrapiter is now used to simplify iterator interfaces and reduce compile
    times.

    * Much better handling of Portage-generated VDB entries.

    * For VDB repository entries, all USE flags are marked as masked / forced.

    * --query on virtuals is more useful. USE flags are displayed for --query.
    Sets can be shown with --query.

    * New client: adjutrix, a tool for developers and arch teams.

0.4.4:
    * In key/value configuration files, line continuations inside a quoted
    string with no backslash is now a warning, not an error.

    * REAL_CHOST is now exported automatically, to avoid problems with
    gcc-config when Portage is not installed.

    * Support for newer libselinux /proc voodoo.

    * svn+https:// is recognised for syncing.

    * Huge speed improvements when merging.

    * portageq vdb_path is now emulated.

    * Fail hooks for ebuild phases are available.

0.4.3:
    * An infinite loop on unmerge bug has been fixed.

0.4.2:
    * CONFIG_PROTECT now works as expected for ROOT=/.

    * Unmerging Portage-installed packages with ROOT=/ will no longer have
    strange eclass issues.

0.4.1:
    * Unmerging Portage-installed packages with ROOT=/ will no longer trigger
    sandbox problems.

    * Category names can now include dot characters (crossdev requires this for
    some CHOST values).

    * Use of colour is more consistent.

    * Lots of doxygen and code cleanup.

0.4.0:
    * Lots of internal code cleanup.

    * Doxygen generated documentation is much cleaner. Documentation about
    configuration file formats is now provided.

    * The build directory for Portage format repositories is now configurable
    using a parameter named 'buildroot'.

    * --pretend --install now displays detailed counts ('1 upgrade, 3 new')
    rather than just a raw number. USE_EXPAND flags are displayed in a much
    more useful manner.

    * As part of the test suite, various full installs of test packages are
    now performed.

    * Multiple eclass directories and multiple profile directories can now
    be specified for Portage format repositories. The 'eclassdir' and
    'profiledir' keys are now deprecated in favour of 'eclassdirs' and
    'profiledirs'.

    * New commandline options: --list-vulnerabilities, mostly for use by
    tree maintainers; --dl-no-unnecessary-upgrades, for avoiding upgrades of
    dependencies; --environment-variable which can be used to print
    the value of an environment variable for an installed or uninstalled
    package; similarly, --configuration-variable can be used to get a repository
    configuration variable; --info, as per portage.

    * A new repository format named "nothing" is available. It does not
    contain any packages, but supports a sync parameter to make automatically
    syncing other directories simpler.

    * Fetching is now handled via wrapper scripts. Support for file:/// URLs
    has been added.

    * If the user mirrors.conf file contains an entry with a mirror named '*',
    first try fetching everything from that location.

    * A warning is now emitted when dropping circular dependencies.

    * The merge / unmerge code is now written in C++ rather than bash, and the
    MD5 implementation is now internal rather than relying upon 'md5sum', which
    works around problems when upgrading libc. When upgrading and downgrading,
    sh breakages due to library version changes are less likely to be a problem.

    * xterm titles are now updated for syncing, similar to previous behaviour
    for installing.

    * Syncing via Subversion over HTTP (svn+http://) has been enabled.

    * Improved Portage compatibility: .tar.Z files are now unpacked correctly;
    the 'date' command in ebuild global scope now works with a warning, rather
    than being a hard failure; use of * with operators other than equals in dep
    atoms is now a QA warning rather than a fatal error; PVR and AA are
    supported, and A and AA do not include extra whitespace; dosym now calls
    dodir as necessary as per Portage 2.1; elog is available.

    * Some log messages include program context, to make finding the cause
    of the problem simpler.

    * The repository whence a package originates is saved in VDB. Portage
    compatible environment saving is now used. VDB_FORMAT is now "paludis-2".

    * SELinux is supported.

    * Backtraces are now displayed from 'die'.

    * World file updates are now carried out for packages that are unrestricted
    except where --preserve-world is specified, regardless of whether the
    package was previously installed. World updates are carried out after
    packages are installed rather than before.

    * Dependency errors due to [use] requirements now have more friendly error
    messages.

0.2.5:
    * Syncing via Git is possible (git://, git+http://, git+ssh://).

    * A new mirrors.conf configuration file can be used by the user to specify
    favourite mirrors. It has the same format as thirdpartymirrors from the
    repository.

    * Error condition handling is improved in many places.

    * Versions can now include -try.

    * Initial work towards FreeBSD support has been started.

0.2.4:
    * An ebuild metadata generation bug has been fixed.

    * For Portage format repositories, the location of security advisories is
    now a configuration option.

0.2.3:
    * Added support for repository-level global and per-package USE forcing.

    * Added --repository, --category, and --package filter options for --list
      actions.

    * Added an eselect-based newsreader. Paludis now provides a reference
      implementation of GLEP 42.

    * Various bugfixes -- reinstalling glibc and coreutils should work now,
      amongst others.

0.2.2:
    * Deplist tags are now used for all package sets.

    * The --query output now includes a key explaining the mask symbols.

    * News items can now be delivered via repositories (GLEP 42).

    * Various sandbox issues have been fixed.

    * Various bugfixes.

0.2.1:
    * Build issues caused by trying to invoke sandbox from inside sandbox have
      been fixed.

    * The value of EAPI is now shown in the --install mask reasons.

    * User and repository defined package sets are supported.

    * The hook script interface has been enhanced. A hook script for logging
      important actions to paludis.log is included.

    * The --best-version output no longer includes the ::repository suffix.

    * VDB reading is more tolerant of missing and malformed files.

    * Using --query on a package set produces a better error.

    * Ebuilds using fetch restrict will now have pkg_nofetch called where
      appropriate.

0.2.0:
    * Initial public release.

.. vim: set tw=80 spell spelllang=en :