X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperl5111delta.pod;h=87fb9dfbe0289075a44f2ed272f04a64c42594ca;hb=4ff31b786b9f6148fc8ea695db081861576d06a2;hp=8adce884d4244ae944834b908aa16487a9be9bb6;hpb=546378fe9f6023187dee2b3442ce0efde3e4220e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perl5111delta.pod b/pod/perl5111delta.pod old mode 100755 new mode 100644 index 8adce88..87fb9df --- a/pod/perl5111delta.pod +++ b/pod/perl5111delta.pod @@ -1,6 +1,6 @@ =head1 NAME -perldelta - what is new for perl v5.11.1 +perl5111delta - what is new for perl v5.11.1 =head1 DESCRIPTION @@ -11,7 +11,14 @@ the 5.11.1 release. =over -=item The boolkeys op moved to the group of hash ops. This breaks binary compatibility. +=item * + +The boolkeys op moved to the group of hash ops. This breaks binary compatibility. + +=item * + +C<\s> C<\w> and C<\d> once again have the semantics they had in Perl 5.8.x. + =back @@ -19,60 +26,49 @@ the 5.11.1 release. =head2 Add C syntax - This patch adds support for setting the $VERSION of a namespace - when the namespace is declared with 'package'. It eliminates the - need for 'our $VERSION = ...' and similar constructs. E.g. +This new syntax allows a module author to set the $VERSION of a namespace +when the namespace is declared with 'package'. It eliminates the need +for C and similar constructs. E.g. package Foo::Bar 1.23; # $Foo::Bar::VERSION == 1.23 - There are several advantages to this: +There are several advantages to this: + +=over - * VERSION is parsed in *exactly* the same way as 'use NAME VERSION' +=item * - * $VERSION is set at compile time +C<$VERSION> is parsed in I the same way as C - * Eliminates '$VERSION = ...' and 'eval $VERSION' clutter +=item * - * As it requires VERSION to be a numeric literal or v-string - literal, it can be statically parsed by toolchain modules - without 'eval' the way MM->parse_version does for '$VERSION = ...' +C<$VERSION> is set at compile time - * Alpha versions with underscores do not need to be quoted; static - parsing will preserve the underscore, but during compilation, Perl - will remove underscores as it does for all numeric literals +=item * - During development of this, there was discussion on #corehackers and - elsewhere that this should also allow other metadata to be set such as - "status" (stable/alpha) or "author/authority". On reflection, those - metadata are not very well defined yet and likely should never be - encoded into Perl core parsing so they can be freely changed in the - future. (They could perhaps be achieved via a comment on the same line - as 'package NAME VERSION'.) +Eliminates C<$VERSION = ...> and C clutter - Version numbers, however, already have a very specific definition and - use defined in the core through 'use NAME VERSION'. This patch merely - provides appropriate symmetry for setting $VERSION with the exact same - parsing and semantics as 'use'. +=item * - It does not break old code with only 'package NAME', but code that - uses 'package NAME VERSION' will need to be restricted to perl 5.11.X. - This is analogous to the change to open() from two-args to three-args. - Users requiring the latest Perl will benefit, and perhaps N years from - now it will become standard practice when Perl 5.12 is targeted the - way that 5.6 is today. +As it requires VERSION to be a numeric literal or v-string +literal, it can be statically parsed by toolchain modules +without C the way MM-Eparse_version does for C<$VERSION = ...> - The patch does not prevent 'package NAME VERSION' from being used - multiple times for the same package with different version numbers, but - nothing prevents $VERSION from being modified arbitrarily at runtime, - either, so I see no urgen reason to add limitations or warnings so - long as Perl uses a global $VERSION variable for package version - numbers. +=item * - I am posting this patch to the p5p list for discussion and review. If - there seems to be general assent (or lack of dissent), I will go ahead - and commit the patch to blead. +Alpha versions with underscores do not need to be quoted; static +parsing will preserve the underscore, but during compilation, Perl +will remove underscores as it does for all numeric literals +It does not break old code with only C, but code that uses +C will need to be restricted to perl 5.11.X or newer +This is analogous to the change to C from two-args to three-args. +Users requiring the latest Perl will benefit, and perhaps N years from +now it will become standard practice when Perl 5.12 is targeted the way +that 5.6 is today. + +=back =head1 Modules and Pragmata @@ -80,31 +76,57 @@ the 5.11.1 release. =over 4 -=item Upgrade to Test-Simple-0.94 +=item * -=item Upgrade to Storable-2.21 +Upgrade to Test-Simple 0.94 -=item Upgrade to Pod-Simple-3.08 +=item * -=item Upgrade to Parse-CPAN-Meta-1.40 +Upgrade to Storable 2.21 -=item Upgrade to ExtUtils-Manifest-1.57 +=item * -=item Upgrade to ExtUtils-CBuilder-0.260301 +Upgrade to Pod-Simple 3.08 -=item Upgrade to CGI.pm-3.48 +=item * -=item Update CPANPLUS to CPAN version 0.89_02 +Upgrade to Parse-CPAN-Meta 1.40 -=item Upgrade to threads::shared 1.32 +=item * -=item Update ExtUtils::ParseXS to 2.21 +Upgrade to ExtUtils-Manifest 1.57 -=item Upgrade File::Path to 2.08 (and add taint.t test) +=item * + +Upgrade to ExtUtils-CBuilder 0.260301 -=item Upgrade Module::CoreList to 2.20 +=item * -=item Updated Object-Accessor to CPAN version 0.36 +Upgrade to CGI.pm-3.48 + +=item * + +Upgrade CPANPLUS to CPAN version 0.89_02 + +=item * + +Upgrade to threads::shared 1.32 + +=item * + +Upgrade ExtUtils::ParseXS to 2.21 + +=item * + +Upgrade File::Path to 2.08 (and add taint.t test) + +=item * + +Upgrade Module::CoreList to 2.20 + +=item * + +Updated Object::Accessor to0.36 =back @@ -112,7 +134,10 @@ the 5.11.1 release. =over 4 -=item L extends the "Social contract about contributed modules" into the beginnings of a document on Perl porting policies. +=item * + +L extends the "Social contract about contributed modules" into +the beginnings of a document on Perl porting policies. =back @@ -132,12 +157,7 @@ the 5.11.1 release. =back -=head1 Installation and Configuration Improvements - -XXX Changes to F, F, F, and analogous tools -go here. - -=head2 Platform Specific Changes +=head1 Platform Specific Notes =over 4 @@ -145,10 +165,14 @@ go here. =over 4 -=item Skip testing the be_BY.CP1131 locale on Darwin 10 (Mac OS X 10.6), +=item * + +Skip testing the be_BY.CP1131 locale on Darwin 10 (Mac OS X 10.6), as it's still buggy. -=item Correct infelicities in the regexp used to identify buggy locales +=item * + +Correct infelicities in the regexp used to identify buggy locales on Darwin 8 and 9 (Mac OS X 10.4 and 10.5, respectively). =back @@ -157,7 +181,9 @@ on Darwin 8 and 9 (Mac OS X 10.4 and 10.5, respectively). =over 4 -=item Fix thread library selection [perl #69686] +=item * + +Fix thread library selection [perl #69686] =back @@ -165,7 +191,13 @@ on Darwin 8 and 9 (Mac OS X 10.4 and 10.5, respectively). =over 4 -=item Initial support for mingw64 is now available +=item * + +Initial support for mingw64 is now available + +=item * + +Various bits of Perl's build infrastructure are no longer converted to win32 line endings at release time. If this hurts you, please speak up. =back @@ -176,18 +208,28 @@ on Darwin 8 and 9 (Mac OS X 10.4 and 10.5, respectively). =over 4 -=item Perl now properly returns a syntax error instead of segfaulting +=item * + +Perl now properly returns a syntax error instead of segfaulting if C, C or C is used without an argument -=item C now fails properly if called without an argument and when no previous file was read +=item * + +C now fails properly if called without an argument and when no previous file was read C now returns C<-1>, and sets errno to C, thus restoring the 5.8.x behaviour -=item overload no longer implicitly unsets fallback on repeated 'use overload' lines +=item * + +overload no longer implicitly unsets fallback on repeated 'use overload' lines -=item POSIX::strftime() can now handle Unicode characters in the format string. +=item * -=item The Windows select() implementation now supports all empty Cs more correctly. +POSIX::strftime() can now handle Unicode characters in the format string. + +=item * + +The Windows select() implementation now supports all empty Cs more correctly. =back @@ -196,16 +238,24 @@ C now returns C<-1>, and sets errno to C, thus restoring the 5.8. =over 4 -=item The 'syntax' category was removed from 5 warnings that should only be in 'deprecated'. +=item * + +The 'syntax' category was removed from 5 warnings that should only be in 'deprecated'. + +=item * + +Three fatal pack/unpack error messages have been normalized to "panic: %s" -=item Three fatal pack/unpack error messages have been normalized to "panic: %s" +=item * -=item "Unicode character is illegal" has been rephrased to be more accurate +"Unicode character is illegal" has been rephrased to be more accurate It now reads C and the perldiag documentation has been expanded a bit. -=item Perl now defaults to issuing a warning if a deprecated language feature is used. +=item * + +Perl now defaults to issuing a warning if a deprecated language feature is used. To disable this feature in a given lexical scope, you should use C For information about which language features @@ -218,35 +268,43 @@ see L =over 4 -=item Significant cleanups to core tests to ensure that language and +=item * + +Significant cleanups to core tests to ensure that language and interpreter features are not used before they're tested. -=item F automatically checks the well-formedness of +=item * + +C now runs a number of important pre-commit checks which might be of use to anyone working on the Perl core. + +=item * + +F automatically checks the well-formedness of POD found in all .pl, .pm and .pod files in the F, other than in dual-lifed modules which are primarily maintained outside the Perl core. -=item F now tests that all files listed in MANIFEST are present. +=item * + +F now tests that all files listed in MANIFEST are present. =back =head1 Known Problems -XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any -tests that had to be Ced for the release would be noted here, unless -they were specific to a particular platform (see below). +=over 4 -This is a list of some significant unfixed bugs, which are regressions -from either 5.10.1 or 5.11.0. +=item Untriaged test crashes on Windows 2000 -=over 4 +Several porters have reported mysterious crashes when Perl's entire test suite is run after a build on certain Windows 2000 systems. When run by hand, the individual tests reportedly work fine. -=item * +=item Known test failures on VMS -XXX +Perl 5.11.1 fails a small set of core and CPAN tests as of this release. +With luck, that'll be sorted out for 5.11.2 =back -=head1 Errata +=head1 Errata for 5.11.0 =over @@ -256,8 +314,19 @@ XXX =head1 Acknowledgements -XXX The list of people to thank goes here. +Perl 5.11.1 represents approximately 3 weeks development since Perl 5.11.0 +contains 22,000 lines of changes across 396 files from 26 authors and committers: +Abigail, Alex Vandiver, brian d foy, Chris Williams, Craig A. Berry, +David Fifield, David Golden, demerphq, Eric Brine, Geoffrey T. Dairiki, +George Greer, H.Merijn Brand, Jan Dubois, Jerry D. Hedden, Jesse Vincent, +Josh ben Jore, Max Maischein, Nicholas Clark, Rafael Garcia-Suarez, +Simon Schubert, Sisyphus, Smylers, Steve Hay, Steve Peters, Vincent Pit +and Yves Orton. + +Many of the changes included in this version originated in the CPAN +modules included in Perl's core. We're grateful to the entire CPAN +community for helping Perl to flourish. =head1 Reporting Bugs @@ -294,8 +363,3 @@ The F file for general stuff. The F and F files for copyright information. =cut - -This is all changes through 6609e0408cfa30e0d5c739e4c818f8591c88c0bc - - -