1 News (mainly features/major bug fixes)
6 * Legacy "masked by: profile" support has been removed. Profiles should use
7 package.mask to mask unwanted versions of system packages.
8 * Allow per-module setting of PORTAGE_ELOG_CLASSES
9 * Add ** as new token for package.keywords to bypass the keyword visibility layer
10 * Namespace sanitizing: move all portage related code into portage.* namespace,
11 rename portage_foo modules to portage.foo (but keep symlinks for compability)
12 * Add license visibility filtering (GLEP 23)
17 * Ebuilds support default USE flags via +flag in IUSE.
18 * New-style virtuals are now usable for packages that depend on themselves for
20 * Profiles support multiple inheritance and package.use.
21 * CONFIG_PROTECT and CONFIG_PROTECT_MASK both support files (not just
23 * Collision protection handles symlinks properly.
24 * Dependencies can be satisfied by installed packages that do not have matching
25 ebuilds in the portage tree or overlay.
26 * Emerge automatically ignores blockers that are made irrelevant by an upgrade.
27 * Emerge supports "reverse blocker detection" which means that the blockers of
28 installed packages will always be respected.
29 * Emerge builds a complete dependency graph in order to ensure correct merge
30 order and detection of circular dependencies.
31 * The world and system sets allow automatic update of all installed slots.
32 * DEPEND atoms support SLOT dependencies of the form ${CATEGORY}/${PN}:${SLOT}.
33 * Development: Extend PYTHONPATH support to allow overriding the hardcoded
34 /usr/lib/portage/pym for development/testing purposes
35 * New "finalize" hook for elog modules enabling modules to perform actions on
36 shutdown (like dispatching collected messages).
37 * New elog modules mail_summary and save_summary that act like the mail/save
38 modules except that they merge messages from multiple packages in a single
40 * New QA loglevel and matching eqawarn function
41 * `ebuild foo test` now always runs src_test if available
42 * If DOC_SYMLINK_DIR is set portage installs symlinks to html documention there
43 * FEATURES="test" automatically implies USE="test".
48 * Profiles support use.force, package.use.force, and package.use.mask files.
50 portage-2.1 (ongoing via pre releases)
53 * FEATURES="confcache" integration; global caching to speed up configure calls,
54 requires dev-util/confcache
55 * elog framework and accompanying modules for logging ebuild warnings, errors
56 and general notices. Collects eerror/ewarn/elog/einfo messages.
57 * New elog function (should replace einfo in many cases)
58 * version syntax enhancements allowing multiple suffixes and a new 'cvs'
59 version prefix for denoting "live sources" ebuilds.
60 * config files as directories enabling more flexible settings management.
61 * Addition of an register_die_hook method that allows ebuild/eclasses to
62 register functions to be called for better debugging on errors.
63 * Addition of pre and post user hookable functions for each ebuild phase, accessible
64 via portage bashrc. Example would be pre_src_unpack .
65 * cache refactoring- runtime improvement from 35% -> 65%.
66 * Intelligently handle and display USE_EXPAND-based IUSE variables.
67 * FEATURES="parallel-fetch". Download in parallel to compilation.
68 * Include a "changed or new" USE flag output when --verbose isn't specified.
69 * Support for splitting out debug information into separate files in
71 * exec subsystem refactoring (now with less bugs!)
72 * Added sha256 and rmd160 hashes for digests/manifests
73 * Make --emptytree only apply to ${ROOT} rather than always including /.
74 * Allow packages to be upgraded that are only depended on via a
75 "|| ( =cat/pkg-1* =cat/pkg-2* )" construct.
76 * Ebuild output is no longer cut off early when using PORT_LOGDIR.
77 * Distfiles indirection- $DISTFILES access goes through a tmp dir to fail
78 access to files not listed in SRC_URI.
79 * Emerge now uses --resume to restart itself after portage upgrade.
80 * Atomic file updates via the new atomic_ofstream class.
81 * Global updates and fixpackages performance optimizations.
82 * Tests show that file locking is now more reliable.
83 * A bash call stack is printed when an ebuild dies in ebuild.sh.
84 * New rsync option handling by using a generic PORTAGE_RSYNC_EXTRA_OPTS variable
85 * Manifest2 support that will allow digest-* files to be eliminated from the tree.