February 2nd, 2012· Changed documentation and Git URLs from paludis.pioto.org to paludis.exherbo.org.
· Gentoo's new boost.python library names are now recognised.
January 1st, 2012· Assorted bug fixes.
· Generation of thin Manifests is now supported.
October 31st, 2011· 'cave search' now has a '--case-sensitive' option.
· Assorted bug fixes.
October 19th, 2011· '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'.
· Manifest files for E repositories are now generated with the lines in the same order as Portage.
· The SHA-512 and Whirlpool functions are now supported in Manifest files.
· The hash functions used to generate Manifest files can now be controlled by either the repository itself or user configuration.
September 21st, 2011· The short options for 'cave owner' and 'cave print-owner' have changed.
· Support for directory whitelisting for exheres-0.
· Various bug fixes.
September 6th, 2011· The short options for 'cave owner' and 'cave print-owner' have changed.
· Support for directory whitelisting for exheres-0.
· Various bug fixes.
August 25th, 2011· Fixed a bug where a ! inside a || ( ) could cause a segfault.
· Assorted minor bug fixes and compiler compatibility changes.
July 19th, 2011· 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.
June 23rd, 2011· '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.
June 20th, 2011· 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'.
June 19th, 2011· 'cave fix-linkage' no longer gets upset at .la files that are missing a final newline character.
June 17th, 2011· 'cave resolve --hide' now affects resolvent selection too.
· Various minor bug fixes.
June 10th, 2011· 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.
April 13th, 2011· 'cave search --and' now works as documented.
· Previously, pbins had problems with symlinks due to oddities in libarchive.
· This is now worked around.
· Invalid cached metadata is treated slightly differently to avoid problems with Gentoo shipping broken metadata due to lack of validation in Portage.
April 4th, 2011· Second attempt at getting '--enable-prebuilt-documentation' to work reliably
March 21st, 2011· '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.
March 14th, 2011· 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.
February 14th, 2011· 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'
February 8th, 2011· We no longer issue QA warnings for certain extremely common QA violations on Gentoo.
February 3rd, 2011· 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.
January 24th, 2011· 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.
January 10th, 2011· Remove rather than add to world
January 3rd, 2011· EAPI 4 is enabled.
· New 'cave' subcommand: 'digest'.
· New 'cave print-unused-distfiles' option: '--include'.
· Updates now work correctly again.
December 17th, 2010· 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.
December 6th, 2010· '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.
November 26th, 2010· 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.
November 25th, 2010· 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.
November 10th, 2010· 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.
October 30th, 2010· Added 'cave has-version', 'cave print-best-version'.
· 'cave show' now displays correct headings for suboption groups.
October 28th, 2010· Coreutils 8.6 changes how 'stat' displays mtimes. We now support the new output format.
October 11th, 2010· 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?].
September 6th, 2010· 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.
August 30th, 2010· 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.
August 25th, 2010· '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.
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.
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.
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.
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.
· 'cave print-ids' now has short options.
· 'cave display-resolution' now displays better job count information, and more compact at displaying circular dependencies.
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.
· '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.
July 28th, 2010· '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.
July 26th, 2010· '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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
· 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.
September 18th, 2009· A bug in which fetch failures would sometimes not register as errors was fixed.
September 4th, 2009· 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.
· Upgrading an unpackaged package no longer errors out.
· Combining :slot and ::/path restrictions now works correctly.
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.
February 26th, 2009· --continue-on-failure would always consider old-style virtuals unsatisfied. This is now fixed.
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.
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.
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).
January 21st, 2009· instruo is now parallelized. For NoConfigEnvironment, profiles are only loaded when needed.
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.
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.
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.
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.
November 30th, 2008· This release handles unmirrorable files sensibly. Sets would sometimes not end up being added to world. This is now fixed.
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
October 10th, 2008· This release works around ebuilds that assume that cwd is safe.
September 26th, 2008· EAPI 2 support was added.
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.