Skip to content

Releases: RESTGroup/rstsr

rstsr-v0.7.3

13 Apr 09:25

Choose a tag to compare

Bug Fix

  • Fix previous behavior that layout equality check does not involve offset. (issue #77, pr #78)

rstsr-v0.7.2

10 Apr 08:31

Choose a tag to compare

All changes at #76.

API breaking changes

  • Refactored the flip methods for FlagSide and FlagUpLo enums to return the flipped value directly instead of a Result, 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.rs for easier access.
  • Made all BLAS flag enums (FlagOrder, TensorIterOrder, FlagTrans, FlagSide, FlagUpLo, FlagDiag, FlagSymm) derive Serialize and Deserialize, and added Serde rename attributes for better control over their string representations.

Crate structure

  • Added serde as a dependency in the relevant Cargo.toml files and imported the necessary traits in flags.rs.
  • Symlinked CHANGELOG.md to rstsr crate directory.

rstsr-v0.7.1

30 Mar 08:43

Choose a tag to compare

chore: Release package rstsr version 0.7.1

rstsr-v0.7.0

30 Mar 07:57

Choose a tag to compare

chore: Release package rstsr version 0.7.0

rstsr-v0.6.2

14 Nov 04:55

Choose a tag to compare

v0.6.2 -- 2025-11-15

MSRV specified to 1.82.0, written to Cargo.toml.

Functionality changes:

  • rstsr-core: asarray will not panic when layout is not compact if pass &[T] or &mut [T] to give view/mut-view tensor. However, pass Vec<T> to give owned tensor will still panic if layout is not compact.

rstsr-v0.6.0

03 Nov 04:12

Choose a tag to compare

v0.6.0 -- 2025-11-03

Refactor:

  • rstsr-core: Split tensor/manuplication.rs into a module with folder. (#67)

API breaking changes:

  • rstsr-core: Supporting type-promotion for assign. (#65)
  • rstsr-dtype-traits: Split previous dtype trait PromotionAPI to two parts DTypePromoteAPI and DTypeCastAPI. (#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 Error of RSTSR. (#67)
  • rstsr-common: DimBaseAPI::const_ndims is method (with &self as 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 to ndarray::array!). (#67)
  • rstsr-common: Added rstsr_unwrap to print unwrap with traceback. Added cargo feature traceback in many crates for printing traceback info of place of panic. (#67)
  • rstsr-common: Added normalize_axes_index for development (similar to numpy.normalize_axis_tuple). (#67)
  • rstsr-common: Added Option<i/usize> to AxesIndex trait implementation. (#67)
  • Some API documents updated. (#67)

Fixes:

  • Fixes some possible memory-safety problems of uninitialized_vec in reduce implementations in rstsr-native-impl. (#66)
  • Fix no_std. (#67)
  • Fixed rt::expand_dims and rt::flip in 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 of DeviceRawAPI<T> for output types in device operator traits, changing both parameter types and trait bounds (#60).
  • Using ExtNum, ExtFloat, ExtReal for trait extensions to crate num. 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 feature rstsr/tblis enabled, 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_impl to uninit_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

30 Sep 05:14

Choose a tag to compare

rstsr-v0.6.0-alpha.1 Pre-release
Pre-release

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 of DeviceRawAPI<T> for output types in device operator traits, changing both parameter types and trait bounds (#60).
  • Using ExtNum, ExtFloat, ExtReal for trait extensions to crate num. 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 feature rstsr/tblis enabled, 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_impl to uninit_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

01 Sep 08:13

Choose a tag to compare

chore: Release package rstsr version 0.5.1

rstsr-v0.5.0

26 Aug 15:33

Choose a tag to compare

v0.5.0 -- 2025-08-26

API breaking changes:

  • Revert to non-default for dynamic loading (#57)

Fixes (with API breaking behavior change):

rstsr-v0.4.1

05 Aug 07:33
8906b42

Choose a tag to compare

v0.4.1 -- 2025-08-05

Enhancements:

  • Added CPU devices (backends) MKL (#48), BLIS (#49), AOCL (#51), KML (#53)

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)