'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.

New in version 0.52.3 (August 11th, 2010)

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.

New in version 0.52.2 (August 10th, 2010)

'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.

New in version 0.52.1 (August 8th, 2010)

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.

New in version 0.52.0 (August 7th, 2010)

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.

New in version 0.50.3 (July 31st, 2010)

:* 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.

New in version 0.50.0 (July 25th, 2010)

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.

New in version 0.48.6 (July 23rd, 2010)

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.

New in version 0.48.5 (July 21st, 2010)

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 were added for scripting: print-id-actions, print-id-masks, print-repository-metadata, and print-set.

New in version 0.48.4 (July 19th, 2010)

'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.

New in version 0.48.3 (July 14th, 2010)

'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).

New in version 0.48.2 (July 11th, 2010)

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.

New in version 0.48.1 (July 8th, 2010)

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.

New in version 0.48.0 (June 21st, 2010)

--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.

New in version 0.46 (March 31st, 2010)

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.

New in version 0.44.2 (March 7th, 2010)

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.

New in version 0.44.0 (January 11th, 2010)

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.

New in version 0.42.0 (October 28th, 2009)

Qualudis has been removed.

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

New in version 0.40.0 (September 4th, 2009)

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.

Upgrading an unpackaged package no longer errors out.

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

New in version 0.36.0 (February 28th, 2009)

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 any kinks have been ironed out.

By default, 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.

New in version 0.34.5 (February 26th, 2009)

--continue-on-failure would always consider old-style virtuals unsatisfied. This is now fixed.

New in version 0.34.3 (February 10th, 2009)

Unfortunately, std::ifstream and std::ofstream are allowed to fail in non-obvious ways when given a duff file. In particular, gcc won't produce an error when a std::ifstream is created for a directory until the first read occurs.

This release includes its own stream buffer classes that do error checking and throw useful exceptions on errors.

New in version 0.34.2 (February 4th, 2009)

Wildcards are now allowed for --contents and --executables.

A hardlink-merging bug has been fixed.

There is a new appareo client for manifest generation.

New in version 0.34.1 (January 28th, 2009)

This release can skip src_ phases where it is safe to do so.

There are documentation updates for repository configuration.

There is support for managing user and group accounts (requires distribution support).

New in version 0.34.0 (January 21st, 2009)

instruo is now parallelized. For NoConfigEnvironment, profiles are only loaded when needed.

New in version 0.34.0 Alpha 1 (January 11th, 2009)

Masks that have been overridden by the user are now shown.

Phases are supported.

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

New in version 0.32.4 (December 23rd, 2008)

DEFINED_PHASES can now be cached for 0-based EAPIs.

This release tidies up the documentation and completion functions after the removal of --checks and --debug-build.

Profile EAPI files are now supported for E repositories.

A bug where IUSE="foo +foo -foo" would show three foos rather than one has been fixed.

New in version 0.32.3 (December 12th, 2008)

This release fixes handling of VIDEO_CARDS="foo" in make.conf, and ** in package.keywords with PortageEnvironment.

It fixes new/changed options display, and fixes the stripper.

RESTRICTed build options are no longer shown.

New in version 0.32.2 (December 6th, 2008)

This release fixes 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 standardized).

As a result, ebuild hooks for phases that aren't used will not necessarily be triggered.

New in version 0.32.0 (November 30th, 2008)

This release handles unmirrorable files sensibly. Sets would sometimes not end up being added to world. This is now fixed.

New in version 0.32.0 Alpha 1 (November 25th, 2008)

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 has been added

New in version 0.30.2 (October 10th, 2008)

This release works around ebuilds that assume that cwd is safe.

New in version 0.30.1 (September 26th, 2008)

EAPI 2 support was added.

New in version 0.30.0 (September 4th, 2008)

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, and --install.

Unavailable format repositories are now documented and built by default.