summaryrefslogtreecommitdiff
path: root/NEWS
blob: af9997bb77fd4e2d0477ad93676024014e3edfbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
News (mainly features/major bug fixes)

portage-2.2
-------------

* Allow per-module setting of PORTAGE_ELOG_CLASSES
* 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)

portage-2.1.3
-------------

* 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.

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
  bootstrap.
* Profiles support multiple inheritance and package.use.
* CONFIG_PROTECT and CONFIG_PROTECT_MASK both support files (not just
  directories).
* Collision protection handles symlinks properly.
* 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.

portage-2.1 (ongoing via pre releases)
------------

* FEATURES="confcache" integration; global caching to speed up configure calls, 
  requires dev-util/confcache
* elog framework and accompanying modules for logging ebuild warnings, errors
  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'
  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.
* Addition of pre and post user hookable functions for each ebuild phase, accessible 
  via portage bashrc.  Example would be pre_src_unpack .
* cache refactoring- runtime improvement from 35% -> 65%.
* Intelligently handle and display USE_EXPAND-based IUSE variables.
* FEATURES="parallel-fetch".  Download in parallel to compilation.
* Include a "changed or new" USE flag output when --verbose isn't specified.
* Support for splitting out debug information into separate files in
  /usr/lib{,32,64}.
* exec subsystem refactoring (now with less bugs!)
* Added sha256 and rmd160 hashes for digests/manifests
* Make --emptytree only apply to ${ROOT} rather than always including /.
* Allow packages to be upgraded that are only depended on via a
  "|| ( =cat/pkg-1* =cat/pkg-2* )" construct.
* Ebuild output is no longer cut off early when using PORT_LOGDIR.
* Distfiles indirection- $DISTFILES access goes through a tmp dir to fail
  access to files not listed in SRC_URI.
* Emerge now uses --resume to restart itself after portage upgrade.
* Atomic file updates via the new atomic_ofstream class.
* Global updates and fixpackages performance optimizations.
* Tests show that file locking is now more reliable.
* A bash call stack is printed when an ebuild dies in ebuild.sh.
* New rsync option handling by using a generic PORTAGE_RSYNC_EXTRA_OPTS variable
* Manifest2 support that will allow digest-* files to be eliminated from the tree.