[Python-Dev] PEP 6: Patch and Bug Fix Releases
aahz@pobox.com (Aahz Maruch)
aahz@pobox.com (Aahz Maruch)
Sat, 17 Mar 2001 08:35:17 -0800 (PST)
>> 1. There must be zero syntax changes. All .pyc and .pyo files
>> must work (no regeneration needed) with all patch releases
>> forked off from a feature release.
>
> Hmm... Would making 'continue' work inside 'try' count as a bugfix or as a
> feature ? It's technically not a syntax change, but practically it is.
> (Invalid syntax suddenly becomes valid.)
That's a good question. The modifying sentence is the critical part:
would there be any change to the bytecodes generated? Even if not, I'd
be inclined to reject it.
>> Bug Fix Releases
>>
>> Bug fix releases are a subset of all patch releases; it is
>> prohibited to add any features to the core in a bug fix release.
>> A patch release that is not a bug fix release may contain minor
>> feature enhancements, subject to the Prohibitions section.
>
> I'm not for this 'bugfix release', 'patch release' difference. The
> numbering/naming convention is too confusing, not clear enough, and I don't
> see the added benifit of adding limited features. If people want features,
> they should go and get a feature release. The most important bit in patch
> ('bugfix') releases is not to add more bugs, and rewriting parts of code to
> fix a bug is something that is quite likely to insert more bugs. Sure, as
> the patch coder, you are probably certain there are no bugs -- but so was
> whoever added the bug in the first place :)
As I said earlier, the primary motivation for going this route was the
ambiguous issue of case-sensitive imports. (Similar issues are likely
to crop up.)
>> The Patch Czar decides when there are a sufficient number of
>> patches to warrant a release. The release gets packaged up,
>> including a Windows installer, and made public as a beta release.
>> If any new bugs are found, they must be fixed and a new beta
>> release publicized. Once a beta cycle completes with no new bugs
>> found, the package is sent to PythonLabs for certification and
>> publication on python.org.
>
>> Each beta cycle must last a minimum of one month.
>
> This process probably needs a firm smack with reality, but that would have
> to wait until it meets some, first :) Deciding when to do a bugfix release
> is very tricky: some bugs warrant a quick release, but waiting to assemble
> more is generally a good idea. The whole beta cycle and windows
> installer/RPM/etc process is also a bottleneck. Will Tim do the Windows
> Installer (or whoever does it for the regular releases) ? If he's building
> the installer anyway, why can't he 'bless' the release right away ?
Remember that all bugfixes are available as patches off of SourceForge.
Anyone with a truly critical need is free to download the patch and
recompile. Overall, I see patch releases as coinciding with feature
releases so that people can concentrate on doing the same kind of work
at the same time.
> I'm also not sure if a beta cycle in a bugfix release is really necessary,
> especially a month long one. Given that we have a feature release planned
> each 6 months, and a feature release has generally 2 alphas and 2 betas,
> plus sometimes a release candidate, plus the release itself, and a bugfix
> release would have one or two betas too, and say that we do two betas in
> those six months, that would make 10+ 'releases' of various form in those 6
> months. Ain't no-one[*] going to check them out for a decent spin, they'll
> just wait for the final version.
That's why I'm making the beta cycle artificially long (I'd even vote
for a two-month minimum). It slows the release pace and -- given the
usually high quality of Python betas -- it encourages people to try them
out. I believe that we *do* need patch betas for system testing.
>> Should the first patch release following any feature release be
>> required to be a bug fix release? (Aahz proposes "yes".)
>> Is it allowed to do multiple forks (e.g. is it permitted to have
>> both 2.0.2 and 2.0.2p)? (Aahz proposes "no".)
>> Does it makes sense for a bug fix release to follow a patch
>> release? (E.g., 2.0.1, 2.0.2p, 2.0.3.)
>
> More reasons not to have separate featurebugfixreleasethingies and
> bugfix-releases :)
Fair enough.
>> What is the equivalent of python-dev for people who are
>> responsible for maintaining Python? (Aahz proposes either
>> python-patch or python-maint, hosted at either python.org or
>> xs4all.net.)
>
> It would probably never be hosted at .xs4all.net. We use the .net address
> for network related stuff, and as a nice Personality Enhancer (read: IRC
> dick extender) for employees. We'd be happy to host stuff, but I would
> actually prefer to have it under a python.org or some other python-related
> domainname. That forestalls python questions going to admin@xs4all.net :) A
> small logo somewhere on the main page would be nice, but stuff like that
> should be discussed if it's ever an option, not just because you like the
> name 'XS4ALL' :-)
Okay, I didn't mean to imply that it would literally be @xs4all.net.
>> Does SourceForge make it possible to maintain both separate and
>> combined bug lists for multiple forks? If not, how do we mark
>> bugs fixed in different forks? (Simplest is to simply generate a
>> new bug for each fork that it gets fixed in, referring back to the
>> main bug number for details.)
>
> We could make it a separate SF project, just for the sake of keeping
> bugreports/fixes in the maintenance branch and the head branch apart. The
> main Python project already has an unwieldy number of open bugreports and
> patches.
That was one of my thoughts, but I'm not entitled to an opinion (I don't
have an informed opinion ;-).
> I'm also for starting the maintenance branch right after the real release,
> and start adding bugfixes to it right away, as soon as they show up. Keeping
> up to date on bufixes to the head branch is then as 'simple' as watching
> python-checkins. (Up until the fact a whole subsystem gets rewritten, that
> is :) People should still be able to submit bugfixes for the maintenance
> branch specifically.
That is *precisely* why my original proposal suggested that only the N-1
release get patch attention, to conserve effort. It is also why I
suggested that patch releases get hooked to feature releases.
> And I'm still willing to be the patch monkey, though I don't think I'm the
> only or the best candidate. I'll happily contribute regardless of who gets
> the blame :)
If you're willing to do the work, I'd love it if you were the official
Patch Czar.
--
--- Aahz <*> (Copyright 2001 by aahz@pobox.com)
Androgynous poly kinky vanilla queer het Pythonista http://www.rahul.net/aahz/
Hugs and backrubs -- I break Rule 6
Three sins: BJ, B&J, B&J