[Python-Dev] Bugfix releases should not change APIs
Nick Coghlan
ncoghlan at gmail.com
Sat May 29 05:41:33 CEST 2010
On 29/05/10 09:03, Terry Reedy wrote:
> After filing
> http://bugs.python.org/issue8840
> I was rather shocked to be told that the code-breaking and
> policy-violating change was intentional because being 'more consistent
> with other file-handling APIs out there' was somehow more important than
> consistency within version releases. It also seems to me that discussion
> of code-breaking API changes like this should involve more than one user
> and one developer. See
> http://bugs.python.org/issue6939
As Benjamin noted, that change was discussed on python-dev and actually
made at Guido's direction.
> So, I think
> 1) the supposed bugfix-only policy should really be the policy;
> 2) the violation in 3.1.2 should be reverted in 3.1.3, and the API
> change reviewed in the normal 3.2 alpha/beta process.
> I am curious as to what others think on both points.
The bugfix-only policy remains in place, but there are corner cases
(such as this one) where the definition of what is and isn't a bug gets
fuzzy and we need to make a judgment call as to whether to fix them or
not. In particular, fixing bugs often runs the risk of breaking existing
workarounds for those bugs.
The decimal module, for example, has a standing policy to treat
deviations from the standard as bugs, and this may lead to changes in
the module if the standard is updated between two releases.
This specific change was discussed on python-dev and the chance of
breaking existing 3.1 code was deemed preferable to retaining semantics
that were seen as broken, so I would be against reverting it.
However, it may be worth modifying the policy to ensure that such
exceptional bug fixes be mentioned prominently in the release notes and
on the download page for that maintenance release.
Regards,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
More information about the Python-Dev
mailing list