source: trunk/base/NEWS @ 84088

Last change on this file since 84088 was 79460, checked in by jmr@…, 9 years ago

update NEWS

  • Property svn:eol-style set to native
File size: 13.0 KB
1== Overview of changes from MacPorts 1.9.2 to 2.0.0 ==
3# For regular users:
5*) Downloaded archives are now checked for integrity using digital signatures.
6   New pubkeys.conf file allows configuring keys to trust.
8*) Actions can be abbreviated to an unambiguous prefix of the full name.
10*) Ports that create StartupItems (aka launchd plists) should now be
11   installable by unprivileged users.
13*) Port images are now stored as archives. Archive mode is now effectively
14   always on. Direct mode and the flat registry format are no longer
15   available. Conversion will happen automatically.
17# For Portfile writers:
19*) Multiple ports can now be defined in one Portfile using the 'subport'
20   procedure.
22*) New option 'add_users' can be set to ensure that the listed users are
23   created at the right times during the install process.
25*) SHA256 checksums are now supported.
27== Overview of changes from MacPorts 1.8.2 to 1.9.0 ==
29# For regular users:
31*) All output is now logged to a file, whose location will be shown if a port
32   target fails. This should be attached to bug reports. The new 'log' action
33   can also be used to view the log for a port.
34*) Command line options can be abbreviated if unambiguous.
35*) New actions: rdeps, rdependents, setrequested, unsetrequested
36*) --follow-dependencies option for uninstall (ports with the requested flag
37   set or with other dependents are skipped).
38*) New pseudo-ports and selectors: requested, unrequested, leaves, depof:,
39   rdepof:, dependentof:, rdependentof:.
40*) Architectures of dependencies are checked before install, and in many cases
41   will be automatically fixed by upgrading with +universal.
42*) New sqlite registry format which is faster and lacks some of the old
43   format's inconvenient limitations.
44*) Explicitly deselected variants (e.g. -foo) are now recorded, so they will
45   not be set to + when upgrading if +foo appears in variants.conf or
46   the port's default_variants.
48# For Portfile writers:
50*) New os.subplatform variable.
51*) New configure.ld_archflags option to match configure.cc_archflags et al.
52*) 'platform' acts like an 'if' statement rather than a variant.
53*) New supported_archs option for indicating a port only supports certain
54   archs or is noarch.
55*) pre-/post-deactivate and pre-/post-uninstall procedures can now be used,
56   and pre-/post-activate procedures are run every time the port is activated,
57   not just the first time when it is installed.
59== Overview of changes from MacPorts 1.7.1 to 1.8.0 ==
61# For regular users:
63*) Compatible with Mac OS X 10.6 Snow Leopard, requires at least 10.4 Tiger
64*) CPU architecture to build for is now configurable
65*) Performance and memory usage improvements
66*) New -y option for dry-run
67*) 'port search' has many new options that make it more flexible
68*) 'port upgrade' now follows the right dependencies when variants change them
69*) 'port info' and 'port variants' indicate selected and default variants;
70   'port variants' also shows conflicts and dependencies between variants
71*) A port can be marked as being replaced by another port; upgrading will
72   perform the replacement
73*) upgrade accepts new options: --force, --enforce-variants, --no-replace
74*) Ports can be marked as conflicting, and conflicts will be detected before
75   the install process starts
76*) Proxy information can now be obtained from System Preferences and from
77   macports.conf
78*) Activating a port will now first deactivate any other version of the same
79   port that is already active
80*) MacPorts can be configured to drop root privileges when not needed
81*) port(1) will exit with an appropriate status code when an error is
82   encountered (use -p to continue despite errors)
84# For Portfile writers:
86*) New options: replaced_by, conflicts, depends_fetch, depends_extract, license
87*) build_arch variable indicates which architecture should be targeted. Flags
88   used to implement this are configured per-compiler, for example,
89   configure.cc_archflags will be passed to in CFLAGS
90*) Dependencies can be satisfied by ports that are installed but not
91   available in the ports tree
92*) Deleting all the contents of an option no longer unsets the option entirely
93*) Using an alternative fetch or extract type now adds appropriate
94   dependencies automatically, e.g. 'use_zip yes' adds a dep on unzip, and
95   'fetch.type svn' adds a dep on subversion
96*) Running phases prior to install should now work reliably when the port is
97   already installed
99== Overview of changes from MacPorts 1.6.0 to 1.7.0 ==
101# For regular users:
103*) The resources directory (containing port group information and the mirror sites) has been moved into the ports tree, so a new MacPorts release is no longer needed to update these items
104*) The error message from 'port upgrade outdated' when no ports are outdated is much improved
105*) Improvement on handling of MacPorts configuration files (global and user-defined options)
106*) Case-insensitive issues have been fixed
107*) 'port help' is improved
108*) The MacPorts mirror,, is automatically checked when the normal sites fail to respond
109*) The search command of port now searches the name, description, and long_description fields
110*) Numerous improvements to dependency handling
111*) Work around a bug in 10.5's Tcl environment handling
112*) Fetching distfiles now tries to ping all mirror sites first in an attempt to pick the best source
113*) A new option was added to uninstall: --recursive
114*) The output for the port commands info, deps, dependents, and search has been improved
115*) Two new options to selfupdate: --pretend and --nosync
116*) A platform command has been added to port to display your platform information
117*) A suitable message is output when the requested port is not installed when polling its dependents;
118*) Fixed the "Error: Unable to open port: invalid command name "ui_prefix"" runtime error on Panther;
119*) Fixed the "Error: Unable to open port: invalid command name "ui_channels"" runtime error on Panther;
120*) Fixed a MacPorts, Panther specific build failure due to missing sqlite headers on that platform;
121*) Fixed a MacPorts build failure when building itself in universal fashion;
124# For Portfile writers:
126*) ruby port group adds a new parameter to ruby.setup for multiple ruby version support
127*) New use_dmg option allows DMG-format distfiles
128*) ruby.setup (part of the ruby port group) now takes a fetch type
129*) git has been added as a valid fetch.type
130*) On Mac OS X, MACOSX_DEPLOYMENT_TARGET is now always set to workaround various issues
131*) Several universal-specific variables added to the configure.* group
132*) A merge function is now available for easier merging of multiple architectures for universal support
133*) Pre-fabricated statements with correct checksums are output when in verbose mode if the existing ones in the Portfile are incorrect;
134*) "port lint" now recognizes non-canonical modelines;
135*) Added a 'configure.pipe' Portfile option for using pipes rather than intermediate files when compiling C/C++ based ports;
139== Overview of changes from MacPorts 1.5.2 to 1.6.0 ==
141# For regular usage:
143*) Revived and thoroughly refreshed web presence at , with more improvements still on the way;
144*) New project guide at
145*) Fixed the "upgrade" target of the port(1) command to properly handle installed versions beginning with letters;
146*) Improved the "variants" target of the port(1) command to behave like the "info" target to poll the requested Portfile directly
147    rather than the index for more up-to-date information, while also providing a --index flag for legacy behavior;
148*) Fixed a bug by which a user-specific 'macports.conf' file would not be read;
149*) Tightened security by installing MacPorts in 0755 mode (no write permission for group and others) by default;
150*) Added 'none' as a possible option for supported types of startupitems scripts;
151*) Disabled readline support in interactive mode of the port(1) command by deafult;
152*) Fixed a bug by which the "variants" target of the port(1) command would spit out an error backtrace to the terminal when no match
153    was found for the requested port;
154*) Revamped the "postflight" script that takes care of setting a MacPorts-compatible shell environment after installation from our
155    "pkg" is complete; it now gracefully handles the addition of PATH, MANPATH and DISPLAY environment variables separately and only
156    if strictly needed, properly backing up appropriate shell configuration files before proceeding to modify them
157    ( for more information);
160# Individual port-building-related improvements:
162*) Eugene Pimenov's GSoC2007 work on improving "trace mode" for the building of ports in clean environments,
163 ;
164*) Added 'bsdmake' and 'gnumake' defaults for building ports on the FreeBSD and Linux platforms;
165*) Added 'configureccache' and 'configuredistcc' configuration options to the main 'macports.conf' for distributed
166    builds (defaulting to no);
167*) Improved building of configure-based universal ports on Leopard;
168*) Fixed a bug by which the 'universal' variant would disappear if a 'macosx' variant was selected;
169*) Added a 'macosx_deployment_target' option to the main 'macports.conf' file for ports that benefit form this Mac OS X specific flag;
170*) Added a 'configurepipe' option to the main 'macports.conf' file for using pipes rather than intermediate files when compiling C/C++
171    based ports;
172*) Removed LD_PREBIND & LD_PREBIND_ALLOW_OVERLAP variables from MacPorts' environment to prevent prebinding of binaries, which can be harmful
173    on Tiger and above;
176# Packaging-related improvements:
178*) Created pkg's no longer have /etc, /var/ or /tmp directories in them;
179*) Fixed a bug by which all .mpkg packages were missing their welcome page;
180*) Fixed a bug by which HTML contents were written as a pkg's Welcome.rtf file, causing it to not display at all;
181*) Made the homepage clickable in a pkg's welcoming screen;
182*) Added support for lzma compression for archives;
183*) Improved pkg & dmg creation on Leopard, for both Intel and PowerPC platforms;
184*) Added an 'mdmg' target, for the creation of a dmg for a port and its dependencies;
185*) Dramatically improved performace of the port(1) command's Portfile level actions like "file", "dir", "work" and "url"
188# For Portfile writers:
190*) Added more compiler suites as options to the 'configure.compiler' Portfile option;
191*) Added 'configure.fflags' 'configure.fcflags' 'configure.f90flags' Portfile options for Fortran based ports;
192*) Added 'configure.javac' and 'configure.classpath' Portfile options for Java ports;
193*) Added 'configure.objc' 'configure.objcflags' Portfile options for Objective-C based ports;
194*) Added 'build.nice' and '' Portfile options for parallel builds and build prioritizing;
195*) Added 'startupitem.netchange' boolean flag Portfile option for generated startup scripts;
196*) Added a "lint" target to the port(1) command, for Portfile verification and beautification;
197*) Added Portfile group code for Python 3.0 based ports and deprecated the plain 'python' group code;
198*) Added generic GNU livecheck rules;
199*) The "x86" platform has been normalized as "i386";
200*) Added a 'use_parallel_build' Portfile option for declaring if a particular port can be built in parallel through make's -j flag,
201    defaulting to no;
202*) Added 'configure.awk', 'configure.bison', 'configure.pkg_config', 'configure.pkg_config_path' Portfile options to point to the
203    relevant programs/paths to use;
204*) Added a 'extract.mkdir' Portfile option to better deal with so-called "tar bombs";
207# For MacPorts scripting:
209*) Moved the 'ui_isset' and 'global_option_isset' Tcl procedures for testing of the UI and global options to the macports1.0 API
210    sparing its clients from having to implement them;
211*) Improved defaults for implicit ui_prefix and ui_channels behaviour at the macports1.0 layer;
214# Miscellaneous:
216*) Added MacPorts-configure time checks for Mac OS X and Xcode versions and warnings for old versions;
217*) Added a 'user-agent' parameters to our libcurl-based fetching of sources for sites that require a user agent;
218*) 'livecheck' regular expressions are now checked against each entry in the listed master_site in the Portfile;
219*) Fixed regexp in livecheck code to work when there is both a tag and a subdir in the mirror uri;
220*) Improved the integrated "daemondo" program to better handle the death of startupitem-based programs;
221*) Added a "--restart-wait=n" argument to the integrated "daemondo" program to control the number of seconds to wait during restart of
222    the process it is monitoring, defaulting to 3;
223*) Enabled building of our objc bridge against GNUStep on platforms other than Mac OS X;
224*) Added support for packing of MacPorts itself on FreeBSD and Fedora platforms;
225*) Added to our list of SourceForge-based mirrors for sources fetching;
226*) Added http mirror sites for the postgresql mirrors list;
227*) Added the mirror to the GNU mirrors list;
228*) Fixed a bug by which paths with embedded spaces would cause the "dp2mp-move" upgrade code to fail when trying to find user-specific
229    'macports.conf' files;
Note: See TracBrowser for help on using the repository browser.