Exheredludis/NEWS
Bo Ørsted Andresen dbcae9fb40 Preparation for 2.6.0
Change-Id: I33504f64d52c5d9f6dbdd5ca607d1363cbb0c49d
2016-05-03 14:11:18 +02:00

2017 lines
67 KiB
Plaintext

News for Paludis
================
This file lists the major changes between versions. For a more detailed list
of every change, see the Git log.
2.6.0:
* Bug fixes.
* Add short option for --chroot-path.
* Ban einstall and *sbin in exheres-0.
* Remove --new-compress from rsync.
* Allow users to override wget options in wget fetcher.
* EAPI 6 is supported.
* Support emptying a default set exparam array in exheres-0.
2.4.0:
* Bug fixes.
* We now use Ruby 2.2, unless --with-ruby-version is specified.
2.2.0:
* Bug fixes.
* Compilation fixes for Clang.
* Added 'cave resolve --chroot-path'.
* Removed the "breaks Portage" feature.
2.0.0:
* General C++11ification.
1.4.2:
* Bug fixes.
1.4.1:
* Compatibility with newer Boost.
* Minor bug fixes and UI tweaks.
1.4.0:
* Tweaked 'cave resolve' output to add blank lines.
* Support for libarchive 3.1.2.
* Compatibility fixes for GCC 4.8.
1.2.0:
* Bug fixes.
* Dep specs can now use '[.key!=value]'. The behaviour of '<' and '>' has
changed: for key types where order comparisons don't make sense, the match
now always fails.
* Various compiler-compatibility fixes.
1.0.0:
* EAPI 5 style subslot specs are allowed in user dependency specs.
* We now support DWARF compression.
0.82.0:
* Various EAPI 5 related fixes.
0.80.2:
* Bug fixes.
* Added 'cave print-unmanaged-files'.
0.80.1:
* Bug fixes.
0.80.0:
* EAPI 5 is supported.
0.78.2:
* Bug fix: || ( ) dependencies under a non-enabled label are now handled
sensibly.
* Bug fix: the resolver no longer attempts to create binaries for accounts.
* Bug fix: 0-scm is now ordered correctly.
0.78.1:
* sydbox-1 is now supported.
* Bug fix.
0.78.0:
* 'cave resolve --explain' output now groups together similar items.
* Phase skipping now works for uninstalls too.
* build_options: preserve_work is now build_options: work=preserve, and
other values are now possible.
* Various bug fixes.
0.76.0:
* cave resolve --change-phases-for now has !first and !last options.
* We no longer use Allison for Ruby documentation.
* We now require libarchive 3, to avoid tar format issues.
0.74.1:
* Compilation fix for certain compilers.
* Fixed a segfault when encountering blockers inside || ( ) dependencies.
0.74.0:
* The way || dependencies are handled has changed to allow upgrades in
certain situations that would previously be blocked.
* Previously file descriptors would be leaked when adding certain types of
files to a tar being created for a pbin. This is now fixed.
* We now strip certain kinds of trailing garbage from tar files, to deal
with upstreams who insist upon distributing corrupted tarballs.
* We now define ${T} to something usable in pkg_pretend.
* The order of arguments passed to econf has been tweaked, to make it easier
to override defaults.
* cave print-ids etc now have a '%u' format, for a uniquely identifying
spec.
* Added cave print-checksum, for convenience.
* We now use metadata/md5-cache if it exists.
* We now ignore self-blockers for Gentoo EAPIs, to avoid problems with
developers screwing up package moves.
* Compilation with GCC 4.7 should now work.
0.72.2:
* Added and changed options are now displayed in 'resolve' output, even if
they are hidden.
0.72.1:
* Hardlinks are now handled cleanly by pbins.
* Ruby 1.9 is now supported.
* Minor bug fixes.
0.72.0:
* Changed documentation and Git URLs from paludis.pioto.org to
paludis.exherbo.org.
* Gentoo's new boost.python library names are now recognised.
0.70.2:
* Assorted bug fixes.
* Generation of thin Manifests is now supported.
0.70.1:
* 'cave search' now has a '--case-sensitive' option.
* Assorted bug fixes.
0.70.0:
* '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.
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 :