"Fossies" - the Fresh Open Source Software Archive

Member "PDL-2.084/Changes" (21 May 2023, 120782 Bytes) of package /linux/misc/PDL-2.084.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "Changes": 2.083_vs_2.084.

    1 2.084 2023-05-21
    2 - reduce size of PDL_KLUDGE_COPY_X macro to <4096 in line with C standard, to fix for older clang on many BSD
    3 
    4 2.083 2023-04-30
    5 - no changes from 2.082_01
    6 
    7 2.082_01 2023-04-27
    8 - fix some memory leaking - thanks Yury Pakhomov for report
    9 - fix random() failing (#422) - thanks @falsifian for report
   10 - PP Inplace now checks inputs and outputs are dimensionally compatible (#416)
   11 - no more HTML doc generation
   12 - PDL::Doc::add_module now adds all submodules of given namespace (#420)
   13 - [o] OtherPars can now be omitted from args like [o] ndarrays
   14 - OtherPars can now be incomplete arrays of pdl* (#421)
   15 - add [io] OtherPars
   16 - add ArgOrder PP key
   17 - [nc] removed as Pars type-specifier, use [io]
   18 - fix pdl2 bug with demos (#424) - thanks @HaraldJoerg for report
   19 - fix PP bug revealed by https://github.com/moocow-the-bovine/PDL-HMM/pull/4
   20 - operations with only output ndarrays can now not be Inplace
   21 - overloaded ops require proper overload-handling; PDL::Complex now does
   22 - for more idiomatic XS code, PDL C function interface now pdl_run_(name)
   23 - add FtrCode in XS, to match HdrCode
   24 - add sound demo - thanks @HaraldJoerg
   25 - OtherPars can now be $argname, for XS processing only and not in operation
   26 - fix broadcasting over empty ndarray (#429) - thanks @falsifian for tests
   27 - fix appending with empty ndarray (#430) - thanks @falsifian for tests
   28 - fix whereND with all-zero mask or empty input (#428) - thanks @falsifian for tests
   29 - inplace operations no longer copy input arg if inplace
   30 
   31 2.082 2023-03-22
   32 - no changes from 2.081_03
   33 
   34 2.081_03 2023-03-20
   35 - allow OtherPars to set index-size of not-otherwise-used index
   36 - fix nested loop() bug for Pars with e.g. (n,n)
   37 
   38 2.081_02 2023-03-14
   39 - add pp_add_typemaps
   40 
   41 2.081_01 2023-02-27
   42 - drop erroneous Test::Deep dependency
   43 - fix `(my $tmp = $pa->inplace) += 1`
   44 - fix [o] OtherPars to work if PMCode
   45 - fix MatrixOps::det returning Perl 0 for some singular - thanks @wlmb for report
   46 - fix intersect bug (#419) - thanks @jo-37 for report
   47 
   48 2.081 2022-10-25
   49 - no changes from 2.080_02
   50 
   51 2.080_02 2022-10-22
   52 - fix t/matrix.t over-sensitive comparison test for uselongdouble
   53 
   54 2.080_01 2022-10-21
   55 - fix longstanding t_rot bug shown in https://perlmonks.org/?node_id=683514
   56 - add inflateN
   57 - fix MatrixOps::inv failing on native-complex (#403) - thanks @KJ7LNW for report
   58 - fix MatrixOps::identity losing class of invocant if ndarray (#401) - thanks @pryrt for report
   59 - change PP-generated XS PROTOTYPES to DISABLE
   60 - allow [o] on OtherPars (#362)
   61 - fix conv2d to allow complex arguments (#407) - thanks @wlmb
   62 - Add complex support to interpolate (#408) - thanks @KJ7LNW
   63 - Refactor PDL::IO::Browser curses detection to additionally use ncurses*-config (#412)
   64 - Add File::Which as a configure dependency (previously runtime only) (#412)
   65 
   66 2.080 2022-05-28
   67 - make IO::STL work on big-endian systems (#394) - thanks @sebastic for report
   68 - pp_add_macros macros now receive list of args split like C preprocessor
   69 - most of PDL::VectorValued into Primitive/Slices - thanks @moocow-the-bovine
   70 - depend on Text::Balanced 2.05, removing monkeypatch (#396)
   71 - make {w,}histogram throw error not segfault when min == max (#397) - thanks @fantasma13 for report
   72 
   73 2.079 2022-05-03
   74 - move Math::badmask to Bad
   75 - PDL.propagate_badflag propagates both to parents AND children, sets flag itself
   76 - Ops::assgn now propagates its badflag without needing to set output badflag
   77 - remove FindBadStatusCode
   78 - remove redundant use of CopyBadStatusCode
   79 - PDL.null deprecated, doesn't allocate pdl.sv now
   80 - PDL::Dataflow doc updated
   81 - add TriD::trigrid3d
   82 - add PDL::IO::STL
   83 - replace *_RECURSE_GUARD macros which use process-global variable, causing problems if multi-thread, with stack parameters - thanks @marioroy for report
   84 - add Primitive::{cmp,eq}vec
   85 - add Image2D::crop
   86 - PP typemap-search includes dirs above
   87 
   88 2.078 2022-04-10
   89 - Ops::atan2 etc have default swap param
   90 - fix Transform::Cartography::t_carree spelling (compat alias created)
   91 - add Transform::Cartography::t_raster2{fits,float}
   92 - Transform::inverse on transform without an inverse now fatal error
   93 - fix Transform::t_fits bug which ignored ignore_rgb for making inverse
   94 - TriD::GL now more resilient and exceptions don't leave GL broken
   95 - add Transform::Cartography::earth_shape
   96 - back-port Text::Balanced fixes to improve NiceSlice (#383)
   97 - fix long-standing "harmful" scaling of output with dim 1 (#392)
   98 - fix segfault bug for Ufunc::{odd,}{pct,med}over with empty - thanks @nerdstrike for report
   99 - struct pdl add "value" field for data that fits there, avoiding separate memory-management (#358)
  100 - copy over the sensible method-name aliases for PDL::Complex from PDL::LinearAlgebra
  101 
  102 2.077 2022-03-16
  103 - Ufunc::{min,max}over{,_ind} behaviour for NaNs fixed to match docs
  104 - Ufunc::{min,max}over_n_ind can handle badvals
  105 - single badval as boolean is now an error (#388)
  106 - IO::FlexRaw::readflex can take last dim as undef (#322)
  107 - add IO::(Fast|Flex)Raw::glue\L\1 (#322)
  108 - PDL::Demos::Routines replaced with PDL::Demos, update demos (#42)
  109 - switch pdl_destroy to use mg_free not SvOBJECT_off, needed by Perl ithreads (#385)
  110 - implement Ctrl-C handling in perldl (#269)
  111 - add with_time command to shells
  112 - fix shell history getting lost if OpenGL loaded before listed (#337)
  113 - fix TriD objects being off-centre (#337)
  114 - fix Primitive::which_both docs to match behaviour
  115 - add Primitive::where_both
  116 - PP now checks data pointers for NULL if nvals > 0 except in RedoDimsCode
  117 - add Core::dup{,N}
  118 
  119 2.076 2022-02-25
  120 - fix long-standing bug in dice that broke with PDL subclasses (#363)
  121 - remove docs for {type,map}fld
  122 - splitdim throws exception if non-divisible nsp given, can give negative dim
  123 - changed matmult tilesize from 64 to 8*sizeof(double)/sizeof(gentype) - performance increases 50%, comparable to reference LAPACK
  124 - fix NiceSlice regression - thanks @fantasma13 for report
  125 
  126 2.075 2022-02-19
  127 - fix false-positive heredoc in bitshift (#383) - thanks @d-lamb for report
  128 - threading now called broadcasting (compat aliases created)
  129 - fix 2.057_01 regression in {broadcast,thread}_define - thanks @eserte for report
  130 - fix regression of append allowing type upgrade to second argument's type
  131 - add empty() function
  132 - fix when readdata functions return error (#356)
  133 - RedoDimsCode can now use $SIZE(other_index) (#386)
  134 
  135 2.074 2022-02-08
  136 - fix PDL::Complex->null stringify error
  137 
  138 2.073 2022-02-07
  139 - PDL::Complex no longer undefs PDL::i
  140 - passing null as input param now an error
  141 - can now unify Code and BadCode into Code, and use PDL_IF_BAD() or #ifdef PDL_BAD_CODE
  142 - add macros PDL_IF_GENTYPE_{REAL,INTEGER,UNSIGNED}(iftrue,iffalse) in Code
  143 - fix IO::IDL (#381) - thanks @YuryPakhomov for report and test data
  144 - fix [t] Pars with multi-thread; now cannot be passed as params (#382) - thanks @d-lamb for report
  145 
  146 2.072 2022-01-30
  147 - fix bug in qsortveci that broke PDL::VectorValued - thanks @zmughal for report
  148 
  149 2.071 2022-01-29
  150 - fix segfault bug in qsortvec - thanks @zmughal for investigation and report
  151 
  152 2.070 2022-01-28
  153 - add GIS::Proj::proj_version
  154 - fix Transform::Proj4 tests to work with ortho results in PROJ >6.3.1 (assumed 8+)
  155 
  156 2.069 2022-01-28
  157 - PDL::NiceSlice override Text::Balanced::extract_multiple for performance
  158 
  159 2.068_07 2022-01-28
  160 - fix PDL::new bug in creating longlong (#378) - thanks @zmughal
  161 
  162 2.068_06 2022-01-25
  163 - fix PDL::new bug in creating longdouble (#374) - thanks @zmughal
  164 
  165 2.068_05 2022-01-23
  166 - build and test-false-negative-avoidance improvements
  167 
  168 2.068_04 2022-01-22
  169 - fix bug in memory allocation revealed on 32-bit
  170 
  171 2.068_03 2022-01-20
  172 - improve GSL version parsing - thanks @d-lamb
  173 - Slatec to work again with 32-bit pointer size
  174 - got_complex_version to check for long-double version to reduce build fails
  175 
  176 2.068_02 2022-01-17
  177 - Slatec 64-bit safe
  178 
  179 2.068_01 2022-01-16
  180 - Minuit 64-bit safe
  181 - Slatec 64-bit improvements
  182 - fix IO::FITS::rfits with variable-length data to work on bigendian
  183 
  184 2.068 2022-01-14
  185 - add pdl.nbytes
  186 - specify SByte as explicitly "signed" as C99 allows unsigned if not say
  187 
  188 2.067 2022-01-13
  189 - remove PDL.grow from API
  190 - remove $PDL::BIGPDL check for 1GB data
  191 - fix 2.064 regression in $pdl->sequence - thanks @moocow-the-bovine
  192 - PDL_CORE_VERSION 20
  193 
  194 2.066 2022-01-10
  195 - re-release without erroneous OpenGL::GLUT requires dep
  196 
  197 2.065 2022-01-10
  198 - switch TriD stuff to use OpenGL::GLUT for GLUT functionality
  199 - GLUT TriD now reopens the window on next draw if was closed
  200 - bifuncs like Ops::plus no longer need explicit swap parameter
  201 - add C "PDL_Value" union type
  202 - replace Convert::UU as dep with own code - thanks @sebastic for suggestion
  203 
  204 2.064 2022-01-08
  205 - enable perldl -glut on Win32
  206 
  207 2.063_05 2022-01-08
  208 - rename PDL::get_trans to trans_parent
  209 - add PDL::Trans::{parents,children}
  210 - rename pdl.child_transes to trans_children, add PDL::trans_children
  211 
  212 2.063_04 2022-01-07
  213 - pdlpp_mkgen runs .pd files in correct dir
  214 - PDL.changesoon removed
  215 - longlong default bad value now LLONG_MIN
  216 - add signed byte (SB), unsigned long (UL) and longlong (ULL)
  217 - add Bad::locf - thanks @kmx
  218 - fix qsortvec* with bad values - thanks @d-lamb for report
  219 - hook @drzowie-created RICE_1 compression up to wfits
  220 - PDL::FFT now thread- and 64-bit-safe
  221 - sclr to croak if called on multi-element array
  222 - $TXYZ() macros fatal error if any of trans's GenericTypes not dealt with
  223 - add long double both real (LD) and complex (CLD)
  224 - NiceSlice uses the better Filter::Simple version as is now quick
  225 - IO::Pic::wpic assume PBM can do 16-bits per sample as exists since 2003
  226 - added PDL::Graphics, an overview of modules - thanks @mascip
  227 - add Type::bswap
  228 - IO::Pnm::{r,w}pnm can work on open file-handle
  229 - IO::Pic::rmpeg added
  230 - IO::Pic::rpic will return an n+1-dim ndarray if multiple images in file
  231 - set_datatype (and PDL.converttype) now badval-aware
  232 - add dependency on File::Which - thanks @zmughal
  233 - pp_addpm automatically adds line-number from .pd to aid debugging
  234 - PDL_Indx now a C ptrdiff_t, PDL_*Long now C {,u}int{32,64}_t to simplify config
  235 - xvals etc now return at least a double
  236 - Primitive::{fibonacci,axisvalues} not output-only but can work inplace
  237 
  238 2.063_03 2021-12-23
  239 - add pp_add_macros
  240 
  241 2.063_02 2021-12-23
  242 - add PDL.scalar
  243 - add dummy pdl_pthread_main_thread for when no POSIX threads
  244 - PDL.pdlnew to make a null pdl except not ALLOCATED
  245 - stopped disabling pthreads on BSD
  246 
  247 2.063_01 2021-12-21
  248 - define, use PDL_REPRINCS
  249 - PDL.{pdlnew,null,get_thread{dims,offsp{,_int}}} return NULL on error, not croak
  250 - PDL.{trans_check_pdls,barf_if_error,error_accumulate}
  251 - PDL.{magic_get_thread,{start,iter}threadloop} return -1 not die
  252 - PDL.sever returns pdl_error not pdl * (Perl interface stays same)
  253 - ANYVAL_ISBAD interface change
  254 - fix ->at with pdl having non-default badvalue
  255 - macro args can contain () eg $CROAK("%d", $SIZE(n))
  256 - remove Slices::flowconvert
  257 - PDL_ISBAD macro
  258 - bad values of NaN now work right with $ISBAD() etc
  259 - rename PDL.slice_args_parse to slice_args_parse_sv
  260 - stop redodims leaking memory
  261 - remove PDL.{dim_checks,get,put_offs} from Core
  262 - rename PDL.children_changesoon to changesoon
  263 - GIS::Proj inplace funcs set output bad if any input bad
  264 - switched GIS::Proj to PROJ 6 API
  265 - PDL.make_error{,_simple} for error-handling instead of croak et al - can't just return as generated functions no longer return void
  266 - remove PDL.vaffinechanged
  267 - fix zeroes() regression from 2.057_01 where zeroes($byte_pdl) would give double
  268 - make PDL::Compression functions thread-safe
  269 - remove Core::set_dataflow_b
  270 - PDL.affine_new to take PDL_Indx* not SV*
  271 - PDL_CORE_VERSION 19
  272 
  273 2.063 2021-11-19
  274 - PDL::Core::seed - thanks @zmughal
  275 
  276 2.062 2021-11-19
  277 - Primitive::srand() added, random() calls if not done yet - thanks @whumann for report
  278 - Primitive::random() et al to use xoroshiro256plus instead of Perl's rand()
  279 - Primitive::random() et al able to pthread
  280 
  281 2.061 2021-11-11
  282 - native-complex ->re and ->im methods do two-way dataflow
  283 - fix pp_line_numbers change not being done right for .pm
  284 
  285 2.060 2021-11-08
  286 - work around more recent GCC not tgmath-ing log10 for complex
  287 
  288 2.059 2021-11-08
  289 - removed supplied Cephes functions that C99 mandates
  290 - Ops,Math to use tgmath.h not own $T() stuff
  291 - MatrixOps switch from bespoke SSLib complex to C99 native complex
  292 - Core::online_cpus, used to set_autopthread_targ if no env var set
  293 
  294 2.058 2021-11-06
  295 - no changes from 2.057_05
  296 
  297 2.057_05 2021-11-06
  298 - (DO{COMP,PRIV})DIMS -> more-accurate ${1}ALLOC
  299 - stop Pars or OtherPars called "I" - thanks Judd Taylor for report
  300 - pp_line_numbers restores line numbering after end of given text
  301 - allow "CTYPE var[]" as OtherPars, add T_PDL_DIMLIST to typemap
  302 - pnminraw etc to take $filehandle not just name of glob
  303 
  304 2.057_04 2021-10-12
  305 - remove legacy pdl_create
  306 - remove long-deprecated nslice
  307 - multi-C only updates files that have changed, for faster rebuilds
  308 - because OtherPars are now in a separate struct, no restriction on names
  309 - mslice is just an alias to Slices::slice
  310 - allow any pointer including pdl * as OtherPars
  311 
  312 2.057_03 2021-10-02
  313 - remove IO::Misc::rdsa, untested since PDL 1.9 and needing non-CPAN "DSA" module
  314 - throw error when XS called with inplace input but also explicit output
  315 - OtherPars to separate struct; pdl_transvtable.structsize of that
  316 - allow external .pd to opt-in to one-C-file-per-function
  317 
  318 2.057_02 2021-09-26
  319 - split internal .pd into one C file per pp_def function allowing parallel build
  320 - tidy various modules so they don't get symbol clashes from that
  321 
  322 2.057_01 2021-09-24
  323 - fix pp_add_boot to remove any blank lines (such as added by pp_line_numbers)
  324 - GSL::CDF now uses barf() on error, not GSL default of core-dump
  325 - propagate_badflag only recurses with children that had different value
  326 - Example/doc-pp script to use GraphViz2 to show pp_def key dependencies
  327 - affineinternal only read/write when both parent & child physical
  328 - allow zero-length ndarray as slice index even for length-1 dim - thanks @trevcs for report (SF#443, GH#229)
  329 - replace some malloc/free with smalloc to not leak on exception
  330 - replace whole genpp infrastructure with generated C macro
  331 - remove Core.twod, requires recompile
  332 - remove PDL::iscontig
  333 - move all non-SV-using C out of Core.xs to C files
  334 - remove unused pdl_{copy,unpackdims} including from Core struct
  335 - move extra checks and functionality from Core.xs setdims into pdl_setdims, call that
  336 - fix off-by-one error in nthreadids
  337 - pthreading can be over non-divisible number of threads
  338 - remove Core.qsort_*
  339 - zeroes now quicker as only does memset, not assgn operation
  340 - add $PPSYM()
  341 - change API of PDL->converttype to remove obsolete flag
  342 - remove unused "copy" mechanism for pdl_trans
  343 - rename (struct pdl).trans -> trans_parent for comprehensibility
  344 - now an error if CopyBadStatusCode uses $PRIV(bvalflag)
  345 - fix setnantobad doc to match behaviour fixed in 2.040, add setnonfinitetobad
  346 - Inplace now throws error for >2 elements in array-ref
  347 - remove oslice (after 8 years) and never-used Slices::{s_,}identity
  348 - all PDL operations now have a C function interface called pdl_(name)_run
  349 - add setinftobad - thanks @alex-prusevich for suggestion
  350 - PDL_CORE_VERSION 18
  351 
  352 2.057 2021-08-13
  353 - restore PDL_MAGIC_DELETEDATA mechanism
  354 - PDL_CORE_VERSION 17
  355 
  356 2.056 2021-08-08
  357 - remove (very-)long-deprecated mmap code in favour of File::Map
  358 - remove obsolete Core members, update Core version
  359 - remove unnecessary Core members to reduce struct size and increase cacheability
  360 - removed legacy mmap implementation including PDL_MAGIC_DELETEDATA mechanism
  361 - remove PDL::Constants::{I,J} which returned a PDL::Complex - use PDL::i()
  362 - n{good,bad}over, sum, prod, *pct, etc now return ndarrays not Perl values
  363 - make PDL::IO::FastRaw::mapfraw not allocate RAM
  364 - PDL_CORE_VERSION 16
  365 
  366 2.055 2021-08-03
  367 - officially deprecate PDL::Complex in favour of "native complex" - thanks @wlmb for suggestion
  368 - throw exception for [phys] Pars with multi-used, non-matching dim of 1 instead of silent repeat
  369 
  370 2.054 2021-07-26
  371 - add PDL::Core::at_c as back-compat alias for at_bad_c
  372 
  373 2.053 2021-07-26
  374 - work around P:G:Limits::round_pow failing tests with uselongdouble
  375 
  376 2.052 2021-07-04
  377 - fix IO::Storable bug - thanks @viy2 for report
  378 - add PDL::Opt::Simplex example - thanks @ewheelerinc
  379 - allow POD in pp_line_numbers again - thanks @fantasma13 for report
  380 
  381 2.051 2021-06-14
  382 - also use $Config{cppflags} to find GD includes - thanks @d-lamb for report
  383 
  384 2.050 2021-06-02
  385 - fix pdlperl.h build bug - thanks @jplesnik for report
  386 
  387 2.049 2021-05-31
  388 - PDL::Complex->from_native / as_native
  389 - zap obsolete MatrixOps::eigen_c
  390 - MatrixOps::identity now preserves higher dims on multi-dim input
  391 - copy now copies ndarray and leaves original ndarray's inplace alone
  392 - MatrixOps::lu_decomp now preserves inplace flag on input
  393 - MatrixOps::lu_backsub now gets output dims right including inplace - thanks @wlmb for report
  394 
  395 2.048 2021-05-24
  396 - remove obsolete and inaccurate doc relating bad values to NaN
  397 - parse simple complex-number strings
  398 - SvPDLV gives more comprehensible error if given a hash without "PDL" key
  399 - drop SKIP_KNOWN_PROBLEMS support
  400 - drop POGL_VERSION, USE_POGL, WITH_3D config; just try building
  401 - Inline now not a dep but if installed gets updated to suitable version
  402 - drop WITH_SLATEC config; just try building
  403 - new pdlperl.h for Perl-specific functions/macros
  404 - $PDL::undefval can be ndarray
  405 - replace PDL::Complex stringification with native-complex version
  406 - overloading now done in PDL::Ops/Primitive where functions defined
  407 - overloading honours subclass methods
  408 
  409 2.047 2021-05-08
  410 - add PDL::i2C
  411 - replace creal, cimag with re, im, for easier PDL::Complex -> native transition
  412 - change default r2C and i2C input types to D from F
  413 - add czip($re, $im) -> native complex
  414 - i() as function (not constant) like nan()
  415 - ci() removed
  416 - add abs2
  417 - re, im not exported due to clash with Test::Deep
  418 
  419 2.046 2021-05-04
  420 - pdl([native-complex]) now creates a native-complex ndarray
  421 - sumover/prodover now also process native complex
  422 
  423 2.045 2021-05-03
  424 - PDL::r2C able to take simple numbers
  425 - comparing PDL::Complex other than for equality now a fatal error, can == with real
  426 - same comparison change in native complex
  427 - PDL::Complex slices that affect 0-th dim get re-blessed as PDL
  428 - PDL::Complex can assign real values and threading won't also assign to imag
  429 - PDL::Constants only loads PDL::Complex on demand
  430 
  431 2.044 2021-05-01
  432 - fix a definite malloc error that may be what started build failures on 32-bit
  433 
  434 2.043 2021-04-30
  435 - fix case-sensitivity issue for earlier Perls in stringifying "NaN" - thanks @zmughal
  436 
  437 2.042 2021-04-30
  438 - ones, zeroes can be called with no args, returns zero-dims ndarray
  439 - add nan() and inf() that behave similarly to ones, mutatum mutandis
  440 
  441 2.041 2021-04-30
  442 - at least GCC 4.8.5 needs loop var declared first
  443 - can now use Inline "with" PDL in languages other than C
  444 - ipow second param is "indx" so specify
  445 - ipow only operate on floating-point types
  446 
  447 2.040_02 2021-04-29
  448 - build fixes plus make LINALG work on 32-bit
  449 - update metadata to correct List::Util version dep
  450 
  451 2.040_01 2021-04-28
  452 - all C dimension- and threadid-related things now typed PDL_Indx
  453 - PDL_CORE_VERSION 15
  454 
  455 2.040 2021-04-27
  456 - PDL_CORE_VERSION 14 for Core struct updates
  457 - drop unused dep Module::Compile
  458 - switch from List::MoreUtils to List::Util to reduce deps
  459 - bad value per-PDL support now always present, not configurable
  460 - use C99 isnan() to check for NaN, not isfinite(); complex if either are NaN
  461 - the above (this note added post facto) changes setnantobad's behaviour to match function name
  462 - can use NaN as badvalue for all floating-point types
  463 - BADVAL_USENAN configuration option removed
  464 - remove checks for _MSC_VER < 1400 as native complex req renders irrelevant
  465 - add $type->floatsuffix for more generalisation
  466 - all pdl.h type code generated from type objects to ease adding new types
  467 - all suitable PDL::Primitive functions support native complex
  468 - add PDL::GSL::LINALG - linear algebra routines from GSL
  469 
  470 2.039 2021-04-24
  471 - update lu_backsub docs with comparison to other linear algebra code
  472 - fix "complex" type-qualifier bug affecting native-complex r2C
  473 - add core pdl_at0
  474 - Core.xs:set_c, badvalue now able to take a PDL object not just Perl scalar
  475 - can construct a PDL object with Math::Complex objects
  476 - fix cfloat-comparison that was breaking badval detection in complex types
  477 - add $type->isnan('c expression')
  478 - badvalue doesn't force return values to be Perl scalar but PDL object
  479 - native complex values get Perl-ised into PDL::Complex::Overloads objects not strings
  480 
  481 2.038 2021-04-19
  482 - make pdlpp_postamble 4th arg be XS subs destination
  483 - Inline::Pdlpp can take package param to put XS subs into
  484 - incorporated GSL CDF functions out of PDL::Stats - thanks @maggiexyz!
  485 
  486 2.037 2021-04-16
  487 - switch obsolete finite() to C99 isfinite()
  488 - add ppdefs_all
  489 - make PDL::Types::ppdefs only return non-complex types for back-compat
  490 
  491 2.036 2021-04-16
  492 - fix t/gis_proj.t
  493 
  494 2.035 2021-04-15
  495 - bad value support now always present, not configurable
  496 - pthread detection simplified, now enabled for Windows and MacOS
  497 - remove check in build for ~/.perldl.conf
  498 - remove TEMPDIR config - all now use File::Temp
  499 - remove unnecessary PDL::Version (just "require PDL")
  500 - relocate tests to beside what's tested (helps with any split)
  501 - incorporate patches from downstream OpenSUSE - thanks @perlpunk
  502 - add ppdefs_complex
  503 
  504 2.034 2021-03-31
  505 - add "complex" Pars type qualifier, r2C function
  506 
  507 2.033 2021-03-30
  508 - native complex documented better - thanks @fantasma13
  509 - add "real" Pars type qualifier
  510 
  511 2.032 2021-03-24
  512 - fix t/pptest.t so it passes on 5.10, add VERSION_FROM to pdlpp_stdargs
  513 
  514 2.031 2021-03-23
  515 - pp_setversion preserves version as string, handling quote characters
  516 
  517 2.030 2021-03-21
  518 - PDL::Types now have the data to make PDL::Type::real etc operate
  519 - pp_setversion treats (and preserves) version as string
  520 
  521 2.029 2021-03-12
  522 - no changes from 2.028_01
  523 
  524 2.028_01 2021-03-08
  525 - stop claiming packages C::StructObj C::StructType C::Type C::Var SymTab Win32::DDE::Netscape XS
  526 - incorporate relevant improvements made in PDLA distros
  527 - fix t/nat_complex.t to avoid glibc bug 18594 (fixed v2.22)
  528 
  529 2.028 2021-03-07
  530 - correct complex-maths functions for their C types
  531 - fix MOD-problem-dodging logic for native complex
  532 
  533 2.027 2021-03-06
  534 - no changes from 2.026_04
  535 
  536 2.026_04 2021-03-02
  537 - define and use C macros in PP for shorter, more comprehensible XS
  538 
  539 2.026_03 2021-02-28
  540 - got_complex_version change to defeat FreeBSD 10 false positive for complex funcs
  541 - trig functions like asin($perl_scalar) return NaN for >1 again
  542 
  543 2.026_02 2021-02-25
  544 - implement PDL::Type::real etc
  545 - native complex numbers need check_lib as FreeBSD <10 has no complex trig
  546 
  547 2.026_01 2021-02-19
  548 - native support for complex numbers - thanks @fantasma13
  549 
  550 2.026 2021-02-13
  551 - fix GSL build errors, improve docs - thanks @d-lamb
  552 - rfits properly treats BLANK in rice-compressed - thanks @d-lamb
  553 - added Floyd-Warshall example to MATLAB comparison doc
  554 
  555 2.025 2020-11-19
  556 - fix spellings - thanks @sebastic
  557 
  558 2.024 2020-09-17
  559 - use CCCDLFLAGS for compile of pdl.c to include -fPIC where needed - thanks @newville
  560 
  561 2.023 2020-09-14
  562 - Remove extrapolation code from PDL::GSL::INTERP. - thanks @d-lamb
  563 
  564 2.022 2020-09-06
  565 - Fix wfits so that explicitly setting BITPIX works. - thanks @d-lamb
  566 - add PDL::IO::Pic::imageformat - thanks @wlmb
  567 
  568 2.021 2020-03-01
  569 - fix pdlpp_postamble - thanks @sebastic
  570 
  571 2.020_05 2019-12-29
  572 - fix t/pgplot.t
  573 
  574 2.020_04 2019-12-28
  575 - more diagnostic info for PGPLOT / F77
  576 
  577 2.020_03 2019-12-26
  578 - PGPLOT test to check $DISPLAY first
  579 - CallExt test to use abs path because of recent MacOS change
  580 
  581 2.020_02 2019-12-17
  582 - spelling fixes - thanks @sebastic
  583 
  584 2.020_01 2019-12-12
  585 - merge the documentation system updates - thanks @d-lamb
  586 
  587 2.020 2019-12-12
  588 - no changes from 2.019_06
  589 
  590 2.019_06 2019-12-08
  591 - PGPLOT stop accidentally finding own PGPLOT.pm from . in @INC - was loading installed %PDL::Config into Makefile.PL process
  592 
  593 2.019_05 2019-12-02
  594 - calloc->malloc+memset, as calloc on Win32 = "free to wrong pool"
  595 - memset after malloc in pdlapi.c
  596 
  597 2.019_04 2019-11-27
  598 - fix PdlParObj.pm excessive pp_line_numbers
  599 
  600 2.019_03 2019-11-25
  601 
  602 - t/config.t stop specifying number of %Config keys
  603 - update Inline dep for ILSM-finding bug
  604 - use pp_line_numbers in PP.pm and ops.pd
  605 - use calloc not malloc to reduce valgrind errors in ufunc.t
  606 
  607 2.019_02 2019-11-19
  608 
  609 - fix t/fits.t tempfiles use
  610 - _oneliner to use EU::MM right
  611 
  612 2.019_01 2019-11-10
  613 
  614 - Honor LDFLAGS when building pdl - thanks @wiz-0
  615 - build works even without Devel::CheckLib
  616 - race condition in tests fixed to allow parallel tests
  617 - fix spelling errors - thanks @sebastic
  618 - Fix tilde expansion tests when non-existent $HOME - thanks @sebastic
  619 - zap inc/Carp - fix #94
  620 - update doc URLs, and docs - thanks @d-lamb
  621 - replace all non-sort, non-ppdef-doc $a/$b in codebase - thanks @d-lamb
  622 - Clean up PDL::Fit::Gaussian docs and tests - thanks @d-lamb
  623 - badval fixes on systems with only unsigned chars - thanks @d-lamb
  624 - fix segfault in some uses of PDL::Transform::map - thanks @d-lamb
  625 - Improve compatibility with Perl's experimental 'bitwise' feature - thanks sprout@cpan.org
  626 - RedoDims fix - thanks @drzowie
  627 - range speedup - thanks @drzowie
  628 - PDL::Lite fixes to bug that broke Test::PDL
  629 - propagation of badflag with .= - thanks @hainest
  630 - doc-building fixes for Windows
  631 - quote-protect rpic/wpic commands
  632 - test-coverage now available for XS files too
  633 - Only build PDL::Graphics::PGPLOT if PGPLOT installed
  634 - better vsearch_* docs - thanks @zmughal
  635 - PDL::Complex doc and code fixes, tests, and improvements - thanks @d-lamb
  636 
  637 v2.019 2018-05-05 16:42:44-04:00
  638 
  639 General Notes:
  640 
  641  * This is version 2.019 of the Perl Data Language.
  642 
  643  * It is a the first official release of PDL initiating
  644    the development and release moving from sourceforge
  645    to github hosting.
  646 
  647  Highlights:
  648 
  649  * cat returns an ndarray of the highest input type, not
  650    the first.
  651 
  652  * The 'thresh' options in fitwarp2d has been removed.
  653 
  654  * rfits/wfits now do tilde filename expansion.
  655 
  656  * det in MatrixOps now uses the cached lu_decomp
  657    value correctly.
  658 
  659  * Multiple minor fixes, docs, cleanup, and changing
  660    things to point to github away from sf.net.
  661 
  662 v2.018_02 2018-04-28 13:46:27-04:00
  663 
  664 General Notes:
  665 
  666  * This is version 2.018_02 of the Perl Data Language.
  667 
  668  * It is a the release candidate for the PDL-2.019
  669    release which marks the move of PDL development
  670    from sf.net to github.
  671 
  672  Highlights:
  673 
  674  * Various updates to redirect links and documentation refs
  675    to the github ones.
  676 
  677  * Various fixes over the past year since PDL-2.018 release
  678    which will be documented at the next official PDL release.
  679 
  680 
  681 
  682 v2.018_01 2018-04-13 09:56:56-04:00
  683 
  684 General Notes:
  685 
  686  * This is version 2.018_01 of the Perl Data Language.
  687 
  688  * It is a transition developers release for the move of
  689    PDL development from sf.net to github.
  690 
  691  Highlights:
  692 
  693  * Various updates to redirect links and documentation refs
  694    to the github ones.
  695 
  696  * Various fixes over the past year since PDL-2.018 release
  697    which will be documented at the next official PDL release.
  698 
  699 
  700 
  701 v2.018 2017-05-21 17:02:03-04:00
  702 
  703 General Notes:
  704 
  705  * This is version 2.018 of the Perl Data Language.
  706 
  707  Highlights:
  708 
  709  * SF.net Bugs fixed:
  710  
  711      429   Alien::Proj4->load_projection_information parses PJ_sch parameters incorrectly
  712      432   Work around List::MoreUtils bug t/gd_oo_test.t started failing in testers.
  713      433   GSL SF errors kill perl and pdl2/perldl shell
  714      434   Missing indx type in heading list of conversions.
  715  
  716  * Build improvements:
  717      
  718      - Add requirements and better test diags for PDL::IO::GD.
  719  
  720      - Apppy patch so PDL::Lite can be used more than once
  721        Thanks to Shawn Laffan for the patch.
  722  
  723      - Fix build on perl <= 5.14 by adding ExtUtils::ParseXS to
  724        CONFIGURE_REQUIRES.
  725      
  726      - Make coretarget generate parallelisable make deps Make
  727        "core" target be generated by separate function
  728  
  729      - Fixes for coming removal of . from @INC for PDL build.
  730        Thanks to Todd Rinaldo for the first patch and raising the issue.
  731  
  732  * Various updates to the documentation.
  733 
  734 
  735 
  736 v2.017_02 2017-05-18 17:33:55-04:00
  737 
  738 General Notes:
  739 
  740  * This is version 2.017_02 of the Perl Data Language,
  741    and essentially PDL 2.018 release candidate 1.  If
  742    it tests ok we expect to release it as PDL 2.018 this
  743    weekend.
  744 
  745  Highlights:
  746 
  747  * Fix problem where PDL::Lite could not be loaded more
  748    than once. (Thanks to Shawn Laffan)
  749 
  750  * Fix sf.net bug #429 with poor generation of documentation.
  751 
  752  * Fix sf.net bug #433 where errors in GSL routines caused
  753    perl to exit.
  754 
  755  * Build enhancements for PDL::IO::GD to improve test
  756    diagnostic messages and add List::MoreUtils as a
  757    dependency for PDL.
  758  
  759  * Better docs and explanation of indx datatype.
  760    This closes sf.net bug #434.
  761 
  762  * Add some missing modules to DEPENDENCIES (thanks
  763    to Luis Mochan).
  764 
  765 
  766 
  767 v2.017_01 2017-04-29 11:39:22-04:00
  768 
  769 General Notes:
  770 
  771  * This is version 2.017_01 of the Perl Data Language,
  772 
  773  * Addresses some problems from changes in the perl
  774    infrastructure that are or will break things in PDL.
  775 
  776  Highlights:
  777 
  778  * Handle coming removal of '.' from @INC
  779 
  780  * Fix sf bug #432:  Work around List::MoreUtils bug
  781    This was causing a lot of PDL test failures.
  782 
  783  * Fix build problem on perl <= 5.14
  784 
  785 
  786 
  787 v2.017 2016-10-08 13:50:39-04:00
  788 
  789 General Notes:
  790 
  791  * This is version 2.017 of the Perl Data Language,
  792 
  793  * Bugs fixed:
  794 
  795     379   Passing qsort an extra argument causes a segfault
  796     393	  Tests may fail if perl is compiled with -Duselongdouble
  797     409	  PDL demos with PGPLOT display ignore $ENV{PGPLOT_DEV}
  798     413   PDL::Core::Dev::pdlpp_postamble() cannot handle .pd files in subdirectories
  799     419   t/#pdl_from_string.t fails on long double systems
  800     421	  PDL::IO::FITS can't handle 64-bit integers (longlong, indx)
  801     422	  PDL misc. compiler warnings.
  802     423	  wcols FORMAT option always incorrectly gives error
  803     424	  Calling PDL on a list of ndarrays fails to propogate bad values
  804     425	  svd is broken for everything but 2x2 matrices
  805     ---	  Typo in PDL::GSLSF::COUPLING routine gsl_sf_coupling_6j
  806 
  807 
  808  Highlights:
  809 
  810  * Several patches contributed from the Debian team have been applied
  811    that fix documentation spelling errors, make PDL builds more
  812    reproducible, and will make packaging PDL easier.
  813 
  814  * More helpful error message when multi-element PDL is used in
  815    a boolean expression (feature request #84)
  816 
  817  * Improve argument size handling and documentation for rle
  818    (feature request #80)
  819 
  820  * One can now use $pdlc = pdl($pdla,$pdlb) when $pdla and/or $pdlb
  821    have BAD values and the BAD values will propagate to
  822    $pdlc. Previously this would only work with a copy of a single
  823    ndarray (e.g., $pdlc = pdl($pdla) ) or with 'cat'.
  824 
  825  * Many changes have been made to make PDL compile more cleanly and
  826    emit fewer compiler warnings.
  827 
  828  * Quiet printf format warning for sizeof()
  829 
  830  * Deprecate finite in favor of isfinite.
  831 
  832  * Many cleanups and additions to the test suite to use Test::More
  833    and to add meaningful test descriptions.
  834 
  835  * Added subtests to primitive.t
  836  
  837  * Add PDL::Doc::add_module to pdlpp_postamble
  838 
  839 
  840 
  841 v2.016_91 2016-10-03 14:03:19-04:00
  842 
  843 General Notes:
  844 
  845  * This is version 2.016_13 of the Perl Data Language,
  846    a.k.a. PDL-2.017 release candidate 1.
  847 
  848  * All but release notes and announcement done...
  849 
  850  Highlights:
  851 
  852  * Added subtests to primitive.t
  853 
  854  * Quiet printf format warning for sizeof()
  855 
  856 
  857 
  858 v2.016_03 2016-10-01 17:51:40-04:00
  859 
  860 General Notes:
  861 
  862  * This is version 2.016_03 of the Perl Data Language.
  863 
  864  Highlights:
  865 
  866  * Bugs fixed:
  867     413   PDL::Core::Dev::pdlpp_postamble() cannot handle .pd files in subdirectories
  868     419   t/#pdl_from_string.t fails on long double systems
  869 
  870   * More helpful error message when multi-element PDL is used in
  871     a boolean expression (feature request #84)
  872 
  873   * Improve argument size handling and documentation for rle
  874     (feature request #80)
  875 
  876 
  877 
  878 v2.016_02 2016-09-21 13:42:15-04:00
  879 
  880 General Notes:
  881 
  882  * This is version 2.016_02 of the Perl Data Language.
  883 
  884  * Bugs fixed:
  885     379   Passing qsort an extra argument causes a segfault
  886     393	  Tests may fail if perl is compiled with -Duselongdouble
  887     409	  PDL demos with PGPLOT display ignore $ENV{PGPLOT_DEV}
  888     421	  PDL::IO::FITS can't handle 64-bit integers (longlong, indx)
  889     422	  PDL misc. compiler warnings.
  890     423	  wcols FORMAT option always incorrectly gives error
  891     424	  Calling PDL on a list of ndarrays fails to propogate bad values
  892     425	  svd is broken for everything but 2x2 matrices
  893     ---	  Typo in PDL::GSLSF::COUPLING routine gsl_sf_coupling_6j
  894 
  895  Highlights:
  896 
  897   * One can now use $pdlc = pdl($pdla,$pdlb) when $pdla and/or $pdlb
  898     have BAD values and the BAD values will propagate to
  899     $pdlc. Previously this would only work with a copy of a single
  900     ndarray (e.g., $pdlc = pdl($pdla) ) or with 'cat'.
  901 
  902   * Many changes have been made to make PDL compile more cleanly and
  903     emit fewer compiler warnings.
  904 
  905   * Many cleanups and additions to the test suite to use Test::More
  906     and to add meaningful test descriptions.
  907 
  908   * Several patches contributed from the Debian team have been applied
  909     that fix documentation spelling errors, make PDL builds more
  910     reproducible, and will make packaging PDL easier.
  911 
  912 
  913 
  914 v2.016_01 2016-06-01 13:01:55-04:00
  915 
  916 General Notes:
  917 
  918  * This is version 2.016_01 of the Perl Data Language.
  919  
  920 
  921  Highlights:
  922 
  923   * Add PDL::Doc::add_module to pdlpp_postamble
  924 
  925   * Deprecate finite in favor of isfinite.
  926 
  927 
  928 
  929 v2.016 2016-05-30 10:22:04-04:00
  930 
  931 General Notes:
  932 
  933  * This is version 2.016 of the Perl Data Language.
  934  
  935  * Bugs fixed:
  936     417   Perl 5.22: + GSL 2.1 fails to build
  937     408   PDL::GSL::RNG set_seed minor improvement
  938     407   Build failures with GSL 2.1
  939     416   PDL::PP creates .pm & .xs files before pp_done is called
  940     414   ccNcompt (i.e. cc4compt and cc8compt) breaks with byte data type
  941 
  942 
  943  Highlights:
  944 
  945   * All collapse operators now have "<name>over" equivalent names.
  946     This ends an API wart in which most, but not all, of the collapse
  947     operators had a short form that did full collapse and a long form
  948     that did 1-D collapse only (e.g. "and" collapses to a point,
  949     while "andover" collapses by one dimension).  The exceptions are
  950     left in for legacy code, but now have regularized "-over" forms
  951     as well:
  952 
  953        average       -> avgover
  954        daverage      -> davgover
  955        maximum       -> maxover
  956        maximum_ind   -> maxover_ind
  957        maximum_n_ind -> maxover_n_ind
  958        minmaximum    -> minmaxover
  959        minimum       -> minover
  960        minimum_ind   -> minover_ind
  961        minimum_n_ind -> minover_n_ind
  962 
  963   * PDL::Transform image resampling now handles bad values in
  964     images.  In particular, the `h' and `j' (optimized filter)
  965     resampling methods properly skip bad values in the image,
  966     marking output pixels bad if more than 1/3 of the weighted
  967     values associated with that output pixel are bad.
  968 
  969   * PDLs with dataflow can now be reshaped.  The dataflow
  970     connection gets severed by the reshape operation.
  971     
  972   * PDL::IO::FITS now works better with RICE-compressed FITS
  973     images, such as are produced by NASA's SDO project.
  974 
  975         - The NAXIS* header keywords are now replaced by their
  976 	  ZNAXIS* equivalents, so the NAXIS fields in the header
  977 	  are correct after the image is read in.
  978 
  979         - The Z*, TFIELDS, TTYPE*, and TFORM* keywords are now
  980           deleted from the header object, so that the uncompressed,
  981           loaded image does not have leftover compression headers.
  982     
  983   * The language preprocessor PDL::PP now does not automatically
  984     call pp_done for modules that do not call pp_done themselves.
  985     This new, stricter behavior requires module authors to call
  986     pp_done at the end of their PDL::PP file.  This prevents
  987     partially-complete .xs and .pm files from being written if
  988     there is a module build error.
  989     
  990   * PDL::GSLSF modules have several fixes/improvements to support
  991     building against GSL 2.0:
  992 
  993         - New calling convention for gsl_sf_ellint_D.
  994         - New functions gsl_sf_legendre_array
  995 	    and gsl_sf_legendre_array_index.
  996         - Deprecated gsl_sf_legendre_Plm_array
  997 	    and gsl_sf_legendre_sphPlm_array.
  998         - New tests for new legendre functions.
  999         - Test requires all PDL::GSLSF modules
 1000 	    to successfully load.
 1001 
 1002   * PDL::GSL::RNG now allows chaining for the set_seed() method:
 1003     e.g. $rng = PDL::GSL::RNG->new(..)->set_seed(..)
 1004     
 1005   * PDL::Image2D's ccNcompt connected-component analysis code now
 1006     returns types that are >= long, to avoid common overflow errors.
 1007 
 1008   * PDL::whichND returns PDLs of Indx type, to avoid overflows.
 1009 
 1010   * Empty ndarrays are handled slightly differently now by
 1011     PDL::info and `help vars'.  Empty ndarrays are different
 1012     from null ndarrays, and now generate different info strings.
 1013     (null ndarrays lack data or dimensions; empty ndarrays have
 1014     at least one dimension of size 0).
 1015     
 1016   * PDL::Fit::LM:
 1017 
 1018         - Documentation has been clarified relating to input
 1019 	    data uncertainties and weighting of the fit.
 1020         - A small test suite has been added.
 1021 
 1022   * There is now a .gitattributes file so GitHub repo language
 1023     stats are more accurate.
 1024 
 1025   * The PDL SF/GitHub deveolpment workflow is integrated into
 1026     the DEVELOPMENT docs.
 1027 v2.015_001 2016-05-27 12:28:39-04:00
 1028 
 1029 General Notes:
 1030 
 1031  * A.k.a PDL-2.016 release candidate 1.
 1032 
 1033 
 1034 Highlights:
 1035 
 1036  * TBD
 1037 
 1038 
 1039 
 1040 v2.015 2015-11-22 08:52:22-05:00
 1041 
 1042 General Notes:
 1043 
 1044  * PDL-2.015 is a clean and polish release.  It fixes
 1045    some problems discovered with PDL-2.014 and improves
 1046    the 64bit integer support.
 1047  
 1048 
 1049 Highlights:
 1050 
 1051  * Fixes to improve compile and test of F77 modules
 1052    on OS X (i.e. don't build i386 versions)
 1053 
 1054  * Basic/Ops/ops.pd - make compatible with MSVC++ 6.0
 1055 
 1056  * Fix win10 breakage in t/flexraw_fortran.t  Apparently, temp
 1057    files were not being released after use which was preventing
 1058    the tests to pass. 
 1059 
 1060  * Fix missing PDL license information
 1061 
 1062  * Fix sf.net bug #403: reshape() failed when applied to a
 1063    ndarray with dataflow.  Now, changing the shape of a PDL
 1064    that already has dataflow is prevented and an error message
 1065    given.
 1066 
 1067  * Fix sf.net bug 406 Added missing logic for clump(-N) and minor
 1068    cleanup of perl wrapper.
 1069 
 1070  * force new_pdl_from_string to return an ndarray with P=physical flag
 1071 
 1072  * Add $PDL::indxformat for PDL_Indx This avoids loss of
 1073    significance when 64bit PDL_Indx values are printed.
 1074 
 1075    Make new_pdl_from_string() avoid converting IV values
 1076    to NVs This allows pdl(indx, '[ 9007199254740992 ]')
 1077    to work without rounding due to the 52bit double
 1078    precision mantissa versus the 63bits + sign for PDL_Indx.
 1079 
 1080  * Add type support info to pdl() constructor documentation.
 1081    pdl() has always supported this usage but examples were
 1082    missing in the documentation.
 1083 
 1084  * improving PDL::GSL::RNG documentation
 1085 
 1086  * remove spurious '}' from gnuplot demo
 1087 
 1088 
 1089 
 1090 v2.014_03 2015-11-19 12:37:00-05:00
 1091 
 1092 General Notes:
 1093 
 1094  * This quick release is to verify the fix for the
 1095    PDL license information.
 1096  
 1097 
 1098 Highlights:
 1099 
 1100  * Some updates to Changes and Known_problems
 1101    as well.
 1102 
 1103 
 1104 
 1105 v2.014_02 2015-11-17 09:20:23-05:00
 1106 
 1107 General Notes:
 1108 
 1109  * This is the 2nd release candidate for PDL-2.015
 1110  
 1111 
 1112 Highlights:
 1113 
 1114  * Same as PDL-2.014_01 but with a couple of F77 build
 1115    fixes from Karl to support MacOSX builds and, we hope,
 1116    a SciPDL to go with PDL-2.015!
 1117 
 1118 
 1119 
 1120 v2.014_01 2015-11-14 14:01:28-05:00
 1121 
 1122 General Notes:
 1123 
 1124  * This is PDL-2.014_01, a cleanup and bug fix release.
 1125  
 1126 
 1127 Highlights:
 1128 
 1129  * Add $PDL::indxformat for PDL_Indx and
 1130    Make new_pdl_from_string() avoid converting IV values to NVs
 1131 
 1132    PDL_Indx values (type indx) now print with an integer
 1133    format specification so all digits get printed.  In
 1134    addition pdl(indx, '[ 9007199254740992 ]') works as well
 1135    going the other direction.
 1136 
 1137  * Fix sf.net bug 403: reshape can't handle ndarrays with -C flag
 1138 
 1139    reshape() on an ndarray with dataflow isn't meaningful.
 1140    Now a warning is given.  You can $pdl->sever first
 1141    and then reshape() can be applied.
 1142    
 1143  * Fix sf.net bug 406: clump() produces bogus dims
 1144 
 1145  * Various build improvments and documentation fixes:
 1146 
 1147    - force new_pdl_from_string to return an ndarray with P=physical flag
 1148    - remove spurious '}' from gnuplot demo
 1149    - Basic/Ops/ops.pd - make compatible with MSVC++ 6.0
 1150    - Fix win10 breakage in t/flexraw_fortran.t
 1151    - improving PDL::GSL::RNG documentation
 1152    - Add type convert info to POD for the pdl() constructor
 1153 
 1154 
 1155 
 1156 v2.014 2015-10-12 11:44:10-04:00
 1157 
 1158 General Notes:
 1159 
 1160  * This is PDL-2.014 introducing full support for
 1161    64bit indexing operations using 64bit PDL_Indx
 1162    data type.
 1163 
 1164  * PDL can now create and use ndarrays having more
 1165    than 2**32 elements.  Of particular use is that
 1166    you can now use PDL::IO::FlexRaw to memory map
 1167    ndarrays from files on disk which can allow for
 1168    simplified processing and IO on extremely large
 1169    data.
 1170 
 1171  * Due to the new PDL_Anyval type changes, existing
 1172    PDL::PP modules may need to be updated to support
 1173    the new PDL Core version 12 API.  Authors, please
 1174    see PDL::API for macros to ease the porting.
 1175 
 1176    Users, be aware that some modules may not work
 1177    until they are updated by their maintainers.
 1178  
 1179 
 1180 Highlights:
 1181 
 1182  * Implement PDL_Anyval data type as union to support
 1183    64bit indexing
 1184     
 1185    This adds a union data type to add 64bit integer support to
 1186    the original PDL-2.x types which assumed that double was
 1187    capable of holding all the "lesser" types.  With the PDL_Anyval
 1188    type, we can correctly handle 64bit integer data types and
 1189    avoid errors and loss of precision due to conversions to or
 1190    from PDL_Double.  Special thanks to kmx and zowie for their
 1191    help to complete and debug this implementation.
 1192 
 1193  * Many fixes to the build process to make PDL more robust
 1194    to build, test, and install.  This takes advantage of new
 1195    automated CI testing via Travis CI on the github site.
 1196 
 1197    Thanks much to Ed and Zakariyya for their work to get
 1198    this started and maintained.  This CI testing makes
 1199    this the best tested and best testing PDL release ever!
 1200 
 1201  * Various documentation clean-ups and work to improve
 1202    on-line viewing at http://metacpan.org and others.
 1203    (Thanks kmx and Derek!)
 1204 
 1205  * A new ipow() method haw been added with 64bit integer
 1206    support.  ipow() calculates the integer exponentiation
 1207    of a value by successive multiplications.  This allows
 1208    one to avoid loss of significance in integer exponents.
 1209    pow() converts the value to double and will always have
 1210    <52bits precision.
 1211 
 1212  * nbadover and ngoodover now return indx type (PDL_Indx)
 1213 
 1214  * PDL now detects when your perl installation has been
 1215    built with floating point longer than 8 bytes and gives
 1216    a one time warning that precision will be lost converting
 1217    from perl NV to PDL_Doubles.  This warning is given on
 1218    "use PDL;"
 1219 
 1220  * "use PDL" now includes "use PDL::IO::Storable"
 1221    This avoids a hard to diagnose crash that can
 1222    occur when a user tries using Storable without the
 1223    necessary "use PDL::IO::Storable".
 1224 
 1225  * MANY sf.net bugs fixed:
 1226  
 1227    400  dataflow slice crash around 2**31 boundary
 1228    399  Small doc fixes
 1229    398  $pdl->hdr items are lost after $pdl->reshape
 1230    396  online docs for modules only work first time in PDL shells
 1231    395  ipow (integer exponentiation) support for 64bit index support
 1232    394  demo cartography fails
 1233    383  gcc/#gfortran 4.9.2 needs -lquadmath
 1234    378  where on dice of pdl bad results
 1235    376  PDL Segmentation fault working with Storable restored PDL
 1236    347  t/#pdl_from_string.t has a failure if BADVAL_NAN=1
 1237    346  ExtUtils::F77 dependency causing problems for CPAN install
 1238    343  longlong constructor and display lose digits due to...
 1239    340  orover of byte data returns long type
 1240 
 1241 
 1242 
 1243 v2.013_06 2015-10-10 16:04:14-04:00
 1244 
 1245 General Notes:
 1246 
 1247  * This is PDL-2.013_06 which is RC 2 for PDL-2.014
 1248    and likely the final one before the official
 1249    release.  Please report any final issues and doc
 1250    patches ASAP.
 1251  
 1252 
 1253 Highlights:
 1254 
 1255  * Mark some failing tests in t/primitive.t as TODO
 1256    to avoid CPAN Testers failures.
 1257 
 1258  * Add IPC::Cmd to TEST_REQUIRES
 1259 
 1260 
 1261 
 1262 v2.013_05 2015-10-08 07:14:19-04:00
 1263 
 1264 General Notes:
 1265 
 1266  * This is PDL-2.013_05 (a.k.a. PDL-2.014 rc 1) which
 1267    is the fifth CPAN developers release for PDL with
 1268    newly completed support for 64bit indexing.
 1269  
 1270  * Needs testing for ndarrays with more than 2**32
 1271    elements but all checks pass so far.
 1272 
 1273 
 1274 Highlights:
 1275 
 1276  * Fix problem with broken t/opengl.t for testers
 1277 
 1278 
 1279 
 1280 v2.013_04 TBD
 1281 
 1282 General Notes:
 1283 
 1284  * This is PDL-2.013_04 which is the fourth CPAN
 1285    developers release for PDL with newly completed
 1286    support for 64bit indexing.
 1287  
 1288  * Needs testing for ndarrays with more than 2**32
 1289    elements but all checks pass so far.
 1290 
 1291 
 1292 Highlights:
 1293 
 1294  * t/opengl.t is skipped the dynamic GL window creation
 1295    tests if $AUTOMATED_TESTING is true.
 1296  
 1297  * A new ipow() routine for integer exponentiation
 1298 
 1299  * Corrected return types of intover, borover, bandover,
 1300    nbadover, and ngoodover.
 1301 
 1302  * Fixed compile problem in clang from using finite()
 1303    on an integer datatype.
 1304 
 1305 
 1306 
 1307 v2.013_03 2015-10-04 12:21:30-04:00
 1308 
 1309 General Notes:
 1310 
 1311  * This is PDL-2.013_03 which is the third CPAN
 1312    developers release for PDL with newly completed
 1313    support for 64bit indexing.
 1314  
 1315  * Needs testing for ndarrays with more than 2**32
 1316    elements but all checks pass so far.
 1317 
 1318 
 1319 Highlights:
 1320 
 1321  * More clean-up to handle perls with long double NVs
 1322    Loss of precision will be warned on "use PDL;"
 1323 
 1324  * Skipping t/bigmem.t to avoid OOM CPAN Testers fails.
 1325 
 1326  * Minor fixes to C code to meet stricter compiler
 1327    and C99 requirements.
 1328 
 1329 
 1330 
 1331 v2.013_02 2015-10-03 08:40:08-04:00
 1332 
 1333 General Notes:
 1334 
 1335  * This is PDL-2.013_02 which is the second CPAN
 1336    developers release for PDL with newly completed
 1337    support for 64bit indexing.
 1338  
 1339  * Needs testing for ndarrays with more than 2**32
 1340    elements but all checks pass so far.
 1341 
 1342 
 1343 Highlights:
 1344 
 1345  * Clean up to handle perls with long double NVs
 1346 
 1347  * Various bugs closed
 1348 
 1349  * PDL::IO::Storable is now loaded with "use PDL;"
 1350 
 1351 
 1352 
 1353 v2.013_01 2015-09-26 17:39:41-04:00
 1354 
 1355 General Notes:
 1356 
 1357  * This is PDL-2.013_01 which is the first CPAN
 1358    developers release for PDL with newly completed
 1359    support for 64bit indexing.
 1360  
 1361  * Needs testing for ndarrays with more than 2**32
 1362    elements but all checks pass so far.
 1363 
 1364 
 1365 Highlights:
 1366 
 1367  * TBD
 1368 
 1369 
 1370 
 1371 v2.013 2015-08-14 08:37:15-04:00
 1372 
 1373 General Notes:
 1374 
 1375  * This is PDL-2.013.  It is PDL-2.012 with some fixes
 1376    for badvalue problems and Solaris make issues.
 1377  
 1378  * See PDL 2.012 notes below.
 1379 
 1380 
 1381 Highlights:
 1382 
 1383  * Fix for sf.net bug #390: scalar PDL with badvalue
 1384    always compares BAD with perl scalars.  Now a warning
 1385    is given if the badvalue could conflict with the
 1386    results of a logical or comparision operation.
 1387  
 1388  * Fixed a makefile construct which was ambiguous and
 1389    caused build failures on Solaris using their make.
 1390    Gnu make was not affected even on Solaris.
 1391 
 1392 
 1393 
 1394 v2.012_01 2015-08-01 15:47401-0400
 1395 
 1396 General Notes:
 1397 
 1398  * This is PDL-2.012_01.  It is PDL-2.012 with some fixes
 1399    for badvalue problems when the badvalue was 0 or 1.
 1400  
 1401  * See PDL 2.012 notes below.
 1402 
 1403 
 1404 Highlights:
 1405 
 1406  * Candidate fix for sf.net bug #390: scalar PDL with
 1407    badvalue always compares BAD with perl scalars
 1408 
 1409 
 1410 
 1411 v2.012 2015-06-14 08:27:01-0400
 1412 
 1413 General Notes:
 1414 
 1415  * This is PDL-2.012 it is essentially PDL-2.011 with some
 1416    fixes for some minor issues that only came to light
 1417    with a new official release.
 1418  
 1419  * See PDL 2.011 notes below.
 1420 
 1421 
 1422 Highlights:
 1423 
 1424  * Add package statements so PDL::Lite and PDL::LiteF are
 1425    indexed correctly
 1426  
 1427  * Give PDL::NiceSlice a non-developer release for indexing
 1428 
 1429  * Fix build regression that broke ActiveState perl
 1430    builds for many perl versions and OS platforms.
 1431 
 1432 
 1433 
 1434 v2.011 2015-06-02 17:01:22-0400
 1435 
 1436 General Notes:
 1437 
 1438  * This is PDL-2.011 it is essentially PDL-2.008 with some
 1439    fixes for some minor issues.
 1440  
 1441  * perl 5.10.x is now the minimum version of perl
 1442    supported by PDL-2.008 and later.
 1443 
 1444  * PDL::FFTW is no longer part of the PDL Core.
 1445    Please use PDL::FFTW3 from CPAN (Dima Kogan)
 1446    with Alien::FFTW3 support (Craig DeForest)
 1447 
 1448  * PDL::Graphics::PLplot is no longer included in
 1449    the PDL core distribution.  Please install from
 1450    CPAN directly.
 1451 
 1452  * 50 sf.net bug tickets closed/fixed since PDL-2.007!
 1453 
 1454  * Partial 64bit indexing support with some fixes
 1455    to remaining issues.  Full 64bit support for perl
 1456    modulus operater ('%') is in progress.
 1457  
 1458  * Major clean up and rework of the core PDL
 1459    computation code, the build process, test suites,
 1460    and updating to reflect more of the best practices
 1461    for perl module development.
 1462  
 1463  * The PDL development has moved to github and now
 1464    has added continuous commit testing via the
 1465    Travis-CI framework.  The git workflow is now
 1466    inline with current practices and it is expected
 1467    that this will allow more contributions and "eyes
 1468    on the code".
 1469 
 1470 
 1471 Highlights:
 1472 
 1473  * See PDL 2.008 Highlights below.
 1474 
 1475 
 1476 
 1477 v2.010 2015-06-02 14:40:15-0400
 1478 
 1479 General Notes:
 1480 
 1481  * Another indexing regression.  Sigh.
 1482 
 1483 
 1484 
 1485 v2.009_01 2015-05-29 17:47:57-0400
 1486 
 1487 General Notes:
 1488 
 1489 Highlights:
 1490 
 1491  * Removal of PDL::Graphics::PLplot since exists as separate CPAN distro
 1492 
 1493 
 1494 
 1495 v2.009 2015-05-29 12:26:25-0400
 1496 
 1497 General Notes:
 1498 
 1499  * This is PDL-2.009. It has tweaks to fix PAUSE/CPAN
 1500    indexing problems in 2.008.
 1501  
 1502  * Known_problems updated to reflect a seldom seen
 1503    pdldoc installation problem for certain custom
 1504    perl configurations on cygwin.  A workaround is
 1505    known.  Please contact the PDL mailing list if you
 1506    have this problem.  See the sf.net bug report at
 1507    http://sourceforge.net/p/pdl/bugs/384/ for more
 1508    information.
 1509  
 1510  * See Release Notes for PDL 2.008 below for more.
 1511 
 1512 
 1513 
 1514 v2.008 2015-05-24 18:42:22-0400
 1515 
 1516 General Notes:
 1517 
 1518  * This is PDL-2.008!  Yay!
 1519 
 1520  * perl 5.10.x is now the minimum version of perl
 1521    supported by PDL-2.008 and later.
 1522 
 1523  * 50 sf.net bug tickets closed/fixed since PDL-2.007!
 1524 
 1525  * Partial 64bit indexing support with some fixes to
 1526    remaining issues.  Full 64bit support for perl modulus
 1527    operater ('%') is in progress.
 1528  
 1529  * Major clean up and rework of the core PDL computation
 1530    code, the build process, test suites, and updating to
 1531    reflect more of the best practices for perl module
 1532    development.
 1533  
 1534  * The PDL development has moved to github and now has
 1535    added continuous commit testing via the Travis-CI
 1536    framework.  The git workflow is now inline with
 1537    current practices and it is expected that this will
 1538    allow more contributions and "eyes on the code".
 1539 
 1540 Highlights:
 1541 
 1542  * PDL::FFTW is no longer part of the PDL Core.
 1543    Please use PDL::FFTW3 from CPAN (Dima Kogan)
 1544    with Alien::FFTW3 support (Craig DeForest)
 1545 
 1546  * New improved vsearch functionality, interfaces,
 1547    and documentation (Diab Jerius)
 1548  
 1549  * PDL::IO::Storable now robust against version, platform
 1550    endianness, and supports the new 64bit PDL_Indx data
 1551    type (Dima Kogan)
 1552 
 1553  * Clean up of PDL/Basic/Core code to remove cruft and
 1554    to simplify the evolution to a coming improvements
 1555    (Craig DeForest)
 1556  
 1557  * Major clean up, de-crufting, and streamlining of the
 1558    entire PDL ExtUtils::MakeMaker build process (Ed J)
 1559  
 1560  * Standardizing and updating the entire PDL test suite
 1561    to a common basis (use Test::More) and coding to more
 1562    consistent best practices.  E.g., use strict
 1563    This is a huge (ongoing) effort but a comprehensive
 1564    test suite is needed for regression tests to validate
 1565    compatibility of coming PDL3 architecture changes.
 1566    (Zakariyya Mughal)
 1567 
 1568  * You can now call the PDL::Graphics2D twiddle()
 1569    routine with an argument of 0 or 1 (i.e., false
 1570    or true) to set whether the twiddle loop is run.
 1571 
 1572  * Library dependency detection improvements including
 1573    PROJ4 and GD.  A number of improvements in this for
 1574    strawberry perl on windows (kmx)
 1575  
 1576  * The PDL distribution process now generated the
 1577    documentation for the modules using the automated
 1578    code generation process.  This makes all the PDL
 1579    docs available on http://search.cpan.org and on
 1580    http://metacpan.org for your web browser. (kmx)
 1581 
 1582  * Improved support to build XS/C extensions: (Ed J)
 1583    - You can now: "use Inline with => 'PDL';", see PDL::API
 1584    - You can, in your module's Makefile.PL:
 1585      "$p = new ExtUtils::Depends 'MyMod', 'PDL'"
 1586 
 1587  * MANY sf.net tickets closed:
 1588 
 1589    377   PDL::Transform::Proj4 not building under latest dev EUMM
 1590    375   Storable files incorrectly processed from older versions.
 1591    374   CONFIGURE_REQUIRES => Devel::CheckLib
 1592    373   2.007_11 MANIFEST
 1593    372   2.007_11 fails on MS Windows 64bit
 1594    371   PDL-2.4.11 medover failure in perl 5.20.1
 1595    370   PDL-2.007 can fail to build Basic/#Core files
 1596    369   slice fails with subclass index
 1597    368   PDL::Slatec::polyfit ignores incorrect length of weight ndarray...
 1598    367   BAD value parsing breakage
 1599    365   CPAN PDL install broken due to breakage in Module::Compile 0.34
 1600    363   PP "OtherPars" namespace is not clean
 1601    362   rcols COLIDS need chomp-ing
 1602    361   vsearch bug w/# reversed list
 1603    360   subtle & rare bug in vsearch
 1604    359   Improved documentation for vsearch
 1605    358   one2nd() has unexpected behaviour when given a Perl scalar rather than an ndarray
 1606    357   Android support
 1607    356   overload::Method() does not return coderef for stringification
 1608    355   dog creates 0 dim ndarray which squeezes to 1 dim.
 1609    353   imag2d not 'use warnings' safe and no way to disable twiddle
 1610    352   reorder() not an lvalue sub
 1611    351   PDL_BOOT has wrong XS code
 1612    350   Modules using PDL::Slatec will get installed even if Slatec is disabled
 1613    349   PDL needs integrated support for PDL::PP and CPAN indexer
 1614    348   PDL->null->slice('')->nelem results in error
 1615    345   documentation of WITH_PLPLOT in perldl.conf incorrect
 1616    344   Current version numbering is broken
 1617    342   BUGS file not indexable or discoverable
 1618    337   rangeb() broken for 64bit index support on 32bit perl
 1619    332   "isn't numeric in null operation" warning could be more helpful
 1620    331   uniq does not always return proper object
 1621    329   t/#picrgb.t fails in PDL build
 1622    321   Several core modules do not have man pages
 1623    319   PDL::Index does not render on websites
 1624    316   plplot.t failure when building 2.4.11
 1625    314   conv1d bad value broken
 1626    313   clip() edge case not handled right
 1627    312   Wrong results in corner empty-set cases
 1628    283   PDL::IO::FITS::wfits corrupting FITS image
 1629    272   indexND of Empty pdls can segfault
 1630    268   PLplot still unusable with X
 1631    261   max() fails on nan
 1632    256   Threadable version of PDL::MatrixOps::inv
 1633    232   perl -d chokes on lvalue functions
 1634    227   PGPLOT module doesn't work in PDL
 1635    224   Ctrl-C kills perldl in win32 console
 1636    207   Name "PDL::SHARE" used only once.
 1637     63   Unable to get the 3d demos
 1638     51   justify option fails in imag (PDL2.3.4)
 1639 
 1640 
 1641 
 1642 v2.007_17 2015-05-06 13:35:57-0400
 1643 
 1644 General Notes:
 1645 
 1646  * This is PDL-2.008_rc4!
 1647 
 1648 Highlights:
 1649 
 1650  * Clean up of large number modulo tests and make TODO for
 1651    the PDL-2.008 release.
 1652  
 1653  * Fix build/configure problems from CPAN Testers reports.
 1654 
 1655  * Quiet excessive warnings in perldl and pdl2doc
 1656 
 1657 
 1658 
 1659 v2.007_16 2015-04-22 10:23:46-0400
 1660 
 1661 General Notes:
 1662 
 1663  * This is PDL-2.008_rc3!
 1664 
 1665 Highlights:
 1666 
 1667  * Various clean up and doc fixes
 1668 
 1669  * Add more of the PDL prerequisites explicitly to handle
 1670    missing core functionality for CPAN Testers.
 1671 
 1672 
 1673 
 1674 v2.007_15 2015-04-19 17:08:55-0400
 1675 
 1676 General Notes:
 1677 
 1678  * This is PDL-2.008_rc2!
 1679 
 1680 Highlights:
 1681 
 1682  * Build issues with PROJ4 detection and link with cygwin
 1683    platforms has been worked around.
 1684  
 1685  * Failing tests in t/ops.t for new 64bit modulus support
 1686    have been marked TODO.
 1687 
 1688 
 1689 
 1690 v2.007_14 2015-04-11 14:28:07-0400
 1691 
 1692 General Notes:
 1693 
 1694  * This is PDL-2.008_rc1!
 1695 
 1696 Highlights:
 1697 
 1698  * More cleanup and a couple of build issues fixed with
 1699    PROJ4.
 1700 
 1701  * Various test suite improvements.
 1702 
 1703 
 1704 
 1705 v2.007_13 2015-03-22 16:00:03-0400
 1706 
 1707 General Notes:
 1708 
 1709  * Counting down to a PDL-2.008 release this April 2015
 1710 
 1711 Highlights:
 1712 
 1713  * Travis on Github now routinely tests on dev ExtUtils::MakeMaker, clang:
 1714    https://travis-ci.org/PDLPorters/pdl
 1715 
 1716  * Coveralls on Github now lists test coverage:
 1717    https://coveralls.io/r/PDLPorters/pdl
 1718 
 1719  * Many tests updated to use Test::More, Test::Deep, Test::Exception
 1720 
 1721  * PDL::FFTW is now removed from the PDL core.  Use
 1722    PDL::FFTW3 instead.
 1723 
 1724  * Prototype use of Alien::Proj4 to encapsulate install/build info
 1725 
 1726  * Fix warnings compiling under clang
 1727 
 1728  * Addition of "core" and "coretest" targets for quicker build and dev cycle
 1729 
 1730  * Make Filter::Util::Call the default engine for PDL::NiceSlice
 1731 
 1732  * Make PDL_Anyval type, for 64-bit purposes
 1733 
 1734  * Clean up and better-comment pdl*.h
 1735 
 1736  * Make "isn't numeric in null operation" warning more helpful
 1737 
 1738 v2.007_12 2015-03-06 09:18:04-05:00
 1739 
 1740 General Notes:
 1741 
 1742  * Counting down to a PDL-2.008 release this February 2015
 1743 
 1744  * This release marks the completion of almost all the
 1745    priority issues needed for PDL-2.008.  Expect feature
 1746    freeze, final shakedown, and release to come!
 1747 
 1748 
 1749 Highlights:
 1750 
 1751  * Fixed sf.net bug #373  2.007_11 MANIFEST
 1752 
 1753  * Implemented 'core' and 'coretest' targets for quick testing.
 1754 
 1755  * Fix quote/whitespace build problems
 1756 
 1757  * Fix threading problem discovered in PDL::MatrixOps::inv()
 1758 
 1759  * Build improvements and support for automated commit testing
 1760    via the travis-ci infrastructure
 1761 
 1762  * Fixed sf.net bug #368 PDL::Slatec::polyfit ignores
 1763    incorrect length of weight ndarray
 1764  
 1765  * Fixed sf.net bug #374 CONFIGURE_REQUIRES => Devel::CheckLib 
 1766 
 1767  * Tests and fixes for modulus operator for 64bit integer
 1768    operands.  Tests on 32bit systems welcome.
 1769 
 1770  * Lots of tweaks and cleanup...
 1771 
 1772 v2.007_11 2015-02-24 16:08:36-05:00
 1773 
 1774 General Notes:
 1775 
 1776  * Counting down to a PDL-2.008 release this February 2015
 1777 Highlights:
 1778 
 1779  * The new Filter::Simple engine for PDL::NiceSlice is now
 1780    the default.  This fixes problems where PDL::NiceSlice
 1781    was applying the sourcefilter to the content of comments
 1782    and strings.  Still to do: implement for command line use
 1783    in perldl/pdl2 shells.
 1784 
 1785  * Added ability to call PDL::Graphics2D twiddle() routine with
 1786    an argument of 0 or 1 (technically false or true) to set
 1787    whether the twiddle loop is run.  Also fixed a minor warning
 1788    generated with 'use warnings'.  This closes bug #353.
 1789  
 1790  * Lots of clean up and build process improvements.
 1791 
 1792 
 1793 
 1794 v2.007_10 2015-02-02 10:59:22-05:00
 1795 
 1796 General Notes:
 1797 
 1798  * Counting down to a PDL-2.008 release this February 2015
 1799 
 1800 Highlights:
 1801 
 1802  * More clean up to build process.
 1803 
 1804 
 1805 
 1806 v2.007_09 2015-01-29 11:01:24-05:00
 1807 
 1808 General Notes:
 1809 
 1810  * Counting down to a PDL-2.008 release this February 2015
 1811 
 1812 Highlights:
 1813 
 1814  * perl 5.10.x is now the minimum version of perl supported for
 1815    this release.  Please test.
 1816 
 1817  * Much clean up of the EU::MM build process by Ed.:w
 1818 
 1819 
 1820 
 1821 v2.007_08 2015-01-20 18:24:01-05:00
 1822 
 1823 General Notes:
 1824 
 1825  * Counting down to a PDL-2.008 release this January 2015
 1826 
 1827 Highlights:
 1828 
 1829  * Some ExtUtils::MakeMaker fixes and clean up for the PDL build
 1830    process.
 1831 
 1832  * Fix non-portable usage bug in t/vsearch.t which prevented the
 1833    test from passing on perls 5.12 and earlier
 1834 
 1835 
 1836 
 1837 v2.007_07 2015-01-06 17:44:08+11:00
 1838 
 1839 General Notes:
 1840 
 1841  * Counting down to a PDL-2.008 release this January 2015
 1842 
 1843 Highlights:
 1844 
 1845  * This release includes the new pre-generated pm/pod to
 1846    clean up the docs available on-line on metacpan.org and
 1847    search.cpan.org.
 1848  
 1849  * Bug fix in t/vsearch.t to support perl 5.12 and earlier.
 1850    PDL currently supports perl 5.8.x and later.
 1851 
 1852 
 1853 
 1854 v2.007_06 2015-01-05 13:31:13-05:00
 1855 
 1856 General Notes:
 1857 
 1858  * Counting down to a PDL-2.008 release this January 2015
 1859 
 1860 Highlights:
 1861 
 1862  * Fixed a number of bugs on the sf.net tracker
 1863 
 1864  * Fix for EU-MM-7.0 and later problem with dmake
 1865 
 1866  * Include generated pod in the distribution so that
 1867    metacpan.org and search.cpan.org have better/working
 1868    online docs.
 1869 
 1870 
 1871 
 1872 v2.007_05 2014-12-24 09:24:04-05:00
 1873 
 1874 General Notes:
 1875 
 1876 Highlights:
 1877 
 1878  * You can now: "use Inline with => 'PDL';" - see PDL::API
 1879 
 1880  * You can, in your module's Makefile.PL: "$p = new ExtUtils::Depends
 1881    'MyMod', 'PDL'"
 1882 
 1883  * Various bugs fixed
 1884 
 1885  * New vsearch() implementations with features and flexibility
 1886 
 1887 
 1888 
 1889 v2.007_04 2014-09-09 00:44:29+01:00
 1890 
 1891 General Notes:
 1892 
 1893 Highlights:
 1894 
 1895  * You can now: "use Inline with => 'PDL';" - see PDL::API
 1896 
 1897  * You can, in your module's Makefile.PL: "$p = new ExtUtils::Depends
 1898    'MyMod', 'PDL'"
 1899 
 1900 
 1901 v2.007_03 2014-07-01 16:54:59-04:00
 1902 
 1903 General Notes:
 1904 
 1905 Highlights:
 1906 
 1907  * Fix documentation builds for installs into vendor directory.
 1908 
 1909  * Fixes for library detection on MS Windows
 1910 
 1911  * Fix incompatibility of PDL::IO::Storable with perl versions < 5.10.x
 1912 
 1913 
 1914 
 1915 v2.007_02 2013-11-25 14:10:22-05:00
 1916 
 1917 General Notes:
 1918 
 1919 Highlights:
 1920 
 1921  * This release should be a working PDL::IO::Storable that
 1922    is compatable with the new 64bit index support.
 1923  
 1924  * PDL::IO::Storable now requires perl 5.10.x or greater
 1925    although the overall distribution requirements are not
 1926    planned to update to 5.10.x until the completion of
 1927    fixes for the longlong hidden double precision conversion
 1928    slash truncation bug.
 1929 
 1930 
 1931 
 1932 v2.007_01 2013-11-17 16:31:17-05:00
 1933 
 1934 General Notes:
 1935 
 1936 Highlights:
 1937 
 1938  * Added FAQ entry on PDL version numbering change and how
 1939    to specify required PDL versions.
 1940 
 1941  * Corrected perldl.conf docs for WITH_PLPLOT in the comments
 1942 
 1943  * Update PDL::IO::Storable to work with the new PDL_Indx
 1944    data type.  Also made the code backwards compatible to
 1945    read files written by older PDL releases.
 1946  
 1947  * Fixed NaN handling for min/max and cleaned up handling
 1948    of empty sets.
 1949 
 1950  * Various enhancements to PDL::Transform
 1951 
 1952 
 1953 
 1954 v2.007 2013-10-12 12:56:52-04:00
 1955 
 1956 General Notes:
 1957 
 1958  * PDL computations now use 64bit indexing/addressing if
 1959    your platform supports it (i.e., your perl configuration
 1960    has $Config{ivsize} == 8).
 1961    
 1962    - You can process with pdls with more then 2**32 elements.
 1963 
 1964    - Memory mapped file IO supports up to 8TB files which
 1965      allows much simpler processing of large data files.
 1966      (See mapflex in PDL::IO::FlexRaw for details)
 1967 
 1968  * PDL-2.007 has a new, unified slicing engine and syntax
 1969    that consolidates the multiple slicing variants into
 1970    a backward compatible but now 64bit aware slice.  See
 1971    the PDL::Slices for the new syntax that is enabled.
 1972 
 1973  * PDL::FFTW has moved to its own distribution on CPAN
 1974    and is no longer in the PDL core distribution.  Look
 1975    for PDL::FFTW3 coming to CPAN soon.
 1976 
 1977  * Some required dependencies have been update to more
 1978    recent versions:
 1979 
 1980    - ExtUtils::MakeMaker now requires version 6.56 or
 1981      higher, the minimum version with CONFIGURE_REQUIRES
 1982      support.
 1983 
 1984    - Perl OpenGL 0.6702 is now required for PDL::Graphics::TriD
 1985      to build.  This fixes a number of critical bugs and should
 1986      be a seamless upgrade.
 1987 
 1988    - File::Map version 0.57 is required.  This fixes map_anonymous
 1989      support for the >2**32 sizes needed for 64bit support.
 1990      Legacy mmap support for unix platforms is no longer
 1991      supported.  The distribution requires File::Map so you
 1992      should not notice the change.
 1993 
 1994  * Incompatible Changes:
 1995 
 1996    - PDL::FFT now uses the same sign convention as FFTW and
 1997      the rest of the world, -1/+1 for forward and reverse
 1998      FFT respectively.
 1999 
 2000    - C/XS API of PDL-2.007 is incompatible with previous
 2001      PDL releases.  If you upgrade to PDL-2.007, you *will*
 2002      need to re-install or upgrade *all* dependent XS or PP
 2003      based modules.
 2004 
 2005    - PDL now auto-promotes array refs in many places that
 2006      previously required an ndarray (so you can say, e.g.,
 2007      "$a->index([2,3])" instead of "$a->index(pdl(2,3))").
 2008 
 2009    - String syntax for slice() specifications now ignore
 2010      white space.
 2011 
 2012  * The clean up of the PDL core distribution continues and
 2013    PDL-2.007 is no exception.  Many bug fixes, documentation
 2014    updates, code and implementation improvements make this
 2015    the best testing PDL release to date.
 2016 
 2017 
 2018 Highlights:
 2019 
 2020  * FITS IO improvements and fixes:
 2021 
 2022    - Added 'afh" option to rfits to allow explicit use of
 2023      legacy hash parser for performance reasons.  
 2024 
 2025    - New multiple extension writing support for wfits.
 2026 
 2027  * Added pp_deprecate_module() to PDL::PP
 2028 
 2029  * New mode/modeover functions in PDL::Ufunc
 2030 
 2031  * Made exception handling in slices more robust.
 2032 
 2033  * PDL::CLONE_SKIP added for improved ithread support.
 2034 
 2035  * Updated graticule() in PDL::Transform::Cartography to
 2036    support NaN-delimited output.
 2037 
 2038  * Bugs fixes:
 2039 
 2040    - Fix %hash randomization bugs in PDL tests
 2041 
 2042    - Fix OpenBSD pthread build problem for non-threaded perls
 2043 
 2044    - Fix PDL::shape to return vector for 1-D ndarrays
 2045 
 2046    - Fix badvalue-on-truncate support for map and for interpND
 2047 
 2048    - Fix for MSVC++ 6.0 to build on 32bit systems.
 2049      MSVC++ 6.0 cannot be used to build 64bit index support.
 2050 
 2051    - Fix polyfit() handling of BAD values and various edge cases.
 2052 
 2053    - Fix rare "Bizarre copy of HASH in scalar assignment"
 2054 
 2055    - Fix rcols with colsep and $PDL::undefval
 2056 
 2057    - Fix sf.net bug #331 "uniq does not always return proper object"
 2058 
 2059    - Fix sf.net bug #338 PDL::FFT uses backwards sign convention from FFTW
 2060 
 2061    - Make PDL::NiceSlice preserve line numbering (sf.net feature #75)
 2062 
 2063    - PDL::IO::GD->new() is now less picky about it args, and no longer crashes
 2064 
 2065    - Two bug fixes to transform.pd, and an augmentation
 2066 
 2067 
 2068 
 2069 v2.006 2013-03-23 10:02:31-04:00
 2070 
 2071 General Notes:
 2072 
 2073  * Change to the version number scheme used for PDL
 2074    from the dotted-integers format back to plain old
 2075    decimal numbers.
 2076 
 2077    Unfortunately, PDL has used both alternatives before
 2078    and in an inconsistent, out-of-order way.  With this
 2079    release, the current version will also be the most
 2080    recent version with respect to both numbering schemes.
 2081    
 2082    For more details see David Goldens blob post on
 2083    the topic and the pdl-porters list discussion:
 2084 
 2085      http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/
 2086      http://mailman.jach.hawaii.edu/pipermail//pdl-porters/2013-February/005343.html
 2087  
 2088 
 2089  * PDL-2.006 also showcases the demos of two new PDL graphics
 2090    modules in the perldl/pdl2 shells:
 2091    
 2092     - PDL::Graphics::Gnuplot
 2093       http://search.cpan.org/~zowie/PDL-Graphics-Gnuplot-1.4/
 2094 
 2095     - PDL::Graphics::Prima
 2096       http://search.cpan.org/~dcmertens/PDL-Graphics-Prima-0.13/
 2097 
 2098    Both modules install on all supported PDL platforms.  A
 2099    recent addition is PDL::Graphics::Simple which provides
 2100    a uniform presentation to the variety off available PDL
 2101    plot/view/print options.
 2102    
 2103     - PDL::Graphics::Simple
 2104       http://search.cpan.org/~zowie/PDL-Graphics-Simple-1.004/README.pod
 2105       
 2106    Let us know how they work for you.  As they are 
 2107    relatively "young" contributions your feedback and
 2108    questions are always welcome.
 2109 
 2110 
 2111  * PDL Distribution related updates:
 2112 
 2113     - Fixes a build issue for PDL at ASPerl
 2114     
 2115     - Many fixes for debian distributions.
 2116     
 2117     - PDL::IO::NDF has been moved to its own
 2118       distribution on CPAN.  This could affect
 2119       upgrades from older PDL installs.
 2120  
 2121 
 2122 Highlights:
 2123 
 2124  * New support for reading IDL format files via PDL::IO::IDL.
 2125 
 2126  * Added an unpdl method which is (roughly) the inverse
 2127    operation of pdl (Joel Berger).
 2128 
 2129  * Updated polyfill and polyfillv routines to the algorithm
 2130    from pnpoly: more accurate on edge pixels and faster due
 2131    to its PP implementation (Tim Haines).
 2132 
 2133  * Added Boundary=>'Replicate' option to conv2d and med2d (chm).
 2134 
 2135  * Support for new additional random number generators to
 2136    PDL::GSL (John Lapeyre).
 2137 
 2138  * Add lgamma support for MinGW-built perls with tests
 2139    to match (sisyphus).
 2140 
 2141  * Many improvments to docs and their generation from
 2142    PDL sources.  Specific new functionality support:
 2143 
 2144     - Newly refactored docs engine using core perl
 2145       modules rather than PDL-only ones (Joel Berger)
 2146 
 2147     - New FullDoc key added to PDL::PP makes writing CPAN
 2148       friendly .pd files much, much easier (David Mertens).
 2149 
 2150     - New PDL::Doc::add_module() routine to add an external
 2151       module's POD (with PDL::Doc conventions) to the PDL
 2152       docs on-line database (Craig DeForest).
 2153 
 2154  * Many bugs fixed, some even before a ticket could be opened!
 2155 
 2156     - Sf.net bug #3607936: Fixed a bug causing crashes
 2157       due to using inplace with a duplicate argument.
 2158 
 2159     - Sf.net bug #3603249: AutoLoader leaks $_ into local
 2160       context, reported and fixed by Craig.
 2161 
 2162     - Sf.net bug #3588182: Fixed hist() handling of the case
 2163       of fractional steps in integral input data types.
 2164 
 2165     - Sf.net bug #3563903: Fixed bug in PNG format detection
 2166       on win32 platforms.  
 2167 
 2168     - Sf.net bug #3544682: Fixed error report bug in perldl
 2169       that resulted from a change in the way perl handles
 2170       eval exception reporting.
 2171 
 2172     - Sf.net bug #3539760: qsort[vec] are now inplace aware.
 2173 
 2174     - Sf.net bug #3518190: Potential fix for t/gd_oo_tests.t
 2175       test crashes.
 2176 
 2177     - Sf.net bug #3515759: Work around for PDL::GIS::Proj
 2178       build failures with proj-4.8.0.
 2179 
 2180     - Sf.net bug #3479009: Fixed dummy() to generate a
 2181       valid syntax for the underlying call to slice().
 2182 
 2183     - Sf.net bug #3475075: Fixed 16-bit PNM raw format handling.
 2184 
 2185     - Added warning if conv1d is used on an ndarray with
 2186       the badflag set.
 2187 
 2188     - Fix NaN sign issues as reported (and fixed!) by
 2189       Matthew McGillis with contributions by Sisyphus.
 2190 
 2191     - Fix rim() 3-arg form.  Added tests to support and
 2192       verify the development.
 2193 
 2194     - Fixed a problem with multiple windows and imag2d
 2195       and imag2d_update.
 2196 
 2197  * The PDL shells keep getting better:
 2198 
 2199     - New feature in perldl and pdl2 where a pattern matching
 2200       the PDL shell prompt (in $PERLDL::PREFIX_RE) will get
 2201       stripped off of input lines before eval.  This makes it
 2202       easier to cut-and-paste example text from PDL shell
 2203       sessions or from the PDL Book into an active session.
 2204 
 2205     -  Added a demo for PDL::Graphics::Prima to the PDL shells.
 2206 
 2207     -  Added a demo for gnuplot to the PDL shells.
 2208 
 2209     -  The p shortcut to display output in the PDL shells has
 2210        been reverted to its previous 2.4.10 behavior.  If you
 2211        wish it to be an exact alias for print just override
 2212        in your .perldlrc or local.perldlrc file.
 2213 
 2214 
 2215 
 2216 v2.4.11 2012-05-20 13:32:17-04:00
 2217 
 2218 General Notes:
 2219 
 2220  * This is a point release of PDL to support the coming perl
 2221    5.16.0 release.
 2222 
 2223 Highlights:
 2224 
 2225  * A new implementation mapflex and mapfraw routines provides
 2226    memory-mapped IO for all platforms including win32 systems.
 2227 
 2228  * The new memory mapped IO support is implemented using
 2229    File::Map so version 0.47 has been added as a required
 2230    dependency to force automated testing so an automated build
 2231    will need this dependency installed.
 2232    
 2233     NOTE: For systems having POSIX mmap, a manual build of
 2234     PDL will automatically use the legacy implementation.
 2235 
 2236  * Various cleanup to existing code to fix warnings generated
 2237    by perl versions 5.15.x and higher.
 2238  
 2239    Remove deprecation warning in PGPLOT/Window/Window.pm
 2240    complex.pd - fix attempts to overload '<=>=' and '=>'
 2241 
 2242  * Sf.net bugs fixed:
 2243 
 2244     3518253  Make PDL::flat work under perl 5.16 (thanks sprout!)
 2245     3516600  pdl_from_string.t fails w/ BADVAL_USENAN=1
 2246     3487569  PDL::IO::Misc : rcols problem (thanks bperret!)
 2247     3476648  PDL build of HTML docs fails on recent bleed Perl
 2248     
 2249  * Other bugs fixed:
 2250 
 2251     Fix check for glutRunning logic for imag2d
 2252     Fixed a bug in cat's error reporting.
 2253     Added lvalue awareness to whereND
 2254 
 2255  * New and improved tests have been added to the test suite.
 2256 
 2257     Tests t/gd_oo_tests.t and t/inline-comment-test.t are
 2258     skipped for BSD platforms (see sf.net bugs #3518190 and
 2259     #3524081 to track their issues).
 2260 
 2261  * New support for multi-line comments in PP code.  See docs for
 2262    PDL::PP for details (e.g., pdldoc PP).
 2263     
 2264  * Various enhancements to barf/croak output and messages to make
 2265    error reports and stack traces more useful and readable.
 2266 
 2267  * There is a new changes (or Changes) target for the PDL Makefile
 2268    which is a convenience target that allows one to regenerate the
 2269    Changes file from git.
 2270 
 2271 v2.4.10 2012-02-03 18:44:47-05:00
 2272 
 2273 General Notes:
 2274 
 2275  New Stuff:
 2276 
 2277   * PDL::Constants module provides E, PI, I (or J) and more.
 2278 
 2279   * PDL::NiceSlice has a new engine based on Filter::Simple
 2280     which is more selective about where the PDL::NiceSlice
 2281     sourcefilter is applied.
 2282 
 2283   * pdl() constructor now accepts a string argument which
 2284     can include MATLAB-style [ ; ] syntax, bad values,
 2285     inf values, and nan values.  This makes it much easier
 2286     to specify pdl values in programs and scripts.
 2287 
 2288   * PDL now supports pthreads on all platforms as well
 2289     as a new, auto-parallelization capability for PDL
 2290     threadloops across multiple processors using the
 2291     PDL::ParallelCPU module.
 2292 
 2293   * Many(!) bug fixes.
 2294 
 2295 
 2296  Incompatible Changes:
 2297 
 2298   * List output from whichND is now deprecated.
 2299 
 2300   * The default.perldlrc uses PDL::Constants to
 2301     provide E and PI.
 2302 
 2303   * perldl.conf has new fields so be sure to update
 2304     any local versions you use with the new fields.
 2305 
 2306   * rcols and wcols always use dim0 for the data
 2307     dimension and dim1 for the column dimension.
 2308     This only matters if you use the support for
 2309     reading multiple columns into a 2D pdl.
 2310 
 2311   * Makefile.PL now requires at least version 6.31
 2312     of ExtUtils::MakeMaker to support the new standard
 2313     INSTALL_BASE option matching Module::Build usage.
 2314 
 2315   * Prerequisite Text::Balanced minimum version is
 2316     now 1.89 although this is not expected to be an
 2317     issue because it is provided in the perl core
 2318     since 5.8.0.
 2319 
 2320 
 2321 Highlights:
 2322 
 2323  * General cleanup of code, including restructuring for clarity.
 2324  
 2325  * List output from whichND() is now deprecated.  whichND() now returns
 2326    an ndarray of coordinates in all cases with a warning when a list
 2327    context is detected.  See the docs for work-arounds to your code.
 2328  
 2329  * PDL::IO::Misc now has better support for handles that are not
 2330    files (e.g., pipes or standard input) for rgrep(), rcols(),...
 2331  
 2332  * Added bad value support to pctover() and oddpctover().
 2333    This was sf.net feature #3328001.
 2334  
 2335  * New whereND() routine provides the same functionality as where
 2336    but with support for multi-dimensional masks and implicit
 2337    threading over higher dimensions.  This was sf.net feature
 2338    request #3390043.
 2339  
 2340  * Many bugs fixed.
 2341  
 2342      3059083  Problems with FITS header handling
 2343      3080505  PLplot segfaults on plshades call on OS X
 2344      3285520  status message from gslmroot_fsolver
 2345      3294808  sever on Empty ndarray causes segfault
 2346      3295544  NiceSlice parsing bug
 2347      3299611  FITS I/O obscure bug
 2348      3300467  NiceSlice asterisk parsing issue
 2349      3307121  wmpeg sometimes kills perldl if file already exists
 2350      3307613  indexND of Empty pdls can segfault
 2351      3368883  t/opengl.t fails if display type not available
 2352      3375837  _read_flexhdr state machine fails
 2353      3388862  tiny bug in PDL-2.4.3. May apply to 2.4.9
 2354      3391645  bad printf formats in pdlapi.c and others
 2355      3394327  PDL::IO::FITS::wfits corrupting FITS image
 2356      3396738  PDL::Core::convert default return type
 2357      3410905  t/pgplot.t hangs test harness for PDL
 2358      3415115  whereND fails to handle all zero mask case
 2359      3428356  PDL::Transform::map output FITS header is slightly wrong
 2360      3434842  Error in definition of gsl_sf_laguerre_n function
 2361  
 2362  * PDL::Constants now provides: E, PI, I and J and is loaded by the
 2363    default.perldlrc.  It is not yet part of 'use PDL' so you'll need
 2364    to 'use PDL::Constants ...' by hand for now.
 2365  
 2366  * default.perldlrc sets $PDL::IO::FlexRaw::writeflexhdr=1 by
 2367    default so that writeflex() to a filename automatically writes
 2368    the header file.  This is different from the previous behavior
 2369    but it seems to "do what you mean".  Feedback welcome!
 2370  
 2371  * PDL::NiceSlice now has a new engine based on Filter::Simple which
 2372    is smarter about only applying the slicing source filter to syntax
 2373    occurring outside of POD, comments, and quotelike strings.  The
 2374    new implementation is available for *files* by setting the
 2375    PDL_NICESLICE_ENGINE environment variable to 'Filter::Simple'.
 2376  
 2377    Work is underway to port the new niceslice filter implementation
 2378    to perldl/pdl2.  Once this task is completed, the new engine will
 2379    become the default source filter and the PDL_NICESLICE_ENGINE
 2380    environment variable will be removed.
 2381  
 2382  * There is experimental support for PDL::NiceSlice syntax in the
 2383    perl debugger (i.e., perl -d).  Just set the PERL5DB environment
 2384    variable to 'BEGIN { require "PDLdb.pl" }' to use niceslice
 2385    from the debugger command line.  If PERL5DB is already set,
 2386    you'll need to adjust the above recipe accordingly.
 2387  
 2388  * Better handling of build configuration options from perldl.conf
 2389    as well as improvements in the detection of external dependencies.
 2390  
 2391  * perldl.conf has some new fields added:
 2392     - POSIX_THREADS_INC and POSIX_THREADS_LIBS to specify
 2393           locations of your pthread header file and library
 2394     - PDL_CONFIG_VERSION to track the perldl.conf VERSION
 2395     - PDLDOC_IGNORE_AUTOLOADER to control pdldoc behavior
 2396     - PDL_BUILD_DIR provides the build directory path
 2397     - PDL_BUILD_VERSION provides the PDL build version
 2398           (to help with ambiguity from multiple PDL installs)
 2399  
 2400    NOTE: If you are using a private or customized perldl.conf
 2401    file, please be sure to update with these additional fields
 2402    as the perl Makefile.PL doesn't yet detect version skew
 2403    automatically.
 2404   
 2405  * PDL::IO::Browser now builds in many cases (but not all).
 2406    If you try it, please let us know how it goes.  Just edit
 2407    the value of WITH_IO_BROWSER in your perldl.conf before
 2408    configuring the build (i.e., perl Makefile.PL).
 2409  
 2410  * PDL::PP has seen some significant improvements including
 2411    code cleanup, improved documentation, and code refactoring
 2412    for comprehension.  There is a new PDL::PP::pp_line_numbers()
 2413    routine which enables line # traceback for errors and warnings
 2414    from PP code.
 2415  
 2416  * Improved error output from the pdl2 shell via the new
 2417    CleanErrors plugin which filters out the non-PDL part
 2418    of the error output leading to *much* more concise and
 2419    helpful reports.
 2420  
 2421  * The pdl() constructor now accepts a string argument which
 2422    allows for writing pdls using a matlab/octave style
 2423    syntax as well as cutting and pasting from interactive
 2424    session output to create pdls initializations for scripts
 2425    and program files.
 2426    
 2427    The new constructor also allows for inf, nan, and bad to
 2428    generate the appropriate values (case insensitive), e.g.,
 2429  
 2430       $bad = pdl q[1 2 3 bad 5 6];  # Set fourth element to the bad value
 2431       $bad = pdl q[1 2 3 BAD 5 6];  # ditto
 2432       $bad = pdl q[1 2 inf bad 5];  # now third element is IEEE infinite value
 2433       $bad = pdl q[nan 2 inf -inf]; # first value is IEEE nan value
 2434  
 2435    This is new functionality so feedback and problem reports
 2436    are welcome.
 2437  
 2438  * PDL::Image2D has new routines: pnpoly() to determine the points
 2439    in a polygon from the sequence of vertex coordinates, and
 2440    cc4compt() for 4-component labeling of a binary image.
 2441  
 2442  * PDL now supports pdls larger than 2GiB.  The element count
 2443    is still an int type internally so the total number of elements
 2444    per-ndarray must be less than 2**31.
 2445  
 2446  * POSIX threads (pthreads) are supported for win32 and cygwin
 2447    platforms.  Pthreads are now available for all PDL platforms.
 2448  
 2449  * New PDL::ParallelCPU module provides automatic distribution
 2450    of implicit thread loops across a number of processors.  Now
 2451    you can watch your PDL computations maximize the load on
 2452    *all* your processors.  See the docs for how to configure this
 2453    feature and how to adjust your calculations to best take
 2454    advantage of this feature.
 2455  
 2456  * PDL::Graphics::PLplot now works with the latest release of the
 2457    PLplot library and has improved configuration and build
 2458    handling.  Feedback welcome.
 2459  
 2460  * rcols() and wcols() now use the same convention for multi-column
 2461    input and output: dim0 is *always* the data dimension and
 2462    dim1 corresponds to the columns in the file.  This adjustment
 2463    makes them their inverse operations.
 2464  
 2465  * The ADEV calculation in statsover has been corrected along
 2466    with the documentation.
 2467  
 2468  * PDL::Graphics::TriD changes:
 2469     - PDL::Graphics::TriD now builds using the perl OpenGL
 2470           module (POGL) when configured on cygwin with the
 2471           interface=W32API option.  By default, POGL used
 2472           interface=GLX on cygwin which does software rendering
 2473           via Mesa/X11 (slower!).  If you reinstall POGL with
 2474           the W32API setting, you will need to rebuild PDL and
 2475           PDL::Graphics::TriD to pick up the new configuration.
 2476     - A new 4-line graphics demo contributed by Mark Baker has
 2477           been added to 'demo 3dgal'.  Take a look.
 2478  
 2479  * Various enhancements to FITS handling, including:
 2480    - add map() fix for nonlinear FITS headers
 2481    - Enable hdrpcy() in rfits() for Rice-compressed images
 2482  
 2483  * Test suite improvements to provide better diagnostics from
 2484    failures and to make tests more correct avoiding "false fails"
 2485    in the test reports.  Various tests have been migrated to use
 2486    File::Temp::tempdir and File::Temp::tempfile to improve the
 2487    robustness for temporary files and directories naming and
 2488    creation during tests.
 2489  
 2490  * Update ExtUtils::MakeMaker required version to 6.31 to support
 2491    the new standard of INSTALL_BASE to configure for a local
 2492    perl/PDL module installation.
 2493  
 2494  * Update Text::Balanced required version to 1.89.  This is the
 2495    version present in perl 5.8.0 (the minimum required for PDL)
 2496    so this change in requirement is not expected to affect any
 2497    PDL users.
 2498  
 2499  * pdldoc now searches your PDLLIB path for PDL::AutoLoader docs
 2500    in addition to the pre-extracted documentation database.  This
 2501    makes pdldoc give the same output as the help command in the
 2502    PDL shells.
 2503  
 2504  * Many updates and additions to the PDL documentation.
 2505  
 2506  * Devel::CheckLib is being used in more places during the
 2507    PDL configuration stage.  We plan to make this the standard
 2508    baseline for dependency library detection going forwards.
 2509    The included copy of Devel::CheckLib has been updated to 0.95.
 2510  
 2511  * A new unified implementation of barf()/warn() for PDL removes
 2512    code duplication.  barf() is now defined in both PDL::Core and
 2513    the PDL packages.  PDL::cluck is added as an analog of Carp::cluck
 2514    (as PDL::barf is an analog of Carp::confess).  barf() now
 2515    generates its stack trace by hooking into Carp::confess on
 2516    both the Perl and C sides.
 2517  
 2518  * Various fixes for PDL::Transform
 2519    - fix inverse in perspective()
 2520    - fix t_cubic() parameter parsing
 2521    - fix handling of multiple PCi_j systems in the ndarray header
 2522  
 2523  * Added SIGPIPE handlers to cases where PDL uses pipes to/from
 2524    external processes (such as ffmpeg or some NetPBM image
 2525    converter programs).  This should make PDL "SIGPIPE safe" by not
 2526    exiting when a PDL piped IO output process quits (e.g., as when
 2527    called from within the perldl/pdl2 shell).
 2528 
 2529 
 2530 
 2531 v2.4.9 2011-04-09 10:05:43-04:00
 2532 
 2533 General Notes:
 2534 
 2535  * Fixes a couple of surprise bugs that were discovered
 2536    immediately with the PDL-2.4.8 release.
 2537 
 2538  * See Also: the Release Notes for PDL-2.4.8 below
 2539 
 2540 
 2541 Highlights:
 2542 
 2543  * Fix sf.net bug #3267408 "t/slice.t crashes in tests 68-70 for BSD"
 2544  
 2545  * Fix sf.net bug #3190227 "PDL build fails with parallel GNU make -j3 -j3"
 2546 
 2547  * Fixed various tempfile name generation problems by switching
 2548    to File::Temp instead of hand rolled solutions.  This is the
 2549    recommended approach going forward.
 2550 
 2551  * Force Convert::UU usage for BSD to work around a t/dumper.t
 2552    failure on MirBSD.
 2553 
 2554 
 2555 
 2556 v2.4.8 2011-03-29 17:12:41-04:00
 2557 
 2558 General Notes:
 2559 
 2560  * The deprecated Karma imaging library support code
 2561    has been removed from the PDL distribution.
 2562  
 2563  * Perl OpenGL (POGL) is now the only build option for
 2564    3-D graphics support in PDL.  The POGL build has
 2565    proven to be portable and reliable.  This prepares
 2566    TriD graphics development for the next stage of
 2567    re-factoring for support and new features.
 2568  
 2569  * Many improvements to the PDL configuration, build
 2570    and test process make this the most robust PDL yet.
 2571  
 2572  * PDL::IO::FlexRaw now supports automatic header file
 2573    creation when writeflex() is given a filename argument
 2574    for writing.  readflex/writeflex/mapflex now support
 2575    reading and writing ndarrays with bad values in them.
 2576  
 2577  * New PDL::Constants module provides PI and E.
 2578 
 2579  * PDL::Complex now supports in-place operations.
 2580 
 2581  * Added $PDL::toolongtoprint to set the maximum ndarray
 2582    size allowed to print as a string.  This was added
 2583    to the default.perldlrc to make it easier to discover
 2584    by users.
 2585 
 2586  * wmpeg() from PDL::IO::Pic uses the new ffmpeg back-end
 2587    and can create many additional file formats beyond MPEG
 2588    alone, including MP4 and animated GIF.  See the
 2589    documentation for details.
 2590  
 2591  * Lots of improvements to the documentation, overall
 2592    usability and many bugs fixed!
 2593 
 2594 Highlights:
 2595 
 2596  Build and Test Enhancements:
 2597 
 2598  * Karma support code has been *removed* from the PDL
 2599    distribution The last stable PDL distribution with
 2600    Karma code was be PDL-2.4.7.
 2601    
 2602  * You must use the Perl OpenGL module to build the
 2603    PDL 3-D graphics module, PDL::Graphics::TriD.
 2604    OPENGL_LIBS, OPENGL_INC and OPENGL_DEFINE are no
 2605    longer used by perldl.conf for the configuration
 2606    process.
 2607    
 2608  * Added a check for mis-installed PROJ4 libraries.  If
 2609    the library does not initialize (even if present) then
 2610    PDL will not build the PROJ4 modules.  This is sf.net
 2611    feature #3045456.
 2612    
 2613  * GD, HDF, PROJ4, OpenGL, and GSL tests will not be run
 2614    unless the corresponding module was configured to be
 2615    built.  This addresses the possibly mysterious test
 2616    failures caused by previous PDL installations in the
 2617    perl path at build time.
 2618    
 2619  * Use of the Test::More TODO {} blocks allows tests for
 2620    known bugs to be added to the test suite without 
 2621    causing the suite to fail.  This replaces the previous
 2622    SKIP_KNOWN_PROBLEMS option and should better enable
 2623    test first development and debugging.
 2624    
 2625  * utils/perldlpp.pl is a new script for off-line source
 2626    filtering to pre-filter PDL source files with NiceSlice
 2627    constructs.  This allows PDL to use NiceSlice constructs
 2628    in the core functionality while still allowing PDL to
 2629    work in environments where source filters are not supported.
 2630    
 2631  * The 'perl Makefile.PL' response to detecting another PDL
 2632    in the build path has changed.  If such a pre-existing PDL
 2633    installation is detected, the user is warned *but*
 2634    configuration and build will proceed nonetheless.
 2635    
 2636  * Clean-up and fixes to demos and tests for reliability and
 2637    portability.
 2638 
 2639  Documentation:
 2640 
 2641  * Added INTERNATIONALIZATION file with i18n notes.  PDL
 2642    does yet not have internationalization support beyond
 2643    that provided  by perl itself.
 2644    
 2645  * Cleared up the documentation on when to use lu_decomp
 2646    and versus lu_decomp2.  Now that lu_decomp is threaded,
 2647    it is the preferred implementation.
 2648    
 2649  * wmpeg() with the ffmpeg converter supports generation of
 2650    many different output video file formats including MPEG,
 2651    MP4, and animated GIF.  Documentation on these uses were
 2652    added.
 2653 
 2654  * New example code refresh.pdl in Example/PLplot to
 2655    provide for PLplot, some of the same functionality
 2656    as in PDL::Graphics::PGPLOT.
 2657    
 2658  * Other documentation updates for clarity and correctness.
 2659 
 2660  New Features or Functionality:
 2661 
 2662  * New PDL::Constants module providing PI and E (so far)
 2663    
 2664  * Inplace support added for PDL::Complex operations
 2665    
 2666  * pdldoc and the pdl2/perldl help commands now print all
 2667    matches by default when multiple matches are found.
 2668 
 2669  * A do_print command was added to the pdl2 shell which
 2670    toggles the input mode between printing and not
 2671    printing the return value of each command.
 2672    
 2673  * readflex/writeflex/mapflex now support reading and writing  
 2674    ndarrays with bad values in them. This was sf.net feature
 2675    request #3028127, "add badvalue support to FlexRaw".
 2676    
 2677  * writeflex now supports automatically calling the
 2678    writeflexhdr() routine if you have set the variable
 2679    $PDL::FlexRaw::writeflexhdr to a true value and are
 2680    writing to a file given by filename as argument.
 2681    
 2682  * Updated the error handling for GSL::INTERP to match other
 2683    GSL module usages.
 2684    
 2685  * Applied sf.net patch #3209075 IO::HDF square sds
 2686    
 2687  * New binary blob support in PDL::IO::GD::OO
 2688 
 2689  Bugs Fixed:
 2690 
 2691  * Applied Christian Soeller's patch for FFTW on 64-bit
 2692    systems.  This resolves bug #3203480 "t/fftw.t fails
 2693    on 64-bit systems".
 2694    
 2695  * Fixed sf.net bug #3172882 re broken threading in inv().
 2696    inv() and lu_backsub() now handle threading.  Updated
 2697    documentation for lu_decomp, lu_deomp2, and lu_backsub.
 2698    
 2699  * Fixed sf.net bug #3171702 "missing podselect command
 2700    breaks PDL build"
 2701    
 2702  * Fixed sf.net bug #3185864 (bad adev in statsover)
 2703    
 2704  * Fixed sf.net bug #3139697: fixed imag2d() to work better
 2705    with Mac OS X GLUT and not just FreeGLUT.
 2706    
 2707  * Fixed uniqind bug #3076570
 2708    
 2709  * Fixed SF bug #3057542: wmpeg doesn't error on missing
 2710    ffmpeg program.  Now wmpeg returns 1 on success and
 2711    undef on error.  If ffmpeg is not in PATH, it just fails
 2712    immediately....
 2713    
 2714  * Fixed SF bug #3056142: pdl2 fallback to perldl broken
 2715    on win32
 2716    
 2717  * Fixed SF bug #3042201: t/dumper.t fails mysteriously
 2718    
 2719  * Fixed SF bug #3031068: PDL::IO::FlexRaw mapflex memory
 2720    mapping fails
 2721    
 2722  * Fixed SF bug #3011879, "pdl() constructor crashes perl for
 2723    mixed ref/ndarray args" and #3080505, and #3139088.  This
 2724    fix also includes a larger and more complete set of tests.
 2725    
 2726  * Fixed segfault in plplot.t with a work-around.
 2727    
 2728  * Fixed bug in readenvi.pdl header list value processing
 2729    and added support for embedded file headers.
 2730    
 2731  * Fixed bug in FlexRaw.pm support for headers with Type
 2732    passed  as string.
 2733    
 2734  * Fixed imag2d() in PDL::Graphics2D.  It no longer calls
 2735    exit on ESC if run within the pdl2/perldl shell.  Also
 2736    did some clean up of key controls and module mechanics.
 2737    
 2738  * Fixed upstream bug in Devel::REPL for MultiLine
 2739    continuation.  Now incomplete q[] and qq[] constructs
 2740    continue reading until properly closed.  See the
 2741    Known_problems file for details.
 2742 
 2743 
 2744     
 2745 v2.4.7 2010-08-18 20:55:52-04:00
 2746 
 2747 General Notes:
 2748 
 2749  * New requirements:
 2750    - perl version 5.8.x and higher
 2751    - Convert::UU
 2752  
 2753  * PDL::Graphics::TriD now requires OpenGL-0.63
 2754  
 2755  * New 2-D image display routine: imag2d()
 2756 
 2757  * pdl() constructor, a.k.a. PDL->new(), now
 2758    takes string arguments with either MATLAB type
 2759    concatenation syntax or PDL print output (for
 2760    easier cut-and-paste from PDL shell sessions).
 2761 
 2762  * Improved text and comma separated value file
 2763    input via rcols(): faster and more flexible.
 2764  
 2765  * A new PDL shell based on Devel::REPL (i.e.,
 2766    Moose technology).  The new shell supports
 2767    more perl syntax (lexical variables and
 2768    packages), is more extensible (via a system
 2769    of plugins), and supports many forms of file
 2770    and variable completion.
 2771    
 2772    Install Devel::REPL and give it a try!
 2773    User feedback welcome.
 2774 
 2775  * More portability (builds on more platforms
 2776    with more features than ever).
 2777 
 2778  * Many bugs fixed...
 2779 
 2780 
 2781 Highlights:
 2782 
 2783  * General
 2784 
 2785    OpenGL-0.63 is required for PDL::Graphics::TriD.
 2786 
 2787    Convert::UU is required for PDL.
 2788 
 2789    Karma is DEPRECATED and NOT SUPPORTED.  Set
 2790    USE_KARMA=>1 in perldl.conf to force a build.
 2791    
 2792    
 2793  * New 2D Image Display Feature: imag2d()
 2794 
 2795    See PDL::Graphics2D for documentation.
 2796 
 2797    Add image pixel value display on mouse
 2798    click in imag2d window
 2799    
 2800    Add keyboard command shortcuts for imag2d
 2801    (with placeholders)
 2802 
 2803    Fix a number of imag2d() usabiilty bugs
 2804    
 2805    
 2806  * pdl() Constructor Can Take String Input
 2807 
 2808    Allows use of MATLAB-style [ ; ] syntax
 2809 
 2810    Allows cut-and-paste of printed pdl values
 2811    as input args for pdl()
 2812    
 2813    
 2814  * rcols/wcols Improvements
 2815 
 2816    Much faster read times
 2817 
 2818    Multiple columns can read into a single
 2819    pdl varible
 2820 
 2821    Symmetric handling of perl and pdl
 2822    column data
 2823 
 2824    Improved format support for CSV file input
 2825    
 2826    
 2827  * Enhanced PDL Shell (Version 2)
 2828 
 2829    Based on Devel::REPL which must be installed
 2830    along with either Term::ReadLine::Perl or
 2831    Term::ReadLine::Gnu to use the pdl2 features.
 2832 
 2833    Supports Term::ReadLine::Perl and Term::ReadLine::Gnu.
 2834 
 2835    Upward compatable with the original PDL shell, perldl.
 2836 
 2837    Adds completion and command line editing support
 2838    across all PDL platforms.
 2839 
 2840    Adds support for current package and lexical variables.
 2841 
 2842    Toggle default print output via the do_print attribute.
 2843 
 2844    Default prompt for perldl and pdl2 is now 'pdl> '
 2845 
 2846    help vars now shows results alphabetically
 2847 
 2848    pdl2 now runs (falls back to) perldl if Devel::REPL
 2849    is not installed or if Term::ReadLine::(Perl|Gnu) is
 2850    not installed.
 2851    
 2852    
 2853  * Other Features
 2854 
 2855    Fix wmpeg() to use ffmpeg to generate the
 2856    video (sf.net feature request #3010984).
 2857 
 2858    Added tiled compressed image handling to rfits
 2859 
 2860    Faster matrix multiply
 2861 
 2862    Preliminary support for ENVI file format data
 2863    in PDL/IO/ENVI/readenvi.pdl
 2864    
 2865    
 2866  * Build Improvements:
 2867 
 2868    PDL build process now detects multiple PDL installs
 2869    and warns of possible conflicts.
 2870 
 2871    'use PDL' now loads PDL::Config by default.
 2872 
 2873    PDL "as built" configuration is now saved to %PDL::Config
 2874 
 2875    Changes file is automatically updated each release
 2876 
 2877    Add SKIP_KNOWN_PROBLEMS support for build
 2878 
 2879    Add checks to prevent warnings from access to $HOME
 2880    when it is not defined.
 2881    
 2882    
 2883  * Portability Fixes
 2884 
 2885    Multiple build improvements for debian platforms
 2886 
 2887    Improved portability across perl and compiler versions
 2888 
 2889    Reduced number of fortran dependencies
 2890 
 2891    Improved support for win32 platforms
 2892    - PDL::GIS::Proj builds for win32
 2893    - PDL::Transform::Proj4 builds for win32
 2894    - PDL::Graphics::PLplot builds for win32
 2895    - PDL::IO::Dumper builds for win32
 2896    
 2897    
 2898  * 3-D Graphics
 2899 
 2900    Improved PDL::Graphics::TriD demos and examples
 2901 
 2902    Fixed problems with VRML support for many platforms.
 2903 
 2904    Better dependency searches for OpenGL during PDL build
 2905 
 2906    Removed warnings "noise" when used with perl -w
 2907 
 2908    New spheres3d routine added to PDL::Graphics::TriD
 2909    
 2910    
 2911  * Bugs Fixed
 2912 
 2913    Fix PDL::AutoLoader to handle win32 PDLLIB path
 2914    syntax with ; as separator. 
 2915 
 2916    Fix PDL::Complex::string and sum and sumover
 2917    (sf.net bug #1176614)
 2918 
 2919    Fix PDL::Config does not match actual build
 2920    configuration (sf.net bug #3030998).
 2921 
 2922    Fix dimension numbering in PDL::Transform::t_fits
 2923 
 2924    Fix jpegtopnm problem in proj_transform.t
 2925 
 2926    Fix rt.cpan.org bug #53815 in IO/HDF/SD/SD.pd
 2927 
 2928    Fix rt.cpan.org bug #59126 in isempty pod
 2929 
 2930    Fix sf.net bug #2901170 re overly verbose warnings when
 2931    running TriD with perl -w
 2932 
 2933    Fix sf.net bug #3011143 re whitespace in perl path
 2934 
 2935    Fix sf.net bug #3021578 re missing xtra dummy dims
 2936 
 2937    Fix threading with lu_decomp and lu_backsub
 2938    (sf.net bug #3021567)
 2939 
 2940    Fix uniq and uniqind NaN and BAD value handling
 2941    (sf.net bug #3011659)
 2942 
 2943    Fix uniqvec bug where it did not return a 2-D result
 2944    (sf.net bug #2978576)
 2945 
 2946    Fix uuencode/uudecode detection logic in PDL::IO::Dumper
 2947    to include Convert::UU check
 2948 
 2949    Make PDL prompt/warn if space in build path
 2950    (sf.net bug #2924854).
 2951 
 2952    Fix up code to not crash on non-lazy linking systems.
 2953 
 2954    Work arounds for perl-d lvalue temp bug introduced
 2955    in recent perls.
 2956 
 2957    t/lvalue.t is skipped if run under the debugger. 
 2958 
 2959    Fix format string attack errors in GSL, PGPLOT,
 2960    and Transform.
 2961    
 2962    
 2963  * Many Documentation Improvements
 2964 
 2965    Completely reworked PDL web site
 2966    - Clearer and more helpful to new PDL users.
 2967    - See http://pdl.perl.org for the latest!
 2968       
 2969    New documentation:
 2970    - Migration guide for MATLAB users.
 2971    - Migration guide for Scilab users.
 2972    - Threading tutorial.
 2973 
 2974    Major reorganization of documentation to better
 2975    help new users
 2976    - A guide to PDL's tutorial documentation.
 2977    - A guide to PDL's module reference documentation.
 2978    - A study course through all of PDL's documentation.
 2979    - Removed PDL::Intro
 2980 
 2981    POD cleanup across many PDL modules and functions.
 2982 
 2983    Update to copyright statements throughout PDL
 2984    to clarify licenses.
 2985 
 2986    Improved on-line help and apropos features in
 2987    the PDL shell
 2988 
 2989    Updated FAQ
 2990 
 2991    Improved POD to HTML translation
 2992 
 2993    DEPENDENCIES for PDL updated and checked
 2994    for applicability.
 2995 
 2996    INSTALL guides improved in the distribution
 2997    and on the web site.
 2998 
 2999 
 3000 
 3001 v2.4.6 2009-12-31 23:06:11-05:00
 3002 
 3003 General Notes:
 3004 
 3005  * Mainly a bug fix and polishing release
 3006 
 3007 
 3008 Highlights:
 3009 
 3010   * Improved 3D graphics and OpenGL functionality
 3011 
 3012   * imag2d() routine for multi-image (photo) display
 3013 
 3014   * Many fixes for Debian package release
 3015 
 3016   * Several little bugs fixed since PDL-2.4.5
 3017 
 3018   * Fixed some issues with PDL convolution routines
 3019 
 3020   * Improved documentation and release notes and files
 3021 
 3022   * Padre and enhanced perldl shell integration begun
 3023 
 3024 
 3025 Summary of Changes:
 3026 
 3027   * Improved 3D graphics and OpenGL functionality
 3028 
 3029     Perl OpenGL 0.62 is the minimum required version
 3030     for PDL::Graphics::TriD to build.
 3031 
 3032     TriD now builds correctly for Mac OS X systems
 3033     without X11 installed.
 3034 
 3035     Autoprobe for build of 3D graphics and the use
 3036     of the Perl OpenGL library has been implemented.
 3037     The default perldl.conf setting is to check.
 3038 
 3039     Improved multi-window support for PDL::Graphics::TriD
 3040     display windows: the GLUT window ID is now part of
 3041     the default window title for convenience, and redraws
 3042     with multiple open TriD windows are handled correctly.
 3043     
 3044   * imag2d() routine for multi-image (photo) display
 3045 
 3046     REQUIRES: The Perl OpenGL TriD interface and FreeGLUT.
 3047 
 3048     IMPORTANT: Legacy X11 TriD is *not* supported!
 3049 
 3050     It is implemented in the imag2d.pdl file for autoloading
 3051     via PDL::AutoLoader.  To use, copy the imag2d.pdl file
 3052     to somewhere in your PDLLIB path or add the location to
 3053     your PDLLIB environment variable.
 3054 
 3055     It works with multiple, simultaneous, image windows
 3056     and appears to work side-by-side with TriD graphics
 3057     windows.
 3058     
 3059     After you have imag2d.pdl in your @PDLLIB list,
 3060     you can use 'help imag2d' to get usage instructions
 3061     and documentation.
 3062     
 3063     This implements the basic functionality planned regarding
 3064     an improved imagrgb() routine.
 3065 
 3066   * Many fixes for Debian package release
 3067 
 3068     This should allow PDL-2.4.6 to be more readily released
 3069     as a Debian packages.  The general clean up involved
 3070     improves PDL portability and robustness generally.
 3071 
 3072   * Several little bugs fixed since PDL-2.4.5
 3073 
 3074     The number of history lines when you use Term::ReadLine::Perl
 3075     with perldl are now set correctly to $PERLDL::HISTFILESIZE.
 3076     The default value is 500.
 3077 
 3078     A number of minor internal fixes for portability and
 3079     implementation improvements:
 3080 
 3081      - Add comment re fix for defined(%hash) usage
 3082      - Fix annoying PGPLOT::HANDLE warning message
 3083      - Replace GIMME by GIMME_V in Core.xs
 3084      - Update to v3.14 of ppport.h portability
 3085 
 3086     Fixed MINUIT build problem where non-standard code was
 3087     being generated which caused problems with rigorous compiler
 3088     settings.  This was SF bug #2524068.
 3089 
 3090   * Fixed a number of issues with PDL convolution routines
 3091 
 3092     conv1d() algorithm adjusted to match conv2D() and convolutionND().
 3093     Documentation on the exact computation being performed in conv1d()
 3094     was added.
 3095 
 3096     Fixes bug #2630369 with fftconvolve().  It now gives the same results
 3097     as conv1d(), conv2d(),.., except perhaps with respect to the boundary
 3098     condition handling.
 3099 
 3100   * Improved documentation and release notes and files
 3101 
 3102     Updated PDL::FAQ.
 3103 
 3104     Lots of little changes to bring documentation in line
 3105     with current PDL functionality.  Volunteer editors and
 3106     contributors always welcome!
 3107 
 3108   * Padre and enhanced perldl shell integration begun
 3109 
 3110     There is a new PDL-2.4.6/Padre/ subdirectory in the PDL
 3111     source tree which contains work towards Padre integration
 3112     and a 2nd generation, enhanced perldl shell for PDL.
 3113 
 3114     E.g. an *experimental* plug-in giving PDL::NiceSlice support
 3115     to the Devel::REPL shell is included.  See the Padre/README
 3116     file for instructions to get you started.
 3117 
 3118 
 3119 
 3120 v2.4.5 2009-10-24 11:56:23-04:00
 3121 
 3122 Highlights:
 3123 
 3124   * 3D graphics modules now run on win32 and Mac OS X
 3125     systems without requiring X11 be installed.  The
 3126     only prerequisites are OpenGL and FreeGLUT/GLUT.
 3127 
 3128   * Release documentation and FAQ have been updated
 3129     to be more useful (and more accurate).
 3130 
 3131   * PDL build, test, and run time diagnostic messages
 3132     have been make clearer and more helpful.
 3133 
 3134   * Many bugs have been fixed since PDL-2.4.4 so this
 3135     is the most reliable PDL ever.
 3136 
 3137   * PDL now requires perl 5.6.2 or greater and has
 3138     updated DEPENDENCIES information and code.  This
 3139     should improve the buildability of PDL
 3140 
 3141 
 3142 General Notes:
 3143 
 3144   This is the first PDL release supporting the new build
 3145   strategy for the PDL::Graphics::TriD modules.  The result
 3146   is it now builds on more platforms than ever.  You'll
 3147   need to install the OpenGL module and have FreeGLUT or
 3148   GLUT (for Mac OS X) on your system.
 3149 
 3150   If you have problems with the new TriD build (that you
 3151   did not have before), edit perldl.conf and set USE_POGL
 3152   to 0.  That should enable you to build the legacy TriD
 3153   code but you *will* want to submit a bug report, see the
 3154   next point....
 3155 
 3156   IMPORTANT: Given the increased portability and generality
 3157   of the new TriD interface approach, it is expected that
 3158   the legacy TriD build interface (based on X11) will be
 3159   deprecated soon (almost immediately) and removed after that.
 3160   (N.B. It has been effectively unsupported for some time)
 3161 
 3162   If you are new to PDL, we recommend joining the perldl
 3163   mailing list for discussion and questions.  See
 3164 
 3165     http://pdl.perl.org/?page=mailing-lists
 3166 
 3167   for how to sign up and links and searches of the list
 3168   archive discussions.
 3169 
 3170 
 3171 Summary of Changes:
 3172   
 3173   New perldl.conf configuration parameters controlling
 3174   build of TriD with perl OpenGL (a.k.a. POGL) with the
 3175   follow default values:
 3176 
 3177     USE_POGL:
 3178           1 -- build using POGL
 3179           0 -- build using legacy build process
 3180       undef -- build with POGL if possible
 3181 
 3182     POGL_VERSION:
 3183        0.60 -- minimum required version of OpenGL
 3184 
 3185     POGL_WINDOW_TYPE:
 3186      'glut' -- use a GLUT GUI for window creation
 3187       'x11' -- use GLX and X11 for the GUI (this is a "compatibility
 3188                mode" to support PDL::Graphics::TriD::Tk widgets)
 3189 
 3190   NOTE: Set WITH_3D => 0 in perldl.conf to disable the
 3191   TriD build completely.  Just setting USE_POGL => 0 is
 3192   not enough.
 3193   
 3194   The OpenGL tests in t/opengl.t now respects the interactive
 3195   setting from the PDL_INT environment variable.
 3196 
 3197   Two TriD check programs, 3dtest.pl and line3d.pl, are added to the
 3198   main PDL build directory.  They can be run as quick checks of the
 3199   new functionality and are short enough run under the perl debugger
 3200   if needed. e.g.
 3201 
 3202      perl -Mblib 3dtest.pl OR perl -Mblib line3d.pl
 3203 
 3204 
 3205   OpenGL (a.k.a. GL) is the default TriD output device on all
 3206   platforms.  VRML does not work at the moment.  GLpic is not
 3207   tested but may work.
 3208 
 3209   Closed SF bug #1476324 by adding FAQ entry on clean installs
 3210 
 3211   Fix qsorti(null()) crash bug from SF bug #2110074.  Make
 3212   qsorti() return quietly when given a null() ndarray input
 3213 
 3214   Fix broken PP typemap finding code, thanks to CS for the
 3215   final code and many testers!
 3216   
 3217   Fix t/autoload.t tilde expansion bugs and test failures.
 3218   tilde expansion seems to work consistently with bash now
 3219 
 3220   Partial fix implemented for PDL::IO::Browser.  The code has
 3221   only been tested with cygwin but it should work on systems
 3222   with ncurses in the "right place".  This is **not tested**
 3223   but set WITH_IO_BROWSER => 1 if you wish to try.
 3224 
 3225   If the perldl shell is unable to load PDL for some reason
 3226   and defaults to basic perl support, the prompt now changes
 3227   to perl> reflecting that fact.
 3228 
 3229   readflex() now works with File::LinearRaid.
 3230 
 3231   Many win32 fixes to tests and build process which make
 3232   things work more smoothly on win32 platforms.
 3233 
 3234   See the Changes file or run 'git log --stat' for the detailed
 3235   list of changes.
 3236   
 3237 
 3238 
 3239 v2.4.4 2008-11-12 19:16:53-10:00
 3240 
 3241 General Notes:
 3242 
 3243      - Bad value support is now enabled by default for
 3244        PDL builds.  This feature allows simpler handling
 3245        of missing or invalid data during processing.
 3246 
 3247        For example, missing pixels could be interpolated
 3248        across.  Calculations could be skipped for
 3249        missing data points...
 3250        
 3251        Edit the perldl.conf file to turn off bad value
 3252        support before compiling if needed.
 3253 
 3254      - This release includes significant improvments
 3255        in portability, enhancements in functionality,
 3256        and *many* bugs fixed.
 3257 
 3258      - PDL::Graphics::TriD modules for 3-D and image
 3259        visualization are being refactored for improved
 3260        portability and performance.  Preliminary hooks
 3261        are in PDL-2.4.4 to support the new functionality.
 3262        
 3263        Announcements to the perldl mailing list will be
 3264        made when the PDL::Graphics::OpenGL::Perl and
 3265        Term::ReadLine::FreeGLUT suport is on CPAN.
 3266 
 3267      - Builds out-of-the-box on cygwin and win32
 3268      
 3269      - perl 5.6.x is explicitly required to configure and
 3270        will go away in future versions.  5.8.x and above
 3271        are the recommended versions
 3272 
 3273 
 3274 Summary of Changes:
 3275 
 3276      - Improve uuencode support in Dumper for additional OSes
 3277        such as *BSD varieties that may need additional options
 3278        to prevent stripping of the leading slash in pathnames
 3279        including: darwin, netbsd, openbsd, freebsd, and dragonfly.
 3280       
 3281      - Updated more PDL tests to use the recommended Test::More
 3282       
 3283      - Updated PDL::Graphics::PLplot build support for more 5.9.0
 3284        specific features
 3285       
 3286      - AutoLoader ~ expansion has been updated to conform more
 3287        closely to the ~ expansion in the bash shell
 3288       
 3289      - Better checks for a valid PROJ4 build environment are now
 3290        performed before attempting to compile PDL modules using it
 3291       
 3292      - PDL now builds and runs on perl-5.10.x
 3293       
 3294      - The perldl shell has added support for using FreeGLUT for
 3295        display in analogy with the existing Tk event loop support.
 3296        This enables refactoring of the TriD modules to use the
 3297        Perl OpenGL module (a.k.a. POGL) instead of the internal,
 3298        and deprecated, PDL::Graphics::OpenGL et. al.
 3299       
 3300      - The perldl acquire/filter/execute loop is now $_-safe by
 3301        using $lines instead of $_ for all the central modifications.
 3302        Avoids problems with some AUTOLOAD functions that leaked $_.
 3303       
 3304      - Removed ExtUtils::F77 from the required prerequisites for
 3305        PDL to improve the buildability on platforms without an
 3306        available fortran compiler.  If you have a fortran compiler
 3307        and EU::F77 installed, PDL::Slatec will be built.
 3308       
 3309      - zeros function added as an alias for the zeroes function
 3310          
 3311      - Many warning messages that were not actually problems have
 3312        been quieted, especially many pointer to int conversion messages
 3313       
 3314      - Added $PERLDL::HISTFILESIZE to allow configuration of the number
 3315        of lines of history to be saved by the interactive PDL shell.
 3316       
 3317      - Fixed implementation of the pctover() function to address bug
 3318        #2019651 on sf.net.  Added explicit documentation in the code
 3319        on the algorithm being used.
 3320       
 3321      - Various updates to the PDL FAQ
 3322       
 3323      - Implemented a PDL interface to the Minuit minimization library
 3324        from CERN
 3325       
 3326      - Removed circular dependency in PDL Makefile.PL Makefile generation
 3327        process which caused builds with some versions of make to fail
 3328       
 3329      - Multiple fixes to enhance configuration and build for win32
 3330      
 3331      - Added basic table-inversion to t_lookup for PDL::Transform
 3332       
 3333      - Fixed problem in uniqvec() where it failed to generate a correct
 3334        result if all the input vectors were the same, fixed bug #1869760
 3335       
 3336      - Add improved 16-bit image support for IO with rpic() and wpic()
 3337        provided you have a recent version of the NetPBM library that
 3338        supports 16-bit images
 3339       
 3340      - Enabled building of GSL on Win32.
 3341     
 3342 
 3343 
 3344 v2.4.3 2006-08-20 06:07:30-10:00
 3345 
 3346 General Notes:
 3347 
 3348      - again, mainly a bugfix and polishing release.
 3349 
 3350      - builds out-of-the-box on cygwin and win32 build environment
 3351        has been significantly improved
 3352      
 3353      - perl 5.6.x is now deprecated; 5.8.x is recommended.  Support
 3354        for 5.6.x may go away in future versions.  
 3355 
 3356 
 3357 Summary of Changes:
 3358 
 3359      - PDL now builds under cygwin on windows PC including
 3360        TriD(OpenGL) 3D graphics and PGPLOT and PLplot 2D graphics
 3361        support. See PDL/cygwin/ and files README and INSTALL for
 3362        details and how to build/install external dependencies.
 3363      
 3364      - The win32 build has been improved.  See PDL/win32/INSTALL
 3365        for details.
 3366      
 3367      - Many fixes from the Debian build patches have been
 3368        incorporated.  See PDL/debian for specifics.
 3369      
 3370      - 64bit platform build has been improved.
 3371      
 3372      - New functionality, functions and modules:
 3373          
 3374          * Bad value support has been extended to per-PDL bad
 3375            values as an experimental feature. To use, configure
 3376            WITH_BADVAL => 1 and BADVAL_PER_PDL => 1 in perldl.conf
 3377            before building.
 3378 
 3379          * PDL::GSL::INTEG now supports the calculation of
 3380            nested integrals
 3381 
 3382          * New function tcircle (threaded circle) added to 
 3383            PDL::Graphics::PGPLOT This draws multiple circles in
 3384            one go (see also tpoints and tline)
 3385 
 3386          * Added set operation routines for pdls treated as sets
 3387            (help setops).
 3388 
 3389          * PDL::IO::GD module interface to the GD runtime image
 3390            libaray (http://www.boutell.com/gd/) has been integrated.
 3391 
 3392          * The PDL::GIS::Proj and PDL::Transform::Proj4 modules
 3393            to interface to the PROJ4 Cartographic Projections
 3394            Library (http://proj.maptools.org/) have been added.
 3395 
 3396          * PDL::IO::HDF provides an interface to the HDF4
 3397            library (http://hdf.ncsa.uiuc.edu/).
 3398      
 3399      
 3400      - The PDL test suite (i.e. tests in in PDL/t) has been
 3401        enhanced. Coverage has improved and output diagnostic
 3402        messages are more useful. Test::More is becoming the
 3403        preferred test module. The vanilla Test and Test::Simple
 3404        may be deprecated in the future.
 3405 
 3406      - PDL core code has been fixed to address valgrind-detected
 3407        errors and to enable better bad value support including the
 3408        new experimental per-PDL bad values. These changes will
 3409        require a re-build/install of any external modules using
 3410        the C interface of PDL. See perldl.conf to configure the
 3411        new bad value support.
 3412 
 3413      - Several TriD graphics build problems have been resolved.
 3414        The TriD rotation bug has been fixed.
 3415 
 3416      - Many other bug fixes too numerous to mention. See the
 3417        PDL/Changes file for details.
 3418 
 3419      - Multiple fixes and additions to PDL documentation as well
 3420        as the PDL::FAQ.
 3421 
 3422 
 3423 
 3424 v2.4.2 2004-12-28 09:19:30-10:00
 3425 
 3426 General Notes:
 3427 
 3428      - again, mainly a bugfix and polishing release.
 3429      
 3430      - perl 5.6.x is now deprecated; 5.8.x is recommended.  Support
 3431        for 5.6.x may go away in future versions.  
 3432 
 3433      - a little too late for Christmas; but happy new year 2005!
 3434 
 3435 
 3436 Summary of Changes:
 3437 
 3438  - Overhaul of FITS I/O.  FITS binary tables are now supported,
 3439    for both reading and writing.
 3440 
 3441  - Many improvements to PLplot handling
 3442 
 3443  - New Graphics::Limits package determines display range for multiple 
 3444    concurrent data sets
 3445 
 3446  - Better PDL::reduce function
 3447 
 3448  - Improvements to PDL::Transform
 3449 
 3450  - pdl() constructor is more permissive -- you can feed it PDLs and 
 3451   it does the Right Thing most of the time.
 3452 
 3453  - Cleaner handling of config files
 3454 
 3455  - Improvements to multi-line parsing in the perldl shell
 3456 
 3457  - New 'pdl' command-line entry to perldl shell allows #!-style
 3458    scripting (so you can re-use your journal files verbatim)
 3459 
 3460  - Several fixes for Microsoft Windows operation
 3461 
 3462  - PDL::undefval works properly, also has warning tripwires
 3463 
 3464  - statsover finally seems to produce meaningful, consistent RMS values
 3465 
 3466  - Several 64-bit compatibility issues (this work is probably not yet
 3467   complete).
 3468 
 3469 - Many small bug-fixes too numerous to list (see the Changes file).
 3470 
 3471 
 3472 
 3473 
 3474 v2.4.1 2004-01-05 12:27:18-10:00
 3475 
 3476 General Notes:
 3477 
 3478      - mainly a bugfix and polishing release
 3479 
 3480 
 3481 Summary of Changes:
 3482 
 3483      - Fixed warnings with perl 5.8.2
 3484 
 3485      - Replace original m51.fits with freely distributable image
 3486 
 3487      - Upgrade PLplot interface for plplot-5.2.1 and perl 5.8.2
 3488 
 3489      - Improvement to documentation of autoloaded routines
 3490 
 3491      - Added more universal `whatis' function to perldl
 3492 
 3493      - Numerous small fixes/additions to docs/functions
 3494 
 3495      - Improved handling of empty ndarrays
 3496 
 3497      - Fixed most reported bugs
 3498 
 3499 
 3500 v2.4.0 2003-05-22 12:09:26-10:00
 3501 
 3502 General Notes:
 3503 
 3504      - Perl 5.6.0 or later is now required, along with the modules
 3505        Filter and Text::Balanced.
 3506 
 3507      - After installing PDL 2.4.0 external PDL modules will need to re-built.
 3508        (any such modules will refuse to load until they have been re-built)
 3509        
 3510      - New demos of the PDL::Transform and PDL::Transform::Cartography
 3511         modules have been added to perldl.
 3512        Type 'demo transform' or 'demo cartography' in the perldl shell. 
 3513         ( Note that PGPLOT is required to run )
 3514 
 3515 Summary of Changes:
 3516 
 3517      - The NiceSlice syntax comes of age
 3518        (Nice slicing has been around a while, but really needs to be 
 3519         acknowledged as the main way of slicing PDLs...)
 3520 
 3521      - New GSL functionality: greatly improved access to the Gnu Scientific
 3522        Library, including interpolation, finite-difference, random
 3523        variable, and other routines.
 3524 
 3525      - New, very powerful indexing and slicing operators allow boundary 
 3526           conditions   (range, indexND)
 3527 
 3528      - N-dimensional indexing (indexND) and selection (whichND) methods
 3529 
 3530      - Powerful syntax for coordinate transformation and arbitrary image
 3531        resampling and coordinate transformations -- including high powered
 3532        spatially-variable filtering (PDL::Transform module)
 3533 
 3534      - Support for major cartographic transformations
 3535        (PDL::Transform::Cartography module)
 3536 
 3537      - New PLPlot graphics interface ( cleaner and faster than PGPLOT )
 3538 
 3539      - Many improvements to the PGPlot interface:
 3540        * Strong FITS support (easy display of images, vectors, & contours in
 3541             science coordinates)
 3542        * Better vector graphic support [including improvements to line() and
 3543          a new routine, lines()]
 3544        * Much cleanup of errors and bugs
 3545        * Spinlocks prevent interrupt-related PGPLOT crashes (requires Perl 5.8)
 3546        * RGB output to truecolor devices (requires PGPLOT-5.3devel)
 3547 
 3548      - Improvements to the perldl shell:
 3549        * Many bug fixes
 3550        * Multi-line inputs to the perldl shell for easier cut-n-paste
 3551        * ^D blocking on demand (controlled by perl variable or command-line 
 3552           switch)
 3553        * Autoloading detects error conditions on compile
 3554        * New demos
 3555 
 3556     - Header copying is now explicit rather than by reference -- so that,
 3557       e.g., FITS file manipulation is more intuitive and natural.
 3558 
 3559     - Improved support for Astro::FITS::Header
 3560 
 3561     - Bad value support is improved
 3562 
 3563     - Several new utility routines, including glue(), zcheck(), and ndcoords().
 3564 
 3565     - Better matrix operation support: matrix operations are now in 
 3566         PDL::MatrixOps, and are all threadable.  Singular value decomposition,
 3567         determinant, linear equation solving, matrix inversion, 
 3568         eigenvalue decomposition, and LU-decomposition.
 3569 
 3570 v2.3.4 2002-09-23 15:50:06-10:00
 3571 
 3572      - Now should compile using perl 5.8.0
 3573      - Improved speed for generating PDL's from a perl array ref
 3574      - Added PDL::IO::Storable, which enables PDL storage/retrieval
 3575        using the Storable package.
 3576      - Added  PDL::GSL::SF (Gnu Scientific Library, Special Functions) hierarchy
 3577      - New % operator follows (mathematically correct) perl % operator behavior
 3578      - Numerous Bug Fixes
 3579         
 3580   See the Changes file for a detailed list of changes.
 3581 
 3582 v2.3.3 2002-05-22 03:16:29-10:00
 3583   
 3584   Mainly a bugfix release with some nice little additions:
 3585      - PDL::IO::Dumper: Cleanly save and restore complex
 3586         data structures including PDLs.  
 3587      - Support for the new Astro::FITS::Header module
 3588        (availiable on CPAN).
 3589         
 3590   See the Changes file for a detailed list of changes.
 3591 
 3592 v2.3.2 2001-12-18 22:20:31-10:00
 3593 
 3594   - A pure bugfix release to fix compilation problems with gimp-perl
 3595     (part of the gimp distribution). The following notes from
 3596     2.3 and 2.3.1 still apply:
 3597 
 3598 v2.3.1 2001-11-21 14:38:32-10:00
 3599 
 3600   - A bugfix release to fix some compilation problems seen with
 3601     2.3. The following notes from 2.3 still apply:
 3602 
 3603 v2.3 2001-11-16 05:12:41-10:00
 3604  
 3605  Summary of Changes
 3606    - A nicer slicing syntax for PDL added via the new 
 3607      PDL::NiceSlice module.
 3608    - Inline::Pdlpp module added, which enables in-line
 3609      PDL::PP definitions. (i.e. no Makefiles, building
 3610       hassles for creating PP code)
 3611    - A Multitude of bug fixes, doc updates, and other
 3612      changes.
 3613      
 3614   Note:Support for perl version 5.005 and previous is 
 3615   limited in this release. Perl 5.6.0 or greater is
 3616   recommended for full PDL functionality.
 3617         
 3618   See the Changes file for a detailed list of changes.
 3619   
 3620 v2.2.1 2001-04-25 03:05:46-10:00
 3621  
 3622  Summary of Changes
 3623     Bugs Fixed:
 3624           - 'pow' function fixed in math.pd
 3625           - Misc memory leaks fixed.
 3626           - PGPLOT 'undefined window size' 
 3627              bug fixed.
 3628           - Test failures with opengl.t fixed.
 3629           - Error in output of 'minimum_n_ind' function
 3630             fixed.
 3631             
 3632     Misc Changes:
 3633         - Documentation updates.
 3634         - Updates to work with perl5.6.1
 3635         
 3636   See the Changes file for a detailed list of changes.
 3637   
 3638 v2.2 2000-12-21 03:25:36-10:00
 3639 
 3640 Major Changes:
 3641 
 3642   - 'Bad' Value Support added. With this option compiled-in, certain
 3643      values in a PDL can be designated as 'Bad' (i.e. missing, empty, 
 3644      etc). With this designation, most PDL functions will properly 
 3645      ignore the 'Bad' values. See PDL::BadValues for details.
 3646      
 3647   - PGPLOT interface rewritten. New Features:
 3648       - Interactive cursors (cursor)
 3649       - Text on plots       (text)
 3650       - Legends             (legend)
 3651       - Circles, Rectangles, Ellipses
 3652       - Multiple plot windows, one can jump from panel to panel when
 3653         the window is divided in several.
 3654       - More control over options - see PDL::Graphics::PGPLOTOptions for
 3655         details.
 3656       - New Examples in Example/PGPLOT.
 3657 
 3658    - Major updates to the Tri-D Code. Now requires perl 5.6 for TriD.
 3659     
 3660    - 'Reduce' function added. This provides a consistent interface to the
 3661      projection routines (sumover, average, etc). See PDL::Reduce.
 3662      
 3663    - Improved OpenGL detection during 'perl Makefile.PL
 3664 
 3665    - pdldoc command added. This allows you to look up PDL 
 3666      documentation similar to the perldoc command. 
 3667      
 3668    - Perl 5.6 is now recommended for PDL 2.2. It will still work 
 3669      with perl 5.005, but some of the extra libs won't be compiled
 3670      ( like Graphics/TriD).
 3671   
 3672 Many other changes. See the Changes file for a detailed list of changes.
 3673 
 3674 v2.1 2000-06-07 22:23:47+00:00
 3675 
 3676 Major Changes:
 3677   - Speed Increase. Most PDL functions are now done totally
 3678     in C-code, without any perl wrapper functions as was done
 3679     with previous versions. The speedup will be most noticeable
 3680     for operations on many small PDL arrays.
 3681   - Mem Leaks Fixed.
 3682   - Added a consistent, Object-Oriented interface to the 
 3683     various interpolate functions in PDL. (PDL::Func, 
 3684     See Lib/Func.pm).
 3685     
 3686 See the Changes file for a detailed list of changes.
 3687 
 3688 
 3689 
 3690 v2.005 2000-04-05 22:30:35+00:00
 3691 
 3692 Major Changes:
 3693    - A bugfix release to fix 2.004 problems with PGPLOT changes
 3694      and perl 5.6.0.
 3695    - The following notes from 2.004 still apply:
 3696      - *IMPORTANT NOTE*: Due to changes to the PGPLOT module, 'use
 3697        PDL::Graphics::PGPLOT' has been removed from PDL.pm (i.e. in scripts
 3698        and within perldl you now need to explicitly say 'use
 3699        PDL::Graphics::PGPLOT'). Additionally, it needs Karl's new 2.16
 3700        release of the PGPLOT module (available from CPAN).
 3701      - Notable additions are a module for operations on complex ndarrays
 3702        (PDL::Complex), a subtype of PDL which allows manipulation of byte
 3703        type PDLs as N dimensional arrays of fixed length strings (PDL::Char)
 3704        and a Levenberg-Marquardt fitting module (PDL::Fit::LM).
 3705    - Bug reports and patches to the relevant places on sourceforge, please.
 3706