Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.85k stars 527 forks source link

draft of 5.6.0 announcement #1516

Closed p5pRT closed 20 years ago

p5pRT commented 24 years ago

Migrated from rt.perl.org#2733 (status was 'resolved')

Searchable as RT2733$

p5pRT commented 24 years ago

From @gsar

Here's the draft of the announcement that's going out sometime today. If you have any suggestions for improvement\, please let me know.

Sarathy gsar@​ActiveState.com

Inline Patch ```diff -----------------------------------8<----------------------------------- This is by way of announcing a brand new release of Perl in over 20 months. Welcome to Perl v5.6.0! Perl v5.6.0 is a major release that incorporates all maintenance and development changes since the last major release, 5.005. As you may have noticed, the version numbering has changed. Releases will henceforth be numbered as revision.version.subversion triples. Maintenance releases will have an even version component, while the version component for development releases will be odd. For example, the next maintenance update of Perl 5.6.0 will be v5.6.1, and the development series will begin life at v5.7.0. There is much more to Perl v5.6.0 than just the fancy version number. A brief summary of the significant changes and known issues is included at the end. A more expansive overview of these changes can be found in the file "pod/perldelta.pod". Specific logs are in the "Changes" file. You can find Perl v5.6.0 from any of the Comprehensive Perl Archive Network (CPAN) sites worldwide. For example: http://cpan.org/src/perl-5.6.0.tar.gz and also: http://cpan.org/authors/id/GSAR/perl-5.6.0.tar.gz Perl continues to build and run on a bewildering number of platforms. Virtually all known and current Unix derivatives are supported, as are VMS, DOS, OS/2, Windows, QNX, BeOS, and Darwin. (But see below for platforms that use the EBCDIC character set.) There is a full list of supported platforms in the file "pod/perlport.pod". If you find that your platform is unsupported, do let us know. To build and install Perl, read the "INSTALL" document for Unix-like platforms, and the port-specific "README.xxx" files for others. If everything went well, and all the tests passed, "make ok" will mail us a report of your build configuration. If not, run "make nok" and describe your problems in detail. Those two make targets run the "perlbug" utility, located at "utils/perlbug". If "perlbug" cannot determine how to send mail from your system, you may have to let it save the report to a file, and mail it to us at . The "perlbug" program obviously cannot be used if you were unable to build perl by the suggested methods. If this is the case, please include the output of the "myconfig" script, along with a detailed summary of what went wrong, and send it to . If Perl can be built fine, but you have been unable to install it properly, "perlbug" can also be run as "./perl -Ilib utils/perlbug". Run it with the "-h" option to see a short usage summary, and see the detailed documentation within the program itself for more information on sending well-formed bug reports. If after having successfully installed Perl, you find any bugs or incompatibilities that aren't already mentioned in the documentation, please use "perlbug" to report the problem. Once again, be sure to read the "README.xxx", "INSTALL", and "pod/perldelta.pod" files for important information about this release. Share and Enjoy! --The Perl Porters ---------------------------------------------------------------------------- Short Summary of Changes ---------------------------------------------------------------------------- For a more detailed overview, see "pod/perldelta.pod" in the source distribution. See below for known issues. + Several experimental features. See below. + Standard internal representation for strings is UTF-8. (EBCDIC support has been discontinued because of this.) + Better support for interpreter concurrency. + Lexically scoped warning categories. + Compatibility macros for global variables are not available by default, to control namespace pollution. If older extensions don't build because of missing symbols, try "perl Makefile.PL POLLUTE=1" first. + "our" declarations for global variables. + String literals can be written using character ordinals. For example, v102.111.111 is the same as "foo". + New syntax for subroutine attributes. (The attrs pragma is now deprecated.) + Filehandles can be autovivified. For example: open my $foo, $file or die; + open() may be called with three arguments to avoid magic behavior. + Support for large files, where available (will be enabled by default.) + CHECK blocks. These are like END blocks, but will be called when the compilation of the main program ends. + POSIX character class syntax supported, e.g. /[[:alpha:]]/ + pack() and unpack() support null-terminated strings, native data types, counted strings, and comments in templates + Support for binary numbers. + exists() and delete() work on array elements. Existence of a subroutine (as opposed to its defined-ness) may also be checked with exists(&sub)). + Where possible, Perl does the sane thing to deal with buffered data automatically. + binmode() can be used to set :crlf and :raw modes on dosish platforms. The open pragma does the same in the lexical scope, allowing the mode to be set for backticks. + Bitwise operators support the full native width rather than just 32-bits. (You must mask off the excess bits if you don't want them.) + Many modules now come standard, including Devel::DProf, Devel::Peek, and Pod::Parser. + Many modules have been substantially revised or rewritten. + The JPL ("Java Perl Lingo") distribution comes bundled with Perl. + Most platform ports have improved functionality. Support for EBCDIC platforms has been withdrawn due to standardization on UTF-8. + Much new documentation in the form of tutorials and reference information has been added. + Plenty of bug fixes. The following features are considered experimental. Their interfaces and implementation are subject to change in future versions. Some of these are new features, and others were experimental features in earlier releases that haven't yet made the grade. + Support for Unicode. This is still incomplete, and has known bugs and limitations. + Support for threading, and the fork() emulation on Windows. The new "interpreter threads" support is not yet user-visible (except for the fork() emulation). The 5.005 model of threads may be eventually deprecated. + 64-bit support. Mileage may vary among individual platforms. + The B Compiler suite, and the perlcc utility. + Lvalue subroutines. Behavior of array and hash return values is undefined. + Weak references. This isn't user-visible unless you get the WeakRef extension from CPAN. + The pseudo-hash data type. This has improved much, but changes are still to be expected. + Internal implementation of file globbing via the File::Glob extension. Changes to improve compatibility with the older, external csh glob may yet occur. + The DB module for access to the source level debugging API. + The regular expression constructs (?{ CODE }) and (??{ CODE }). ---------------------------------------------------------------------------- Tested Platforms ---------------------------------------------------------------------------- This release is known to build and pass all tests (with some expected exceptions) on the following platforms: ARCHNAME OSVER CC REMARKS ------------------------------------------------------------------------ aix 4.1.5.0 cc aix 4.3.1.0 cc aix-64all 4.3.2.0 cc cygwin 1.1.0 gcc 2.95.2 dos-djgpp DOS gcc 2.95.2 posix.t#4 fails i386-AT386-gnu 0.2 gcc 2.95.2 warnings.t#370 fails i386-freebsd 5.0-cur gcc 2.95.2 i386-freebsd 4.0-cur gcc 2.95.2 i386-freebsd 4.0-sta gcc 2.95.2 i386-freebsd 3.3-sta gcc 2.7.2.3 i386-freebsd 3.4-sta gcc 2.7.2.3 i386-freebsd 3.2-sta gcc 2.7.2.1 i386-freebsd-thread 5.0-cur gcc 2.95.2 thr5005.t#19 fails i386-freebsd-thread 4.0-sta gcc 2.95.2 thr5005.t#19 fails i386-freebsd-thread 3.4-sta gcc 2.7.2.3 thr5005.t#19 fails i386-freebsd-thread 3.3-sta gcc 2.7.2.3 thr5005.t#19 fails i386-freebsd-thread 3.2-sta gcc 2.7.2.1 thr5005.t#19 fails i386-freebsd-thread-multi 5.0-cur gcc 2.95.2 i386-freebsd-thread-multi 4.0-sta gcc 2.95.2 i386-freebsd-thread-multi 3.4-sta gcc 2.7.2.3 i386-freebsd-thread-multi 3.3-sta gcc 2.7.2.3 i386-freebsd-thread-multi 3.2-sta gcc 2.7.2.1 i386-linux 2.2.12-20 egcs 2.91.66 i586-linux 2.2.4 egcs 2.91.60 i686-linux-thread-multi 2.2.5-15 egcs 2.91.66 i686-linux 2.2.5-15 egcs 2.91.66 i686-linux 2.2.13 egcs 2.91.66 i686-linux 2.0.36 gcc 2.7.2.3 i686-linux 2.2.14 gcc 2.95.2 i686-linux-multi 2.2.5 egcs 2.91.66 i686-linux-thread 2.2.14 gcc 2.95.2 i686-linux-thread-multi 2.0.36 gcc 2.7.2.3 i686-linux-thread-64int 2.2.14 gcc 2.95.2 i86pc-solaris 2.7 gcc 2.95.1 MSWin32-x86 NT4.0 Borland C 5.02 MSWin32-x86 NT4.0 gcc 2.95.2 io_xs.t may fail MSWin32-x86 NT4.0 Visual C 6.0 MSWin32-x86-multi NT4.0 Borland C 5.02 MSWin32-x86-multi NT4.0 gcc 2.95.2 io_xs.t may fail MSWin32-x86-multi NT4.0 Visual C 6.0 MSWin32-x86-thread NT4.0 Borland C 5.02 thr5005.t#19 fails MSWin32-x86-thread NT4.0 gcc 2.95.2 thr5005.t#19, io_xs.t may fail MSWin32-x86-thread NT4.0 Visual C 6.0 thr5005.t#19 fails MSWin32-x86-multi-thread NT4.0 Borland C 5.02 MSWin32-x86-multi-thread NT4.0 gcc 2.95.2 io_xs.t may fail MSWin32-x86-multi-thread NT4.0 Visual C 6.0 os2 2.30 gcc 2.8.1 ppc-linux 2.2.14 gcc 2.95.2 ppc-linux 2.2.15p3 gcc 2.95.2 ppc-linux-64int 2.2.15p3 gcc 2.95.2 ppc-linux-thread-multi 2.2.15p3 gcc 2.95.2 ppc-linux-thread-multi-64int 2.2.15p3 gcc 2.95.2 ppc-powerux 4.3 ec powerpc-machten 4.1.4 gcc 2.8.1 warnings.t#257 fails PA-RISC1.1 10.20 gcc 2.95.2 PA-RISC1.1 11.00 gcc 2.95.2 PA-RISC2.0 10.20 gcc 2.95.2 PA-RISC2.0 11.00 cc RM600-svr4 5.42 cc sun4-solaris 2.8 gcc 2.8.1 sun4-solaris 2.7 gcc 2.8.1 sun4-solaris 2.7 gcc 2.95.2 sun4-solaris 2.6 cc sun4-solaris 2.6 gcc 2.7.2.3 sun4-solaris-64int 2.7 gcc 2.95.1 sun4-solaris-multi 2.6 gcc 2.7.2.3 sun4-solaris-thread 2.6 gcc 2.7.2.3 thr5005.t#19 fails sun4-solaris-thread-multi 2.6 gcc 2.7.2.3 sun4-solaris 2.5.1 gcc 2.95.2 x86-qnx 424 cc ---------------------------------------------------------------------------- Known Issues ---------------------------------------------------------------------------- The following issues have come to our attention at the time of writing, and since the 5.6.0 release. They will be addressed in a future maintenance version of Perl. + UNIVERSAL::isa() may report a bogus value after the base pragma has been used. This is due to a bug in the caching done by UNIVERSAL::isa() that also exists in 5.005_0x. The problem is now tickled by the new version of base.pm, which happens to use UNIVERSAL::isa() internally. + Unicode support still has some various known bugs. * join() misinterprets its first argument as bytes even if the bytes pragma has not been enabled. (This only impacts results if the first argument is Unicode.) * $str1 eq $str2 may not compare correctly if only one of the arguments came from a Unicode source. * A literal such as v2000 may be incorrectly parsed as a bareword rather than as a Unicode character if Perl is expecting to read a statement. Use +v2000 if you hit this bug. + Results of building Perl on AIX (in particular, 4.2.x) have been mixed. Disabling compiler optimizations seems to build a working perl.
p5pRT commented 24 years ago

From @samtregar

On Mon\, 27 Mar 2000\, Gurusamy Sarathy wrote​:

This is by way of announcing a brand new release of Perl in over 20 months. Welcome to Perl v5.6.0!

That first sentence doesn't read right to me... I'm not sure what you meant exactly\, but here's the rewrites that occur to me​:

  After 20 months of work\, a brand new release of Perl is born.

  This message announces a brand new release of Perl - the result of over   20 months of work.

  After over 20 months of work\, I am pleased to announce a brand new   verison of Perl.

Everything else looks fine to me!

-sam