Releases: RESTGroup/rstsr
Releases · RESTGroup/rstsr
rstsr-v0.7.3
rstsr-v0.7.2
All changes at #76.
API breaking changes
- Refactored the
flipmethods forFlagSideandFlagUpLoenums to return the flipped value directly instead of aResult, since the operation cannot fail. Updated all call sites to remove unnecessary?error propagation.
Enhancements
- Re-exported the BLAS traits prelude under the new feature in
rstsr/src/prelude.rsfor easier access. - Made all BLAS flag enums (
FlagOrder,TensorIterOrder,FlagTrans,FlagSide,FlagUpLo,FlagDiag,FlagSymm) deriveSerializeandDeserialize, and added Serderenameattributes for better control over their string representations.
Crate structure
- Added
serdeas a dependency in the relevantCargo.tomlfiles and imported the necessary traits inflags.rs. - Symlinked
CHANGELOG.mdto rstsr crate directory.
rstsr-v0.7.1
chore: Release package rstsr version 0.7.1
rstsr-v0.7.0
chore: Release package rstsr version 0.7.0
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)