Release notes for PDL 2.4.4 ------------------------------

	TO DO

Release notes for PDL 2.4.3 ------------------------------

General Notes:

     - again, mainly a bugfix and polishing release.

     - builds out-of-the-box on cygwin and win32 build environment
       has been significantly improved
     
     - perl 5.6.x is now deprecated; 5.8.x is recommended.  Support
       for 5.6.x may go away in future versions.  


Summary of Changes:

     - PDL now builds under cygwin on windows PC including
       TriD(OpenGL) 3D graphics and PGPLOT and PLplot 2D graphics
       support. See PDL/cygwin/ and files README and INSTALL for
       details and how to build/install external dependencies.
     
     - The win32 build has been improved.  See PDL/win32/INSTALL
       for details.
     
     - Many fixes from the Debian build patches have been
       incorporated.  See PDL/debian for specifics.
     
     - 64bit platform build has been improved.
     
     - New functionality, functions and modules:
         
         * Bad value support has been extended to per-PDL bad
           values as an experimental feature. To use, configure
           WITH_BADVAL => 1 and BADVAL_PER_PDL => 1 in perldl.conf
           before building.

         * PDL::GSL::INTEG now supports the calculation of
           nested integrals

         * New function tcircle (threaded circle) added to 
           PDL::Graphics::PGPLOT This draws multiple circles in
           one go (see also tpoints and tline)

         * Added set operation routines for pdls treated as sets
           (help setops).

         * PDL::IO::GD module interface to the GD runtime image
           libaray (http://www.boutell.com/gd/) has been integrated.

         * The PDL::GIS::Proj and PDL::Transform::Proj4 modules
           to interface to the PROJ4 Cartographic Projections
           Library (http://proj.maptools.org/) have been added.

         * PDL::IO::HDF provides an interface to the HDF4
           library (http://hdf.ncsa.uiuc.edu/).
     
     
     - The PDL test suite (i.e. tests in in PDL/t) has been
       enhanced. Coverage has improved and output diagnostic
       messages are more useful. Test::More is becoming the
       preferred test module. The vanilla Test and Test::Simple
       may be deprecated in the future.

     - PDL core code has been fixed to address valgrind-detected
       errors and to enable better bad value support including the
       new experimental per-PDL bad values. These changes will
       require a re-build/install of any external modules using
       the C interface of PDL. See perldl.conf to configure the
       new bad value support.

     - Several TriD graphics build problems have been resolved.
       The TriD rotation bug has been fixed.

     - Many other bug fixes too numerous to mention. See the
       PDL/Changes file for details.

     - Multiple fixes and additions to PDL documentation as well
       as the PDL::FAQ.



Release notes for PDL 2.4.2 ------------------------------

General Notes:

     - again, mainly a bugfix and polishing release.
     
     - perl 5.6.x is now deprecated; 5.8.x is recommended.  Support
       for 5.6.x may go away in future versions.  

     - a little too late for Christmas; but happy new year 2005!

Summary of Changes:

 - Overhaul of FITS I/O.  FITS binary tables are now supported,
   for both reading and writing.

 - Many improvements to PLplot handling

 - New Graphics::Limits package determines display range for multiple 
   concurrent data sets

 - Better PDL::reduce function

 - Improvements to PDL::Transform

 - pdl() constructor is more permissive -- you can feed it PDLs and 
  it does the Right Thing most of the time.

 - Cleaner handling of config files

 - Improvements to multi-line parsing in the perldl shell

 - New 'pdl' command-line entry to perldl shell allows #!-style
   scripting (so you can re-use your journal files verbatim)

 - Several fixes for Microsoft Windows operation

 - PDL::undefval works properly, also has warning tripwires

 - statsover finally seems to produce meaningful, consistent RMS values

 - Several 64-bit compatibility issues (this work is probably not yet
  complete).

- Many small bug-fixes too numerous to list (see the Changes file).




Release notes for PDL 2.4.1 -------------------------------

General Notes:

     - mainly a bugfix and polishing release

Summary of Changes:

     - Fixed warnings with perl 5.8.2

     - Replace original m51.fits with freely distributable image

     - Upgrade PLplot interface for plplot-5.2.1 and perl 5.8.2

     - Improvement to documentation of autoloaded routines

     - Added more universal `whatis' function to perldl

     - Numerous small fixes/additions to docs/functions

     - Improved handling of empty piddles

     - Fixed most reported bugs


Release notes for PDL 2.4.0 -------------------------------

General Notes:

     - Perl 5.6.0 or later is now required, along with the modules
       Filter and Text::Balanced.

     - After installing PDL 2.4.0 external PDL modules will need to re-built.
       (any such modules will refuse to load until they have been re-built)
       
     - New demos of the PDL::Transform and PDL::Transform::Cartography
        modules have been added to perldl.
       Type 'demo transform' or 'demo cartography' in the perldl shell. 
        ( Note that PGPLOT is required to run )

Summary of Changes:

     - The NiceSlice syntax comes of age
       (Nice slicing has been around a while, but really needs to be 
        acknowledged as the main way of slicing PDLs...)

     - New GSL functionality: greatly improved access to the Gnu Scientific
       Library, including interpolation, finite-difference, random
       variable, and other routines.

     - New, very powerful indexing and slicing operators allow boundary 
          conditions   (range, indexND)

     - N-dimensional indexing (indexND) and selection (whichND) methods

     - Powerful syntax for coordinate transformation and arbitrary image
       resampling and coordinate transformations -- including high powered
       spatially-variable filtering (PDL::Transform module)

     - Support for major cartographic transformations
       (PDL::Transform::Cartography module)

     - New PLPlot graphics interface ( cleaner and faster than PGPLOT )

     - Many improvements to the PGPlot interface:
       * Strong FITS support (easy display of images, vectors, & contours in
            science coordinates)
       * Better vector graphic support [including improvements to line() and
         a new routine, lines()]
       * Much cleanup of errors and bugs
       * Spinlocks prevent interrupt-related PGPLOT crashes (requires Perl 5.8)
       * RGB output to truecolor devices (requires PGPLOT-5.3devel)

     - Improvements to the perldl shell:
       * Many bug fixes
       * Multi-line inputs to the perldl shell for easier cut-n-paste
       * ^D blocking on demand (controlled by perl variable or command-line 
          switch)
       * Autoloading detects error conditions on compile
       * New demos

    - Header copying is now explicit rather than by reference -- so that,
      e.g., FITS file manipulation is more intuitive and natural.

    - Improved support for Astro::FITS::Header

    - Bad value support is improved

    - Several new utility routines, including glue(), zcheck(), and ndcoords().

    - Better matrix operation support: matrix operations are now in 
        PDL::MatrixOps, and are all threadable.  Singular value decomposition,
        determinant, linear equation solving, matrix inversion, 
        eigenvalue decomposition, and LU-decomposition.

Release notes for PDL 2.3.4 -------------------------------

     - Now should compile using perl 5.8.0
     - Improved speed for generating PDL's from a perl array ref
     - Added PDL::IO::Storable, which enables PDL storage/retrieval
       using the Storable package.
     - Added  PDL::GSL::SF (Gnu Scientific Library, Special Functions) hierarchy
     - New % operator follows (mathematically correct) perl % operator behavior
     - Numerous Bug Fixes
        
  See the Changes file for a detailed list of changes.

Release notes for PDL 2.3.3 -------------------------------
  
  Mainly a bugfix release with some nice little additions:
     - PDL::IO::Dumper: Cleanly save and restore complex
        data structures including PDLs.  
     - Support for the new Astro::FITS::Header module
       (availiable on CPAN).
        
  See the Changes file for a detailed list of changes.

Release notes for PDL 2.3.2 ------------------------------

A pure bugfix release to fix compilation problems with gimp-perl
(part of the gimp distribution). The following notes from
2.3 and 2.3.1 still apply:

Release notes for PDL 2.3.1 ------------------------------

A bugfix release to fix some compilation problems seen with
2.3. The following notes from 2.3 still apply:

Release notes for PDL 2.3 -------------------------------
 
 Summary of Changes
   - A nicer slicing syntax for PDL added via the new 
     PDL::NiceSlice module.
   - Inline::Pdlpp module added, which enables in-line
     PDL::PP definitions. (i.e. no Makefiles, building
      hassles for creating PP code)
   - A Multitude of bug fixes, doc updates, and other
     changes.
     
  Note:Support for perl version 5.005 and previous is 
  limited in this release. Perl 5.6.0 or greater is
  recommended for full PDL functionality.
        
  See the Changes file for a detailed list of changes.
  
Release notes for PDL 2.2.1 -------------------------------
 
 Summary of Changes
    Bugs Fixed:
          - 'pow' function fixed in math.pd
          - Misc memory leaks fixed.
          - PGPLOT 'undefined window size' 
             bug fixed.
          - Test failures with opengl.t fixed.
          - Error in output of 'minimum_n_ind' function
            fixed.
            
    Misc Changes:
        - Documentation updates.
        - Updates to work with perl5.6.1
        
  See the Changes file for a detailed list of changes.
  
Release notes for PDL 2.2 -------------------------------

Major Changes:

  - 'Bad' Value Support added. With this option compiled-in, certain
     values in a PDL can be designated as 'Bad' (i.e. missing, empty, 
     etc). With this designation, most PDL functions will properly 
     ignore the 'Bad' values. See PDL::BadValues for details.
     
  - PGPLOT interface rewritten. New Features:
      - Interactive cursors (cursor)
      - Text on plots       (text)
      - Legends             (legend)
      - Circles, Rectangles, Ellipses
      - Multiple plot windows, one can jump from panel to panel when
        the window is divided in several.
      - More control over options - see PDL::Graphics::PGPLOTOptions for
        details.
      - New Examples in Example/PGPLOT.

   - Major updates to the Tri-D Code. Now requires perl 5.6 for TriD.
    
   - 'Reduce' function added. This provides a consistent interface to the
     projection routines (sumover, average, etc). See PDL::Reduce.
     
   - Improved OpenGL detection during 'perl Makefile.PL

   - pdldoc command added. This allows you to look up PDL 
     documentation similar to the perldoc command. 
     
   - Perl 5.6 is now recommended for PDL 2.2. It will still work 
     with perl 5.005, but some of the extra libs won't be compiled
     ( like Graphics/TriD).
  
Many other changes. See the Changes file for a detailed list of changes.

Release notes for PDL 2.1 -------------------------------

Major Changes:
  - Speed Increase. Most PDL functions are now done totally
    in C-code, without any perl wrapper functions as was done
    with previous versions. The speedup will be most noticeable
    for operations on many small PDL arrays.
  - Mem Leaks Fixed.
  - Added a consistent, Object-Oriented interface to the 
    various interpolate functions in PDL. (PDL::Func, 
    See Lib/Func.pm).
    
See the Changes file for a detailed list of changes.



Release notes for PDL 2.005 -----------------------------

A bugfix release to fix 2.004 problems with PGPLOT changes
and perl 5.6.0.

The following notes from 2.004 still apply:
                                             
*IMPORTANT NOTE*: Due to changes to the PGPLOT module, 'use
PDL::Graphics::PGPLOT' has been removed from PDL.pm (i.e. in scripts
and within perldl you now need to explicitly say 'use
PDL::Graphics::PGPLOT'). Additionally, it needs Karl's new 2.16
release of the PGPLOT module (available from CPAN).

Notable additions are a module for operations on complex piddles
(PDL::Complex), a subtype of PDL which allows manipulation of byte
type PDLs as N dimensional arrays of fixed length strings (PDL::Char)
and a Levenberg-Marquardt fitting module (PDL::Fit::LM).

Bug reports and patches to the relevant places on sourceforge, please.

