-
Unreleased
-
v0.28.0
-
v0.27.1
- Bump ndarray dependency to v0.17. (#516)
-
v0.27.0
- Bump PyO3 dependency to v0.27.0. (#515)
-
v0.26.0
-
v0.25.0,
- Bump PyO3 dependency to v0.25.0. (#492)
-
v0.24.0
-
v0.23.0
- Drop support for PyPy 3.7 and 3.8. (#470)
- Require
Element: Syncas part of the free-threading support in PyO3 0.23 (#469) - Bump PyO3 dependency to v0.23.0 ([#457])
- removed the
gil-refsfeature - reintroduced function names without
_boundsuffix + deprecating the old names - switched to
IntoPyObjectas trait bound
- removed the
- Bump
rustc-hashdependency to 2.0. ([#472])
-
v0.22.1
-
v0.22.0
- Bump MSRV to 1.63. (#450)
- Add
permuteandtransposemethods for changing the order of axes of aPyArray. (#428) - Add support for NumPy v2 which had a number of changes to the C API. (#442)
- Add support for ndarray 0.16. (#439)
- Bumped pyo3 dependency to v0.22.0 which required the addition of several new methods to the
Elementtrait. (#435)
-
v0.21.0
-
v0.20.0
- Increase MSRV to 1.56 released in October 2021 and available in Debain 12, RHEL 9 and Alpine 3.17 following the same change for PyO3. (#378)
- Add support for ASCII (
PyFixedString<N>) and Unicode (PyFixedUnicode<N>) string arrays, i.e. dtypesSNandUNwhereNis the number of characters. (#378) - Add support for the
bfloat16dtype by extending the optional integration with thehalfcrate. Note that thebfloat16dtype is not part of NumPy itself so that usage requires third-party packages like Tensorflow. (#381) - Add
PyArrayLiketype which extractsPyReadonlyArrayif a NumPy array of the correct type is given and attempts a conversion usingnumpy.asarrayotherwise. (#383)
-
v0.19.0
- Add
PyUntypedArrayas an untyped base type forPyArraywhich can be used to inspect arguments before more targeted downcasts. This is accompanied by some methods likedtypeandshapemoving fromPyArraytoPyUntypedArray. They are still accessible though, asPyArraydereferences toPyUntypedArrayvia theDereftrait. (#369) - Drop deprecated
PyArray::from_exact_iteras it does not provide any benefits overPyArray::from_iter. (#370)
- Add
-
v0.18.0
- Add conversions from and to datatypes provided by the
nalgebracrate. (#347) - Drop our wrapper for NumPy iterators which were deprecated in v0.16.0 as ndarray's iteration facilities are almost always preferable. (#324)
- Dynamic borrow checking now uses a capsule-based API and therefore works across multiple extensions using PyO3 and potentially other bindings or languages. (#361)
- Add conversions from and to datatypes provided by the
-
v0.17.2
- Fix unsound aliasing into
Box<[T]>when converting them into NumPy arrays. (#351)
- Fix unsound aliasing into
-
v0.17.1
-
v0.17.0
- Add dynamic borrow checking to safely construct references into the interior of NumPy arrays. (#274)
- The deprecated iterator builders
NpySingleIterBuilder::{readonly,readwrite}andNpyMultiIterBuilder::add_{readonly,readwrite}now take references toPyReadonlyArrayandPyReadwriteArrayinstead of consuming them. - The destructive
PyArray::resizemethod is now unsafe if used without an instance ofPyReadwriteArray. (#302)
- The deprecated iterator builders
- Add support for
datetime64andtimedelta64element types via thedatetimemodule. (#308) - Add support for IEEE 754-2008 16-bit floating point numbers via an optional dependency on the
halfcrate. (#314) - The
inner,dotandeinsumfunctions can also return a scalar instead of a zero-dimensional array to match NumPy's types (#285) - The
PyArray::resizefunction supports n-dimensional contiguous arrays. (#312) - Deprecate
PyArray::from_exact_iterafter optimizingPyArray::from_iter. (#292) - Remove
DimensionalityErrorandTypeErrorfrom the public API as they never used directly. (#315) - Remove the deprecated
PyArrayDescr::get_typewhich was replaced byPyArrayDescr::typeobjin the last cycle. (#308) - Fix returning invalid slices from
PyArray::{strides,shape}for rank zero arrays. (#303)
- Add dynamic borrow checking to safely construct references into the interior of NumPy arrays. (#274)
-
v0.16.2
- Fix build on platforms where
c_charisu8like Linux/AArch64. (#296)
- Fix build on platforms where
-
v0.16.1
- Fix build when PyO3's
multiple-pymethodsfeature is used. (#288)
- Fix build when PyO3's
-
v0.16.0
- Bump PyO3 version to 0.16 (#259)
- Support object arrays (#216)
- Support borrowing arrays that are part of other Python objects via
PyArray::borrow_from_array(#230) - Fixed downcasting ignoring element type and dimensionality (#265)
PyArray::newis nowunsafe, as it produces uninitialized arrays (#220)PyArray::iter,NpySingleIterBuilder::readwriteandNpyMultiIterBuilder::add_readwriteare nowunsafe, as they allow aliasing mutable references to be created (#278/)- The
npyitermodule is deprecated as rust-ndarray's facilities for iteration are more flexible and performant (#280) PyArray::from_exact_iterdoes not unsoundly trustExactSizeIterator::lenany more (#262)PyArray::as_cell_slicewas removed as it unsoundly interacts withPyReadonlyArrayallowing safe code to violate aliasing rules (#260)rayonfeature is now removed, and directly specifying the feature viandarraydependency is recommended (#250)Elementtrait andPyArrayDescrchanges (#256):Elementtrait has been simplified toget_dtype()andIS_COPY- New
PyArrayDescrmethods:of,into_dtype_ptr,is_equiv_to - Added
numpy::dtypefunction Elementis now implemented forisizec32/c64have been renamed withComplex32/Complex64ShapeErrorhas been split intoTypeErrorandDimensionalityErrori32,i64,u32,u64are now guaranteed to map tonp.u?int{32,64}.- Removed
cfg_ifdependency - Removed
DataTypeenum
- Added
PyArrayDescr::newconstructor (#266) - New
PyArrayDescrmethods (#266):num,base,ndim,shape,byteorder,char,kind,itemsize,alignment,flags,has_object,is_aligned_struct,names,get_field,has_subarray,has_fields,is_native_byteorder- Renamed
get_typetotypeobj
-
v0.15.1
-
v0.15.0
-
v0.14.1
-
v0.14
- Bump PyO3 to 0.14
- Fix conversion bug
-
v0.13.2
- Support ndarray 0.15
-
v0.13.1
- Allow ndarray
>=0.13, < 0.15to work with Rust 1.41.1. - Add inner, dot, and einsum
- Add PyArray0
- Allow ndarray
-
v0.13.0
- Bump num-complex to 0.3
- Bump ndarray to 0.14
- Bump pyo3 to 0.13
- Drop support for Python 3.5 (as it is now end-of-life).
- Remove unused
python3feature
-
v0.12.2
- Pin PyO3 minor versions to 0.12
- Pin ndarray minor versions to 0.13
-
v0.12.1
- Fix compile error in Rust 1.39
-
v0.12.0
- Introduce
NpySingleIterandNpyMultiIter. - Introduce
PyArrayDescr.
- Introduce
-
v0.11.0
PyArray::getis now unsafe.- Introduce
PyArray::get_ownedandPyReadonlyArray::get.
-
v0.10.0
- Remove
ErrorKindand introduce some concrete error types. PyArray::as_slice,PyArray::as_slice_mut,PyArray::as_array, andPyArray::as_array_mutis now unsafe.- Introduce
PyArray::as_cell_slice,PyArray::to_vec, andPyArray::to_owned_array. - Rename
TypeNumtraitElement, andNpyDataTypeDataType. - Update PyO3 to 0.11
- Remove
-
v0.9.0
- Update PyO3 to 0.10.0
-
v0.8.0
- Update PyO3 to 0.9.0
- Fix SliceBox initialization
-
v0.7.0
- Update PyO3 to 0.8
-
v0.6.0
- Update PyO3 to 0.7
- Drop Python2 support
-
v0.5.0
- Update PyO3 to 0.6
-
v0.4.0
- Duplicate
PyArrayModuleand import Numpy API automatically - Fix memory leak of
IntoPyArrayand addToPyArraycrate - PyArray has dimension as type parameter. Now it looks like
PyArray<T, D> - Use
ndarray::IntoDimensionto specify dimension - Python2 support
- Duplicate
-
v0.3.1, v0.3.2
- Just update dependencies
-
v0.3.0
- Breaking Change: Migrated to pyo3 from rust-cpython
- Some api addition
- Static type checking with PhantomData
-
v0.2.1
- NEW: trait
IntoPyErr,IntoPyResultfor error translation
- NEW: trait
-
v0.2.0
- NEW: traits
IntoPyArray,ToPyArray - MOD: Interface of
PyArraycreation functions are changed
- NEW: traits
-
v0.1.1
- Update documents
-
v0.1.0
- First Release
- Expose unsafe interface of Array and UFunc API