On 11 February 2011 20:58, Phil Steitz <phil.ste...@gmail.com> wrote: > On 2/11/11 3:42 PM, Luc Maisonobe wrote: >> Le 11/02/2011 21:34, Phil Steitz a écrit : >>> On 2/11/11 3:03 PM, Luc Maisonobe wrote: >>>> Le 11/02/2011 20:23, Phil Steitz a écrit : >>>>> On 2/11/11 1:53 PM, Luc Maisonobe wrote: >>>>>> Le 11/02/2011 19:07, Phil Steitz a écrit : >>>>>>> On 2/11/11 12:49 PM, Luc Maisonobe wrote: >>>>>>>> Hi all, >>>>>>>> >>>>>>>> I would like to have 2.2 out as soon as possible. I would like to >>>>>>>> propose yet another intermediate solution, not a perfect one, but >>>>>>>> trying >>>>>>>> to mitigate everything that has been said here. Remember this is *only* >>>>>>>> for 2.2 and it does *not* mean anything about 3.0 or any further >>>>>>>> discussions. >>>>>>>> >>>>>>>> So I propose we release 2.2 with the following changes relative to what >>>>>>>> is currently in the repository: >>>>>>>> >>>>>>>> - change FunctionEvaluationException, DerivativeException and >>>>>>>> MatrixVisitorException to unchecked again by making them >>>>>>>> extend o.a.c.math.exception.MathUserException >>>>>>>> - change ConvergenceException to unchecked by making it extend >>>>>>>> o.a.c.math.exception.MathIllegalStateException >>>>>>>> - undeprecate all these exceptions >>>>>>>> - accept the 17 CLIRR errors remaining after these changes >>>>>>>> (13 related to exceptions, 4 related to ODE) >>>>>>>> - accept the 30 CLIRR warnings remaining after these changes >>>>>>>> (all of them related to exceptions) >>>>>>>> - accept the 422 CLIRR infos remaining after these changes >>>>>>>> >>>>>>>> This is by no means a perfect solution, I really tried to reach a >>>>>>>> compromise between several points of view. As each compromise, everyone >>>>>>>> would have something to tell against it but please don't start another >>>>>>>> lengthy discussion and even less a flame war. There is no hidden >>>>>>>> intention behind this and the choices presented would be put only in >>>>>>>> 2.2 >>>>>>>> branch, not in trunk. The only intention is to be able to publish 2.2. >>>>>>>> >>>>>>>> What do you think ? >>>>>>>> >>>>>>> Can you create a Clirr report showing the issues above and put it in >>>>>>> ~luc so we can all look at it? >>>>>> Yes, I have put it there: >>>>>> <http://people.apache.org/~luc/clirr-report.html>. >>>>>> >>>>>>> Also, what would it take to fully eliminate the exceptions-related >>>>>>> errors? >>>>>> This would mean going back to checked exception as most errors are >>>>>> "Removed org.apache.commons.math.MathException from the list of >>>>>> superclasses" >>>>> So from the user perspective, the compatibility issue is that code >>>>> that catches MathException will in some cases propagate runtime >>>>> exceptions instead. This sounds ridiculous, but what would be the >>>>> implications of just reverting the hierarchy so catching >>>>> MathException would work as before, but make MathException itself >>>>> unchecked? >>>> This could be done. I sincerely simply did not think about it. >>>> >>>>> Sorry if this seems to be walking into the kind of discussion you >>>>> did not want to reopen at this point; but I am just trying to see >>>>> what we might be able to do to prevent users having to make code >>>>> changes to have their apps that use 2.1 work safely in 2.2. >>>> I would say we can't do anything. There are the ODE changes which are >>>> flagged as errors by CLIRR even for things which clearly do not belong >>>> to the public API like private fields having been replaced. There are >>>> also the 2.1 tests that Sebb checked against 2.2 and which fail due to >>>> other changes which are not flagged at all by CLIRR because they are >>>> semantic changes. >>>> >>> What if we reverted all of the incompatible changes other than those >>> required to fix the ODE bug? That would mean >>> >>> 1. Revert changes in exception hierarchy >>> 2. Revert semantic changes in equals that Sebb flagged >>> 3. Anything else? >>> >>> I honestly don't recall anything else and we could look through the >>> tickets to verify no other semantic changes >>>>> I will add at this point that if we just s/2.2/3.0 and s/3.0/4.0, I >>>>> am fine releasing as is. >>>> 2.2 *is* a clumsy version, so promoting it to 3.0 would be really a bad >>>> idea as it would imply telling to users « we have done great changes, >>>> look at them » to only change everything again. >>>> >>>> Current 3.0 is more in line with what we want. It will certainly not be >>>> perfect either, but much better. >>>> >>>> So rather than patching this mess once again, we could simply drop 2.2 >>>> completely and concentrate our efforts in 3.0 to be able to publish it >>>> soon. However, this is not an easy decision. As some of you already >>>> know, and as Gary said in his interview recently, we have some great >>>> news to publish about some uses of [math]. Dropping 2.2 and waiting >>>> months for 3.0 would be really really bad for this. >>>> >>>> The alternative is therefore: >>>> - do we publish a 2.2 that is clumsy but fixes many important bugs >>>> and introduces some incompatibilities >>>> - do we consider we can publish 3.0 in the next two months so we >>>> can afford dropping 2.2 >>>> >>>> Please, choose one option and stick to it. I am exhausted and depressed, >>>> I don't want to argue anymore. >>>> >>> I am really sorry about this, Luc. I should have complained more >>> about the incompatible changes as they were introduced. We now have >>> a mess to clean up and I have to take the lion's share of the blame >>> for that. So I will volunteer to do the compatability-restoring >>> changes if we can agree to them and get a 2.2 RC that has only the >>> ODE issue (which looks minor, from a user standpoint). Would you >>> be OK with a third alternative, which is release 2.2 with only the >>> ODE incompatibility? >> Yes. >> > Great. As long as others are OK with this, I will get to work on > this this weekend.
+1. I can do MathUtils if that helps. May also have time for some others. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org