develooper Front page | perl.perl5.porters | Postings from February 2012

Re: How we deprecate (was Re: Deprecating '\w {' in v5.16)

Thread Previous | Thread Next
Nicholas Clark
February 1, 2012 03:13
Re: How we deprecate (was Re: Deprecating '\w {' in v5.16)
Message ID:
On Sun, Jan 29, 2012 at 09:21:07PM -0500, David Golden wrote:

> I expect that 99.9%+ of Perl users do not build dev releases (much
> less test code on them), as much as we encourage them to.  Thus, I
> don't expect anyone to react to a deprecation warning until the stable
> release in which deprecation warnings start.  (Thankfully, we have
> Andreas who regularly smokes blead because that's most of the "live
> code" smoking we get.)

Agree. But it's incredibly useful.

> So while I don't like "risky" code late in the dev cycle (by which I
> mean things that are complex and might have surprising bugs revealed
> in testing), I don't see any reason why deprecations can't be
> introduced right up to the code freeze, since the only point it really
> affects most users is when the stable release is done.

I can see a couple of related small risks

1) we don't like shipping a new stable release with known "embarrassing"
   things in CPAN modules. Adding new speed bumps for CPAN authors near our
   release time reduces their time to update their code.

2) we don't always *find out* about problems immediately.
   Specifically, making the long-deprecated defined (@array) finally warn
   caused a test failure in PPI, because one of its pre-requisite modules
   now issued a warning, which confused one of PPI's tests which parsed
   output. That upstream module *didn't* fail tests.

   In this case, I don't think it was a new change in the upstream module.
   But if new code in upstream modules interacts with our changes in ways
   that *only* effect downstream modules, then that's not going to get
   spotted in any timely fashion by a CPAN smoker that prioritises testing
   new modules.

It also gives us less time to change our mind.

So I think adding things later increases risks of problems slightly. But not

Nicholas Clark

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About