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