The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Release Notes for PDL 2.4.9 --------------------------

General Notes:

 * Fixes a couple of surprise bugs that were discovered
   immediately with the PDL-2.4.8 release.

 * See Also: the Release Notes for PDL-2.4.8 below


Highlights:

 * Fix sf.net bug #3267408 "t/slice.t crashes in tests 68-70 for BSD"
 
 * Fix sf.net bug #3190227 "PDL build fails with parallel GNU make -j3 -j3"

 * Fixed various tempfile name generation problems by switching
   to File::Temp instead of hand rolled solutions.  This is the
   recommended approach going forward.

 * Force Convert::UU usage for BSD to work around a t/dumper.t
   failure on MirBSD.



Release Notes for PDL 2.4.8_004 --------------------------

General Notes:

 * A.k.a. PDL-2.4.9 pre-release 2.


Highlights:

 * See the PDL-2.4.9 release notes above.



Release Notes for PDL 2.4.8_003 --------------------------

General Notes:

 * A.k.a. PDL-2.4.9 pre-release 1.


Highlights:

 * See the PDL-2.4.9 release notes above.



Release Notes for PDL 2.4.8_002 --------------------------

General Notes:

 * Another quick CPAN developers release
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These release notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  chm/pdl-2.4.8_002.tar.gz
       cpan> make chm/pdl-2.4.8_002.tar.gz
       cpan> test chm/pdl-2.4.8_002.tar.gz
       cpan> look chm/pdl-2.4.8_002.tar.gz


Highlights:

 * Fix temporary file generation problems with IO/Dumper.pm,
   t/iotypes.t, and add temp file cleanup code to Makefile.PL
 
 * Add additional dependencies in the Makefile generation
   for Basic/Core/Makefile.PL to address the parallel make
   failures.



Release Notes for PDL 2.4.8_001 --------------------------

General Notes:

 * Another quick CPAN developers release
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These release notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  chm/pdl-2.4.8_001.tar.gz
       cpan> make chm/pdl-2.4.8_001.tar.gz
       cpan> test chm/pdl-2.4.8_001.tar.gz
       cpan> look chm/pdl-2.4.8_001.tar.gz


Highlights:

 * Fixed sf.net bug #3267408 "t/slice.t crashes in tests 68-70 for BSD"



Release Notes for PDL 2.4.8 --------------------------

General Notes:

 * The deprecated Karma imaging library support code
   has been removed from the PDL distribution.
 
 * Perl OpenGL (POGL) is now the only build option for
   3-D graphics support in PDL.  The POGL build has
   proven to be portable and reliable.  This prepares
   TriD graphics development for the next stage of
   re-factoring for support and new features.
 
 * Many improvements to the PDL configuration, build
   and test process make this the most robust PDL yet.
 
 * PDL::IO::FlexRaw now supports automatic header file
   creation when writeflex() is given a filename argument
   for writing.  readflex/writeflex/mapflex now support
   reading and writing piddles with bad values in them.
 
 * New PDL::Constants module provides PI and E.

 * PDL::Complex now supports in-place operations.

 * Added $PDL::toolongtoprint to set the maximum piddle
   size allowed to print as a string.  This was added
   to the default.perldlrc to make it easier to discover
   by users.

 * wmpeg() from PDL::IO::Pic uses the new ffmpeg back-end
   and can create many additional file formats beyond MPEG
   alone, including MP4 and animated GIF.  See the
   documentation for details.
 
 * Lots of improvements to the documentation, overall
   usability and many bugs fixed!

Highlights:

 Build and Test Enhancements:

 * Karma support code has been *removed* from the PDL
   distribution The last stable PDL distribution with
   Karma code was be PDL-2.4.7.
   
 * You must use the Perl OpenGL module to build the
   PDL 3-D graphics module, PDL::Graphics::TriD.
   OPENGL_LIBS, OPENGL_INC and OPENGL_DEFINE are no
   longer used by perldl.conf for the configuration
   process.
   
 * Added a check for mis-installed PROJ4 libraries.  If
   the library does not initialize (even if present) then
   PDL will not build the PROJ4 modules.  This is sf.net
   feature #3045456.
   
 * GD, HDF, PROJ4, OpenGL, and GSL tests will not be run
   unless the corresponding module was configured to be
   built.  This addresses the possibly mysterious test
   failures caused by previous PDL installations in the
   perl path at build time.
   
 * Use of the Test::More TODO {} blocks allows tests for
   known bugs to be added to the test suite without 
   causing the suite to fail.  This replaces the previous
   SKIP_KNOWN_PROBLEMS option and should better enable
   test first development and debugging.
   
 * utils/perldlpp.pl is a new script for off-line source
   filtering to pre-filter PDL source files with NiceSlice
   constructs.  This allows PDL to use NiceSlice constructs
   in the core functionality while still allowing PDL to
   work in environments where source filters are not supported.
   
 * The 'perl Makefile.PL' response to detecting another PDL
   in the build path has changed.  If such a pre-existing PDL
   installation is detected, the user is warned *but*
   configuration and build will proceed nonetheless.
   
 * Clean-up and fixes to demos and tests for reliability and
   portability.

 Documentation:

 * Added INTERNATIONALIZATION file with i18n notes.  PDL
   does yet not have internationalization support beyond
   that provided  by perl itself.
   
 * Cleared up the documentation on when to use lu_decomp
   and versus lu_decomp2.  Now that lu_decomp is threaded,
   it is the preferred implementation.
   
 * wmpeg() with the ffmpeg converter supports generation of
   many different output video file formats including MPEG,
   MP4, and animated GIF.  Documentation on these uses were
   added.

 * New example code refresh.pdl in Example/PLplot to
   provide for PLplot, some of the same functionality
   as in PDL::Graphics::PGPLOT.
   
 * Other documentation updates for clarity and correctness.

 New Features or Functionality:

 * New PDL::Constants module providing PI and E (so far)
   
 * Inplace support added for PDL::Complex operations
   
 * pdldoc and the pdl2/perldl help commands now print all
   matches by default when multiple matches are found.

 * A do_print command was added to the pdl2 shell which
   toggles the input mode between printing and not
   printing the return value of each command.
   
 * readflex/writeflex/mapflex now support reading and writing  
   piddles with bad values in them. This was sf.net feature
   request #3028127, "add badvalue support to FlexRaw".
   
 * writeflex now supports automatically calling the
   writeflexhdr() routine if you have set the variable
   $PDL::FlexRaw::writeflexhdr to a true value and are
   writing to a file given by filename as argument.
   
 * Updated the error handling for GSL::INTERP to match other
   GSL module usages.
   
 * Applied sf.net patch #3209075 IO::HDF square sds
   
 * New binary blob support in PDL::IO::GD::OO

 Bugs Fixed:

 * Applied Christian Soeller's patch for FFTW on 64-bit
   systems.  This resolves bug #3203480 "t/fftw.t fails
   on 64-bit systems".
   
 * Fixed sf.net bug #3172882 re broken threading in inv().
   inv() and lu_backsub() now handle threading.  Updated
   documentation for lu_decomp, lu_deomp2, and lu_backsub.
   
 * Fixed sf.net bug #3171702 "missing podselect command
   breaks PDL build"
   
 * Fixed sf.net bug #3185864 (bad adev in statsover)
   
 * Fixed sf.net bug #3139697: fixed imag2d() to work better
   with Mac OS X GLUT and not just FreeGLUT.
   
 * Fixed uniqind bug #3076570
   
 * Fixed SF bug #3057542: wmpeg doesn't error on missing
   ffmpeg program.  Now wmpeg returns 1 on success and
   undef on error.  If ffmpeg is not in PATH, it just fails
   immediately....
   
 * Fixed SF bug #3056142: pdl2 fallback to perldl broken
   on win32
   
 * Fixed SF bug #3042201: t/dumper.t fails mysteriously
   
 * Fixed SF bug #3031068: PDL::IO::FlexRaw mapflex memory
   mapping fails
   
 * Fixed SF bug #3011879, "pdl() constructor crashes perl for
   mixed ref/piddle args" and #3080505, and #3139088.  This
   fix also includes a larger and more complete set of tests.
   
 * Fixed segfault in plplot.t with a work-around.
   
 * Fixed bug in readenvi.pdl header list value processing
   and added support for embedded file headers.
   
 * Fixed bug in FlexRaw.pm support for headers with Type
   passed  as string.
   
 * Fixed imag2d() in PDL::Graphics2D.  It no longer calls
   exit on ESC if run within the pdl2/perldl shell.  Also
   did some clean up of key controls and module mechanics.
   
 * Fixed upstream bug in Devel::REPL for MultiLine
   continuation.  Now incomplete q[] and qq[] constructs
   continue reading until properly closed.  See the
   Known_problems file for details.


    
Release Notes for PDL 2.4.7_991 --------------------------

General Notes:

 * A.k.a. PDL-2.4.8pre1 release

Highlights:

 * See PDL-2.4.8 release notes above.


    
Release Notes for PDL 2.4.7_015 --------------------------

General Notes:

 * Another quick CPAN developers release
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These release notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  chm/pdl-2.4.7_015.tar.gz
       cpan> make chm/pdl-2.4.7_015.tar.gz
       cpan> test chm/pdl-2.4.7_015.tar.gz
       cpan> look chm/pdl-2.4.7_015.tar.gz


Highlights:

 * Fix another problem with the Lib/GIS/Proj and Lib/Transform/Proj4
   Makefile.PL files.


    
Release Notes for PDL 2.4.7_014 --------------------------

