ebuild: fetch: Flatten conditionals in _get_fetch_resume_size
[portage.git] / NEWS
diff --git a/NEWS b/NEWS
index 2bd401523048795188831f3d9cb4d6e5a7dd8d40..43d1797c28b211dc64a134fa1379c9d9f7186f5b 100644 (file)
--- a/NEWS
+++ b/NEWS
 News (mainly features/major bug fixes)
 
+portage-2.2.1
+-------------
+
+* Add cgroups, ipc-sandbox, and network-sandbox FEATURES.
+
 portage-2.2
 -------------
 
-* Allow per-module setting of PORTAGE_ELOG_CLASSES
+* 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 license visibility filtering (GLEP 23)
-* Add new elog module "echo" to simply display messages when emerge exits
-* 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.
-* Experimental support for preserving old library files on package upgrades
-  based on FEATURES=preserve-libs, USE AT YOUR OWN RISK!!!
-* Make elog functionality available to python code
 * 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
 -------------