Thursday, July 29, 2004

Perl 5.8.5 was boring...

Nicholas Clark from Fontango talked about the Perl 5.8.* release.

Things to note,
  • Perl 5.10.* will not be binary compatible with 5.8.*
  • No pseudohashes in Perl 5.10.*
  • No 5005 threads in Perl 5.10.*
He talked about the Perl 5.8.0 and 5.8.1 releases which were too far apart, but had a "2 weeks to launch" mentality, which meant that there were too many changes and too little testing time. Also, the vendors didn't wait and shipped release candidates, this was bad. Also, Perl 5.8.1 introduced hash randomisation and changed the Threads API. Neither of these were binary compatible with 5.8.0. Needless to say, the Perl 5.8.1 final release was exciting.

At this stage Nicholas took over as the pumpkin holder, already committed to a regular release schedule, which of course would hopefully make things a bit calmer.

So what's happened since?

Perl 5.8.2 fixed the binary compatibility problems with hash randomisation, making it binary compatible with both 5.8.0 and 5.8.1. Threads were returned to being binary compatible with 5.8.0.

Perl 5.8.3 added features (Tie::Hash SCALAR), this was a bad idea, but it was backwards compatible.

Perl 5.8.4 had no new features, and was getting to the stage where there weren't that many utf8 bugs anymore. But did introduce an optimisation to the sort code which was buggy. Perl 5.8.4 was a near miss, there was a major bug which was not found by the release candidates and only found by Debian testing.

Perl 5.8.5 had no new features, and no new bugs (so far)...

In the future Nicholas will drop to a 4 month release schedule, away from the current 3 month schedule. The release candidates aren't picking up problems so Fontango will be introducing a CPAN autobuilder to spot problems (which will be released to CPAN).