[Perldl] PDL-2.007 released to CPAN

Chris Marshall devel.chm.01 at gmail.com
Sat Oct 12 07:27:18 HST 2013

It is with great pleasure that the PDL development team
announces the release of the latest version of the PDL
Data Language with 64bit platform support.

This release would not have been possible without the
contributions of developersChris Marshall, Craig DeForest,
Derek Lamb, Dima Kogan, Rob/Sisyphus, David Mertens,
Diab Jerius, William Parker, and Henning Glawe.

A special thanks also to those who helped with bug
reports, problem discussions, and, of course, participation
in CPAN Testers which has helped to make the best
tested PDL release ever!

Enjoy and Happy PDL-ing!
The PDL Development Team

Release Notes for PDL 2.007 --------------------------

 | BE WARNED:  This release includes an update to the internal,  |
 | C-level PDL API for PDL versions 2.006 and earlier.  This     |
 | will require that you re-build any PP or XS modules.  Do not  |
 | upgrade or install over an existing PDL installation unless   |
 | you are prepared to do so!!!                                  |

General Notes:

 * PDL computations now use 64bit indexing/addressing if
   your platform supports it (i.e., your perl configuration
   has $Config{ivsize} == 8).

   - You can process with pdls with more then 2**32 elements.

   - Memory mapped file IO supports up to 8TB files which
     allows much simpler processing of large data files.
     (See mapflex in PDL::IO::FlexRaw for details)

 * PDL-2.007 has a new, unified slicing engine and syntax
   that consolidates the multiple slicing variants into
   a backward compatible but now 64bit aware slice.  See
   the PDL::Slices for the new syntax that is enabled.

 * PDL::FFTW has moved to its own distribution on CPAN
   and is no longer in the PDL core distribution.  Look
   for PDL::FFTW3 coming to CPAN soon.

 * Some required dependencies have been update to more
   recent versions:

   - ExtUtils::MakeMaker now requires version 6.56 or
     higher, the minimum version with CONFIGURE_REQUIRES

   - Perl OpenGL 0.6702 is now required for PDL::Graphics::TriD
     to build.  This fixes a number of critical bugs and should
     be a seamless upgrade.

   - File::Map version 0.57 is required.  This fixes map_anonymous
     support for the >2**32 sizes needed for 64bit support.
     Legacy mmap support for unix platforms is no longer
     supported.  The distribution requires File::Map so you
     should not notice the change.

* Incompatible Changes:

   - PDL::FFT now uses the same sign convention as FFTW and
     the rest of the world, -1/+1 for forward and reverse
     FFT respectively.

   - C/XS API of PDL-2.007 is incompatible with previous
     PDL releases.  If you upgrade to PDL-2.007, you *will*
     need to re-install or upgrade *all* dependent XS or PP
     based modules.

   - PDL now auto-promotes array refs in many places that
     previously required a piddle (so you can say, e.g.,
     "$a->index([2,3])" instead of "$a->index(pdl(2,3))").

   - String syntax for slice() specifications now ignore
     white space.

 * The clean up of the PDL core distribution continues and
   PDL-2.007 is no exception.  Many bug fixes, documentation
   updates, code and implementation improvements make this
   the best testing PDL release to date.


 * FITS IO improvements and fixes:

   - Added 'afh" option to rfits to allow explicit use of
     legacy hash parser for performance reasons.

   - New multiple extension writing support for wfits.

 * Added pp_deprecate_module() to PDL::PP

 * New mode/modeover functions in PDL::Ufunc

 * Made exception handling in slices more robust.

 * PDL::CLONE_SKIP added for improved ithread support.

 * Updated graticule() in PDL::Transform::Cartography to
   support NaN-delimited output.

* Bugs fixes:

   - Fix %hash randomization bugs in PDL tests

   - Fix OpenBSD pthread build problem for non-threaded perls

   - Fix PDL::shape to return vector for 1-D piddles

   - Fix badvalue-on-truncate support for map and for interpND

   - Fix for MSVC++ 6.0 to build on 32bit systems.
     MSVC++ 6.0 cannot be used to build 64bit index support.

   - Fix polyfit() handling of BAD values and various edge cases.

   - Fix rare "Bizarre copy of HASH in scalar assignment"

   - Fix rcols with colsep and $PDL::undefval

   - Fix sf.net bug #331 "uniq does not always return proper object"

   - Fix sf.net bug #338 PDL::FFT uses backwards sign convention from FFTW

   - Make PDL::NiceSlice preserve line numbering (sf.net feature #75)

   - PDL::IO::GD->new() is now less picky about it args, and no longer crashes

   - Two bug fixes to transform.pd, and an augmentation

More information about the Perldl mailing list