4. Changelog¶
4.1. 08-19-2018 v. 2.1.1¶
Fix compile error on FreeBSD where fastnumbers’ “string.h” shadowed the system “string.h”.
Add a high-level description of the fastnumbers algorithm in the documentation.
4.2. 08-03-2018 v. 2.1.0¶
Fix bug in converting unicode numbers on Python 3.7.
Restructure code base, hopefully improving simplicity.
Speedup of conversions of ASCII-like unicode in Python 3.
Speedup of conversions for large integers and large floats - fastnumbers should now be at least as fast as built-in functions.
4.3. 07-01-2018 v. 2.0.5¶
Fix bug in
fast_real
that resulted in anOverflowError
when given very large int-like floats.Source files are sorted before compilation.
4.4. 05-18-2018 v. 2.0.4¶
Fix install error on old versions of setuptools.
4.5. 05-14-2018 v. 2.0.3¶
Reorganized testing and development infrastructure.
Add bumpversion infrastrucutre.
Development dependencies are now defined using Pipfile.
4.6. 11-11-2017 v. 2.0.2¶
Updated docstrings.
Improved timing documentation.
Added testing for Python 3.7.
4.7. 04-30-2017 v. 2.0.1¶
Fixed bug in decimal digit limit on GCC.
4.8. 04-30-2017 v. 2.0.0¶
Dropped support for Python 2.6.
Added support for Python 3.6 underscores.
Added drop-in replacements for the built-in
int()
andfloat()
functions.Incorporated unit tests from Python’s testing library to ensure that any input that Python can handle will also be handled the same way by
fastnumbers
.Added Appveyor testing to ensure no surprises on Windows.
Revamped documentation.
Refactored internal mechanism for assessing overflow to be faster in the most common cases.
4.9. 04-23-2016 v. 1.0.0¶
“coerce” in
fast_real
now applies to any input, not just numeric; the default is now True instead of False.Now all ASCII whitespace characters are stripped by fastnumbers
Typechecking is now more forgiving
fastnumbers now checks for errors when converting between numeric types
Fixed bug where very small numbers are not converted properly
Testing now includes Python 2.6.
Removed
safe_*
functions (which were deprecated since version 0.3.0)Fixed unicode handling on Windows.
Fixed Python2.6 on Windows.
4.10. 03-19-2016 v. 0.7.4¶
Added the “coerce” option to fast_real.
4.11. 03-08-2016 v. 0.7.3¶
Newline is now considered to be whitespace (for consistency with the builtin float and int).
4.12. 03-07-2016 v. 0.7.2¶
Fixed overflow bug in exponential parts of floats.
4.13. 02-29-2016 v. 0.7.1¶
Fixed compilation bug with MSVC.
Added “key” function to transform invalid input arguments.
4.14. 01-18-2016 v. 0.7.0¶
Broke all functions into smaller components, eliminating a lot of duplication.
Sped up functions by eliminating an unnecessary string copy.
Improved documentation.
4.15. 11-01-2015 v. 0.6.2¶
Fixed bug that caused a SystemError exception to be raised on Python 3.5 if a very large int was passed to the “fast” functions.
4.16. 10-29-2015 v. 0.6.1¶
Fixed segfault on Python 3.5 that seemed to be related to a change in the PyObject_CallMethod C function.
Sped up unit testing.
Added tox.ini.
4.17. 10-27-2015 v. 0.6.0¶
Fixed issue where giving a default of None would be ignored.
Added the “nan” and “inf” options to
fast_real
andfast_float
. These options allow alternate return values in the case of nan or inf, respectively.Improved documentation.
Improved testing.
4.18. 06-11-2015 v. 0.5.2¶
Fixed compile error Visual Studio compilers.
4.19. 06-04-2015 v. 0.5.1¶
Solved rare segfault when parsing Unicode input.
Made handling of Infinity and NaN for
fast_int
andfast_forceint
consistent with thebuilt-in
int function.
4.20. 05-12-2015 v. 0.5.0¶
Made ‘default’ first optional argument instead of ‘raise_on_invalid’ for conversion functions.
Added ‘num_only’ option for checker functions.
4.21. 05-03-2015 v. 0.4.0¶
Added support for conversion of single Unicode characters that represent numbers and digits.
4.22. 04-23-2015 v. 0.3.0¶
Updated the
fast_*
functions to check if an overflow loss of precision has occurred, and if so fall back on the more accurate number conversion method.In response to the above change, the
safe_*
functions are now deprecated, and internally now use the same code as thefast_*
functions.Updated all unit testing to use the
hypothesis
module, which results in better test coverage.
4.23. 09-03-2014 v. 0.2.0¶
Added a ‘default’ option to the conversion functions.
4.24. 08-12-2014 v. 0.1.4¶
Fixed bug where ‘.’ was incorrectly identified as a valid float/int and converted to 0. This bug only applied to the
fast_*
andis*
functions.The method to catch corner-cases like ‘.’, ‘+’, ‘e’, etc. has been reworked to be more general… case-by-case patches should no longer be needed.
4.25. 08-12-2014 v. 0.1.3¶
Fixed bug where ‘e’ and ‘E’ were incorrectly identified as a valid float/int and converted to 0. This bug only applied to the
fast_*
andis*
functions.
4.26. 08-12-2014 v. 0.1.2¶
Fixed bug where ‘+’ and ‘-‘ were incorrectly identified as a valid float/int and converted to 0. This bug only applied to the
fast_*
andis*
functions.Fixed bug where ‘safe_forceint’ did not handle ‘nan’ correctly.
4.27. 08-11-2014 v. 0.1.1¶
‘fastnumbers’ now understands ‘inf’ and ‘nan’.
4.28. 08-10-2014 v. 0.1.0¶
Initial release of ‘fastnumbers’.