Releases: RESTGroup/rstsr
rstsr-v0.6.2
v0.6.2 -- 2025-11-15
MSRV specified to 1.82.0, written to Cargo.toml.
Functionality changes:
- rstsr-core:
asarraywill not panic when layout is not compact if pass&[T]or&mut [T]to give view/mut-view tensor. However, passVec<T>to give owned tensor will still panic if layout is not compact.
rstsr-v0.6.0
v0.6.0 -- 2025-11-03
Refactor:
- rstsr-core: Split
tensor/manuplication.rsinto a module with folder. (#67)
API breaking changes:
- rstsr-core: Supporting type-promotion for assign. (#65)
- rstsr-dtype-traits: Split previous dtype trait
PromotionAPIto two partsDTypePromoteAPIandDTypeCastAPI. (#66) - Refactor of some dtype-related traits and impl. (#66)
- rstsr-core: Add lifetime annotation to
TensorRefAPI/TensorRefMutAPI(these two traits are currently not applied to any implementations). (#67) - rstsr-common: Added traceback in error-handling, which changed the fundamental data structure of
Errorof RSTSR. (#67) - rstsr-common:
DimBaseAPI::const_ndimsis method (with&selfas argument) now. (#67)
Enhancements:
- rstsr-dtype-traits: add function
isclose. (#66) - rstsr-core: add function
allclose. (#66) - rstsr-core: simplifies some trait bounds for obtaining view of tensor. (#66)
- rstsr-core: Add macro
tensor_from_nested!(similar tondarray::array!). (#67) - rstsr-common: Added
rstsr_unwrapto print unwrap with traceback. Added cargo featuretracebackin many crates for printing traceback info of place of panic. (#67) - rstsr-common: Added
normalize_axes_indexfor development (similar tonumpy.normalize_axis_tuple). (#67) - rstsr-common: Added
Option<i/usize>toAxesIndextrait implementation. (#67) - Some API documents updated. (#67)
Fixes:
- Fixes some possible memory-safety problems of
uninitialized_vecin reduce implementations in rstsr-native-impl. (#66) - Fix
no_std. (#67) - Fixed
rt::expand_dimsandrt::flipin multiple axes cases (accordance to NumPy). (#67)
v0.6.0-alpha.1 -- 2025-09-30
This is not a completed version. May have other API breaking changes before v0.6.0 release.
API breaking changes:
- Using
DeviceRawAPI<MaybeUninit<T>>instead ofDeviceRawAPI<T>for output types in device operator traits, changing both parameter types and trait bounds (#60). - Using
ExtNum,ExtFloat,ExtRealfor trait extensions to cratenum. Removed previous traits (per-functionality)AbsAPI,ReImAPI, etc. This affects trait bounds (RESTGroup/rstsr/#63). - Using data type promotion rules in several common functions in CPU device, changing trait bounds (#64).
Enhancements:
- Added TBLIS plugin (#60). Now Einstein summation is available from
rt::tblis::einsum(with cargo featurerstsr/tblisenabled, and linkage of libtblis.so). - Added
uninit,assume_init(#61). - Added
take,all,any,count_nonzero,nextafter,reciprocal(#63). - Using data type promotion rules for several common functions in CPU device implementations (sin, greater, etc., making comparasion of different types, or sin to integer list be evaluatable) (#64).
Refactor:
- Changed most internal device implementation that works with
empty_impltouninit_impl(#61). - Changed directory structure for device implementations (currently BLAS devices are categorized to directory
crates-device) (#62). - Removed previous rstsr-book in this repository (#63).
Parts of API document also updated.
rstsr-v0.6.0-alpha.1
v0.6.0-alpha.1 -- 2025-09-30
This is not a completed version. May have other API breaking changes before v0.6.0 release.
API breaking changes:
- Using
DeviceRawAPI<MaybeUninit<T>>instead ofDeviceRawAPI<T>for output types in device operator traits, changing both parameter types and trait bounds (#60). - Using
ExtNum,ExtFloat,ExtRealfor trait extensions to cratenum. Removed previous traits (per-functionality)AbsAPI,ReImAPI, etc. This affects trait bounds (RESTGroup/rstsr/#63). - Using data type promotion rules in several common functions in CPU device, changing trait bounds (#64).
Enhancements:
- Added TBLIS plugin (#60). Now Einstein summation is available from
rt::tblis::einsum(with cargo featurerstsr/tblisenabled, and linkage of libtblis.so). - Added
uninit,assume_init(#61). - Added
take,all,any,count_nonzero,nextafter,reciprocal(#63). - Using data type promotion rules for several common functions in CPU device implementations (sin, greater, etc., making comparasion of different types, or sin to integer list be evaluatable) (#64).
Refactor:
- Changed most internal device implementation that works with
empty_impltouninit_impl(#61). - Changed directory structure for device implementations (currently BLAS devices are categorized to directory
crates-device) (#62). - Removed previous rstsr-book in this repository (#63).
Parts of API document also updated.
rstsr-v0.5.1
chore: Release package rstsr version 0.5.1
rstsr-v0.5.0
v0.5.0 -- 2025-08-26
API breaking changes:
- Revert to non-default for dynamic loading (#57)
Fixes (with API breaking behavior change):
- Change Behavior of
DeviceCpuRayon::generate_pool(#56, RESTGroup/rstsr-ffi#9) - Fix KML threading lock in LAPACK functions (#58)
rstsr-v0.4.1
v0.4.1 -- 2025-08-05
Enhancements:
Possible API breaking change:
- For conversion between CBLAS flags and RSTSR flags (defined in crate rstsr-common), previously CBLAS flags are in crate rstsr-lapack-ffi. Now those flags are defined in rstsr-cblas-base, and been applied in all FFI crates (at RESTGroup/rstsr-ffi).
Actions:
- Added ARM support (#52)
rstsr-v0.4.0
v0.4.0 -- 2025-07-25
API breaking change: Supporting dynamic loading for OpenBLAS (#47)
- Update
rstsr-lapack-ffiandrstsr-openblas-ffiversion to v0.4. - Default to
dynamic_loadingfor using OpenBLAS. - Changes internal ways to call BLAS and LAPACK functions.
If compile time and disk usage becomes very large for rstsr-openblas-ffi, you may wish to set those options in Cargo.toml:
[profile.dev.package.rstsr-lapack-ffi]
opt-level = 0
debug = false
[profile.dev.package.rstsr-openblas-ffi]
opt-level = 0
debug = falserstsr-v0.3.10
rstsr-v0.3.9
v0.3.9 -- 2025-07-07
Enhancements:
- Feature with optional dependencies. Now in main crate
rstsr, using featurefaerandopenblasalong withlinalgandscishould be ok, without explicitly declaringrstsr-linalg-traitsandrstsr-sci-traitsas dependencies.
rstsr-v0.3.8
v0.3.8 -- 2025-07-04
Bug Fix:
- Tested complex linalgs for Faer and OpenBLAS devices.
Enhancements:
- DeviceFaer: generalized eigen, triangular solve (#44)