News (mainly features/major bug fixes)
+portage-2.2.1
+-------------
+
+* Add cgroups, ipc-sandbox, and network-sandbox FEATURES.
+
+portage-2.2
+-------------
+
+* Add extended set configuration via /etc/portage/sets.conf. See
+ /usr/share/portage/config/sets/portage.conf for examples.
+
+portage-2.1.11.20
+-------------
+* Add support for EAPI 5. Refer to the PMS EAPI Cheat Sheet, portage's html
+ docs installed with USE=doc, or `man 5 ebuild` for more info about EAPI 5.
+* Add support for FEATURES=preserve-libs which preserves libraries when the
+ sonames change during upgrade or downgrade, and the @preserved-rebuild
+ package set which rebuilds consumers of preserved libraries.
+* Add link level dependency awareness to emerge --depclean and --prune actions
+ in order to protect against uninstallation of required libraries. Refer to
+ the --depclean-lib-check option in the emerge(1) man page.
+
+portage-2.1.11
+-------------
+
+* Add support for experimental EAPI "4-slot-abi". Refer to the corresponding
+ html documentation that is installed with USE=doc, and also to the emerge(1)
+ man page for information about the related --ignore-built-slot-operator-deps and
+ --rebuild-if-new-slot options.
+
+portage-2.1.10
+-------------
+
+* Improve handling of repositories/overlays for cases in which the same ebuild
+ is provided by multiple repositories but with different masking status, and
+ support for repository constraints on atoms (atom::repo) in configuration
+ files.
+* Add emerge --rebuild-if-* options that trigger rebuilds of reverse
+ dependencies when packages are rebuilt or updated. Related --rebuild-exclude
+ and --rebuild-ignore options can be used to avoid rebuilds for specific
+ packages.
+* Add emerge --reinstall-atoms, --useoldpkg-atoms, and --usepkg-exclude options
+ which can be used to alter selection rules for specific packages.
+* Add FEATURES=parallel-install and ebuild-locks, allowing for greater
+ parallelization when installing packages (by using finer-grained locks).
+
+portage-2.1.9.27
+-------------
+
+* Add support for EAPI 4. Refer to the PMS EAPI Cheat Sheet, portage's html
+ docs installed with USE=doc, or `man 5 ebuild` for more info about EAPI 4.
+ Bug #273620 tracks EAPI 4 implementation in portage.
+
+portage-2.1.9
+-------------
+
+* There is a new ipc (inter-process communication) USE flag which is enabled
+ by default. This allows portage to communicate with running ebuild processes,
+ for things like best_version, has_version, and die calls in nested processes.
+ This flag should remain enabled unless it is found to be incompatible with a
+ specific profile or environment. When enabled, it fixes bug #278895,
+ bug #315615, and makes subshell die support more robust (so that repoman's
+ ebuild.nesteddie check is irrelevant).
+
+portage-2.1.8
+-------------
+* The top-level __init__.py for the portage python package has been split into
+ many smaller python modules, making the code easier to navigate and allowing
+ small parts of the portage api to be imported with less overhead.
+
+portage-2.1.7.17
+-------------
+* Add support for EAPI 3. This adds support for installation prefix, including
+ new EPREFIX, ED, and EROOT variables which are used by econf and einstall
+ helpers. Also, EAPI 3 adds xz extension support to the unpack helper.
+
+portage-2.1.7
+-------------
+
+* Add license visibility filtering (GLEP 23)
+* Add --accept-properties option for emerge which allows you to use
+ --accept-properties=-interactive in order to temporarily exclude
+ interactive updates.
+* Add support for Python 3.0. At least Python 2.6 is now required in order to
+ support the new syntax which is used by Python 3.0.
+
+portage-2.1.6
+-------------
+
+* Add support for a new EAPI="2" value. For more information about new EAPI
+ features, refer to the "Ebuild" chapter of the html documentation that is
+ installed with portage.
+* Add PORTAGE_IONICE_COMMAND setting for make.conf which is called to adjust
+ IO priority on portage and it's subprocesses.
+* Add emerge --jobs and --load-average options which specify behavior
+ for building packages in parallel or for generating metadata in parallel
+ with emerge --regen.
+* Add emerge --keep-going option to continue as much as possible after
+ an error. When an error occurs, dependencies are recalculated for
+ remaining packages and any with unsatisfied dependencies are
+ automatically dropped. The --skipfirst option automatically drops
+ packages in the same way, and also drops any masked packages.
+* Add git and subversion support for repoman.
+* It is now possible to use `emerge <file>` to reinstall the package that
+ installed a particular file. Package contents entries are indexed to
+ improve performance. A command such as `emerge /lib/modules` can serve
+ as a decent substitute for module-rebuild.
+* Namespace sanitizing: move all portage related code into portage.* namespace,
+ rename portage_foo modules to portage.foo (but keep symlinks for compability)
+* Add support for news items (GLEP 42)
+* Add FEATURES=protect-owned which is identical to the collision-protect
+ feature except that files may be overwritten if they are not explicitly
+ listed in the contents of a currently installed package.
+
+portage-2.1.5
+-------------
+
+* For extra careful dependency handling, emerge has a new --complete-graph
+ option that causes it to consider the deep dependencies of all packages from
+ the system and world sets. With this option enabled, emerge will bail out
+ if it determines that the given operation will break any dependencies of
+ the packages that have been added to the graph. Unlike the --deep option,
+ the --complete-graph option does not cause any more packages to be updated
+ than would have otherwise been updated with the option disabled.
+* Blockers are now resolved automatically in many more cases
+ than before. When it's safe, blocked packages are uninstalled
+ automatically so that users are no longer inconvenienced with the
+ task. Automatically uninstalled packages are displayed in the merge
+ list, marked "uninstall" and highlighted in red. With the --tree
+ option enabled, it's possible to see which package(s) caused other
+ ones to be automatically uninstalled.
+* The dependency resolver now has a feedback mechanism that helps make atom
+ selections more consistent with previous selections that have been added to
+ the graph. This solves some common cases of bug #1343.
+
+portage-2.1.4
+-------------
+
+* After the initial setup phase, the original ebuild and eclasses are no
+ longer needed because the same ebuild environment is reused for the
+ entire lifecycle of the package, including uninstallation.
+* The emerge --search action supports searching of both installed and binary packages
+ The --usepkg and --usepkgonly options control which repositories are searched.
+
+portage-2.1.3
+-------------
+
+* Allow per-module setting of PORTAGE_ELOG_CLASSES
+* Add new elog module "echo" to simply display messages when emerge exits
+* Add ** as new token for package.keywords to bypass the keyword visibility layer
+* USE_EXPAND variables such as LINGUAS support a * wildcard that will enable
+ all of the corresponding flags that are listed in IUSE for a given package.
+ USE_EXPAND wildcards such as linguas_* are supported in USE and package.use.
+* The merge process preserves the modification timestamp of files that it
+ installs. The unmerge process will not uninstall files that are claimed by
+ another package in the same slot.
+* PDEPEND is now installed as soon as possible so that it behaves more like
+ RDEPEND. This makes PDEPEND more useful for breaking the dependency cycles
+ that are sometimes triggered by RDEPEND and DEPEND.
+* Enable "echo" and "save_summary" elog modules by default
+* Fix -* handling in package.keywords to work as intended (reset the accepted
+ keywords list), also see RELEASE-NOTES.
+* Make elog functionality available to python code
+
portage-2.1.2
-------------
+-------------
* Ebuilds support default USE flags via +flag in IUSE.
* New-style virtuals are now usable for packages that depend on themselves for
* Dependencies can be satisfied by installed packages that do not have matching
ebuilds in the portage tree or overlay.
* Emerge automatically ignores blockers that are made irrelevant by an upgrade.
+* Emerge supports "reverse blocker detection" which means that the blockers of
+ installed packages will always be respected.
* Emerge builds a complete dependency graph in order to ensure correct merge
order and detection of circular dependencies.
* The world and system sets allow automatic update of all installed slots.
* DEPEND atoms support SLOT dependencies of the form ${CATEGORY}/${PN}:${SLOT}.
* Development: Extend PYTHONPATH support to allow overriding the hardcoded
/usr/lib/portage/pym for development/testing purposes
+* New "finalize" hook for elog modules enabling modules to perform actions on
+ shutdown (like dispatching collected messages).
+* New elog modules mail_summary and save_summary that act like the mail/save
+ modules except that they merge messages from multiple packages in a single
+ file/mail.
+* New QA loglevel and matching eqawarn function
+* `ebuild foo test` now always runs src_test if available
+* If DOC_SYMLINK_DIR is set portage installs symlinks to html documention there
+* FEATURES="test" automatically implies USE="test".
portage-2.1.1
-------------
+-------------
* Profiles support use.force, package.use.force, and package.use.mask files.
and general notices. Collects eerror/ewarn/elog/einfo messages.
* New elog function (should replace einfo in many cases)
* version syntax enhancements allowing multiple suffixes and a new 'cvs'
- prefix for denoting "live sources" ebuilds.
+ version prefix for denoting "live sources" ebuilds.
* config files as directories enabling more flexible settings management.
* Addition of an register_die_hook method that allows ebuild/eclasses to
register functions to be called for better debugging on errors.