4. Changelog

4.1. Unreleased

4.2. 2.2.1 - 2019-03-25

4.2.1. Fixed

  • Formatting docstring
  • Package metadata

4.3. 2.2.0 - 2019-03-24

4.3.1. Changed

  • Add allow_underscores option to toggle whether or not underscores are allowed inside numbers on Python >= 3.6
  • Update CHANGELOG format to style from https://keepachangelog.com/
  • Build system now uses pip in stead of pipenv (issue #22)
  • Simplify tox.ini file

4.4. 2.1.1 - 2018-08-19

4.4.1. Added

  • A high-level description of the fastnumbers algorithm in the documentation.

4.4.2. Fixed

  • Compile error on FreeBSD where fastnumbers’ "string.h" shadowed the system "string.h".

4.5. 2.1.0 - 2018-08-03

4.5.1. Changed

  • 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.
  • Restructure code base, hopefully improving simplicity.

4.5.2. Fixed

  • Bug in converting unicode numbers on Python 3.7.

4.6. 2.0.5 - 2018-07-01

4.6.1. Changed

  • Source files are sorted before compilation.

4.6.2. Fixed

  • Bug in fast_real that resulted in an OverflowError when given very large int-like floats.

4.7. 2.0.4 - 2018-05-18

4.7.1. Fixed

  • Install error on old versions of setuptools.

4.8. 2.0.3 - 2018-05-14

4.8.1. Added

4.8.2. Changed

  • Reorganized testing and development infrastructure.
  • Development dependencies are now defined using Pipfile.

4.9. 2.0.2 - 2017-11-11

4.9.1. Added

  • Added testing for Python 3.7.

4.9.2. Changed

  • Updated docstrings.
  • Improved timing documentation.

4.10. 2.0.1 - 2017-04-30

4.10.1. Fixed

  • Bug in decimal digit limit on GCC.

4.11. 2.0.0 - 2017-04-30

4.11.1. Added

  • Support for Python 3.6 underscores.
  • Drop-in replacements for the built-in int() and float() functions.
  • Appveyor testing to ensure no surprises on Windows.

4.11.2. Changes

  • 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.
  • Revamped documentation.
  • Refactored internal mechanism for assessing overflow to be faster in the most common cases.

4.11.3. Removed

  • Dropped support for Python 2.6.

4.12. 1.0.0 - 2016-04-23

4.12.1. Changed

  • “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
  • Testing now includes Python 2.6.

4.12.2. Fixed

  • Bug where very small numbers are not converted properly
  • Unicode handling on Windows.
  • Python2.6 on Windows.

4.12.3. Removed

  • Removed safe_* functions (which were deprecated since version 0.3.0)

4.13. 0.7.4 - 2016-03-19

4.13.1. Added

  • The coerce option to fast_real.

4.14. 0.7.3 - 2016-03-08

4.14.1. Changed

  • Newline is now considered to be whitespace (for consistency with the builtin float and int).

4.15. 0.7.2 - 2016-03-07

4.15.1. Fixed

  • Overflow bug in exponential parts of floats.

4.16. 0.7.1 - 2016-02-29

4.16.1. Added

  • key function option to transform invalid input arguments.

4.16.2. Fixed

  • Compilation bug with MSVC.

4.17. 0.7.0 - 2016-01-18

4.17.1. Changed

  • Sped up functions by eliminating an unnecessary string copy.
  • Broke all functions into smaller components, eliminating a lot of duplication.
  • Improved documentation.

4.18. 0.6.2 - 2015-11-01

4.18.1. 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.19. 0.6.1 - 2015-10-29

4.19.1. Added

  • tox.ini

4.19.2. Changed

  • Sped up unit testing.

4.19.3. Fixed

  • Segfault on Python 3.5 that seemed to be related to a change in the PyObject_CallMethod C function.

4.20. 0.6.0 - 2015-10-27

4.20.1. Added

  • The nan and inf options to fast_real and fast_float. These options allow alternate return values in the case of nan or inf, respectively.

4.20.2. Changed

  • Improved documentation.
  • Improved testing.

4.20.3. Fixed

  • Fixed issue where giving a default of None would be ignored.

4.21. 0.5.2 - 2015-06-11

4.21.1. Fixed

  • Compile error with Visual Studio compilers.

4.22. 0.5.1 - 2015-06-04

4.22.1. Changed

  • Made handling of Infinity and NaN for fast_int and fast_forceint consistent with the built-in int function.

4.22.2. Fixed

  • Solved rare segfault when parsing Unicode input.

4.23. 0.5.0 - 2015-05-12

4.23.1. Added

  • Added num_only option for checker functions.

4.23.2. Changed

  • Made default the first optional argument instead of raise_on_invalid\ for conversion functions.

4.24. 0.4.0 - 2015-05-03

4.24.1. Added

  • Support for conversion of single Unicode characters that represent numbers and digits.

4.25. 0.3.0 - 2015-04-23

4.25.1. Changed

  • Updated all unit testing to use the hypothesis module, which results in better test coverage.
  • 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.

4.25.2. Deprecated

  • In response to the above change, the safe_* functions are now deprecated, and internally now use the same code as the fast_* functions.

4.26. 0.2.0 - 2014-09-03

4.26.1. Added

  • A default option to the conversion functions.

4.27. 0.1.4 - 2014-08-12

4.27.1. Changed

  • 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.27.2. Fixed

  • Bug where ‘.’ was incorrectly identified as a valid float/int and converted to 0. This bug only applied to the fast_* and is* functions.

4.28. 0.1.3 - 2014-08-12

4.28.1. 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_* and is* functions.

4.29. 0.1.2 - 2014-08-12

4.29.1. Fixed

  • Bug where ‘+’ and ‘-‘ were incorrectly identified as a valid float/int and converted to 0. This bug only applied to the fast_* and is* functions.
  • Bug where safe_forceint did not handle nan correctly.

4.30. 0.1.1 - 2014-08-11

4.30.1. Added

  • Support for inf and nan

4.31. 0.1.0 - 2014-08-10

  • Initial release of fastnumbers