diff options
author | Julian Taylor <jtaylor.debian@googlemail.com> | 2014-03-29 00:56:26 +0100 |
---|---|---|
committer | Julian Taylor <jtaylor.debian@googlemail.com> | 2014-03-29 00:58:28 +0100 |
commit | 77a5c89e35f3ef8f604b3452f374d22c88cbde04 (patch) | |
tree | c19182c18f64e232d7c5868379290838e7877300 /doc | |
parent | 9fc98aed1473e73dc8bd97ca79728c400fcc3d37 (diff) | |
download | numpy-77a5c89e35f3ef8f604b3452f374d22c88cbde04.tar.gz |
DOC: sync release notes of 1.8 branch and add some missing 1.9 sections
[ci-skip]
Diffstat (limited to 'doc')
-rw-r--r-- | doc/release/1.8.0-notes.rst | 8 | ||||
-rw-r--r-- | doc/release/1.8.1-notes.rst | 95 | ||||
-rw-r--r-- | doc/release/1.9.0-notes.rst | 19 |
3 files changed, 120 insertions, 2 deletions
diff --git a/doc/release/1.8.0-notes.rst b/doc/release/1.8.0-notes.rst index b1adbf87e..f06785f5d 100644 --- a/doc/release/1.8.0-notes.rst +++ b/doc/release/1.8.0-notes.rst @@ -373,6 +373,14 @@ an inner loop for user types using the descr. * PyUFunc_RegisterLoopForDescr +C-API Developer Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The ``PyArray_Type`` instance creation function ``tp_new`` now +uses ``tp_basicsize`` to determine how much memory to allocate. +In previous releases only ``sizeof(PyArrayObject)`` bytes of +memory were allocated, often requiring C-API subtypes to +reimplement ``tp_new``. + Deprecations ============ diff --git a/doc/release/1.8.1-notes.rst b/doc/release/1.8.1-notes.rst new file mode 100644 index 000000000..c26a03eff --- /dev/null +++ b/doc/release/1.8.1-notes.rst @@ -0,0 +1,95 @@ +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. diff --git a/doc/release/1.9.0-notes.rst b/doc/release/1.9.0-notes.rst index 9a97dba09..723b2aadc 100644 --- a/doc/release/1.9.0-notes.rst +++ b/doc/release/1.9.0-notes.rst @@ -1,7 +1,7 @@ NumPy 1.9.0 Release Notes ************************* -This release supports Python 2.6 -2.7 and 3.2 - 3.3. +This release supports Python 2.6 - 2.7 and 3.2 - 3.4. Highlights @@ -88,6 +88,13 @@ Percentile supports more interpolation options which way points should be interpolated if the percentiles fall between two values. See the documentation for the available options. +Generalized axis support for median and percentile +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +``np.median`` and ``np.percentile`` now support generalized axis arguments like +ufunc reductions do since 1.7. One can now say axis=(index, index) to pick a +list of axes for the reduction. The ``keepdims`` keyword argument was also +added to allow convenient broadcasting to arrays of the original shape. + Ufunc and Dot Overrides ~~~~~~~~~~~~~~~~~~~~~~~ @@ -113,7 +120,7 @@ for ``tostring`` which exports arrays as ``bytes``. This is more consistent in Python 3 where ``str`` and ``bytes`` are not the same. -compatibility to python ``numbers`` module +Compatibility to python ``numbers`` module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ All numerical numpy types are now registered with the type hierarchy in the python ``numbers`` module. @@ -166,6 +173,12 @@ rather than a template in order to implement a common interface. This makes importing the polynomial package faster as the classes do not need to be compiled on import. +More GIL releases +~~~~~~~~~~~~~~~~~ +Several more functions now release the Global Interpreter Lock allowing more +efficient parallization using the ``threading`` module. Most notably the GIL is +now released for fancy indexing and ``np.where``. + Changes ======= @@ -281,6 +294,7 @@ 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. +This change was already applied to the 1.8.1 release. C-API ~~~~~ @@ -310,6 +324,7 @@ 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. +This change was already applied to the 1.8.1 release. New Features ============ |