General Notes:

 * Last developers release before the PDL-2.4.8 pre-release
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These release notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  chm/pdl-2.4.7_014.tar.gz
       cpan> make chm/pdl-2.4.7_014.tar.gz
       cpan> test chm/pdl-2.4.7_014.tar.gz
       cpan> look chm/pdl-2.4.7_014.tar.gz


Highlights:

 * Added feature to check for a mis-installed PROJ4
   library.  If such is detected, PDL will not build
   the PROJ4 modules.  This sf.net feature #3045456.

 * Applied sf.net patch #3209075 IO::HDF square sds
 
 * Applied Christian Soeller's patch for FFTW on 64-bit
   systems.  This resolves bug #3203480 "t/fftw.t fails
   on 64-bit systems".
 
 * Various clean up to tests and build process.


    
Release Notes for PDL 2.4.7_013 --------------------------

General Notes:

 * Last developers release before the 2.4.8 pre-release

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These release notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  chm/pdl-2.4.7_013.tar.gz
       cpan> make chm/pdl-2.4.7_013.tar.gz
       cpan> test chm/pdl-2.4.7_013.tar.gz
       cpan> look chm/pdl-2.4.7_013.tar.gz


Highlights:

 * readflex/writeflex/mapflex now support reading and writing
   piddles with bad value support enabled.  This was sf.net
   feature request #3028127, "add badvalue support to FlexRaw".
   
   On writeflex, a piddle with badflag==1 will have a keyword
   badvalue added to the header file and an additional value
   if badvalue is != orig_badvalue for that type.
   
   On readflex, a piddle with the badvalue header will
   automatically have its badflag set and its badvalue as well
   if it is not the default.

 * New PDL::Constants module providing PI and E

 * New refresh.pdl in Example/PLplot.  This provides
   some of the same functionality as in the PDL
   PGPLOT graphics.

 * Inplace support added for PDL::Complex operations

 * OPENGL_LIBS, OPENGL_INC and OPENGL_DEFINE
   no longer used in perldl.conf as the Perl
   OpenGL binding is now required for TriD graphics.
 
 * Additional code clean up now that PDL::Karma
   graphics are no longer provided.
 
 * Various bug and documentation fixes.


    
Release Notes for PDL 2.4.7_012 --------------------------

General Notes:

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These release notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  chm/pdl-2.4.7_012.tar.gz
       cpan> make chm/pdl-2.4.7_012.tar.gz
       cpan> test chm/pdl-2.4.7_012.tar.gz
       cpan> look chm/pdl-2.4.7_012.tar.gz


Highlights:

 * Fixed pdl constructor bugs

   - Include a larger and more-complete set of tests.

   - Fixes SF.net bugs: #3011879, #3080505, and #3139088.

   - Please test and verify.

 * Legacy (deprecated) X11+PP build of TriD OpenGL bindings
   has been removed

     You must use the new Perl OpenGL based build which has
     proven to be more portable and reliable.  This prepares
     TriD graphics development for the next stage of refactoring
     for support and functionality.

 * More tests have been updated to not run unless the feature
   they test was actually built.  This addresses the possible
   mysterious test failures caused by previous PDL installs
   in the perl path at build time.

   - t/opengl.t will not run if TriD graphics have not been built

   - t/gsl*.t tests will not run if WITH_GSL => 0

 * Remove Karma support code from PDL distribution
    
     The last stable CPAN distribution with Karma code
     in it (though deprecated) will be PDL-2.4.7.

 * Added INTERNATIONALIZATION file with i18n notes

     PDL does not have internationalization support beyond
     that provided by perl itself.  In fact, some of the
     code may be specific to English and ASCII for file names
     and strings.  This file is a place holder and reminder
     to address these issues.

 * Some documentation and FAQ updates.


    
Release Notes for PDL 2.4.7_011 --------------------------

General Notes:

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These release notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  chm/pdl-2.4.7_011.tar.gz
       cpan> make chm/pdl-2.4.7_011.tar.gz
       cpan> test chm/pdl-2.4.7_011.tar.gz
       cpan> look chm/pdl-2.4.7_011.tar.gz


Highlights:

 * Fixes to GD, HDF, and PROJ4 tests to not run if they
   weren't built.
 
 * New binary blob support in PDL::IO::GD::OO

 * Changed from interactive prompt when duplicate PDL is
   found at PDL config time.  Now we just warn.
 
 * Fixed sf.net bug #3185864 (bad adev in statsover)

 * Minor pod cleanup for lu_xxx routines in PDL::MatrixOps

 * Spot fixes to usual README, docs,..



    
Release notes for PDL 2.4.7_010 --------------------------

General Notes:

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These Release Notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  CHM/PDL-2.4.7_010.tar.gz
       cpan> make CHM/PDL-2.4.7_010.tar.gz
       cpan> test CHM/PDL-2.4.7_010.tar.gz
       cpan> look CHM/PDL-2.4.7_010.tar.gz


Highlights:

 * Test release to verify the fix for sf.net bug #3171702
   "missing podselect command breaks PDL build"


    
Release notes for PDL 2.4.7_009 --------------------------

General Notes:

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These Release Notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  CHM/PDL-2.4.7_009.tar.gz
       cpan> make CHM/PDL-2.4.7_009.tar.gz
       cpan> test CHM/PDL-2.4.7_009.tar.gz
       cpan> look CHM/PDL-2.4.7_009.tar.gz


Highlights:

 * Update Known_problems, Perldl2/TODO, Release_Notes
    
 * Fixed upstream bug in Devel::REPL for MultiLine continuation
   so now incomplete q[] and qq[] constructs continue reading
   until properly closed.  This was a problem for pdl2 and its
   multiline support.

 *  Fix sf.net bug #3172882 re broken threading in inv
    - inv() and lu_backsub() now handle threading
    - documentation updates for lu_decomp, lu_deomp2, lu_backsub

 * Fix imag2d not to exit on ESC in pdl2/perldl
   Clean up PAUSE/STEP key controls for imag2d()
   Add imag2d_update to EXPORT_OK and fix bug
    
     There are preliminary key bindings for the default
     imag2d() windows to support SPACE to toggle pause,
     [ . or > ] to step/move forward, and [ , or < ] to
     move backward through frame data.

 * clean up tests for PLplot functions
   - common code in tests for PLplot functions has been abstracted
   - plsfont & plgfont interfaces are now conditional on their existence
   - OPTIONS! file is now Perl code.
   - all conditional code API code is now based on
      presence of a feature rather than version

 * readenvi doc/code cleanup, ignore case in hdr keys
    
 * wmpeg() with the ffmpeg converter supports generation
   of many different output video file formats including
   MPEG, MP4, and animated GIF.  Documentation on these
   uses were added.



Release notes for PDL 2.4.7_008 --------------------------

General Notes:

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These Release Notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  CHM/PDL-2.4.7_008.tar.gz
       cpan> make CHM/PDL-2.4.7_008.tar.gz
       cpan> test CHM/PDL-2.4.7_008.tar.gz
       cpan> look CHM/PDL-2.4.7_008.tar.gz


Highlights:

 * Merged PDL version of Graphics/PLplot with the stand-alone
   package from CPAN, version 0.53.

 * Fixed segfault in plplot.t by avoiding the problem:  pdl($pdl->sclr).
   Calls to pdl() with arguments that are themselves PDLs still fails.

 * Fixed sf.net bug #3139697: The imag2d() routine was using
   FreeGLUT-specific macros: GLUT_ACTION_ON_WINDOW_CLOSE and
   GLUT_ACTION_CONTINUE_EXECUTION which was a problem on OS X
   GLUT which does not support them.  Added check for FreeGLUT
   to conditionalize their use.
 
 * Update PDL::IO::FlexRaw POD for writeflex

 * Add open MODE support to writeflex "filename"
     
     writeflex is documented to take as argument either a "filename"
     or a FILEHANDLE however if passed something like ">filename" as
     the file argument, it would quietly (and unexpectedly) open the
     file ">$name" which would then be ">>filename" and the data would
     be appended to the file rather than overwriting it.

     This modifies the "filename" option to be used explicitly if
     passed a perl open type MODE+filename expression which might
     avoid someone's utter confusion in the future...



Release notes for PDL 2.4.7_007 --------------------------

General Notes:

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These Release Notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  CHM/PDL-2.4.7_007.tar.gz
       cpan> make CHM/PDL-2.4.7_007.tar.gz
       cpan> test CHM/PDL-2.4.7_007.tar.gz
       cpan> look CHM/PDL-2.4.7_007.tar.gz


Highlights:

 * Added do_print command to pdl2 shell which toggles the
   input mode between printing and not printing the value
   of each command.

 * Cleaned up documentation on when to use lu_decomp and
   lu_decomp2.  Now that lu_decomp is threaded, it is the
   preferred implementation.
 
 * pdldoc and the pdl2/perldl help commands now print
   all matches by default when multiple matches are
   found.  It is easier to use the pager than to re-enter
   the help command with a [$n] on it.
 
 * Fixed SF bug #3056142: pdl2 fallback to perldl broken on win32

 * Fixed documentation for the PDL::hist routine where
   use of the unix man convention of []'s around optional
   arguements was confusing in PDL since [] are valid
   perl delimiters/constructs.
 
 * writeflex now supports automatically calling the
   writeflexhdr routine if you have set the variable
   $PDL::FlexRaw::writeflexhdr to a true value.
 
 * Use standard abbreviations for piddle info output
   for sizes (KB and MB rather than Kb and Mb).



Release notes for PDL 2.4.7_006 --------------------------

