
Robert Ramey skrev:
Christian Larsen wrote: [SNIP]
Yes, that's right. But still I don't see how that would make it possible to keep a stable interface, and make point releases of that. Unless all developers agree to only merge non-interface breaking changes into "ReleaseReady".
You're correct that this depends upon developers not merging interface breaking changes into "ReleaseReady"
We recently had a discussion about just this topic. I expressed the position that such interface breaking changes should be considered bugs. I also pledged to personally consider such changes in the serialization library as bugs and treat them as such. Much to my amazement, the idea that all boost developers should adhere to such a position was considered by some to be a bad idea. To me it is the bedrock of serious, quality software.
I completely agree, and that's also how I like to think of Boost, as serious, quality software. Not having a stable interface gives the impression that Boost is "hobby" development only, and can't be used for serious purposes. But that's really a shame, as I consider the Boost developers as some of the best in the world! I'm starting to think that what is referred to as hotfixes in this thread is actually just patches lifting the released version up to the improved level of the "ReleaseReady" branch for specific libraries. And that being the case, I must say I like the idea of providing hotfixes. In that case it's basically what I was hoping to see, just that getting a fresh checkout from SVN might be easier than applying a lot of patches manually. Now I can have the option of doing it either way. :)
Christian Larsen wrote:
Many users would appreciate bugfix-only releases, because they may not be able to/have the time or money/whatever reason to update to a new interface that often.
When I find that a library author changes the interface - and I have to go back to change my code, the whole justification for using the library in the first place goes out the window. I either save the original copy of the library, or use another library with a stable interface. I don't have time to chase after everyone elses vision of perfection.
Exactly. At my work place we're still using version 1.33.1 (!) of Boost for this very reason.
Christian Larsen wrote:
on how things could be done resulting in what many people would like: point releases with a stable interface and bugfixes, at little cost for developers and release managers.
I would make a distinction between an interface change and a bug fix which just changes the implemention. The former should never occur. And if it does it shouldn't be in a point release or hot fix. Its a major change which should result in updated docs, release notes, tests, etc. Only the later is appropriate for point release, hot fix or whatever.
That's what I meant. In fact I think we're pretty much in agreement on this now. Especially after Beman Dawes explained the reasoning behind the current release process to me in the other thread... Best regards, Christian