develooper Front page | perl.perl5.porters | Postings from January 2017

Re: Deprecation plans

Thread Previous | Thread Next
From:
Abigail
Date:
January 16, 2017 21:26
Subject:
Re: Deprecation plans
Message ID:
20170116212522.GE24453@almanda.fritz.box
On Sun, Jan 08, 2017 at 07:22:55PM +0100, Sawyer X wrote:
> Hi everyone,
> 
> 
> During the core hackathon in Amsterdam, we had a large discussion[1] on
> deprecations. This resulted in two decisions:
> 
> * From now on, deprecations must include a version in which the
> deprecation will take effect. This is to avoid the current situation in
> which there are numerous deprecations still in the code, some over 10,
> 15, or 20 years old.
> 
> * Every current existing deprecation must either be pinned with an
> effective version or be undeprecated.
> 
> 
> During the discussion we went over all existing deprecations and made a
> collective decision on both, while trying to remain both practical and
> lenient where appropriate. I present the decisions we made. Abigail is
> currently working on putting these all into work prior to 5.25.9. A big
> thank you to everyone who attended this grueling Hunger Games of
> deprecated features and syntaxes, and to Abigail for the work on leading
> this and making it a reality. :)


I merged in my branch with all the updated deprecation messages
as per the list below, with the following exceptions:

   *  Use of $* and $# will be fatal by 5.30 (instead of just removing
      the current warning).

   *  No change yet for what to do with $[. We want to have further
      discussing on whether we perhaps should undeprecate modifying $[.

   *  Nothing done for using "goto" to jump into a construct, as there's
      some opposition of removing this.


For the latter two points, we want to decide no later than 5.28 what
to do with those features (so we can discuss this for the next 16 months).


I've also created a document perldeprecation listing all items which are
deprecated, grouped by Perl version in which the item is scheduled to
disappear. For most items, this is mostly a copy of what's in perldiag,
but once a feature is removed, it will disappear from perldiag, but 
the entry can stay in perldiag for future reference. Over time, I'd like
to do some archeology, and document features which have been removed
in the past.



Abigail

> 
> 
> The list:
> 
> * Attribute "locked" is deprecated: Deprecated in 5.12.0, delete in 5.28.
> 
> * Attribute "unique" is deprecated: Deprecated in 5.12.0, delete in 5.28.
> 
> * Calling POSIX::%s() is deprecated: Removing from perldiag.
> 
> * Constants from lexical variables potentially modified elsewhere are
> deprecated: Delete in 5.32.
> 
> * Deprecated use of my() in false conditional: Deprecated in 5.10.0,
> remove in 5.30.0.
> 
> * ${^ENCODING} is no longer supported: Partially deprecated in 5.22.0,
> fully deprecated in 5.25.3, fatal in 5.28.
> 
> * $* is no longer supported: Functionality removed in 5.10.0, removing
> the warning.
> 
> * $# is no longer supported: Functionality removed in 5.10.0, removing
> the warning.
> 
> * Opening dirhandle %s also as a file: Deprecated in 5.10.0, fatal in 5.28.
> 
> * Opening filehandle %s also as a directory: Deprecated in 5.10.0, fatal
> in 5.28.
> 
> * Passing malformed UTF-8 to "%s" is deprecated: Deprecated since
> 5.18.0, fatal in 5.25.9.
> 
> * Setting ${^ENCODING} is deprecated: Deprecated in 5.22.0. Remove text.
> 
> * Setting $/ to a reference to %s as a form of slurp is deprecated,
> treating as undef: Deprecated in 5.20.0, fatal in 5.28.
> 
> * Unescaped left brace in regex is deprecated here, passed through in
> regex; marked by S<<-- HERE> in m/%s/: Deprecated in 5.25.2, fatal in 5.30.
> 
> * Unknown charname '' is deprecated: Deprecated since 5.24.0, remove in
> 5.28.0.
> 
> * Use of assignment to $[ is deprecated: Deprecated in 5.12.0; list
> context deprecated in 5.14.0, fatal in 5.28 (unless you use arybase)
> 
> * Use of bare << to mean <<"" is deprecated: Deprecated in 5.000, remove
> in 5.28.0.
> 
> * Use of code point 0x%s is deprecated; the permissible max is 0x%s:
> Deprecated since 5.24.0, remove in 5.28.
> 
> * Use of comma-less variable list is deprecated: Remove in 5.28.
> 
> * Use of *glob{FILEHANDLE} is deprecated: Deprecated in 5.8,
> undeprecated in 5.24.0, remove from perldiag.
> 
> * Use of "goto" to jump into a construct is deprecated: Deprecated in
> 5.12.0, remove in 5.28.0.
> 
> * Use of inherited AUTOLOAD for non-method %s() is deprecated:
> Deprecated since 5.004, remove in 5.28.
> 
> * Use of %s is deprecated: Remove text.
> 
> * Use of %s on a handle without * is deprecated: Remove text.
> 
> * Use of strings with code points over 0xFF as arguments to %s operator
> is deprecated: Deprecated in 5.24.0, removed in 5.28.0.
> 
> * dump() better written as CORE::dump(): Make it a deprecation warning;
> dump no longer available in 5.30.
> 
> * File::Glob::glob(): Deprecated in 5.8, add deprecation warning in
> 5.25.9, remove in 5.30.
> 
> * "L<section>": Deprecated in 5.12.0.
> 
> * "%s" is more clearly written simply as "%s": Deprecated in 5.14.0,
> removed in 5.28.
> 
> * Don't read the Unicode data base files in F<lib/unicore>: Deprecated
> in 5.16.0, no action for now.
> 
> * "--libpods" in Pod::Html: Warn since 5.18.0, remove in 5.26.
> 
> * sysread(), syswrite(), recv() and send() are deprecated on :utf8
> handles: Deprecated in 5.24.0, remove in 5.30.
> 
> * $! vs $^E for Winsock functions: Deprecated in 5.24.0, put in
> perlport, no action for now.
> 
> * Utils: c2ph, pstruct: Deprecated in favor of h2xs, gone in 5.26.0.
> 
> * %SIG: Undeprecate.
> 
> * B::OP::terse: Remove in 5.28.0.
> 
> 
> [1] This included Abigail, Yves Orton, Dave Mitchell, Karl Williamson,
> Nicholas Clark, Ilmari, Leon Timmermans, Aaron Crane, Matthew Horsfall,
> Lukas Mai, Tux, Nicolas (Atoomic) Rochelemagne, Todd Rinaldo, John
> Lightsey, Nick Koston, Stevan Little, and myself. (This is out of memory
> and a bit of checking. I apologize if I forgot anyone.)

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About