Release Notes; upgrade information mainly.
Features/major bugfixes are listed in NEWS
+portage-2.2
+==================================
+
+* Portage now warns if an ebuild repository does not have a name, as several
+ new features in 2.2 make use of or require named repositories. The repository
+ name is stored in profiles/repo_name in each repository.
+* Package set support: There are several important notes regarding package
+ sets:
+ - they may currently only include simple and versioned atoms or other sets,
+ use conditionals or any-of constructs aren't possible yet
+ - sets can be referenced either in other file-based sets or as argument to
+ emerge, but not in ebuilds, config files or other tools at this time.
+ - packages won't be unmerged if they are referenced by an installed package
+ set (with the exception of the world set, and installed being determined
+ by the world_sets file).
+* The "selected" package set, which includes packages listed in
+ /var/lib/portage/world, has been extended to include nested sets that may
+ be listed /var/lib/portage/world_sets.
+
+portage-2.1.9
+==================================
+* The emerge "world" set now includes separate "selected" and "system" sets,
+ where the "selected" set includes packages listed in /var/lib/portage/world.
+* Package set names in emerge arguments have to be prefixed with @ (exceptions:
+ 'world' and 'system' can be used without the prefix).
+* Configuration files now support atoms with wildcards inside the category and
+ package name parts of the atoms.
+* The functionality of the autounmask program is emulated by the new emerge
+ --autounmask option, which outputs required configuration changes for
+ package.accept_keywords and package.use.
+* The new emerge --exclude option allows packages to be excluded from the
+ dependency resolution. Doing so might result in a fatal error. See the
+ emerge(1) man page for details.
+* Per-package environment variables can be set with the new package.env
+ configuration file in /etc/portage/. See the portage(5) man page for details.
+* Support for per-package bashrc files in /etc/portage/env. See the portage(5)
+ man page for details.
+* The package.keywords configuration file in /etc/portage/ is now deprecated.
+ Instead use the package.accept_keywords file which has the same format and
+ behavior. See the portage(5) man page for details.
+* FEATURES="fixlafiles" (enabled by default): Rewrites newly installed .la
+ files in the same way dev-util/lafilefixer does. Note that this won't fix
+ your installed .la files.
+
+portage-2.1.8
+==================================
+* The new --rebuilt-binaries option will replace installed packages with binary
+ packages that have been rebuilt. Rebuilds are detected by comparison of
+ BUILD_TIME package metadata. This option is enabled automatically when using
+ binary packages (--usepkgonly or --getbinpkgonly) together with --update and
+ --deep.
+
+portage-2.1.7
+==================================
+* Default behavior for emerge commands has changed so that packages are only
+ updated when necessary. In order to ensure that all packages are updated
+ when possible, you must now specify the -u/--update option. See bug #275945
+ for the rationale behind this change.
+* If using python3, you may notice that some types of program output which
+ require a tty device (like the wget progress bar) will be disabled. This
+ is due to an upstream python issue: http://bugs.python.org/issue5380. See
+ bug #287648 for more information.
+* Licenses in the @EULA license group are now masked by the default
+ ACCEPT_LICENSE setting. You can unmask all licenses by setting
+ ACCEPT_LICENSE="*" in /etc/make.conf. See the make.conf(5) man page for
+ more information about ACCEPT_LICENSE.
+
+portage-2.1.6.12
+==================================
+* If you want overlay eclasses to override eclasses from other repos then see
+ the portage(5) man page for information about the new layout.conf and
+ repos.conf configuration files.
+
+portage-2.1.6
+==================================
+
+* The default behavior has changed for `emerge world` and `emerge system`
+ commands. These commands will reinstall all packages from the given set
+ unless an option such as --noreplace, --update, or --newuse is specified.
+* FEATURES=fixpackages is now enabled by default via make.globals. Set
+ FEATURES="-fixpackages" in make.conf if you'd like to disable it.
+* File collision protection is now enabled by default via make.globals with
+ FEATURES=protect-owned. In order to protect files from be overwritten or
+ removed a inappropriate times, it is recommended to leave protect-owned
+ (or the similar collision-protect feature) enabled at all times. If you
+ want to disable collision protection completely (not recommended), then
+ you need to ensure that neither protect-owned nor collision-protect are
+ enabled.
+* The python namespace for portage has been sanitized, all portage related code
+ is now contained within the portage namespace. External script should be
+ updated accordingly, though links exist for backward compability.
+* -* support in package.keywords was changed as it was inconsistent with
+ ACCEPT_KEYWORDS behavior (also see
+ http://dev.gentoo.org/~genone/docs/KEYWORDS.stupid).
+ Previously having -* in package.keywords matched packages with KEYWORDS="-*",
+ now it resets the ACCEPT_KEYWORDS list for the given atom like it does when
+ used in ACCEPT_KEYWORDS.
+ For packages that don't specify any other KEYWORDS you can use the new **
+ token as documented in portage(5) to disable KEYWORDS filtering completely.
+* When generating manifests, existing distfiles digests will not be updated
+ in cases when the current file in $DISTDIR does not match. In order to
+ force digests to be updated, run `ebuild --force <ebuild file> manifest`.
+ This is a safety measure which protects valid distfiles digests from being
+ accidentally replaced by invalid digests.
+* If you have overridden FETCHCOMMAND or RESUMECOMMAND variables, for
+ compatibility with EAPI 2, you must ensure that these variables are written
+ such that the downloaded file will be placed at \"\${DISTDIR}/\${FILE}\".
+ Refer to make.conf(5) for information about FETCHCOMMAND and RESUMECOMMAND.
+
+portage-2.1.5
+==================================
+
+* The pkg_postinst phase is now called after the previous version of a
+ package has been removed. As a consequence, it is no longer possible
+ to call has_version in pkg_postinst to detect whether the current
+ install operation is an upgrade or downgrade. If this information is
+ needed during the pkg_postinst phase, do the has_version call in an
+ earlier phase (such as pkg_preinst) and store the result in a global
+ variable to be accessed by pkg_postinst when it is called. Bug #226505
+ tracks all issues related to this phase execution order change.
+* The metadata-transfer feature is now disabled by default. This disables the
+ "Updating Portage cache" routine that used to run at the tail end of each
+ `emerge --sync` operation. If you use something like the sqlite module and
+ want to keep all metadata in that format alone (useful for querying), enable
+ FEATURES="metadata-transfer" in make.conf. You should also enable
+ FEATURES="metadata-transfer" if you have any eclasses from PORTDIR_OVERLAY
+ that override eclasses from PORTDIR (in this case, you may have disabled
+ a relevant warning message by setting PORTAGE_ECLASS_WARNING_ENABLE="0" in
+ make.conf).
+* The parallel-fetch feature is now enabled by default. It is optimized
+ to avoid doing redundant checksums for previously downloaded files that have
+ the correct size. Run `tail -f /var/log/emerge-fetch.log` in a
+ terminal to view parallel-fetch progress. Add FEATURES="-parallel-fetch"
+ to /etc/make.conf if you want to disable this feature.
+
+portage-2.1.4.1
+==================================
+
+* If you have an overlay then you should remove **/files/digest-*
+ files (Manifest1) because they are no longer supported.
+* If earlier versions of portage will be used to generate manifests
+ for your overlay then you should add a file named manifest1_obsolete
+ to the root of the repository in order to disable generation of the
+ Manifest1 digest files.
+
+portage-2.1.4
+==================================
+
+* Visibility filtering is now supported for binary packages, so masking behavior
+ is essentially equivalent to that of ebuilds.
+* There is no need to have a complete portage tree available when installing binary
+ packages or uninstalling packages, but a warning message will still be displayed if
+ it appears that a valid profile is not available.
+
+portage-2.1.3
+==================================
+
+* Portage now requires >=python-2.4, but doesn't need pycrypto anymore if
+ >=python-2.5 is installed and openssl supports the rmd160 hash.
+* The "save_summary" and "echo" elog modules are now enabled by default. Setting
+ PORTAGE_ELOG_SYSTEM in make.conf will override this, so if you don't want elog
+ set PORTAGE_ELOG_SYSTEM="" in make.conf
+* The unmerge process will remove any file that is not claimed by another
+ package in the same slot and is not protected by CONFIG_PROTECT, even if the
+ modification time or checksum differs from the file that was originally
+ installed. The old behavior is still available by adding -unmerge-orphans
+ to FEATURES.
+* The world file now supports slot atoms such as 'sys-devel/gcc:3.4'. In some
+ cases, emerge --depclean may remove slots that it would not have removed
+ in the past. The emerge --noreplace command can be used to add an atom to the
+ world file and prevent matching packages from being removed. A slot atom
+ will be recorded in the world file for any atom that is precise enough to
+ identify a specific slot.
+* For safer operation, emerge --prune will not unmerge packages that have
+ reverse dependencies. Use --verbose to display reverse dependencies. Use
+ --nodeps to completely ignore dependencies.
+* emerge --depclean now accepts atoms and will unmerge only the specified
+ packages if nothing depends on them. Use --verbose to display reverse
+ dependencies.
+
+portage-2.1.2
+==================================
+
+* Depending on the number of packages installed, users may notice a difference
+ in the time taken for dependency calculations. This performance penalty is
+ due to the addition of important new features which include the ability to
+ detect reverse blockers, the building of a complete dependency graph, and the
+ ability to use installed packages to satisify dependencies even after their
+ ebuilds have been removed from the portage tree.
+* emerge does not necessarily update build time dependencies that are not
+ strictly required. See the --with-bdeps option in the emerge(1) man page.
+
+portage-2.1.1
+==================================
+
+* emerge --search doesn't use regular expressions now anymore by default, so
+ emerge --search dvd+rw-tools now works as expected. Regular expressions can be enabled
+ by prefixing the search string with %.
+* emerge --depclean algorithm is much safer than the old one.
+* emerge --newuse detects changes in IUSE that previously went undetected.
+
portage-2.1
==================================
* autouse (use.defaults) has been deprecated by specifying USE_ORDER in make.defaults
Users may still turn this back on by specifying USE_ORDER="env:pkg:conf:auto:defaults"
in make.conf. Interested in figuring out what use flags were turned off? Check out
- make.defaults in /usr/portage/profiles/base/use.defaults and other use.defaults files
- that correspond to your profile.
+ /usr/portage/profiles/base/use.defaults and other use.defaults files that correspond
+ to your profile.
+