From Fedora Project Wiki
Line 68: Line 68:


== Release Notes ==
== Release Notes ==
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
 
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
=== New Features ===
*
* Unicode 6.1
* More consistent ''eval'' controlled with ''unicode_eval'' and ''evalbytes'' feature
* 2- and 3-argument ''substr'' called in left-value context is evaluted even after changing original string
* New ''T_*REF_REFCOUNT_FIXED'' XS typemap fixing reference counter decremetion
* New ''is_utf8_char_buf'' XS-callable function replaces broken ''is_utf8_char'' function
* ''$$'' variable is writable
* Improved debugger: tracing mode can be restricted to certain level, breakpoings can be disabled temporarily, breakpoints can be set by file name
* ''sort'' subroutines can be autoloaded
* ''$['' variable is provded by ''arybase'' module
* mmaped PerlIO layer is now a separate module ''PerlIO::mmap''
 
=== Deprecated Features ===
* Accessing Unicode database files directly is deprecated now; use ''Unicode::UCD'' instead
* ''Version::Requirements'' is deprecated in favor of ''CPAN::Meta::Requirements''
 
=== Incompatible Changes ===
* Special blocks (e.g. ''BEGIN'') are called in void context
* Unoverloaded stringification of regular expression does not return the expression literal
* ''T_DATAUNIT'' and ''T_CALLBACK'' XS typemaps removed
* User defined case-changing has been removed in favor of ''Unicode::Casing''
* XSUB C functions are static now and they are not exported from their object files
* Read-only references cannot be weaken
* ''$$'',  ''$<'', ''$>'', ''$('', and ''$)'' do not cache their value
* ''Devel::DProf'', ''Shell'' have been removed from Perl core
* perl4 libraries removed: abbrev.pl, assert.pl, bigfloat.pl, bigint.pl, bigrat.pl, cacheout.pl, complete.pl, ctime.pl, dotsh.pl, exceptions.pl, fastcwd.pl, flush.pl, getcwd.pl, getopt.pl, getopts.pl, hostname.pl, importenv.pl, lib/find{,depth}.pl, look.pl, newgetopt.pl, open2.pl, open3.pl, pwd.pl, hellwords.pl, stat.pl, tainted.pl, termcap.pl, timelocal.pl


== Comments and Discussion ==
== Comments and Discussion ==

Revision as of 21:06, 11 June 2012

Perl 5.16

Summary

Perl 5.16 brings a lot of changes. Details about them could be found at [perldelta].

Owner

Current status

  • Targeted release: Fedora 18
  • Last updated: 2012-06-11
  • Percentage of completion: 20 %
  • Development Status:

Completed items

  • Get dedicated build-root from rel-engs (f18-perl)
  • Define perl_bootstrap in perl-srpm-macros
  • Build new perl 5.16 keeping old COMPAT Provides
  • Rebuild packages needed for minimal build-root
  • Rebuild dual-lived packages (otherwise yum recommends --skip-broken and fails)
  • Rebuild packages needed for building source packages from git repository
  • Remove old perl(:MODULE_COMPAT_5.14.*) from perl

Items in progress

  • Rebuild other packages: Use Fedora::Rebuild dependency solver or ordered sets computed by Paul
  • Rebuilt Perl packages: 564 of 2091 done (26.97 %)

Items still to be done

  • Undefine perl_bootstrap
  • Rebuild packages having perl_bootstrap condition in spec file again
  • Merge dedicated build-root to rawhide and remove the dedicated one by rel-engs

Detailed Description

Perl releases will be now every year and updates during year will be containing mainly bug fixes. The release 5.16.0 should be stable release, but 5.16.1 should contain bugfixes for issues introduced in 5.16.0.

Benefit to Fedora

Fedora as bleeding edge distribution should be shipping new release of perl as one of the first distributions.

Scope

Everything will be rebuilt in testing buildroot dist-f18-perltest. 'fedpkg build --target dist-f18-perltest'

  • update perl to 5.16.1
  • update/fix/rebuild all perl modules
  • rebuild all other dependent packages -> file bugs to maintainers
  • in case no basic component is broken, then the packages could be tagged into dist-f18 buildroot

How To Test

Download packages from koji's buildroot dist-f16-perltest or try your packages with rebuild build requirements related to perl.

User Experience

Dependencies

repoquery --whatrequires --alldeps 'perl(:MODULE_COMPAT_5.1?.?)' | sort -u

Contingency Plan

Revert changes in git master branch before 5.16 upgrade and drop f18-perl koji build-root.

Documentation

Release Notes

New Features

  • Unicode 6.1
  • More consistent eval controlled with unicode_eval and evalbytes feature
  • 2- and 3-argument substr called in left-value context is evaluted even after changing original string
  • New T_*REF_REFCOUNT_FIXED XS typemap fixing reference counter decremetion
  • New is_utf8_char_buf XS-callable function replaces broken is_utf8_char function
  • $$ variable is writable
  • Improved debugger: tracing mode can be restricted to certain level, breakpoings can be disabled temporarily, breakpoints can be set by file name
  • sort subroutines can be autoloaded
  • $[ variable is provded by arybase module
  • mmaped PerlIO layer is now a separate module PerlIO::mmap

Deprecated Features

  • Accessing Unicode database files directly is deprecated now; use Unicode::UCD instead
  • Version::Requirements is deprecated in favor of CPAN::Meta::Requirements

Incompatible Changes

  • Special blocks (e.g. BEGIN) are called in void context
  • Unoverloaded stringification of regular expression does not return the expression literal
  • T_DATAUNIT and T_CALLBACK XS typemaps removed
  • User defined case-changing has been removed in favor of Unicode::Casing
  • XSUB C functions are static now and they are not exported from their object files
  • Read-only references cannot be weaken
  • $$, $<, $>, $(, and $) do not cache their value
  • Devel::DProf, Shell have been removed from Perl core
  • perl4 libraries removed: abbrev.pl, assert.pl, bigfloat.pl, bigint.pl, bigrat.pl, cacheout.pl, complete.pl, ctime.pl, dotsh.pl, exceptions.pl, fastcwd.pl, flush.pl, getcwd.pl, getopt.pl, getopts.pl, hostname.pl, importenv.pl, lib/find{,depth}.pl, look.pl, newgetopt.pl, open2.pl, open3.pl, pwd.pl, hellwords.pl, stat.pl, tainted.pl, termcap.pl, timelocal.pl

Comments and Discussion