Release Plan For Commons Math 1.1
Background
This is a maintenance release including bug fixes and some enhancements.
Status
In progress
Pre Release Tasks
Coding
(Done)Complete SubMatrix implementation requested in Pr 35007
(Done)Add TestUtils class including factory methods as requested in Pr 32663
(Done)Address Bug 35042: BrentSolver and SecantSolver request boundary values from function twice
(Done)Add RandomGenerator extending java.util.Random to complete pluggability
(Done)Resolve Bug 36105 (inverseCumulativeProbability fails for large Poission with large lambda)
(Done)Resolve Bug 37255 (PolynomialSplineFunction does not implement DifferentiableUnivariateRealFunction)
(Done)Resolve Bug 37086 (Complex arithmetic operations do not conform to C99x Annex G)
Some data and proposed values re 37086
Operation |
Math 1.0 Value |
Colt |
R |
Proposed for 1.1 |
Comments? |
(1 + NaNi) + (0 + 0i) |
NaN + NaNi |
1 + NaNi |
1 + NaNi |
1 + NaNi |
-- |
(1 + INFi) + (1 - INFi) |
2 + NaNi |
2 + NaNi |
2 + NaNi |
2 + NaNi |
-- |
(1 + INFi) + (1 + INFi) |
2 + INFi |
2 + INFi |
2 + INFi |
2 + INFi |
-- |
(-INF + -INFi) + (INF + NaNi) |
NaN + NaNi |
NaN + NaNi |
NaN + NaNi |
NaN + NaNi |
-- |
|
|
|
|
|
|
(1 + i) (INF + i) |
INF + NaNi |
INF + INFi |
INF + INFi |
INF + INFi |
bug in math 1.0 impl |
(1 + INFi) (1 - INFi) |
INF + NaNi |
INF + NaNi |
INF + NaNi |
INF + NaNi |
-- |
(-INF + -INFi)(1 + NaNi) |
NaN + NaNi |
-INF + -INFi |
NaN + NaNi |
NaN + NaNi |
Colt is following algorithm in C99x Annex G spec |
|
|
|
|
|
|
(1 + INFi)/(1 + 0i) |
NaN + INFi |
NaN + INFi |
NaN + INfi |
NaN + Infi |
-- |
(1 + INFi)/(1 + INFi) |
NaN + NaNi |
NaN + INFi |
NaN + NaNi |
NaN + NaNi |
-- |
(-INF + -INFi)/(1 + NaNi) |
NaN + NaNi |
NaN + INFi |
NaN + NaNi |
NaN + NaNi |
-- |
(-INF + INFi)/(1 + 0i) |
NaN + NaNi |
-INF + INFi |
NaN + NaNi |
NaN + NaNi |
Colt is following algorithm in C99x Annex G spec |
(INF + i)/(0 + 0i) |
NaN + NaNi |
NaN + NaNi |
NaN + NaNi |
-- |
|
(1 + 0i)/(0 + 0i) |
NaN + NaNi |
NaN + NaNi |
NaN + NaNi |
-- |
Documentation
(Done)Update release 1.0 javadoc link in navigation.
(Done)Run linkcheck to verify links in javadoc and user guide
- Only link errors are valid redirects and links to release 1.0 javadoc index. Once 1.0 javadoc is generated and published, this item can be marked complete.
(Done)Add documentation in user guide showing how PRNG pluggability works
Javadoc
- Generate/Publish release 1.0 javadoc.
(Done) Add since tags to all methods introduced since 1.0 release
(Done) Improve WeibullDistributionImpl javadoc
(Done)Review all javadoc for accuracy and completeness
Quality
(Done) Fix any checkstyle warnings.
Check Compatibility
(Done) This release should be binary compatible with the 1.0 release, including serialization
RC(s)
- Once tasks above a completed, create MATH_1.1_RC1 branch and roll a full RC
Repeat for n=2, 3, ... until all are happy (see below
Release Notes
(Done)Create a text file based on the content of changes.xml, name this ReleaseNotes.txt and add to release. Would be great to have a commons-standard way to do this. - has been automated using custom jsl for maven changes plugin
Release Vote(s)
If no objections are raised on problems reported with an RC after two days, a VOTE thread will be kicked off. If problems are reported during the vote, these will be fixed and a new RC will be made available and a new VOTE initiated. This process will iterate until we have had a successful VOTE thread extend for 72 hours.