
              Apache Commons Math 3.4.1 RELEASE NOTES

The Apache Commons Math team is pleased to announce the release of commons-math3-3.4.1

The Apache Commons Math project is a library of lightweight, self-contained mathematics
and statistics components addressing the most common practical problems not immediately
available in the Java programming language or commons-lang.

This is a maintenance release: It fixes issue MATH-1188.

Changes in this version include:


Fixed Bugs:
o MATH-1188:  Fixed non-Java1.5 code in BesselJ. 



For complete information on Apache Commons Math, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Math website:

http://commons.apache.org/proper/commons-math/


