[Python-Dev] What version is an extension module binary compatible with

Steve Dower steve.dower at python.org
Tue Mar 28 13:52:44 EDT 2017


On 28Mar2017 1035, Paul Moore wrote:
> On 28 March 2017 at 18:05, Glenn Linderman <v+python at g.nevcal.com> wrote:
>> Somewhere I got the idea that extension authors were supposed to build
>> against the n.m.0 releases, expressly so that the extensions would then be
>> compatible with the whole n.m.x series of releases. Did I dream that?
>
> I've certainly never heard it stated - and I'd think it's a pretty
> annoying requirement to make of extension builders.
> Paul

Agreed, we should avoid both additive and subtractive breaking changes 
to the binary API within micro versions completely. Additive ones like 
this are difficult to catch, unfortunately, and so building against the 
.0 release is not bad advice. Building with the .0 headers is probably 
sufficient.

I wonder if there's a way we can preprocess the headers to define a 
baseline? Then we could automatically compare against that and force 
explicit decisions leading to public API changes (probably the process 
of finishing off the limited API validation could include this task 
fairly easily as well).

Cheers,
Steve


More information about the Python-Dev mailing list