The clirr report run from the current MATH_2_X branch is, as expected, problematic. To get 2.2. out, we need to agree on what breaks we are going to allow and what we are going to fix. Here is a first cut and proposal for some immediate fixes that I would appreciate feedback on.
0) The improvements to the distributions classes to add characteristic support and positive mass domains have added some new methods to interfaces and new abstract methods to abstract classes. I apologize for not spotting this in initial patch reviews or being clear in discussion of the features. I think we can keep the functionality without introducing the compatibility breaks by removing the added methods from interfaces / abstract classes. The only painful part is the nice solution for caching numerical characteristics that will have to be repeated in the implementation classes that need it. I would like to proceed with these changes in the 2.2 branch if others are OK with it. 1) Removed superclasses in the exception hierarchy. I am OK leaving these as is. I don't know what, if anything, to do about the following: 2) Changed return type of interpolate in BicubicSpline. 3) Incompatible changes in the ode package. 4) Incompatible changes in the optimization package. Thanks in advance! Phil