The question comes down to: is it worth taking the risk of breaking users
applications while this can be done safely in a major release.  Those
changes are not enabler, it's just cleaner at the end.  So while I think
those changes are good, they may be delayed until 3.0.

I don't really understand why not waiting a bit, given we have already a
breaking 3.0 planned already.
Trunk becoming 3.0 is actually a nice way to do that.  It allows developers
to continue working and making things cleaner as you do and keep a 2.9
branch for more non breaking changes / improvements / new features.


On Mon, Sep 26, 2011 at 13:17, Christian Schneider
<ch...@die-schneider.net>wrote:

> Yes there are probably some undocumented changes. The question is though if
> they would hit anyone. That is why I would like to do a release candidate
> for 2.9. So
> people can try to run their projects with the refactorings and we can even
> react before the first official 2.9 release.
>
> About the SPI changes I propose (https://issues.apache.org/**
> jira/browse/CAMEL-4475 <https://issues.apache.org/jira/browse/CAMEL-4475>).
> This would of course be a breaking change for anyone who actually uses these
> interfaces. The questions is though how many people
> would be hit. If you look closely at the interfaces then Policy is the only
> one that is really likely to be used. The Debugger is probably also used
> especially for tests. These were the only two points where I had to do
> changes outside of camel-core to get the tests working.
>
> So while there is a chance that people are hit the percentage may be small.
> If we then react fast or even before 2.9.0 and provide compatibitlity for
> people who report problems then I can imagine to make almost everyone happy
> with 2.9.0.
>
> Christian
>
>
> Am 26.09.2011 10:52, schrieb Claus Ibsen:
>
>  On Sat, Sep 24, 2011 at 10:30 PM, Christian Müller
>> <christian.muel...@gmail.com>  wrote:
>>
>>> That's exactly what I think, Hadrian.
>>>
>>> A minor release has not to be 100% backwarts compatiple. Of course we try
>>> our best to be 100% backwarts compatible in minor releases, but it should
>>> not be a problem if we aren't, as long as we document the not backwarts
>>> compatible changes.
>>>
>>>  The API changes has not been fully documented. In fact there is a
>> "disclaimer" in the release notes, saying something like.
>>
>> Hey we have changed the API a lot, and we kinda got lost in this
>> process. We are sorry if you hit any API breakings.
>> But tell us and we will try to add some stubs in the next release.
>>
>>
>>
>>
>>  A micro/bugfix release has to be 100% backwarts compatible of course.
>>>
>>>  The current 2.8.x branch is not 100% backwards compatible. There is
>> API changes committed.
>>
>>
>>  I prefer to release a 2.9.0 version after Christian S. (an may other) 99%
>>> backwarts compatible changes/refactorings are done. Afterwards we can
>>> start
>>> to develop 3.0.0 on trunk - with the time to play a bit with our new
>>> ideas
>>> and the freedom to break existing APIs.
>>>
>>>  Well if Christian did stop right now doing anymore API changes, then
>> we may have a slight chance to not piss-off to many end users.
>> But there is JIRA ticket assigned to him targeted for Camel 2.9.0,
>> where he wants to do bigger API-breakings in the model / SPI packages.
>>
>> Likewise he moved classes / deleted classes (from camel-core) without
>> marking any old classes as @deprecated, which gives people a chance to
>> migrate over a amble period of time. So we end up in a catch-22
>> situation.
>>
> Can you report the classes you found. If they are important to users I can
> provide stubs.
>
>
>> So Camel end users may have developed in-house components /
>> interceptors / management tooling / or whatever for Camel which you
>> want to use for existing in production Camel 2.8 projects. And then
>> also for new projects using Camel 2.9+. For that to work out, you
>> would need to maintain 2 branches of your custom stuff as its not
>> compatible with both 2.8 and 2.9+.
>>
> Yes that can be a real problem. So we should make sure there are not too
> many releases that change the API on the way to 3.0. On the other hand I
> think we should release often to get feedback. That is a difficult balance.
>
>>
>>  Christian
>
> --
> --
> Christian Schneider
> http://www.liquid-reality.de
>
> Open Source Architect
> Talend Application Integration Division http://www.talend.com
>
>


-- 
------------------------
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Reply via email to