| NumPy 1.8.1 Release Notes | |
| ************************* | |
| This is a bugfix only release in the 1.8.x series. | |
| Issues fixed | |
| ============ | |
| * gh-4276: Fix mean, var, std methods for object arrays | |
| * gh-4262: remove insecure mktemp usage | |
| * gh-2385: absolute(complex(inf)) raises invalid warning in python3 | |
| * gh-4024: Sequence assignment doesn't raise exception on shape mismatch | |
| * gh-4027: Fix chunked reading of strings longer than BUFFERSIZE | |
| * gh-4109: Fix object scalar return type of 0-d array indices | |
| * gh-4018: fix missing check for memory allocation failure in ufuncs | |
| * gh-4156: high order linalg.norm discards imaginary elements of complex arrays | |
| * gh-4144: linalg: norm fails on longdouble, signed int | |
| * gh-4094: fix NaT handling in _strided_to_strided_string_to_datetime | |
| * gh-4051: fix uninitialized use in _strided_to_strided_string_to_datetime | |
| * gh-4093: Loading compressed .npz file fails under Python 2.6.6 | |
| * gh-4138: segfault with non-native endian memoryview in python 3.4 | |
| * gh-4123: Fix missing NULL check in lexsort | |
| * gh-4170: fix native-only long long check in memoryviews | |
| * gh-4187: Fix large file support on 32 bit | |
| * gh-4152: fromfile: ensure file handle positions are in sync in python3 | |
| * gh-4176: clang compatibility: Typos in conversion_utils | |
| * gh-4223: Fetching a non-integer item caused array return | |
| * gh-4197: fix minor memory leak in memoryview failure case | |
| * gh-4206: fix build with single-threaded python | |
| * gh-4220: add versionadded:: 1.8.0 to ufunc.at docstring | |
| * gh-4267: improve handling of memory allocation failure | |
| * gh-4267: fix use of capi without gil in ufunc.at | |
| * gh-4261: Detect vendor versions of GNU Compilers | |
| * gh-4253: IRR was returning nan instead of valid negative answer | |
| * gh-4254: fix unnecessary byte order flag change for byte arrays | |
| * gh-3263: numpy.random.shuffle clobbers mask of a MaskedArray | |
| * gh-4270: np.random.shuffle not work with flexible dtypes | |
| * gh-3173: Segmentation fault when 'size' argument to random.multinomial | |
| * gh-2799: allow using unique with lists of complex | |
| * gh-3504: fix linspace truncation for integer array scalar | |
| * gh-4191: get_info('openblas') does not read libraries key | |
| * gh-3348: Access violation in _descriptor_from_pep3118_format | |
| * gh-3175: segmentation fault with numpy.array() from bytearray | |
| * gh-4266: histogramdd - wrong result for entries very close to last boundary | |
| * gh-4408: Fix stride_stricks.as_strided function for object arrays | |
| * gh-4225: fix log1p and exmp1 return for np.inf on windows compiler builds | |
| * gh-4359: Fix infinite recursion in str.format of flex arrays | |
| * gh-4145: Incorrect shape of broadcast result with the exponent operator | |
| * gh-4483: Fix commutativity of {dot,multiply,inner}(scalar, matrix_of_objs) | |
| * gh-4466: Delay npyiter size check when size may change | |
| * gh-4485: Buffered stride was erroneously marked fixed | |
| * gh-4354: byte_bounds fails with datetime dtypes | |
| * gh-4486: segfault/error converting from/to high-precision datetime64 objects | |
| * gh-4428: einsum(None, None, None, None) causes segfault | |
| * gh-4134: uninitialized use for for size 1 object reductions | |
| Changes | |
| ======= | |
| NDIter | |
| ~~~~~~ | |
| When ``NpyIter_RemoveAxis`` is now called, the iterator range will be reset. | |
| When a multi index is being tracked and an iterator is not buffered, it is | |
| possible to use ``NpyIter_RemoveAxis``. In this case an iterator can shrink | |
| in size. Because the total size of an iterator is limited, the iterator | |
| may be too large before these calls. In this case its size will be set to ``-1`` | |
| and an error issued not at construction time but when removing the multi | |
| index, setting the iterator range, or getting the next function. | |
| This has no effect on currently working code, but highlights the necessity | |
| of checking for an error return if these conditions can occur. In most | |
| cases the arrays being iterated are as large as the iterator so that such | |
| a problem cannot occur. | |
| Optional reduced verbosity for np.distutils | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| Set ``numpy.distutils.system_info.system_info.verbosity = 0`` and then | |
| calls to ``numpy.distutils.system_info.get_info('blas_opt')`` will not | |
| print anything on the output. This is mostly for other packages using | |
| numpy.distutils. | |
| Deprecations | |
| ============ | |
| C-API | |
| ~~~~~ | |
| The utility function npy_PyFile_Dup and npy_PyFile_DupClose are broken by the | |
| internal buffering python 3 applies to its file objects. | |
| To fix this two new functions npy_PyFile_Dup2 and npy_PyFile_DupClose2 are | |
| declared in npy_3kcompat.h and the old functions are deprecated. | |
| Due to the fragile nature of these functions it is recommended to instead use | |
| the python API when possible. | |