summaryrefslogtreecommitdiff
path: root/pod/perl5376delta.pod
diff options
context:
space:
mode:
authorMax Maischein <corion@corion.net>2022-11-20 13:32:53 +0100
committerMax Maischein <corion@corion.net>2022-11-20 14:06:13 +0100
commitb87acd3bc7139891b5122520c34a6a6cf5b2db84 (patch)
tree11b946afea181ec360e0ed48b62c8b8cb6319c09 /pod/perl5376delta.pod
parent98e511ecd1bcdb05e26b5d60a35d0a70abc5c335 (diff)
downloadperl-b87acd3bc7139891b5122520c34a6a6cf5b2db84.tar.gz
New perldelta for 5.37.7
Diffstat (limited to 'pod/perl5376delta.pod')
-rw-r--r--pod/perl5376delta.pod276
1 files changed, 276 insertions, 0 deletions
diff --git a/pod/perl5376delta.pod b/pod/perl5376delta.pod
new file mode 100644
index 0000000000..943c64f757
--- /dev/null
+++ b/pod/perl5376delta.pod
@@ -0,0 +1,276 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5376delta - what is new for perl v5.37.6
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.37.5 release and the 5.37.6
+release.
+
+If you are upgrading from an earlier release such as 5.37.4, first read
+L<perl5375delta>, which describes differences between 5.37.4 and 5.37.5.
+
+=head1 Incompatible Changes
+
+=head2 L<C<utf8::upgrade()>|utf8/Utility functions>
+
+Starting in this release, if the input string is C<undef>, it remains
+C<undef>. Previously it would be changed into a defined, zero-length
+string.
+
+=head1 Modules and Pragmata
+
+=head2 New Modules and Pragmata
+
+=over 4
+
+=item *
+
+Support for RFC-18, C<use feature "module_true";> has been added to
+the default feature bundle for 5.37 and later. It may also be used
+explicitly. When enabled inside of a module the module does not need
+to return true explicitly, and in fact the return will be forced to
+a simple true value regardless of what it originally was.
+
+=back
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<Storable> has been upgraded from version 3.27 to 3.28.
+
+The C<STORABLE_freeze> callback now supports regular expression
+objects.
+
+The error message when Storable attempts to call C<STORABLE_freeze>
+for an unsupported type such as GLOBs has been improved from
+C<"Unexpected object type (8) in store_hook()"> to indicate the perl
+object type and the class.
+
+=back
+
+=head1 Documentation
+
+=head2 Changes to Existing Documentation
+
+We have attempted to update the documentation to reflect the changes
+listed in this document. If you find any we have missed, open an issue
+at L<https://github.com/Perl/perl5/issues>.
+
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages. For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 New Diagnostics
+
+=head3 New Errors
+
+None
+
+=head3 New Warnings
+
+None
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+Various warnings that used to produce parenthesized hints underneath the
+main warning message and after its "location data" were chanaged to put
+the hint inline with the main message. For instance:
+
+ Bareword found where operator expected at -e line 1, near "foo bar"
+ (Do you need to predeclare foo?)
+
+will now look like this but as one line:
+
+ Bareword found where operator expected (Do you need to predeclare
+ foo?) at -e line 1, near "foo bar"
+
+as a result such warnings will no longer trigger C<$SIG{__WARN__}>
+twice, and the hint will be visible when fatal warnings is in effect.
+
+=back
+
+=head1 Utility Changes
+
+=head2 Configure
+
+None
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+C<I32>/C<U32> formatting symbols added in 5.37.2, C<I32df>, C<U32xf>, etc.
+used to be defined in F<perl.h> using preprocessor conditionals.
+They are now determined in F<Configure> and defined in F<config.h>.
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+Tests were added and changed to reflect the other additions and changes
+in this release.
+
+=back
+
+=head1 Platform Support
+
+=over 4
+
+=item Windows
+
+stat() now works on AF_UNIX socket files. [github #20204]
+
+readlink() now returns the C<PrintName> from a symbolic link reparse
+point instead of the C<SubstituteName>, which should make it better
+match the name the link was created with. [github #20271]
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+A new magic type C<PERL_MAGIC_extvalue> has been added. This is available for
+use like C<PERL_MAGIC_ext>, but is a value magic: upon localization the new
+value will not be magical.
+
+=item *
+
+The C<SSNEW()>, C<SSNEWt()>, C<SSNEWa()> and C<SSNEWat()> APIs now
+return a C<SSize_t> value. The C<SSPTR()> and C<SSPTRt()> macros now
+expect a C<SSize_t> parameter, and enforce that on debugging builds.
+[github #20411]
+
+=item *
+
+Filenames in cops are now refcounted under threads.
+Under threads we were copying the filenames into each opcode. This is because in
+theory opcodes created in one thread can be destroyed in another.
+The change adds a new struct/type RCPV, which is a refcounted
+string using shared memory. This is implemented in such a way that code
+that previously used a char * can continue to do so, as the refcounting
+data is located a specific offset before the char * pointer itself.
+
+[commit 6760f691a95ab3a37fd59212795de2b1a7cf7888]
+
+=back
+
+-=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+Fixes to memory handling for C<PL_splitstr>:
+
+=over
+
+=item *
+
+If a thread was created the allocated string would be freed twice.
+
+=item *
+
+If two C<-F> switches were supplied the memory allocated for the first
+switch wouldn't be freed.
+
+=back
+
+=back
+
+=head1 Known Problems
+
+None
+
+=head1 Errata From Previous Releases
+
+None
+
+=head1 Acknowledgements
+
+Perl 5.37.6 represents approximately 4 weeks of development since Perl
+5.37.5 and contains approximately 16,000 lines of changes across 230 files
+from 26 authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 12,000 lines of changes to 130 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its fourth decade thanks to a vibrant
+community of users and developers. The following people are known to have
+contributed the improvements that became Perl 5.37.6:
+
+Alexander Nikolov, Andreas König, Aristotle Pagaltzis, Bram, Branislav
+Zahradník, chromatic, David Mitchell, E. Choroba, Elvin Aslanov, Felipe
+Gasper, Graham Knop, James E Keenan, Joe McMahon, Johan Vromans, Karl
+Williamson, Leon Timmermans, Mattia Barbon, Max Maischein, Paul Evans,
+Ricardo Signes, Richard Leach, TAKAI Kousuke, Todd Rinaldo, Tom Stellard,
+Tony Cook, Yves Orton.
+
+The list above is almost certainly incomplete as it is automatically
+generated from version control history. In particular, it does not include
+the names of the (very much appreciated) contributors who reported issues to
+the Perl bug tracker.
+
+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.
+
+For a more complete list of all of Perl's historical contributors, please
+see the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the perl bug database
+at L<https://github.com/Perl/perl5/issues>. There may also be information at
+L<http://www.perl.org/>, the Perl Home Page.
+
+If you believe you have an unreported bug, please open an issue at
+L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
+tiny but sufficient test case.
+
+If the bug you are reporting has security implications which make it
+inappropriate to send to a public issue tracker, then see
+L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
+for details of how to report the issue.
+
+=head1 Give Thanks
+
+If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
+you can do so by running the C<perlthanks> program:
+
+ perlthanks
+
+This will send an email to the Perl 5 Porters list with your show of thanks.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut