[Zope3-dev] Re: egg version numbers and zope releases

Jim Fulton jim at zope.com
Wed May 30 13:23:34 EDT 2007


On May 30, 2007, at 11:12 AM, Benji York wrote:

> Jim Fulton wrote:
>> - IMO, backward incompatibility, and therefore, deprecation, is  
>> no- longer an option.
>
> While I don't disagree, I would like to brainstorm approaches to  
> handling non-backward-compatibility.  One approach that's been  
> proposed is that when you have a package z3c.foo and you need to  
> make a backward-incompatible change you'd create, essentially, a  
> new package z3c.foo2.  I like the simplicity of that, but it does  
> offend my sense of aesthetics a bit.
>
> Another option would be that the major version number indicates  
> incompatibility.  Therefore, z3c.foo 1.x would be incompatible with  
> any 2.y.  One downside to that is that I don't think setup_tools  
> handles version numbers that way, so would be glad to provide a 2.0  
> version if you're not careful enough to say version < 2.0 when 2.0  
> doesn't yet exist, messing up your dependencies when 2.0 is  
> introduced.

It's actually worse than that.  <2.0 would admit 2.0a1. :)  You'd  
probably need something like < 1.99.

Even if developers remembered, it would be icky to have to spell out   
something like >=3.4 <=3.99 on everwhere.

Using foo2 essentially embeds the major version in the package name,  
which doesn't seem so bad to me.

Maybe there is some kind of dependency syntax that reads well that  
means "I want this major version".  Can you think of a syntax that is  
actually nicer than foo2?

Jim

--
Jim Fulton			mailto:jim at zope.com		Python Powered!
CTO 				(540) 361-1714			http://www.python.org
Zope Corporation	http://www.zope.com		http://www.zope.org





More information about the Zope3-dev mailing list