#
#   $Id: ChangeLog,v 1.32.2.9 2006/08/10 03:14:15 jberry Exp $
#
#   This is a log of major user-visible changes in each release
#

Release 1.3.2 (9-Aug-2006):

    - Fixed a bug that prevented operation of port ed with some editors.
      The env wasn't being properly restored for the editor. (jberry)

    - Fixed a bug in the creation of the portf symlink. (jmpp)

    - Fixed a bug where port upgrade -uf fails because of the dirty upgrade
      code. (pguyot)

    - Port no longer warns when a shared distfile directory is emptied by a
      clean --dist or clean --all, it now prunes the directory instead. (pguyot)

    - Gem method of ruby portgroup now destroots from the worksrcdir, thus
      avoiding an unnecessary warning with -t. (pguyot)

    - Tell ld to look into /usr/local/lib when building port. This solves a
      problem occurring when a newer version of readline is installed in
      /usr/local. (pguyot)

    - Added gnustep portgroup support. (Bugzilla #8139) (yves)

    - Avoid sending Pragma: no cache when fetching files. (Bugzilla #8669)
      (josh_root, blb)

    - Changed Makefile logic to reconfigure/regenerate files when templates
      are modified. (pguyot)
    
    - Trace now forbids renaming files and directories as well as removing
      directories outside the sandbox. (pguyot)

    - Allow additional inserted libraries by keeping DYLD_INSERT_LIBRARIES
      variable. (pguyot)
      
    - Change some UI strings and documentation to read MacPorts, rather than
      DarwinPorts. The project is adopting the new name "MacPorts", and will
      be using the macports.org domain in the future.

Release 1.3.1 (31-Jul-2006):

    - Fixed a bug in livecheck sourceforge guess algorithm. (pguyot)

    - Fixed an incompatibility of darwintrace.c with MacOS X 10.3. Darwintrace.c
      now also compiles on Linux. (pguyot)

    - Fixed a bug introduced by a patch to the fetch code. Now, fetch target
      can really deal with patch files even if the main fetch method is CVS or
      SVN. (pguyot)

    - Fixed a bug, introduced in 1.3, that prevented -f selfupdate from forcing
      a build of the fetched sources. (jberry)
      
    - Fixed a bug, introduced in 1.3, that prevented -u uninstall from working.
      (jberry)

    - Fixed a bug in xcode portgroup. One variable used by the group conflicted
      with global variables in port base code. (pguyot)

    - Added a new test case for a cvs+remote patch file bug. (pguyot)
    
    - Added ruby gems support for ruby group. (rcavanaugh & pguyot)

    - Trace now forbids creation of directories outside the sandbox. (pguyot)
    
    - Additions to man page for port(1): (jberry)
       * new port options -F, -i, -x, -p
       * mention interactive and batch modes
       * document extensions to info command.
    
    - Archive mode is now disabled by default. (landonf)

    - The upgrade target now properly detects and uses a matching binary
      archive if found, an uninstall && install combination needed up till
      now to pick it up. (jmpp)
    
Release 1.3 (27-Jul-2006):

    - Fixed a bug where only the first word of configuration settings (in
      ports.conf) was processed. This bug affected the use of extra_env.
      (Bugzilla #9948) (pguyot)

    - Fixed a bug where environment variables governing proxy were not
      capitalized properly. (blb & jberry)

    - Fixed a bug where port outdated and port ugprade didn't work in direct
      mode. (Bugzilla 7719, 7721) (dluke & jberry)

    - Fixed several problems with iteration on ports. (jberry)
    
    - Fixed a bug where curl LDFLAGS weren't properly propagated. (landonf)
    
    - Fixed a bug where location update routine invoked when installing DP did
      not take the DESTDIR variable into account. (jmpp)

    - Fixed a bug where patchfiles specifications could not have suffixes to
      indicate the master site. (pguyot)
    
    - Fixed spelling in port(1) man page. (Bugzilla 8103) (pjenvey & jberry)
    
    - Fixed a typo and another problem in messages generated by port command.
      (Bugzilla 6706 & 6712) (deric & jmpp)
    
    - Fixed a typo in ports.conf. (matt & jmpp)
    
    - Fixed several problems with launchd support (Bugzilla 8372 & 10041)
      (jberry)

    - Fixed a bug preventing the use of libmd for checksums and added an
      informative compilation error if libcrypto and libmd cannot be found.
      (landonf)
    
    - Fixed a bug where thread2.6 Tcl library wasn't installed where DP is
      installed. (jmpp)

    - Fixed a bug in xcode PortGroup which prevented the use of a custom
      project path. (pguyot)
    
    - Fixed a bug in xcode PortGroup which made destroot to fail when there
      were spaces in the install path. (pguyot)

    - Fixed a bug in portfetch.tcl which failed to fetch patches when using
      CVS or SVN. (Bugzilla 5269) (yeled)
    
    - Added new command 'delete' for use in Portfiles instead of
      'file delete' and 'system "rm.."' (mww)

    - Added more information to porthier(7) about ${prefix}/var/db/dports.
      (olegb)
    
    - Updated Gnome, KDE and SourceForge mirror lists. (Bugzilla 8045, 9152)
      (rwhood, blb, olegb & pguyot)

    - Check earlier if there is no Portfile in a directory (especially when
      iterating). (jberry)

    - Split livecheck into distcheck and livecheck. Added two regular expression
      modes (one line, full file), set the default to check against freshmeat
      and defined the default for perl5 group. (pguyot)

    - Discover path to rsync at autoconf time. (jberry)
    
    - Mark CVS, TAR, GNUTAR, and RSYNC as additional precious variables that can
      be overridden in configure environment at time of configure to customize
      the location of these tools. Note that these tools are not found in the dp
      prefix, as PATH is sanitized of references to prefix. But you could
      override the precious variables to acheive that if you really want to
      shoot yourself. (jberry)

    - Set timeouts for curl transfers.  Some connections to sketchy mirror sites
      can hang forever otherwise. (jkh)
    
    - Shortened the time to upgrade with archive mode on by using archive as the
      target. (Bugzilla #7891) (dluke & jberry)

    - Added support for sqlite 3. (jberry)

    - Major update of the trace (-t) option (pguyot):
      * backported changes from darwinbuild's version of darwintrace, including
        several bug fixes.
      * cleaned up the code.
      * writing/creating and also unlinking a file outside allowed bounds are
        now blocked instead of being simply reported (previous version only
        reported creations).
      * fixed a bug where -t failed with X11 ports because ${prefix} got
        overwritten.

    - Added new native commands to handle privileges chores. (jberry)
    
    - Add batch/interactive mode. In interactive mode, use readline when it's available.
      Command and portname completion is available in interactive mode, as is readline
      history. (jberry) 2005-11-07,08
    
        * Add new option -F <filename> which specifies a command file to be
          read and processed. Multiple such options may be given to provide
          multiple command files. If filename is "-", then stdin is read.
      
        * Option -i is equivilant to -F -, which forces processing of standard
          input following any commands given as arguments.
          
        * If port is invoked as portf, an -F is assumed as an implicit first
          argument (so the real first argument is taken as a command file to
          be processed). This should allow the use of a shebang line such as:
            #!/usr/bin/env portf
            
        * Commands starting with # are treated as comments.
        
        * Install a symbolic link /opt/local/bin/portf --> /opt/local/bin/port.
        
        * New command "cd" is useful to change to a new directory/port while in
          interactive/batch mode.
          
        * Multiple commands on a single line may be separated by a ';'
        
        * Global command options may now be specified following a particular
          command; they will apply only to that command rather than to all
          command invocations. This is important for batch/interactive mode.
        
    - Add new option -p, which ignores errors while processing within a command.
      (this subsumes some of the work that -f was previously overloaded to do).
      (jberry).
    
    - Add new option -x, which exits immediately on errors while in batch mode (
      otherwise we don't exit on errors in batch mode). (jberry)
    
    - Refactoring of port(1) to cast actions into distinct action procs. Adds
      the new action_array which is used for action dispatch, and also to generate
      the list of possible commands for help and command completion. (jberry)
    
    - Initial version of portmirror binary to build a mirror of distfiles.
      (pguyot)

    - Improvements and fixes to the tests. (pguyot)
    
    - Added a new option (checksum.skip=yes) to bypass the checksum phase. This
      option is mostly useful on the command line to test older distfiles.
      (jberry)

    - Added dependencies for rpm on virtual packages representing releases of
      MacOS X. (mww)
      
    - Add to port the ability to query for specific meta-data fields.
      For instance: port info --maintainer --name category:java
      When specific fields are given, the legacy generalized info is not presented, and vis-versa.
      By default, the fields for each port are listed one-per-line, with a field label
      in front of each. (The field label is omitted if the global -q option is given).
      If the --line option is given, the fields are presented on one line, tab separated,
      and with no field label: port info --name --maintainer --line tomcat5 apache2
      Field names are those from the PortIndex, plus some convenience versions of
      those: (such as allowing category instead of categories).
      Fields which are actually lists (such as depends_lib) are displayed comma-separated.
      (jberry) 2006-02-16
      
Release 1.2.1 (10-Apr-2006):

    - Changes to darwinports build infrastructure to allow for build of
      the darwinports infrastructure as a multiarchitecture binary.
      This allows darwinports to be built as fat, but does nothing to
      allow ports themselves to be built as fat. To build darwinports
      fat, configure as follows:
        ./configure CFLAGS='-arch ppc -arch i386' SHLIB_LDFLAGS='-arch ppc -arch i386'
                                        backported from HEAD (jberry)
                                        
    - Add a hack in order attempt to detect when a sourceforge mirror
      is actually returning an error page. If this is detected, proceed
      to the next mirror.               backported from HEAD (jberry)

Release 1.2 (14-Dec-2005):

    - Syntax change to disambiguate uses of the port's version on the command
      line, when coupled with new changes to accept multiple ports.
      The port version must now always be prefixed with an @. Example:
        port uninstall vim @1.0
      This probably only affects uninstall and activate, both of which
      require a version if there are multiple versions installed.

    - gzip-compress manpages that are in the share/man/cat? directories during
      destroot, too. (mww)

    - Enhance port command such that targets that require a port to be
      specified will now all default to a port in current directory. (jberry)
      
    - Enhance port command to allow multiple ports per invocation.
      Where previously one said "port install porta; port install portb", 
      one can now say "port install porta portb". (jberry)
      
    - Enhance port command to allow use of shell-like glob patterns for
      port selection. When a glob pattern is found, the group of ports
      matching the glob pattern is substituted. (jberry)
      
    - Enhance port command to allow use of "pseudo" portnames to specify
      groups of ports.
      When one of these pseudo portnames is specified on the command line,
      the corresponding group of ports is substituted.

      Currently defined pseudo portnames are:
        current, all, installed, uninstalled, active, inactive, outdated.
      
      Additional pseudo portnames can be used to select ports based on a
      regex pattern match against certain criteria. Each port selector is
      a name, followed by a colon, followed by the desired regex pattern.
      The selectors are:
      variants:, variant:, description:, portdir:, homepage:, epoch:,
      platforms:, platform:, name:, long_description:, maintainers:, maintainer:,
      categories:, category:, version:, and revision: (jberry)
      
    - Enhance port command to allow use of set expressions to combine
      ports or groups of ports.
      Supported operators are "and", "or", "not", "!", "(", ")". (jberry)
      
    - Enhance port command to allow a port to be specified through a file:
      url instead of via portname. This function was previously available
      though the -D and -u options, which make less sense now that multiple
      ports can be specified to a target. (jberry)
      
    - Under Tiger, startupitems are now by default generated for launchd
      rather than systemstarter. (jberry)
      
    - Add new startupitem keys startupitem.executable, startupitem.logfile,
      startupitem.logevents, startupitem.pidfile, supported for both
      systemstarter and launchd. (jberry)
      
    - New Test framework. Running make test from base/tests/ will test
      several features of port(1) including syntax of Portfiles. New tests
      can easily be added by simply creating new directories in base/tests/
      with a Portfile and a master file containing the output of port test
      in this directory. Some tests are actually more complex. These tests
      require the port binary to be installed in ${prefix}. (pguyot)

    - svn fetching support, parallel to cvs fetching. Note that
      this is a bit skanky as svn is not installed on the platform by default.
      This code will error-out if svn is not installed. (jberry)

    - Removal of old "fetch.args" parameter now that all Portfiles have been
      properly moved to leverage Paul's libcurl work (yeled)

    - DP now sets its own env variables instead of filtering user declared
      ones considered harmful (blb)

    - "Canonicalization" of expanded path:${prefix}/foo:bar dependencies
      when including them in the PortIndex for better abstraction (jberry/pguyot)

    - Addition of the IndexRegen.sh script that takes care of the automated
      index thingie... (pguyot and jmpp)

    - Miscellaneous cleanups:
        - DP base is assured to respect a temporary DESTDIR installation and
          other Makefile cleanups (toby, jmpp)
        - s/--with-tclpackagedir/--with-tclpackage/g in autoconf error
          reports (pguyot)
        - fixes for the buildall.sh script (jkh)

    - Some other fixes for lurking bugs, untapped by the various developments
      that have taken place since 1.1 ("bunch of developers ;-);

    - Snazzy new ChangeLog file
    
    - Add new actions for port(1): help (get help about port),
      echo (the expanded arguments),
      cat (the contents of the Portfiles from the specified ports),
      edit (also alias "ed", the contents of the Portfiles, using EDITOR or VISUAL),
      dir (emit path to the port's directory),
      file (emit path to the port's Portfile)
      (jberry)
      
    - On make install, upgrade ports.conf and sources.conf to change rsync.opendarwin.org
      to rsync.darwinports.org. This is now our preferred rsync hostname.
      Likewise, rename the rsync destination directories in ${prefix}/var/db/dports/sources
      in a similar fashion (jberry)


Release 1.1:

    (information not here).
    
Release 1.0:
    
    (information not here).
