- Fixed bug in decimal digit limit on GCC.
- 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.
- "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.
- Added the "coerce" option to fast_real.
- Newline is now considered to be whitespace (for consistency with the builtin float and int).
- Fixed overflow bug in exponential parts of floats.
- Fixed compilation bug with MSVC.
- Added “key” function to transform invalid input arguments.
- Broke all functions into smaller components, eliminating a lot of duplication.
- Sped up functions by eliminating an unnecessary string copy.
- Improved documentation.
- 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.
- 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.
- 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.
- Fixed compile error Visual Studio compilers.
- Solved rare segfault when parsing Unicode input.
- Made handling of Infinity and NaN for
fast_int
andfast_forceint
consistent with thebuilt-in
int function.
- Made 'default' first optional argument instead of 'raise_on_invalid' for conversion functions.
- Added 'num_only' option for checker functions.
- Added support for conversion of single Unicode characters that represent numbers and digits.
- 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.
- Added a 'default' option to the conversion functions.
- 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.
- 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.
- 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.
- 'fastnumbers' now understands 'inf' and 'nan'.
- Initial release of 'fastnumbers'.