2.9
 - The dependency resolver got an automatic quality bar adjustment
   algorithm, based on problem's complexity. This makes manual setting of the
   'quality-adjustment' score option unnecessary for many cases where it was
   needed before. Default values of many score options were revisited to take
   advantage of the new algorithm, including removing a starting positive bias.
 - Support for versioned provides.
 - 'why' subcommand: now prefers more strong and "more left" relations.
 - New 'cupt::resolver::score::version-factor::*' option family.
 - New FSE 'source-to-binary'.

2.8
 - Added minimal support for <package>:any syntax.

2.7
 - Added pre-configuration, i.e. the possibility to change the options related
   to the configuration itself before reading standard configuration files.
 - Support for version 3 of APT preinstall hooks.
 - Improvements in speed and memory usage of dependency resolver.

2.6
 - Subcommands 'markauto' and 'unmarkauto' are now first-class management
   actions: can cause more actions in the same run (usually auto-removals) and
   have positional counterparts '--markauto' and '--unmarkauto'.
 - New options '--asauto=yes', '--asauto=no' and '--asauto=default' to control
   whether packages, (directly) installed by some management action, should be
   marked automatically or manually installed.
 - New choice 'rc' (show reason chain) in the actions preview prompt.
 - New options '--select=traditional' and '--select=flexible' to control how
   many versions of packages are chosen for management actions.
 - New options '--must', '--try', '--wish' and '--importance=' to control
   management requests' importance, allowing specifying optional requests and
   their priority.
 - New 'functional selectors' ("FSE") syntax for advanced version selection in
   any subcommands which accept binary/source version expressions. The
   subcommand 'search' got a new option --fse.
 - New, enabled by default, possibility to generate and use index-of-index
   files to speed up building the package cache.
 - General support for "[ key=value... ]" option syntax in sources.list.
   Specific support for 'trusted=yes' and 'trusted=no' options.
 - Apply id version suffixes (^<suffix>) to version strings to differentiate
   versions with same version string but different/uncomparable hash sums, so
   no versions are skipped anymore.
 - Support for 'InRelease' metadata files.
 - Numerous improvements in speed and memory usage.

2.5
 - New 'no longer needed' section in the actions preview.
 - Translation diffs are supported now.
 - Score calculation: for removals of packages which are not manually
   installed, apply also the new 'removal-of-autoinstalled' score.
 - Many improvements in the error and warning messages.
 - Warnings about unknown non-Cupt-specific options are not printed anymore.

2.4
 - New subcommand 'iii'.
 - New options '--show-archives', '--show-codenames', '--show-components',
   '--show-vendors' for package management actions.
 - New option '--show-dates' for 'policy' and 'policysrc' subcommands.
 - Use normalized version priority in resolver score calculations.
 - Enable deferring dpkg triggers (by default) if dpkg 1.16.1 or later is
   detected.
 - Support new index localization scheme (new 'Description-md5' field in
   binary package indexes).

2.3
 - New options '--include-archives', '--exclude-archives',
   '--include-codenames', --exclude-codenames'.
 - New option '--show-not-preferred'.
 - The action summary is now shown by default in the action preview.
   New related options '--summary-only', '--no-summary'.
 - 'search' now searches in localized descriptions if they are available.
 - Metadata updater doesn't attempt to download unexisting index localizations
   anymore.
 - Multiple index localizations are now supported (using the option
   'cupt::languages::indexes').
 - The action preview can be colored now (using the option
   'cupt::console::use-colors').

2.2
 - New positional action override options '--install', '--remove', '--purge',
   '--satisfy', '--unsatisfy'.
 - The quality of generating dpkg package sequence is improved; it's also much
   faster now.
 - Implemented logging.
 - Added an initial support of repository index deltas (PDiffs).

2.1
 - New subcommand 'showauto'.
 - Implemented regular expressions in pin preferences.
 - Now uses its own directory for package metadata.

2.0
 - Re-implemented in C++(0x).
 - A tutorial is now available.
 - Added a support for multiple upstream tarballs in source packages.
 - More descriptive error messages for errors in configuration files.
 - Implemented refusing expired Release files.
 - New wget-based download method for http(s)/ftp.
 - Implemented dpkg action priority heuristics to reduce the time from the
   package state is changed till the package state is final.
 - New configurable score calculation system in the native resolver
   (new option group 'cupt::resolver::score::*').
 - When no solutions were found, throw an error with a solution tree(s) to
   show why.
 - Automatically determine packages which need an indirect upgrade, making the
   option 'cupt::worker::allow-indirect-upgrade' unneeded.
 - Added an ability to specify additional package expressions and restart the
   solving process in the action preview prompt (new choice 'a').
 - Don't use randomization anymore for implementing
   'cupt::worker::archives-space-limit' option. Deleted option
   'cupt::worker::archives-space-limit::tries'.