General Notes:

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These Release Notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  CHM/PDL-2.4.7_006.tar.gz
       cpan> make CHM/PDL-2.4.7_006.tar.gz
       cpan> test CHM/PDL-2.4.7_006.tar.gz
       cpan> look CHM/PDL-2.4.7_006.tar.gz


Highlights:

 * Fixed SF bug #3031068: PDL::IO::FlexRaw mapflex memory mapping fails

 * Fixed SF bug #3042201: t/dumper.t fails mysteriously

 * Added detection and skips for bad PROJ4 installs to t/proj_transform.t
   and t/proj_transform2.t

 * Added new global setting to control maximum PDL print size,
   $PDL::longbigtoprint, and added POD to Core.pm.PL covering
   these important PDL package variables.

 * Fixed SF bug #3057542: wmpeg doesn't error on missing ffmpeg.
   Now wmpeg returns 1 on success and undef on error.  If ffmpeg
   is not in PATH, just fail immediately....
 



Release notes for PDL 2.4.7_005 --------------------------

General Notes:

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These Release Notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  CHM/PDL-2.4.7_005.tar.gz
       cpan> make CHM/PDL-2.4.7_005.tar.gz
       cpan> test CHM/PDL-2.4.7_005.tar.gz
       cpan> look CHM/PDL-2.4.7_005.tar.gz


Highlights:

 * Testing possible fixes to sf.net #3031068 and #3042201
 



Release notes for PDL 2.4.7_004 --------------------------

General Notes:

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These Release Notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  CHM/PDL-2.4.7_004.tar.gz
       cpan> make CHM/PDL-2.4.7_004.tar.gz
       cpan> test CHM/PDL-2.4.7_004.tar.gz
       cpan> look CHM/PDL-2.4.7_004.tar.gz



Highlights:

 * Modify the XS_PDL_address routine in Core.xs to convert
   the pdl pointer to an IV rather than an int.  Adjusted
   PDL::address in Core.pm to format the resulting value
   correctly.

 * Fix missing stdlib.h include for Lib/Image2D/resample.h

 * Fix bug in readenvi header list value processing and
   add support for non-zero imbedded file header size.
 
 * Refactored t/complex.t to use Test::More

 * Fix bug in FlexRaw.pm support for headers with
   Type passed as string.  There was a case where
   'double' was being pased to the PDL::howbig which
   generated an error on some platforms.  It is not
   clear why this did not fail on all platforms.
 



Release notes for PDL 2.4.7_003 --------------------------

General Notes:

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These Release Notes may not be fully complete.  Please
     see Changes (from the git log) for full details.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  CHM/PDL-2.4.7_003.tar.gz
       cpan> make CHM/PDL-2.4.7_003.tar.gz
       cpan> test CHM/PDL-2.4.7_003.tar.gz
       cpan> look CHM/PDL-2.4.7_003.tar.gz



Highlights:

 * Sf.net bug #3011879, pdl() constructor crashes perl
   for mixed ref/piddle args has been fixed and is
   available for general use and testing this release.

 * utils/perldlpp.pl is a new PDL utility for off-line
   source filtering to pre-filter perl source files for
   NiceSlice constructs.  This allows the functionality
   to be used in environments not supporting direct
   use of source filters.
 
 * Various fixes to transform.pd.

 * Various clean-ups of docs, POD, and tests.

 * Set the default GSL error handler for GSL/INTERP
   to support perl exception handling rather than
   having the interpreter exit.
 



Release notes for PDL 2.4.7_002 --------------------------

General Notes:

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These Release Notes may not be fully complete.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  CHM/PDL-2.4.7_002.tar.gz
       cpan> make CHM/PDL-2.4.7_002.tar.gz
       cpan> test CHM/PDL-2.4.7_002.tar.gz
       cpan> look CHM/PDL-2.4.7_002.tar.gz



Highlights:

 * Replace SKIP_KNOWN_PROBLEMS by Test::More's TODO
   blocks.
   
   NOTE: To avoid FAILs for the Known_Problems
   tests, just set the environment variable
   SKIP_KNOWN_PROBLEMS or edit the perldl.conf file
   and set the SKIP_KNOWN_PROBLEMS to 1.




Release notes for PDL 2.4.7_001 --------------------------

General Notes:

 * This is a developers release!
 
   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These Release Notes may not be fully complete.

   - All tests may not pass, especially ones corresponding
     to issues in Known_problems.
   
   - Manual build/install is recommended although the
     cpan shell may be used by specifying the distribution
     path rather than just the module name, e.g.:

       cpan> get  CHM/PDL-2.4.7_001.tar.gz
       cpan> make CHM/PDL-2.4.7_001.tar.gz
       cpan> test CHM/PDL-2.4.7_001.tar.gz
       cpan> look CHM/PDL-2.4.7_001.tar.gz



Highlights:

 * Updated TODO, Perldl2/TODO, Known_problems and other
     README type files.
 
 * Fixed pdldoc to use PERLDOC_PAGER if set.
 
 * Various minor fixed to POD documentation
 
 * Fixes to t/fastraw.t to clean up working files on exit
     and to removed intermediate files at each stage.
     Some tests were failing because of pre-existing files
     left from other runs.
 
 * Partial fix to #3079844 where very long tmpdir pathnames
     created invalid fortran test code.  The final fix will
     be to skip this test for such pathalogical pathname
     lengths and add another test with modern fortran file
     syntax rather than f77-era 80 character lines.
 
 * Updated FITS.pm to handle BSCALE/BZERO correctly for
     tile-compressed images
 
 * Add win32 workaround for pdl2->perldl exec bug #3056142.
     Now win32 just exits pdl2 with a warning to run perldl
     rather than trying the broken exec.
 
 * Fixed uniqind bug #3076570
 
 * Fixed Demos/Cartography_demo.pm and Demos/Transform_demo.pm
     to use the /GW driver on MSWin32 systems only.
 
 * Various fixes for the PDL-2.4.7 debian package.




Release notes for PDL 2.4.7 --------------------------

General Notes:

 * New requirements:
   - perl version 5.8.x and higher
   - OpenGL-0.63
   - Convert::UU
 
 * New 2-D image display routine: imag2d()

 * pdl() constructor, a.k.a. PDL->new(), now
   takes string arguments with either MATLAB type
   concatenation syntax or PDL print output (for
   easier cut-and-paste from PDL shell sessions).

 * Improved text and comma separated value file
   input via rcols(): faster and more flexible.
 
 * A new PDL shell based on Devel::REPL (i.e.,
   Moose technology).  The new shell supports
   more perl syntax (lexical variables and
   packages), is more extensible (via a system
   of plugins), and supports many forms of file
   and variable completion.
   
   Install Devel::REPL and give it a try!
   User feedback welcome.

 * More portability (builds on more platforms
   with more features than ever).

 * Many bugs fixed...


