On 6 April 2010 11:21, Egon Willighagen <egon.willigha...@gmail.com> wrote: > On Tue, Apr 6, 2010 at 12:05 PM, Noel O'Boyle <baoille...@gmail.com> wrote: >> On 6 April 2010 10:34, Egon Willighagen <egon.willigha...@gmail.com> wrote: >>> CDK uses the Linux kernel system [0]: >>> >>> x.even is stable >>> x.odd is development (or unstable) >>> >>> So, the current stable release series is 1.2.x, and the current >>> development series is 1.3.x. The latter will lead (aim this summer) to >>> a new stable series numbered 1.4. >> >> So could you explain exactly what API changes are allowed between >> successive Minor releases (e.g. 1.2 and 1.3), and what API changes are >> allowed between successive Point releases (e.g. 1.2.3 and 1.2.4)? > > The used numbering scheme does not identify the second number as > 'Minor'. Instead, those are actually 'Major'. I am not sure what they > call the first number, so I'll call that Foo, giving you: > Foo.Major.Minor.Point. > > Between 1.2.x and 1.2.(x+1) the API is stable. Only bug fixes and > sometimes new functionality. Rarely an API change, if this is really > needed to fix a grave bug. > > Betweem 1.2 and 1.3, anything can happen. 1.3 is a Foo.odd release, so > the API can be changed at will. > > Just to make clear, CDK does *not* use the Major.Minor.Version release scheme.
Thanks for making that clear, because I'm not familiar with how the Linux kernel operates. Between 1.2.4 and 1.2.5 the API lost functionality relating to 2D depiction. I understand that this was due to a refactoring out to JChemPaint, not to fix a grave bug. This forces me to break my own promise of a stable API over at Cinfony (removal of the draw() method) or else to avoid upgrading to the remainder of the 1.2.x series. Simply put, I don't think removal of functionality (or a refactoring) should be allowed in a Minor release. Instead, the new CDK jar should be a drop-in replacement for an existing jar. If there are any automatic tools that can be added to nightly to test for API stability (or provide a diff of the API), I would encourage you to use them and to revert any changes that break the API. Please take these comments as constructive criticism. Users, not developers, are most heavily hit by API changes and it needs to be clear if/when it's safe to upgrade from one jar to another without breaking an application. Over at OpenBabel we get grief from Debian for inadvertent API changes in point releases, and quite rightly too. - Noel ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Cdk-user mailing list Cdk-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cdk-user