On 24 November 2010 10:45, Luc Maisonobe <luc.maison...@free.fr> wrote:
> Le 24/11/2010 11:34, sebb a écrit :
>> On 24 November 2010 09:38, Luc Maisonobe <luc.maison...@free.fr> wrote:
>>> Hi all,
>>>
>>> We have cut a branch for 2.X some times ago and starting work on 3.0.
>>> 2.2 is (as far as I am concerned) both a bug fix release and a
>>> transition release towards 3.0. The recent thread about repackaging a
>>> set of user-related exceptions showed this point of view.
>>>
>>> I first intended to wait until MATH-380 was at least partially covered
>>> to release 2.2. It appears that the jacobians computation with ODE is
>>> yet another bad design from me and add to be completely rewritten. I am
>>> working on a new much cleaner design, but it breaks compatibility.
>>> Therefore, I postponed MATH-380 to 3.0 and will propose this new design
>>> for discussion to the list in the near future with the intent to put it
>>> only in 3.0 and not in 2.2.
>>>
>>> At the same time, working on both 2.X branch and 3.0 trunk becomes a
>>> nightmare. I try to keep things in sync as much as possible. I
>>> reintroduced some 3.0 exceptions in 2.X because it made sense and
>>> allowed smooth transition, clean up javadoc when it announces in the
>>> trunk that some class was deprecated in 2.2 when in fact nothing has
>>> been put in the branch ...
>>>
>>> I would very much like to have 2.X released early, preferably in
>>> December. I also think 3.0 should be released early (perhaps during
>>> spring) as some projects I know of would need it.
>>>
>>> There are 10 Jira issues open for 2.2. MATH-327 and MATH-383 are about
>>> SVD (still not robust enough it seems). I don't know if they can be
>>> addressed now or should be postponed. I think we still need to improve
>>> our SVD. MATH-408 and MATH-420 have been raised by Phil himself so I
>>> probably knows if they should be solved now or not. I think MATH-402
>>> could be fixed, as the spec pointed out by Phil say in note 358 page 532
>>> that complex pow(c,z) could be implemented as exp(c*log(z)) and
>>> log(0)=-inf+yi (y being 0 or pi depending on sign of 0) and exp(O+yi)=0
>>> for finite y. The Jira comments and some threads on this list show that
>>> much work has already been done on MATH-385, MATH-384, MATH-364,
>>> MATH-228 (mostly on the list, not as Jira comments). I'll have a look at
>>> MATH-414.
>>>
>>> I also noticed we now have an increasing number of users and some
>>> complex projects among them. So it may be time for us to follow the
>>> general trend proposed for commons components and switch our top level
>>> package name from org.apache.commons.math to org.apache.commons.math3
>>> for this version. This would help people have both versions in their
>>> classpath without names clashes. I'm sure James will be happy with this
>>> proposal ;-)
>>
>> If the API is incompatible, changing the package name is essential IF
>> there are likely to be multiple dependencies on Math.
>
> Yes. There is one big research project split into many components
> developed by different unsynchronized teams throughout the world.
> Commons-math is one of their dependencies.
>
> I'm pretty sure some components are already using 3.0 (well, they have
> committers here ...) and also some other teams are still stuck with 2.1.
> With different package names, it will probably help them transition at
> their own pace before everyone is in sync again (if it ever happens ...)
>
>>
>> Note that Clirr does not have an option to treat different package
>> names as being the same code line (AFAIK).
>>
>> So consider changing the package names just before release to make it
>> easier to run Clirr in the meantime.
>
> Thanks for the hint. As we already know we have introduced
> incompatibilities, is a Clirr report still useful ?
>

Yes - it can be used to know where to add the @since markers.

It would also be useful when documenting which APIs have changed.

Updating user code is generally going to involve more than just
changing the package name and recompiling.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to