NAME
perldelta - what is new for perl v5.8.8
DESCRIPTION
This document describes differences between the 5.8.7 release and
the 5.8.8 release.
Incompatible Changes
There are no changes intentionally incompatible with 5.8.7. If any exist,
they are bugs and reports are welcome.
Core Enhancements
""
CWchdir, CWchmod and CWchown can now work on filehandles as well as
filenames, if the system supports respectively CWfchdir, CWfchmod and
CWfchown, thanks to a patch provided by Gisle Aas.
Modules and Pragmata
""
CWAttribute::Handlers
upgraded to version 0.78_02
""
Documentation typo fix
""
CWattrs
upgraded to version 1.02
""
CWautouse
upgraded to version 1.05
""
Simplified implementation
""
CWB
upgraded to version 1.09_01
""
The inheritance hierarchy of the CWB::
modules has been corrected;
CWB::NV
now inherits from CWB::SV (instead of CWB::IV).
""
CWblib
upgraded to version 1.03
""
Documentation typo fix
""
CWByteLoader
upgraded to version 0.06
""
CWCGI
upgraded to version 3.15
""
Extraneous ? from CWself_url() removed
""
CWscrolling_list() select attribute fixed
""
CWvirtual_port now works properly with the https protocol
""
CWupload_hook() and CWappend() now works in function-oriented mode
""
CWPOST_MAX doesn't cause the client to hang any more
""
Automatic tab indexes are now disabled and new CW-tabindex pragma has
been added to turn automatic indexes back on
""
CWend_form() doesn't emit empty (and non-validating) CW<div>
""
CWCGI::Carp works better in certain mod_perl configurations
""
Setting CW$CGI::TMPDIRECTORY is now effective
""
Enhanced documentation
""
CWcharnames
upgraded to version 1.05
""
CWviacode()
now accept hex strings and has been optimized.
""
CWCPAN
upgraded to version 1.76_02
""
1 minor bug fix for Win32
""
CWCwd
upgraded to version 3.12
""
CWcanonpath() on Win32 now collapses foo\.. sections correctly.
""
Improved behaviour on Symbian \s-1OS\s0.
""
Enhanced documentation and typo fixes
""
CWData::Dumper
upgraded to version 2.121_08
""
A problem where CWData::Dumper would sometimes update the iterator state
of hashes has been fixed
""
Numeric labels now work
""
CWDB
upgraded to version 1.01
""
A problem where the state of the regexp engine would sometimes get clobbered when running
under the debugger has been fixed.
""
CWDB_File
upgraded to version 1.814
""
Adds support for Berkeley \s-1DB\s0 4.4.
""
CWDevel::DProf
upgraded to version 20050603.00
""
CWDevel::Peek
upgraded to version 1.03
""
CWDevel::PPPort
upgraded to version 3.06_01
""
CW--compat-version argument checking has been improved
""
Files passed on the command line are filtered by default
""
CW--nofilter option to override the filtering has been added
""
Enhanced documentation
""
CWdiagnostics
upgraded to version 1.15
""
Documentation typo fix
""
CWDigest
upgraded to version 1.14
""
The constructor now knows which module implements \s-1SHA-224\s0
""
Documentation tweaks and typo fixes
""
CWDigest::MD5
upgraded to version 2.36
""
CWXSLoader is now used for faster loading
""
Enhanced documentation including \s-1MD5\s0 weaknesses discovered lately
""
CWDumpvalue
upgraded to version 1.12
""
CWDynaLoader
upgraded but unfortunately we're not able to increment its version number :-(
""
Implements CWdl_unload_file on Win32
""
Internal cleanup
""
CWXSLoader
0.06 incorporated; small optimisation for calling
CWbootstrap_inherit()
and documentation enhancements.
""
CWEncode
upgraded to version 2.12
""
A coderef is now acceptable for CWCHECK!
""
3 new characters added to the \s-1ISO-8859-7\s0 encoding
""
New encoding CWMIME-Header-ISO_2022_JP added
""
Problem with partial characters and CWencoding(utf-8-strict) fixed.
""
Documentation enhancements and typo fixes
""
CWEnglish
upgraded to version 1.02
""
the CW$COMPILING
variable has been added
""
CWExtUtils::Constant
upgraded to version 0.17
""
Improved compatibility with older versions of perl
""
CWExtUtils::MakeMaker
upgraded to version 6.30 (was 6.17)
""
Too much to list here; see <http://search.cpan.org/src/MSCHWERN/ExtUtils-MakeMaker-6.30/Changes>
""
CWFile::Basename
upgraded to version 2.74, with changes contributed by Michael Schwern.
""
Documentation clarified and errors corrected.
""
CWbasename now strips trailing path separators before processing the name.
""
CWbasename now returns CW/ for parameter CW/, to make CWbasename
consistent with the shell utility of the same name.
""
The suffix is no longer stripped if it is identical to the remaining characters
in the name, again for consistency with the shell utility.
""
Some internal code cleanup.
""
CWFile::Copy
upgraded to version 2.09
""
Copying a file onto itself used to fail.
""
Moving a file between file systems now preserves the access and
modification time stamps
""
CWFile::Find
upgraded to version 1.10
""
Win32 portability fixes
""
Enhanced documentation
""
CWFile::Glob
upgraded to version 1.05
""
CWFile::Path
upgraded to version 1.08
""
CWmkpath
now preserves CWerrno when CWmkdir fails
""
CWFile::Spec
upgraded to version 3.12
""
CWFile::Spec-rootdir()> now returns CW\ on Win32, instead of CW/
""
CW$^O could sometimes become tainted. This has been fixed.
""
CWcanonpath on Win32 now collapses CWfoo/.. (or CWfoo\..) sections
correctly, rather than doing the misguided work it was previously doing.
Note that CWcanonpath on Unix still does not collapse these sections, as
doing so would be incorrect.
""
Some documentation improvements
""
Some internal code cleanup
""
CWFileCache
upgraded to version 1.06
""
\s-1POD\s0 formatting errors in the documentation fixed
""
CWFilter::Simple upgraded to version 0.82
""
CWFindBin
upgraded to version 1.47
""
Now works better with directories where access rights are more
restrictive than usual.
""
CWGDBM_File
upgraded to version 1.08
""
CWGetopt::Long
upgraded to version 2.35
""
CWprefix_pattern has now been complemented by a new configuration
option CWlong_prefix_pattern that allows the user to specify what
prefix patterns should have long option style semantics applied.
""
Options can now take multiple values at once (experimental)
""
CWif
upgraded to version 0.05
""
Give more meaningful error messages from CWif when invoked with a
condition in list context.
""
Restore backwards compatibility with earlier versions of perl
""
CWIO
upgraded to version 1.22
""
Enhanced documentation
""
CWIPC::Open2
upgraded to version 1.02
""
Enhanced documentation
""
CWIPC::Open3
upgraded to version 1.02
""
Enhanced documentation
""
CWList::Util
upgraded to version 1.18 (was 1.14)
""
Fix pure-perl version of CWrefaddr to avoid blessing an un-blessed reference
""
Use CWXSLoader for faster loading
""
Fixed various memory leaks
""
Internal cleanup and portability fixes
""
CWMath::Complex
upgraded to version 1.35
""
CWatan2(0, i) now works, as do all the (computable) complex argument cases
""
Fixes for certain bugs in CWmake and CWemake
""
Support returning the kth root directly
""
Support CW[2,-3pi/8] in CWemake
""
Support CWinf for CWmake/CWemake
""
Document CWmake
/CWemake more visibly
""
CWMath::Trig
upgraded to version 1.03
""
Add more great circle routines: CWgreat_circle_waypoint
and
CWgreat_circle_destination
""
CWMIME::Base64
upgraded to version 3.07
""
Use CWXSLoader for faster loading
""
Enhanced documentation
""
CWNDBM_File
upgraded to version 1.06
""
Enhanced documentation
""
CWODBM_File
upgraded to version 1.06
""
Documentation typo fixed
""
CWOpcode
upgraded to version 1.06
""
Enhanced documentation
""
CWopen
upgraded to version 1.05
""
Enhanced documentation
""
CWoverload
upgraded to version 1.04
""
Enhanced documentation
""
CWPerlIO
upgraded to version 1.04
""
CWPerlIO::via iterate over layers properly now
""
CWPerlIO::scalar understands CW$/ = "" now
""
CWencoding(utf-8-strict) with partial characters now works
""
Enhanced documentation
""
CWPod::Functions
upgraded to version 1.03
""
Documentation typos fixed
""
CWPod::Html
upgraded to version 1.0504
""
\s-1HTML\s0 output will now correctly link
to CW=items on the same page, and should be valid \s-1XHTML\s0.
""
Variable names are recognized as intended
""
Documentation typos fixed
""
CWPod::Parser
upgraded to version 1.32
""
Allow files that start with CW=head on the first line
""
Win32 portability fix
""
Exit status of CWpod2usage fixed
""
New CW-noperldoc switch for CWpod2usage
""
Arbitrary \s-1URL\s0 schemes now allowed
""
Documentation typos fixed
""
CWPOSIX
upgraded to version 1.09
""
Documentation typos fixed
""
CWre
upgraded to version 0.05
""
Documentation typo fixed
""
CWSafe
upgraded to version 2.12
""
Minor documentation enhancement
""
CWSDBM_File
upgraded to version 1.05
""
Documentation typo fixed
""
CWSocket
upgraded to version 1.78
""
CWStorable
upgraded to version 2.15
""
This includes the CWSTORABLE_attach
hook functionality added by
Adam Kennedy, and more frugal memory requirements when storing under CWithreads
, by
using the CWithreads
cloning tracking code.
""
CWSwitch
upgraded to version 2.10_01
""
Documentation typos fixed
""
CWSys::Syslog
upgraded to version 0.13
""
Now provides numeric macros and meaningful CWExporter tags.
""
No longer uses CWSys::Hostname as it may provide useless values in
unconfigured network environments, so instead uses CWINADDR_LOOPBACK directly.
""
CWsyslog() now uses local timestamp.
""
CWsetlogmask() now behaves like its C counterpart.
""
CWsetlogsock() will now CWcroak() as documented.
""
Improved error and warnings messages.
""
Improved documentation.
""
CWTerm::ANSIColor
upgraded to version 1.10
""
Fixes a bug in CWcolored when CW$EACHLINE is set that caused it to not color
lines consisting solely of 0 (literal zero).
""
CWTerm::ReadLine
upgraded to version 1.02
""
CWTest::Harness
upgraded to version 2.56 (was 2.48)
""
The CWTest::Harness timer is now off by default.
""
Now shows elapsed time in milliseconds.
""
CWTest::Simple
upgraded to version 0.62 (was 0.54)
""
CWis_deeply() no longer fails to work for many cases
""
Various minor bug fixes
""
Documentation enhancements
""
CWText::Tabs
upgraded to version 2005.0824
""
Provides a faster implementation of CWexpand
""
CWText::Wrap
upgraded to version 2005.082401
""
Adds CW$Text::Wrap::separator2
, which allows you to preserve existing newlines
but add line-breaks with some other string.
""
CWthreads
upgraded to version 1.07
""
CWthreads will now honour CWno warnings 'threads'
""
A thread's interpreter is now freed after CW$t->join() rather than after
CWundef $t, which should fix some CWithreads memory leaks. (Fixed by Dave
Mitchell)
""
Some documentation typo fixes.
""
CWthreads::shared
upgraded to version 0.94
""
Documentation changes only
""
Note: An improved implementation of CWthreads::shared
is available on
\s-1CPAN\s0 - this will be merged into 5.8.9 if it proves stable.
""
CWTie::Hash
upgraded to version 1.02
""
Documentation typo fixed
""
CWTime::HiRes
upgraded to version 1.86 (was 1.66)
""
CWclock_nanosleep() and CWclock() functions added
""
Support for the \s-1POSIX\s0 CWclock_gettime() and CWclock_getres() has been added
""
Return CWundef or an empty list if the C CWgettimeofday() function fails
""
Improved CWnanosleep detection
""
Internal cleanup
""
Enhanced documentation
""
CWUnicode::Collate
upgraded to version 0.52
""
Now implements \s-1UCA\s0 Revision 14 (based on Unicode 4.1.0).
""
CWUnicode::Collate-new> method no longer overwrites user's CW$_
""
Enhanced documentation
""
CWUnicode::UCD
upgraded to version 0.24
""
Documentation typos fixed
""
CWUser::grent
upgraded to version 1.01
""
Documentation typo fixed
""
CWutf8
upgraded to version 1.06
""
Documentation typos fixed
""
CWvmsish
upgraded to version 1.02
""
Documentation typos fixed
""
CWwarnings
upgraded to version 1.05
""
Gentler messing with CWCarp:: internals
""
Internal cleanup
""
CWWin32
upgraded to version 0.2601
""
Provides Windows Vista support to CWWin32::GetOSName
""
Documentation enhancements
""
CWXS::Typemap
upgraded to version 0.02
Utility Changes
CWh2xs implements new option CW--use-xsloader to force use of
CWXSLoader even in backwards compatible modules.
The handling of authors' names that had apostrophes has been fixed.
Any enums with negative values are now skipped.
CWperlivp implements new option CW-a and will not check for *.ph
files by default any more. Use the CW-a option to run all tests.
New Documentation
The perlglossary manpage is a glossary of terms used in the Perl
documentation, technical and otherwise, kindly provided by O'Reilly Media,
inc.
Performance Enhancements
""
Weak reference creation is now O(1) rather than O(n), courtesy of
Nicholas Clark. Weak reference deletion remains O(n), but if deletion only
happens at program exit, it may be skipped completely.
""
Salvador Fandi