Highlights:

 * General

   OpenGL-0.63 is required for PDL::Graphics::TriD.

   Convert::UU is required for PDL.

   Karma is DEPRECATED and NOT SUPPORTED.  Set
   USE_KARMA=>1 in perldl.conf to force a build.
   
   
 * New 2D Image Display Feature: imag2d()

   See PDL::Graphics2D for documentation.

   Add image pixel value display on mouse
   click in imag2d window
   
   Add keyboard command shortcuts for imag2d
   (with placeholders)

   Fix a number of imag2d() usabiilty bugs
   
   
 * pdl() Constructor Can Take String Input

   Allows use of MATLAB-style [ ; ] syntax

   Allows cut-and-paste of printed pdl values
   as input args for pdl()
   
   
 * rcols/wcols Improvements

   Much faster read times

   Multiple columns can read into a single
   pdl varible

   Symmetric handling of perl and pdl
   column data

   Improved format support for CSV file input
   
   
 * Enhanced PDL Shell (Version 2)

   Based on Devel::REPL which must be installed
   along with either Term::ReadLine::Perl or
   Term::ReadLine::Gnu to use the pdl2 features.

   Supports Term::ReadLine::Perl and Term::ReadLine::Gnu.

   Upward compatable with the original PDL shell, perldl.

   Adds completion and command line editing support
   across all PDL platforms.

   Adds support for current package and lexical variables.

   Toggle default print output via the do_print attribute.

   Default prompt for perldl and pdl2 is now 'pdl> '

   help vars now shows results alphabetically

   pdl2 now runs (falls back to) perldl if Devel::REPL
   is not installed or if Term::ReadLine::(Perl|Gnu) is
   not installed.
   
   
 * Other Features

   Fix wmpeg() to use ffmpeg to generate the
   video (sf.net feature request #3010984).

   Added tiled compressed image handling to rfits

   Faster matrix multiply

   Preliminary support for ENVI file format data
   in PDL/IO/ENVI/readenvi.pdl
   
   
 * Build Improvements:

   PDL build process now detects multiple PDL installs
   and warns of possible conflicts.

   'use PDL' now loads PDL::Config by default.

   PDL "as built" configuration is now saved to %PDL::Config

   Changes file is automatically updated each release

   Add SKIP_KNOWN_PROBLEMS support for build

   Add checks to prevent warnings from access to $HOME
   when it is not defined.
   
   
 * Portability Fixes

   Multiple build improvements for debian platforms

   Improved portability across perl and compiler versions

   Reduced number of fortran dependencies

   Improved support for win32 platforms
   - PDL::GIS::Proj builds for win32
   - PDL::Transform::Proj4 builds for win32
   - PDL::Graphics::PLplot builds for win32
   - PDL::IO::Dumper builds for win32
   
   
 * 3-D Graphics

   Improved PDL::Graphics::TriD demos and examples

   Fixed problems with VRML support for many platforms.

   Better dependency searches for OpenGL during PDL build

   Removed warnings "noise" when used with perl -w

   New spheres3d routine added to PDL::Graphics::TriD
   
   
 * Bugs Fixed

   Fix PDL::AutoLoader to handle win32 PDLLIB path
   syntax with ; as separator. 

   Fix PDL::Complex::string and sum and sumover
   (sf.net bug #1176614)

   Fix PDL::Config does not match actual build
   configuration (sf.net bug #3030998).

   Fix dimension numbering in PDL::Transform::t_fits

   Fix jpegtopnm problem in proj_transform.t

   Fix rt.cpan.org bug #53815 in IO/HDF/SD/SD.pd

   Fix rt.cpan.org bug #59126 in isempty pod

   Fix sf.net bug #2901170 re overly verbose warnings when
   running TriD with perl -w

   Fix sf.net bug #3011143 re whitespace in perl path

   Fix sf.net bug #3021578 re missing xtra dummy dims

   Fix threading with lu_decomp and lu_backsub
   (sf.net bug #3021567)

   Fix uniq and uniqind NaN and BAD value handling
   (sf.net bug #3011659)

   Fix uniqvec bug where it did not return a 2-D result
   (sf.net bug #2978576)

   Fix uuencode/uudecode detection logic in PDL::IO::Dumper
   to include Convert::UU check

   Make PDL prompt/warn if space in build path
   (sf.net bug #2924854).

   Fix up code to not crash on non-lazy linking systems.

   Work arounds for perl-d lvalue temp bug introduced
   in recent perls.

   t/lvalue.t is skipped if run under the debugger. 

   Fix format string attack errors in GSL, PGPLOT,
   and Transform.
   
   
 * Many Documentation Improvements

   Completely reworked PDL web site
   - Clearer and more helpful to new PDL users.
   - See http://pdl.perl.org for the latest!
      
   New documentation:
   - Migration guide for MATLAB users.
   - Migration guide for Scilab users.
   - Threading tutorial.

   Major reorganization of documentation to better
   help new users
   - A guide to PDL's tutorial documentation.
   - A guide to PDL's module reference documentation.
   - A study course through all of PDL's documentation.
   - Removed PDL::Intro

   POD cleanup across many PDL modules and functions.

   Update to copyright statements throughout PDL
   to clarify licenses.

   Improved on-line help and apropos features in
   the PDL shell

   Updated FAQ

   Improved POD to HTML translation

   DEPENDENCIES for PDL updated and checked
   for applicability.

   INSTALL guides improved in the distribution
   and on the web site.



Release notes for PDL 2.4.6_993 --------------------------

General Notes:

 * This is the PDL-2.4.7 pre-release 3 (final)

 * TBD

Highlights:

 * See PDL-2.4.7 release notes above
 



Release notes for PDL 2.4.6_992 --------------------------

General Notes:

 * This is PDL-2.4.7 pre-release 2

 * TBD

Highlights:

 * See PDL-2.4.6_993 release notes above




Release notes for PDL 2.4.6_991 --------------------------

General Notes:

 * This is PDL-2.4.7 pre-release 1

 * TBD

Highlights:

 * See PDL-2.4.6_992 release notes above



Release notes for PDL 2.4.6_018 --------------------------

General Notes:

 * This is a developers release! It is a snapshot of the
   current git development tree and everything may not work
   correctly or have complete documentation (as in these
   Release notes).

Highlights:

 * Candidate fix for the mysterious t/dumper.t failures
   for some systems, take 2.  If you still see failures,
   please let us know.  Thanks.



Release notes for PDL 2.4.6_017 --------------------------

General Notes:

 * This is a developers release! It is a snapshot of the
   current git development tree and everything may not work
   correctly or have complete documentation (as in these
   Release notes).

Highlights:

 * Candidate fix for the mysterious t/dumper.t failures
   for some systems.  If you still see failures, please
   let us know.  Thanks.



Release notes for PDL 2.4.6_016 --------------------------

General Notes:

 * This is a developers release! It is a snapshot of the
   current git development tree and everything may not work
   correctly or have complete documentation (as in these
   Release notes).

Highlights:

 * Add smooth shading for spheres3d()

 * Fix Perl OpenGL detection to remove the OpenGL
   PREREQ_PM if an acceptable version of OpenGL is
   not found.

 * PDL now checks for another pre-existing PDL in your
   perl @INC path and asks you if you wish to continue
   since mysterious failures have been observed during
   tests in that case.
 
 * PDL::AutoLoader now can handle win32 path separators
  (semicolons) in addition to the usual colons.

 * PDL::Config is now loaded by default with use PDL.

 * Various documentation updates of TODO, Perldl2/TODO,
   DEPENDENCIES, Release_Notes and more.



Release notes for PDL 2.4.6_015 --------------------------

General Notes:

 * This is a developers release! It is a snapshot of the
   current git development tree and everything may not work
   correctly or have complete documentation (as in these
   Release notes).

 * Perl 5.6.x is no longer supported.
 
   Perl 5.8.x or higher is now required.  NOTE: PDL
   should still build for 5.6.2 and higher if you edit
   the line in the top level Makefile.PL from 5.008_000
   back to 5.006_002.

Highlights:

 * wmpeg in PDL::IO::Pic now uses ffmpeg to generate the
   movie file instead of the outdated mpeg_encode.  This
   is pretty much a straight translation of the original.
   
   NOTE: Example/IO has a program you can run to create
   a quick check movie.  As there is no formal test for
   this function, feedback on whether this works on your
   platform is most welcome.  Thanks!

   NOTE: For cygwin, ffmpeg requires version 1.7.x to build.

 * PDL::Fit::Polynomial has been modified to remove the
   Slatec library dependency requesting in sf.net feature
   request ticket #2891276.

 * Other sf.net bugs fixed:
     3030998    PDL::Config does not match actual build configuration
     2901170    many warnings w TriD and perl -w

 * sf.net bug #117661, PDL::Complex string routine, has
   been fixed.  In addition, the sum and sumover methods
   now support PDL::Complex piddles.

 * Problem with Ctrl-C killing perldl on win32 has been
   resolved.  The 2nd Ctrl-C was resulting in an EOF from
   the perl readline call which caused the shell to exit.
   Now $PERLDL::NO_EOF=1 is the default for win32.

 * Set SKIP_KNOWN_PROBLEMS environment variable to skip
   tests correspond to reported sf.net bugs.  This allows
   the full test suite to pass which makes it easier to
   check if a new bug has been introduced.  For releases,
   there is a SKIP_KNOWN_PROBLEMS option in perldl.conf.
 
 * Some minor doc changes.



Release notes for PDL 2.4.6_014 --------------------------

General Notes:

 * This is a developers release! It is a snapshot of the
   current git development tree and everything may not work
   correctly or have complete documentation (as in these
   Release notes).


Highlights:

 * pdl2 now runs perldl if Devel::REPL is not found so it
   can be used instead of perldl to start the PDL shell.
 
 * Fix the failure in t/opengl.t when the X display could
   not be opened.  The tests are now skipped in that case.

 * Some minor doc changes.



Release notes for PDL 2.4.6_013 --------------------------

General Notes:

 * This is a developers release! It is a snapshot of the
   current git development tree and everything may not work
   correctly or have complete documentation (as in these
   Release notes).


Highlights:

 * 'make dist' now autogenerates the Changes file from the
   output of git log --stat --since="29 Apr 2009" which
   should avoid the missing Changes file error in future
   distributions.  NOTE: This only works for non-win32
   systems since it assumes the standard git command line
   interface is present.

 *  Put fallback code to glutInitDisplay
      
    There have been CPAN test failures where the Perl OpenGL
    module built and installed ok but then the t/opengl.t
    fails for PDL.  A look at the two tests shows the main
    difference is that POGL checks if the GLUT_ALPHA channel will
    work and if not, tries again without GLUT_ALPHA set.

 * Some minor bug fixes



Release notes for PDL 2.4.6_012 --------------------------

General Notes:

 * This is a developers release! It is a snapshot of the
   current git development tree and everything may not work
   correctly or have complete documentation (as in these
   Release notes).


Highlights:

* t/proj_transform.t has been fixed to skip the tests if
  the input earth image is not correct.  t/proj_transform2.t
  performs the same checks with a synthetic data set which
  should be available on all platforms.  This should close
  bug sf.net #3013751.

* Incorrect threading in lu_backsub() and lu_decomp() has
  been fixed.  This closes bug sf.net #3021567.



Release notes for PDL 2.4.6_011 --------------------------

General Notes:

 * This is a developers release! It is a snapshot of the
   current git development tree and everything may not work
   correctly or have complete documentation (as in these
   Release notes).

 * The main purpose for this release is the additional
   diagnostics in the t/proj_transform.t which may lead
   to an understanding of what the problem is there.


Highlights:

 * pdl2 (the new Perldl2 shell now supports all major
   functions of perldl.  If you have installed the latest
   Devel::REPL you should be able to use this shell as
   an enhanced replacement for perldl.  Feedback welcome!

 * Fix sf.net bug #3021578 re missing xtra dummy dims

 * Add error diagnostics to dummy() in PDL::Core when the
   required position argument is not present.  The new
   message now mentions the dummy() method instead of just
   a line number in Core.pm.

 * Update bess[jy][01n] docs in math.pd
   Fix refs for floor/ceil/rint to use integer

 * Use is() instead of ok() in t/proj_transform.t

   That should give more diagnostic output for failing tests
   to help debug the recent test failures for cygwin 1.7 and
   freebsd 8.0.



Release notes for PDL 2.4.6_010 --------------------------

General Notes:

 * This is a developers release! It is a snapshot of the
   current git development tree and everything may not work
   correctly or have complete documentation (as in these
   Release notes).

Highlights:

 * Experimental perldl version 2 shell available.  See the
   README file in PDL/Perldl2 for details.

   By default, the Perldl2 shell (i.e., pdl2) will be built
   and installed if you have already installed Devel::REPL
   version 1.003011 or higher.

   TAB completion for filenames and history expansion
   using '!' syntax works with either Term::ReadLine::Gnu
   or Term::ReadLine::Perl.  If you use the ! operator in
   your perl code, be sure to follow it by a space so that
   it is not interpreted for history substitution.

   pdl2 now loads your ~/.pdlrc (or ~/.perldlrc) startup
   file and also local.pdlrc (or local.perldlrc) file if
   there is one in the current directory.  Please report
   any problems or missing functionality to the PDL
   mailing list.

   help|usage|apropos|sig|badinfo|demo now autoquote their args.

   ? and ?? aliases for help and apropos work

   Shell command escapes for lines beginning with $PERLDL::ESCAPE
   (defaults to "#") work as well.

 * uniq/uniqind/uniqvec now handle BAD values or NaN
   values consistent with Matlab and between themselves.
   This fixes sf.net bug #3011659.

 * Many win32/win64 portability fixes for PLplot as well
   as various other documentation and other fixes.
   


Release notes for PDL 2.4.6_009 --------------------------

General Notes:

 * This is a developers release!  It is a snapshot of the current git
   development tree and everything may not work correctly.  However,
   it is the easiest way to get the latest and greatest from PDL
   developers without going to the git repository at sourceforge.net.

Highlights:

 * Experimental perldl version 2 shell available.
   See the README file in PDL/Perldl2 for details.
   
   The list history 'l' command now works, as does the
   demo command (partially).  You'll need to quote the
   demo name.  If you get a hang at the end of the demo,
   try typing Ctrl-D.  That appears to work on non-win32
   platforms.

   NOTE: History expansion via ! works but it is not
   yet merged into the saved history.  !-Num will work
   if the command was in the current Perldl2 session.



Release notes for PDL 2.4.6_009 --------------------------

General Notes:

 * This is a developers release!  It is a snapshot of the current git
   development tree and everything may not work correctly.  However,
   it is the easiest way to get the latest and greatest from PDL
   developers without going to the git repository at sourceforge.net.

Highlights:

 * Experimental perldl version 2 shell available.
   See the README file in PDL/Perldl2 for details.
   
   The list history 'l' command now works, as does the
   demo command (partially).  You'll need to quote the
   demo name.  If you get a hang at the end of the demo,
   try typing Ctrl-D.  That appears to work on non-win32
   platforms.

   NOTE: History expansion via ! works but it is not
   yet merged into the saved history.  !-Num will work
   if the command was in the current Perldl2 session.



Release notes for PDL 2.4.6_009 --------------------------

General Notes:

 * This is a developers release!  It is a snapshot of the current git
   development tree and everything may not work correctly.  However,
   it is the easiest way to get the latest and greatest from PDL
   developers without going to the git repository at sourceforge.net.

Highlights:

 * Experimental perldl version 2 shell available.
   See the README file in PDL/Perldl2 for details.
   
   The list history 'l' command now works, as does the
   demo command (partially).  You'll need to quote the
   demo name.  If you get a hang at the end of the demo,
   try typing Ctrl-D.  That appears to work on non-win32
   platforms.

   NOTE: History expansion via ! works but it is not
   yet merged into the saved history.  !-Num will work
   if the command was in the current Perldl2 session.



Release notes for PDL 2.4.6_009 --------------------------

General Notes:

 * This is a developers release!  It is a snapshot of the current git
   development tree and everything may not work correctly.  However,
   it is the easiest way to get the latest and greatest from PDL
   developers without going to the git repository at sourceforge.net.

Highlights:

 * Experimental perldl version 2 shell available.
   See the README file in PDL/Perldl2 for details.
   
   The list history 'l' command now works, as does the
   demo command (partially).  You'll need to quote the
   demo name.  If you get a hang at the end of the demo,
   try typing Ctrl-D.  That appears to work on non-win32
   platforms.

   NOTE: History expansion via ! works but it is not
   yet merged into the saved history.  !-Num will work
   if the command was in the current Perldl2 session.



Release notes for PDL 2.4.6_009 --------------------------

General Notes:

 * This is a developers release!  It is a snapshot of the current git
   development tree and everything may not work correctly.  However,
   it is the easiest way to get the latest and greatest from PDL
   developers without going to the git repository at sourceforge.net.

Highlights:

 * Experimental perldl version 2 shell available.
   See the README file in PDL/Perldl2 for details.
   
   The list history 'l' command now works, as does the
   demo command (partially).  You'll need to quote the
   demo name.  If you get a hang at the end of the demo,
   try typing Ctrl-D.  That appears to work on non-win32
   platforms.

   NOTE: History expansion via ! works but it is not
   yet merged into the saved history.  !-Num will work
   if the command was in the current Perldl2 session.



Release notes for PDL 2.4.6_009 --------------------------

General Notes:

 * This is a developers release!  It is a snapshot of the current git
   development tree and everything may not work correctly.  However,
   it is the easiest way to get the latest and greatest from PDL
   developers without going to the git repository at sourceforge.net.

Highlights:

 * Experimental perldl version 2 shell available.
   See the README file in PDL/Perldl2 for details.
   
   The list history 'l' command now works, as does the
   demo command (partially).  You'll need to quote the
   demo name.  If you get a hang at the end of the demo,
   try typing Ctrl-D.  That appears to work on non-win32
   platforms.

   NOTE: History expansion via ! works but it is not
   yet merged into the saved history.  !-Num will work
   if the command was in the current Perldl2 session.



Release notes for PDL 2.4.6_008 --------------------------

General Notes:

 * This is a developers release!  It is a snapshot of the current git
   development tree and everything may not work correctly.  However,
   it is the easiest way to get the latest and greatest from PDL
   developers without going to the git repository at sourceforge.net.

Highlights:

 * Experimental perldl version 2 shell available.
 
   See the README file in PDL/Perldl2 for details.  Full
   completion support is now available for all platforms
   via Term::ReadLine::Perl as well as Term::ReadLine::Gnu.

   The Perldl2 shell (pdl2) now loads and saves command line
   history from the same file as perldl, ~/.perldl_hist.
   
   Please Note: while all commands are saved and loaded between
   the perldl and pdl2, the Perldl2 shell is missing some features
   of perldl so not all commands retrieved from perldl history
   will execute correctly in a subsequent pdl2 session.

 * Added Convert::UU as a required dependency for PDL to improve
   portability (it provides backup uuencode and uudecode for
   platforms without them).

 * Add work around for perl -d problem with lvalue subroutines
   so that tests: imagend.t, lvalue.t, matrixops.t, misc.t, and
   transform.t now run under the debuger (even for broken perls
   versions 5.10.1 through 5.12)

 * Add fixes for printf and carp format string attacks

 * Preliminary version of spheres3d for plotting 3D spheres
   with TriD.  Support for varying radii and colors not yet
   complete.



Release notes for PDL 2.4.6_007 --------------------------

General Notes:

 * This is a developers release!  It is a snapshot of the current git
   development tree and everything may not work correctly.  However,
   it is the easiest way to get the latest and greatest from PDL
   developers without going to the git repository at sourceforge.net.

Highlights:

 * Experimental perldl version 2 shell available.
 
   See the README file in PDL/Perldl2 for details on how to use.
   Full completion support is now available for all platforms
   via Term::ReadLine::Perl as well as Term::ReadLine::Gnu.

   Work continues to port existing perldl features to the new
   Devel::REPL framework.


Release notes for PDL 2.4.6_006 --------------------------

General Notes:

 * This is a developers release!  It is a snapshot of the current git
   development tree and everything may not work correctly.  However,
   it is the easiest way to get the latest and greatest from PDL
   developers without going to the git repository at sourceforge.net.

Highlights:

 * Experimental perldl version 2 shell available.
 
   See the README file in PDL/Padre for details on how to use.
   Full completion support is now available for all platforms
   via Term::ReadLine::Perl as well as Term::ReadLine::Gnu.

   Work continues to port existing perldl features to the new
   Devel::REPL framework.

 * Preliminary support for MATLAB/Octave array constructor
   notation as allowed input to the pdl() constructor,
   a.k.a. PDL::new.  The same implementation also supports
   cutting and pasting from PDL print output for piddles
   as valid input for pdl in scripts.  Just use the pasted
   input as a string.  For example:

    a  =      [ 1 2 3 ; 4 5 6 ] # MATLAB/Octave
    $a = pdl q[ 1 2 3 ; 4 5 6 ] # PDL/perldl

    Printing $a gives:

    [
     [1 2 3]
     [4 5 6]
    ]

    And we can cut and paste like this

    $a = pdl q[
               [1 2 3]
               [4 5 6]
              ];

    Problem reports and feature suggestions welcome at the
    perldl mailing list.

 * Added tiled compressed image handling to rfits in FITS.pm
   including a new compression module in Lib/Compression.

 * Partial fix for a problem with window shrink creep in imag2d()

 * Fix uniqvec bug from SF# 2978576

 * Fix rt.cpan.org #53815 in IO/HDF/SD/SD.pd

 * Fixes SF bug 2949455 ("demo transform broken"): sign error in FITS
   header CROTA2 interpretation by PGPLOT libraries.

 See the Changes file for the full log entries.



Release notes for PDL 2.4.6_004 --------------------------

General Notes:

 * This is a developers release!  It is a snapshot of the current git
   development tree and everything may not work correctly.  However,
   it is the easiest way to get the latest and greatest from PDL
   developers without going to the git repository at sourceforge.net.

Highlights:

 * rcols() now has support for specifying multicolumn piddles for
   input data and performance has been significantly improved for
   common input data options.

   - Patterns for rcols() may now be specified using
     the qr{} syntax instead of quoted strings.

   - The COLIDS option allows one to return line 0 of
     the data file containing field names/identifiers.
     PERLCOLS may be used to return non-piddle ids from
     the row data.


Release notes for PDL 2.4.6_001 --------------------------

General Notes:

 * This is a developers release!  It is a snapshot of the current git
   development tree and everything may not work correctly.  However,
   it is the easiest way to get the latest and greatest from PDL
   developers without going to the git repository at sourceforge.net.

Highlights:

 * Improved support for user defined column separators for rcols and wcols.
   This makes it possible for rcols and wcols to be (almost) inverses of
   each other and allows better slurping of CSV formatted data files.  See
   help PDL::IO::Misc or help rcols or help wcols for documentation.

   NOTE: $PDL::IO::Misc::colsep is superseded by $PDL::IO::Misc::defcolsep
   to set the default column separator and by the COLSEP option for setting
   on a call by call basis.  The old colsep global is still supported but
   the new usage is recommended.

 * imag2d() window clicks now output the pixel values along with the
   display window pixel location and the input image pixel locations.

 * Many little fixed and documentation improvements.  See git log for info
   and also the Changes file.



Release notes for PDL 2.4.6     --------------------------

General Notes:

 * Mainly a bug fix and polishing release


Highlights:

  * Improved 3D graphics and OpenGL functionality

  * imag2d() routine for multi-image (photo) display

  * Many fixes for Debian package release

  * Several little bugs fixed since PDL-2.4.5

  * Fixed some issues with PDL convolution routines

  * Improved documentation and release notes and files

  * Padre and enhanced perldl shell integration begun


Summary of Changes:

  * Improved 3D graphics and OpenGL functionality

    Perl OpenGL 0.62 is the minimum required version
    for PDL::Graphics::TriD to build.

    TriD now builds correctly for Mac OS X systems
    without X11 installed.

    Autoprobe for build of 3D graphics and the use
    of the Perl OpenGL library has been implemented.
    The default perldl.conf setting is to check.

    Improved multi-window support for PDL::Graphics::TriD
    display windows: the GLUT window ID is now part of
    the default window title for convenience, and redraws
    with multiple open TriD windows are handled correctly.
    
  * imag2d() routine for multi-image (photo) display

    REQUIRES: The Perl OpenGL TriD interface and FreeGLUT.

    IMPORTANT: Legacy X11 TriD is *not* supported!

    It is implemented in the imag2d.pdl file for autoloading
    via PDL::AutoLoader.  To use, copy the imag2d.pdl file
    to somewhere in your PDLLIB path or add the location to
    your PDLLIB environment variable.

    It works with multiple, simultaneous, image windows
    and appears to work side-by-side with TriD graphics
    windows.
    
    After you have imag2d.pdl in your @PDLLIB list,
    you can use 'help imag2d' to get usage instructions
    and documentation.
    
    This implements the basic functionality planned regarding
    an improved imagrgb() routine.

  * Many fixes for Debian package release

    This should allow PDL-2.4.6 to be more readily released
    as a Debian packages.  The general clean up involved
    improves PDL portability and robustness generally.

  * Several little bugs fixed since PDL-2.4.5

    The number of history lines when you use Term::ReadLine::Perl
    with perldl are now set correctly to $PERLDL::HISTFILESIZE.
    The default value is 500.

    A number of minor internal fixes for portability and
    implementation improvements:

     - Add comment re fix for defined(%hash) usage
     - Fix annoying PGPLOT::HANDLE warning message
     - Replace GIMME by GIMME_V in Core.xs
     - Update to v3.14 of ppport.h portability

    Fixed MINUIT build problem where non-standard code was
    being generated which caused problems with rigorous compiler
    settings.  This was SF bug #2524068.

  * Fixed a number of issues with PDL convolution routines

    conv1d() algorithm adjusted to match conv2D() and convolutionND().
    Documentation on the exact computation being performed in conv1d()
    was added.

    Fixes bug #2630369 with fftconvolve().  It now gives the same results
    as conv1d(), conv2d(),.., except perhaps with respect to the boundary
    condition handling.

  * Improved documentation and release notes and files

    Updated PDL::FAQ.

    Lots of little changes to bring documentation in line
    with current PDL functionality.  Volunteer editors and
    contributors always welcome!

  * Padre and enhanced perldl shell integration begun

    There is a new PDL-2.4.6/Padre/ subdirectory in the PDL
    source tree which contains work towards Padre integration
    and a 2nd generation, enhanced perldl shell for PDL.

    E.g. an *experimental* plug-in giving PDL::NiceSlice support
    to the Devel::REPL shell is included.  See the Padre/README
    file for instructions to get you started.



Release notes for PDL 2.4.5_008 --------------------------

Highlights:

  * This is a DEVELOPER's release for testing

  * Effectively PDL-2.4.6 release candidate 2

  * OpenGL-0.62 is now the required version for TriD

  * Removed unneeded platform special cases for USE_3D
    in perldl.conf



Release notes for PDL 2.4.5_007 --------------------------

Highlights:

  * This is a DEVELOPER's release

  * Move TriD example/test progs to Example/TriD

  * Add better example to imag2d() documentation
  
  * Add q or Q to Quit message to twiddle routine

  * Minor code fixes.



Release notes for PDL 2.4.5_006 --------------------------

Highlights:

  * This is a DEVELOPER's release

  * imag2d() available for viewing images with square pixels.

    REQUIRES: The Perl OpenGL TriD interface and FreeGLUT,
              legacy X11 TriD is not supported.

    It is implemented in the imag2d.pdl file for autoloading
    via PDL::AutoLoader.  To use, copy the imag2d.pdl file
    to somewhare in your PDLLIB path or add the location to
    your PDLLIB environment variable.

    It works with multiple, simultaneous, image windows
    and appears to work side-by-side with TriD graphics
    windows.



Release notes for PDL 2.4.5_005 --------------------------

Highlights:

  * This is a DEVELOPER's release

  * Fixed conv1d() bug where it was actually calculating the
    correlation and not the convolution.  For symmetric kernels
    they are the same.

  * Fixed fftconvolve to give the same results as the other
    convolution algorithms.  The new implementation is
    probably slower than the previous and definitely uses
    more temporary memory.  The old routine is preserved
    as fftconvolve_inplace() if needed.  This was listed
    as SF bug #2630369.

  * Fixed SF bug #2524068 for PDL::Minuit.  Now use pp_addxs()
    to define the binding to mnseti() to avoid bug in pp_def()
    when there are no piddle arguments.

  * TriD graphics windows now have their GLUT window ID in
    the window title.  This allows for simpler identification
    and use of multiple TriD graphics windows.

  * Fixed the TriD display() routine to set the current GLUT
    window before drawing takes place.   Now multiple TriD
    windows can exist and be drawn to.



Release notes for PDL 2.4.5_004 --------------------------

Highlights:

  * This is a DEVELOPER's release

  * Fix OpenGLQ headers for AGL GLUT only build

  * Make Perl OpenGL 0.61 the minimum version
    OpenGL-0.61 has a needed fix to some FreeGLUT parameters that
    are required for correct event loop exit handling.

  * Fix bug with _have_freeglut check
    The new() method was using $OpenGL::_have_freeglut to test
    rather than the correct OpenGL::_have_freeglut().

  * Multiple fixes supporting Debian package for PDL-2.4.5

  * Fix OpenGLQ/Makefile.PL use/require problem
    Had require but with use statement syntax.

  * Fix some TriD OpenGL config and test bugs
    This should help with CPAN automated testers.

  * Removed automated testing USE_POGL=>1 setting
    This and the hardwired 1 in the perldl.conf may have been
    the origin of a lack of CPAN automated testers reports.

  * Fix perldl.conf to set USE_POGL => undef

  * Update Basic/Core/ppport.h to latest version, 3.14 from 3.09
    This should not break anything.



Release notes for PDL 2.4.5 ------------------------------

Highlights:

  * 3D graphics modules now run on win32 and Mac OS X
    systems without requiring X11 be installed.  The
    only prerequisites are OpenGL and FreeGLUT/GLUT.

  * Release documentation and FAQ have been updated
    to be more useful (and more accurate).

  * PDL build, test, and run time diagnostic messages
    have been make clearer and more helpful.

  * Many bugs have been fixed since PDL-2.4.4 so this
    is the most reliable PDL ever.

  * PDL now requires perl 5.6.2 or greater and has
    updated DEPENDENCIES information and code.  This
    should improve the buildability of PDL


General Notes:

  This is the first PDL release supporting the new build
  strategy for the PDL::Graphics::TriD modules.  The result
  is it now builds on more platforms than ever.  You'll
  need to install the OpenGL module and have FreeGLUT or
  GLUT (for Mac OS X) on your system.

  If you have problems with the new TriD build (that you
  did not have before), edit perldl.conf and set USE_POGL
  to 0.  That should enable you to build the legacy TriD
  code but you *will* want to submit a bug report, see the
  next point....

  IMPORTANT: Given the increased portability and generality
  of the new TriD interface approach, it is expected that
  the legacy TriD build interface (based on X11) will be
  deprecated soon (almost immediately) and removed after that.
  (N.B. It has been effectively unsupported for some time)

  If you are new to PDL, we recommend joining the perldl
  mailing list for discussion and questions.  See

    http://pdl.sourceforge.net/maillists/

  for how to sign up and links and searches of the list
  archive discussions.


Summary of Changes:
  
  New perldl.conf configuration parameters controlling
  build of TriD with perl OpenGL (a.k.a. POGL) with the
  follow default values:

    USE_POGL:
          1 -- build using POGL
          0 -- build using legacy build process
      undef -- build with POGL if possible

    POGL_VERSION:
       0.60 -- minimum required version of OpenGL

    POGL_WINDOW_TYPE:
     'glut' -- use a GLUT GUI for window creation
      'x11' -- use GLX and X11 for the GUI (this is a "compatibility
               mode" to support PDL::Graphics::TriD::Tk widgets)

  NOTE: Set WITH_3D => 0 in perldl.conf to disable the
  TriD build completely.  Just setting USE_POGL => 0 is
  not enough.
  
  The OpenGL tests in t/opengl.t now respects the interactive
  setting from the PDL_INT environment variable.

  Two TriD check programs, 3dtest.pl and line3d.pl, are added to the
  main PDL build directory.  They can be run as quick checks of the
  new functionality and are short enough run under the perl debugger
  if needed. e.g.

     perl -Mblib 3dtest.pl OR perl -Mblib line3d.pl


  OpenGL (a.k.a. GL) is the default TriD output device on all
  platforms.  VRML does not work at the moment.  GLpic is not
  tested but may work.

  Closed SF bug #1476324 by adding FAQ entry on clean installs

  Fix qsorti(null()) crash bug from SF bug #2110074.  Make
  qsorti() return quietly when given a null() piddle input

  Fix broken PP typemap finding code, thanks to CS for the
  final code and many testers!
  
  Fix t/autoload.t tilde expansion bugs and test failures.
  tilde expansion seems to work consistently with bash now

  Partial fix implemented for PDL::IO::Browser.  The code has
  only been tested with cygwin but it should work on systems
  with ncurses in the "right place".  This is **not tested**
  but set WITH_IO_BROWSER => 1 if you wish to try.

  If the perldl shell is unable to load PDL for some reason
  and defaults to basic perl support, the prompt now changes
  to perl> reflecting that fact.

  readflex() now works with File::LinearRaid.

  Many win32 fixes to tests and build process which make
  things work more smoothly on win32 platforms.

  See the Changes file or run 'git log --stat' for the detailed
  list of changes.
  


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

General Notes:

     *************************************
     *                                   *
     *   This is a development release   *
     *                                   *
     *************************************

  If you have OpenGL installed, PDL::Graphics::TriD should
  build out of the box for MSWin32, Mac OS X, and traditional
  unix platforms (linux, *bsd, solaris) using the new GLUT
  framework for the OS window creation and manipulation.

  IMPORTANT: Given the increased portability and generality of
  the new TriD interface approach, it is expected that the legacy
  TriD build interface (based on X11) will be deprecated soon
  (almost immediately) and removed after that.  It has been
  effectively unsupported for some time.


Summary of Changes:

  TriD now requires Perl OpenGL-0.59 or greater to build.

  The new PDL::Graphics::TriD is available on all platforms
  supporting Perl OpenGL (a.k.a. POGL).

     NOTE: There are two example programs at the top PDL/
     directory: 3dtest.pl and line3d.pl which you can use
     to exercise the TriD module: e.g.

       perl -Mblib 3dtest.pl OR perl -Mblib line3d.pl

  New, more portable code for finding the system typemaps files
  is implemented.

  IO::Browser now builds on cygwin and may work for other
  systems.  Set WITH_IO_BROWSER => 1, if you dare!

  The perldl shell now changes it prompt to perl> from the
  perldl> default if PDL was not able to be loaded.

  Clean up of the IO/GD/Makefile.PL for win32 platforms.

  See the Changes file or run 'git log --stat' for detailed
  list of changes.

  An example GLUT program using fonts, bitmap.c, is in the
  PDL top level directory.  If you have problems with font
  errors, try compiling this to see if the issue is a GLUT
  or FreeGLUT installation problem or in the PDL/Perl bindings.
  Contact the perldl mailing list for help.



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

General Notes:

     *************************************
     *                                   *
     *   This is a development release   *
     *                                   *
     *************************************


Summary of Changes:

   To support development testing and unique identification for
   clearer communication, the pushes to git will have their
   version incremented in the last place after the _ along
   with updates to the prerequisite version in the use OpenGL
   statements.  If you cannot build PDL+POGL because of a
   missing OpenGL release version and you have not seen an
   announcement on the perldl mailing list of that developers
   release, you'll need to obtain it from the corresponding
   git repostory on sourceforge.

     There are two demo/test programs at the top PDL/ directory:
     3dtest.pl and line3d.pl which you can use to exercise the
     TriD module.  If those work ok for you, please feel free to
     try a 'perl -Mblib perldl' followed by 'demo 3d'.

   Now has Perl OpenGL-0.58_007 or greater as a CPAN prerequisite
   for testing the new TriD code using the Perl OpenGL module
   (a.k.a. POGL) to provide the bindings to OpenGL, GLU, and GLUT,
   in git only so far.

   The current release includes a patch to fix a reported problem
   locating the Mac OS X typemaps file.  Mac users, please report
   if you have failures due to this change.

   The code is believed to work on win32 systems, cygwin, and
   linux with the FreeGLUT interface and Mac OS X with the Apple
   GLUT implementation.

   By default, USE_POGL is set in the perldl.conf file to enable
   the new implementation.  Setting it to zero will enable the
   legacy implementation.  If you have to do this to get TriD
   working on a platform that already had it working, please let
   the developers know via the perldl mailing list!

   Once the correct operation of the new TriD code base is confirmed,
   the PDL developers snapshot is expected to be released as the
   PDL-2.4.5 official release.



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

General Notes:

     *************************************
     *                                   *
     *   This is a development release   *
     *                                   *
     *************************************


Summary of Changes:

   To support development testing and unique identification for
   clearer communication, the pushes to git will have their
   version incremented in the last place after the _ along
   with updates to the prerequisite version in the use OpenGL
   statements.  If you cannot build PDL+POGL because of a
   missing OpenGL release version and you have not seen an
   announcement on the perldl mailing list of that developers
   release, you'll need to obtain it from the corresponding
   git repostory on sourceforge.

   Now has Perl OpenGL-0.58_007 or greater as a CPAN prerequisite
   for testing the new TriD code using the Perl OpenGL module
   (a.k.a. POGL) to provide the bindings to OpenGL, GLU, and GLUT,
   in git only so far.

   The current release includes a patch to fix a reported problem
   locating the Mac OS X typemaps file.  Mac users, please report
   if you have failures due to this change.

   The code is believed to work on win32 systems, cygwin, and
   linux with the FreeGLUT interface but testing has not yet
   confirmed win32 fully.  Mac OS X debugging is underway to
   resolve a GUI hang.  We're getting close but more tester
   feedback is always helpful.

   By default, USE_POGL is set in the perldl.conf file to enable
   the new implementation.  Setting it to zero will enable the
   legacy implementation.  If you have to do this to get TriD
   working on a platform that already had it working, please let
   the developers know via the perldl mailing list!

   Once the correct operation of this release is confirmed, it is
   expected to be released as the PDL-2.4.5 official release.



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

General Notes:

     *************************************
     *                                   *
     *   This is a development release   *
     *                                   *
     *************************************


Summary of Changes:

   Now has Perl OpenGL-0.58_004 or greater as a CPAN prerequisite for
   testing the new TriD refactoring.  Due to to changes and testing
   for TriD development, this release may be less stable than usual.

   Use option USE_POGL in perldl.conf to toggle the legacy TriD
   code versus the new OpenGL (POGL) based code.  Feedback from
   different platforms encouraged!

   NOTE: USE_POGL is enabled by default for testing purposes.



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

General Notes:

     *************************************
     *                                   *
     *   This is a development release   *
     *                                   *
     *************************************


Summary of Changes:

   PDL::Graphics::TriD builds on current cygwin systems.
   The locations of include files and the MESA functionality
   work arounds changed since the PDL-2.4.3 release.



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

General Notes:

     *************************************
     *                                   *
     *   This is a development release   *
     *                                   *
     *************************************

   The original, pre-CVS to git migration changes are listed in
   Changes_CVS and Changes contains the output from git log --stat
   since April 2009.

   Data::Dumper v2.121 and Storable v1.03 are now explicit
   prerequisites to the PDL build.  This should give better
   diagnostics and makes clear that these modules are essential
   to PDL IO functionality.

   Continue minor fixes and cleanup to main PDL file tree.


Summary of Changes:

    Make Data::Dumper v 2.121 the minimum required

    Avoid lvalue sub syntax requirements
    
    Rework storable test to use Test::More
    
    Fix t/autoload.t test when echo ~ gives ~
    


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

General Notes:

     *************************************
     *                                   *
     *   This is a development release   *
     *                                   *
     *************************************

     This is another developers release of the latest git PDL.
     More code cleanup, added diagnostics, and updating the
     various documentation.

     The old (pre-git) Changes file has been renamed Changes_CVS
     and the new Changes file is generated from the output of the
     git log --stat command.  This should make it easier to keep
     the changes file up to date.  Any developer or interested
     user can download the full repository and run git log to see
     all the history in its glory.


Summary of Changes:

   Move Changes to Changes_CVS to prep for git log

     We plan to move from a manual Changes file to an automatically
     generated one extracted from the git log messages.  The initial
     command is "git log --stat" and will be added to the make dist
     command eventually.  For now, just generate by hand before making
     a CPAN distribution.

   Added PERL5OPT unset for podselect command

     Missed the podselect in Basic/Gen/Makefile.PL.
     This unsets PERL5OPT before running podselect
     in the generated Makefile.  That should prevent
     false failures due to Devel::Autoflush not being
     available...

   Make tilde test check against `echo ~` result

     Since the goal is to give the same result as the
     shell (i.e. bash) expansion of ~, and since all the
     false test failures had the PDL::AutoLoader giving
     the same result as `echo ~`, I've just made that
     the result to check against.

   Win32 - MSVC-specific fix for setvaltobad() for PDL_Float
   
     In Basic/Bad/bad.pd:
     Provide special handling for setvaltobad() wrt PDL_Float piddles.
     Applies only to MSVC++ compilers prior to version 8.0.
     Thanks to creamygoodness, BrowserUk, ig and ELISHEVA:
     http://www.perlmonks.org/index.pl?node_id=781347

   Win32 - Reduce scope of MSVC-specific bugfix

     Some MS compiler bugs have been fixed in later
     versions of the compiler.
     This allows us to change each occurrence of:
     #ifdef _MSC_VER
       to:
     #if defined _MSC_VER && _MSC_VER < 1400

   Basic/Core/Dev.pm - tweak setting of WriteMakefile() LIBS

     Instead of specifying LIBS=>[] (on those occasions when LIBS
     should be empty) pdlpp_stdargs_int() and pdlpp_stdargs() would
     have LIBS=>[''] and LIBS=>[' '] respectively.
     Minor rewrite to pdlpp_stdargs_int() and pdlpp_stdargs() to fix this.

   Added $! to another Basic/Core/Dev.pm die message
   Added $! to Basic/Core/Dev.pm tempfile error

     The die when trylink failed to open its temporary
     output file did not include the system error reported.
     That has been added to the output to improve debugging.

   Added diag print for t/dumper.t small sdump()

     There have been persistent t/dumper.t failures
     on some BSD platforms.  Adding a diag() to print
     the result of the first sdump() string to give
     a clue as to what the problem is.

   Fix readflex() to work with File::LinearRaid

     readflex() in IO/FlexRaw/FlexRaw.pm use method syntax for
     read with an input file handle.  This failed with a tied
     file handle as is used by File::LinearRaid.  Replacing the
     usage $d->read(...) by read($d, ...) fixed the incompatibility.
     I don't know if it should have worked the other way or not.

   Fold in [dn]make correction to PERL5OPT fix

     The "fix" for the -MDevel::Autoflush did not
     work with dmake or nmake (presumably because of
     the non-sh command shell).



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

General Notes:

     *************************************
     *                                   *
     *   This is a development release   *
     *                                   *
     *************************************


Summary of Changes:

     This is a quick release to fix a missing TAB
     in the Makefile.PL generation for the podselect
     problem.  All else is the same as PDL-2.4.4_04.



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

General Notes:

     *************************************
     *                                   *
     *   This is a development release   *
     *                                   *
     *************************************

     PDL now requires perl 5.6.2 or higher.

     More incremental bug fixes along the way to a
     PDL-2.4.5 release which is planned to have the
     reworked 3D graphics support.


Summary of Changes:

        Updated the top level readme type files to correct
        link information, remove cvs references, and to add
        information on changes and outstanding issues.

        Fixed a bug in the t/autoload.t tests that resulted in
        false fails for the now fixed tilde expansion.

        Add cast to $GENERIC(a) for setvaltonan() to improve support
        for non-double piddles.

        Continue to clean up the default release and development files
        following the migration from cvs to git.

        PDL now explicitly requires perl 5.6.2 or above.
        
          No PASSes have been reported to CPAN Testers
          for PDL with perl 5.6.0 or 5.6.1, ever.  This
          modification sets better expectations for PDL users.

        Update FAQ for CVS->Git migration

        Change $PDL::VERSION to 2.4.4_03git for devel

        Fix t/proj_transform to skip when no earth_image()

          Missing jpegtopnm functionality in NetPBM or other
          causes earth_image() to fail on some platforms.
          This modifies the test to skip the remaining tests
          if earth_image() can not be loaded.



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

General Notes:

     *************************************
     *                                   *
     *   This is a development release   *
     *                                   *
     *************************************

     t/proj_transform fails due to problem
     loading the input data via the
     earth_image() routine. Debugging has
     been added.

     t/pic_16bit fails because of an old
     netpbm version. Clean up by adding
     a config variable whether 16bit raw
     PNM are allowed and honor that in
     the rpic/wpic code. Skip tests if
     appropriate.  TODO

     t/storable.t failure to load compiled
     module waiting on detailed test run from
     reporter.  TODO

     CPAN sets PERL5OPT=-MDevel::Autoflush
     but this is problematic with perl
     scripts run under controlled
     environments. Need to figure out a way
     around this.  TODO

     "No rule to make target pptemplate
     needed by pptemplate.pod" which may be
     a make specific problem, related to the
     version of EU::MM or something else...
     Need to request Basic/Gen Makefile
     output and make program and EU::MM info
     from reporter.  TODO


Summary of Changes:

     TBD



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

General Notes:

     *************************************
     *                                   *
     *   This is a development release   *
     *                                   *
     *************************************


Summary of Changes:

     TBD



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

General Notes:

     *************************************
     *                                   *
     *   This is a development release   *
     *                                   *
     *************************************


Summary of Changes:

     - Several SF.net bugs have been fixed

     - pctover() and oddpctover() should generate more accurate
       results with greater consistency to MS Excel calculations

     - PDL should pass automated build tests on more platforms



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

General Notes:

     - Bad value support is now enabled by default for
       PDL builds.  This feature allows simpler handling
       of missing or invalid data during processing.

       For example, missing pixels could be interpolated
       across.  Calculations could be skipped for
       missing data points...
       
       Edit the perldl.conf file to turn off bad value
       support before compiling if needed.

     - This release includes significant improvments
       in portability, enhancements in functionality,
       and *many* bugs fixed.

     - PDL::Graphics::TriD modules for 3-D and image
       visualization are being refactored for improved
       portability and performance.  Preliminary hooks
       are in PDL-2.4.4 to support the new functionality.
       
       Announcements to the perldl mailing list will be
       made when the PDL::Graphics::OpenGL::Perl and
       Term::ReadLine::FreeGLUT suport is on CPAN.

     - Builds out-of-the-box on cygwin and win32
     
     - perl 5.6.x is explicitly required to configure and
       will go away in future versions.  5.8.x and above
       are the recommended versions


Summary of Changes:

     - Improve uuencode support in Dumper for additional OSes
       such as *BSD varieties that may need additional options
       to prevent stripping of the leading slash in pathnames
       including: darwin, netbsd, openbsd, freebsd, and dragonfly.
      
     - Updated more PDL tests to use the recommended Test::More
      
     - Updated PDL::Graphics::PLplot build support for more 5.9.0
       specific features
      
     - AutoLoader ~ expansion has been updated to conform more
       closely to the ~ expansion in the bash shell
      
     - Better checks for a valid PROJ4 build environment are now
       performed before attempting to compile PDL modules using it
      
     - PDL now builds and runs on perl-5.10.x
      
     - The perldl shell has added support for using FreeGLUT for
       display in analogy with the existing Tk event loop support.
       This enables refactoring of the TriD modules to use the
       Perl OpenGL module (a.k.a. POGL) instead of the internal,
       and deprecated, PDL::Graphics::OpenGL et. al.
      
     - The perldl acquire/filter/execute loop is now $_-safe by
       using $lines instead of $_ for all the central modifications.
       Avoids problems with some AUTOLOAD functions that leaked $_.
      
     - Removed ExtUtils::F77 from the required prerequisites for
       PDL to improve the buildability on platforms without an
       available fortran compiler.  If you have a fortran compiler
       and EU::F77 installed, PDL::Slatec will be built.
      
     - zeros function added as an alias for the zeroes function
         
     - Many warning messages that were not actually problems have
       been quieted, especially many pointer to int conversion messages
      
     - Added $PERLDL::HISTFILESIZE to allow configuration of the number
       of lines of history to be saved by the interactive PDL shell.
      
     - Fixed implementation of the pctover() function to address bug
       #2019651 on sf.net.  Added explicit documentation in the code
       on the algorithm being used.
      
     - Various updates to the PDL FAQ
      
     - Implemented a PDL interface to the Minuit minimization library
       from CERN
      
     - Removed circular dependency in PDL Makefile.PL Makefile generation
       process which caused builds with some versions of make to fail
      
     - Multiple fixes to enhance configuration and build for win32
     
     - Added basic table-inversion to t_lookup for PDL::Transform
      
     - Fixed problem in uniqvec() where it failed to generate a correct
       result if all the input vectors were the same, fixed bug #1869760
      
     - Add improved 16-bit image support for IO with rpic() and wpic()
       provided you have a recent version of the NetPBM library that
       supports 16-bit images
      
     - Enabled building of GSL on Win32.
    


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.