2
Version 0.6.2.1 "I didn't know it was a
5
- Crashes and serious errors:
7
* Fixed a crash caused by being insufficiently careful about NULL
8
pointers in the resolver. (Closes: #578344)
10
* Boost 1.42 changed the order of arguments to fusion::fold(),
11
breaking aptitude. As an interim measure, I have modified
12
configure to require 1.42 or higher, and fixed the argument order.
13
The correct long-term fix here is to do a feature test to see
14
which order fold expects its arguments in.
16
- Backwards compatibility fixes:
18
* Restored the "conflict" safety level/tier.
20
* Fixed a bug that meant that the old configuration option names
21
(*-Tier instead of *-Level) could only be used to increase safety
22
levels, not to decrease them.
26
* Change the incremental_expression subsystem of the resolver to be
27
fully robust against NULL pointers and write unit tests for it.
29
* Reduced the number of explicit dependencies on log4cxx (using
30
indirection), in case I decide to resolve the random crashes it
31
causes by switching to some other framework or rolling my own.
34
Version 0.6.2 "A costly proposition"
38
+ [all] Resolver tiers are dead, long live resolver costs.
40
The resolver now supports a flexible system of multi-leveled
41
costs, in place of the fairly rigid tiers of previous
42
releases. The default behavior emulates how tiers worked,
43
but the resolver can also be configured with custom cost
44
vectors by setting Aptitude::ProblemResolver::SolutionCost
45
to something like this:
47
canceled-actions + 2*removals, ignored-recommends, installs
49
That says to minimize the number of packages kept at their
50
current version plus twice the number of removals (i.e., a
51
removal counts for two keeps). Within that group, ties are
52
broken by looking at the number of Recommends that were
53
ignored, and within that group, ties are broken by looking
54
at the number of new packages the resolver wants to install.
56
In addition to custom cost vectors, resolver hints can be
57
used to create completely custom costs.
59
See the reference manual for full details.
61
This is not optimized and I expect that pushing it to the
62
limits will show off all sorts of exponential explosions.
65
+ [cmdline] Implemented an "aptitude versions" command that I've
66
been kicking around for a while, to display and search
67
for individual package versions. Documented in the
68
manpage, but here are some highlights:
70
$ aptitude versions apt
71
i 0.7.25.3 unstable 500
72
p 0.7.26~exp3 experimental 1
74
$ aptitude versions '^apt$ ?installed'
76
i 0.7.25.3 unstable 500
78
$ aptitude versions xserver-xorg udev
85
p A 1:7.5+5 unstable 500
87
$ aptitude versions --group-by=source-package '?name(aptitude)'
88
Source package aptitude:
89
i aptitude 0.6.1.5-2 100
90
p aptitude 0.6.1.5-3 unstable 500
91
i aptitude-dbg 0.6.1.5-2 100
92
p aptitude-dbg 0.6.1.5-3 unstable 500
93
i aptitude-doc-cs 0.6.1.5-2 100
94
p aptitude-doc-cs 0.6.1.5-3 unstable 500
95
(... many more lines of output snipped ...)
97
- Crashes and serious errors:
99
+ [cmdline] Don't crash if the user sets a rejection at the internal
100
command-line via package name and version rather than
101
using the new pick-by-numbers UI. (Closes: #567242)
103
+ [cmdline] Don't crash if the user asks to see information about a
106
+ [cmdline] Don't crash in "aptitude changelog" when the package
107
given on the command-line doesn't have a valid version
108
(Closes: #576318). Thinks to Dmitry Semyonov for the
111
- Cosmetic and UI bugs:
113
+ [curses] Don't leave a download progress bar hanging around after
114
downloading a changelog. (Closes: #566205)
118
+ [all] Replaced mktemp() with a custom function doing a similar
119
thing (albeit with slightly better randomness). This
120
eliminates the spurious linker warning I've been ignoring
121
for five years: the linker has no way to know that I only
122
use mktemp() to create names in a mode 0700 directory, which
123
is about the only way to use it safely.
2
126
Version 0.6.1.5 "All around the dependency bush,
3
127
the monkey chased the weasel..."