|
|
Log in / Subscribe / Register

Perl Steering Council meeting minutes May 20

From:  "Paul \"LeoNerd\" Evans" <leonerd-AT-leonerd.org.uk>
To:  Perl5 Porters <perl5-porters-AT-perl.org>
Subject:  PSC #066 2022-05-20
Date:  Fri, 20 May 2022 19:45:15 +0100
Message-ID:  <20220520194515.5a232f77@shy.leonerd.org.uk>

PSC #066 2022-05-20

Present: Neil, Paul, Rik

## Perl 5.36 Blockers

Just one remains: 19738
  https://github.com/Perl/perl5/issues/19738

In summary: This appears to be something of a quantum entanglement of
behaviours between JSON encoders and decoders, relating to how they
encode boolean values. While it's not technically a bug in perl itself,
it nevertheless results in a coïncident change of behaviour of
important CPAN modules, including one shipped by core perl itself, so
may give the appearance of being "perl 5.36's fault". We therefore want
to consider it a release-blocking issue anyway, and would prefer to
have it fixed before we make the 5.36.0 release.

The CPAN module `Cpanel::JSON::XS` expects that `JSON::PP` will use the
`true` and `false` notation for core booleans on any perl version
5.35.10 or later (by testing the perl version itself, rather than by
inspecting the $VERSION variable of JSON::PP). The latest CPAN release
of `JSON::PP` (version 4.08) does this, but the version shipped with
blead perl (4.07) does not. There are two consequences of these facts:

  * JSON::PP version 4.08 will unconditionally use `true`/`false`
    notation to encode core booleans on supported perl versions. This
    may surprise users who unwittingly update their module.

  * Cpanel::JSON::XS fails its install-time tests on 5.36.0-RC0 with
    its JSON::PP 4.07. This is also noted on an issue directly on that
    module:
      https://github.com/rurban/Cpanel-JSON-XS/issues/194

We don't want to suggest fixing this by updating blead to JSON::PP
4.08, because its unconditional use of booleans may surprise users, and
making such a change in the code freeze, and this close to 5.36, would
be a bad, bad idea. A better fix is to address these two issues
independently:

  * JSON::PP should not use this notation unconditionally. Either it
    should add an option (default off), or if that is not possible in
    time for 5.36 release, just revert the current boolean changes. This
    will result in a 4.09 we can sync to blead.

  * Cpanel::JSON::XS's tests should be updated to be dependent on the
    JSON::PP options or version to decide what boolean encoding to
    expect, rather than simply on the perl version.

Rik has (or will soon have) sent issue comments and emails about these
two parts.


## Reverting `no feature 'indirect'` from `use v5.35`

Previously we had discussed reverting the `no feature 'indirect'` part
of the :5.35 feature bundle, along similar reasons as the reversion of
bareword_filehandles. This was raised on p5p@. Subsequent discussion
has given us extra confidence that this particular (anti-)feature seems
to be working as advertised, so we no longer feel it necessary to
revert it as earlier planned.


## Neil's Perl 7 Statement

Neil has drafted an updated statement on the overall direction of that
which will be called "Perl 7". This will be posted to p5p@ for further
discussion ahead of a wider plan to publish it along with the 5.36
release.

-- 
Paul "LeoNerd" Evans

leonerd@leonerd.org.uk      |  https://metacpan.org/author/PEVANS
http://www.leonerd.org.uk/  |  https://www.tindie.com/stores/leonerd/



to post comments


Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds