All Versions
51
Latest Version
Avg Release Cycle
70 days
Latest Release
113 days ago
Changelog History
Page 1
Changelog History
Page 1

v0.31.2 Changes
October 09, 2022Modified
 π Use
#[inline]
on theDim
implementation forConst
to improve optlevel 1 performance.  π Make the
Point::new
constructions constfn.
β Added
 β Add
UnitVector::cast
to change the underlying scalar type.
 π Use

v0.31.1 Changes
July 31, 2022Modified
 π Improve performances of multiplication of two sparse matrices.
β Added
 Add
Matrix::from_row_iterator
to build a matrix from an iterator yielding components in rowmajor order.  β Add support for conversion from/to types of
glam
0.21.  π
nalgebrasparse
: add support for the matrixmarket export of sparse matrices. nalgebralapack
: add aGE
for solving the generalized eigenvalues problem.
π Fixed
 Fix
Rotation3::from_matrix
andUnitQuaternion::from_matrix
when the input matrix is already a valid rotation matrix.

v0.31.0 Changes
April 30, 2022π₯ Breaking changes
 π Switch to
cust
0.3 (for CUDA support).  Switch to
rkyv
0.7  β Remove support for serialization based on
abomonation
.  β Remove support for conversions between
nalgebra
types andglam
0.13.
Modified
 The aliases for
Const
types have been simplified to helprustanalyzer
.
β Added
 β Add
TryFrom
conversion betweenUnitVector2/3/4
andglam
βsVec2/3/4
.  π
nalgebrasparse
: added support for serialization of sparse matrices withserde
.  π
nalgebrasparse
: add a CSC matrix constructor from unsorted (but valid) data. nalgebralapack
: add generalized eigenvalues/eigenvectors calculation + QZ decomposition.
π Fixed
 π Improve stability of SVD.
 π Fix slerp for
UnitComplex
.
 π Switch to

v0.30.1 Changes
January 09, 2022β Added
 β Add conversion from/to types of
glam
0.19 and 0.20.
 β Add conversion from/to types of

v0.30.0 Changes
January 02, 2022π₯ Breaking changes
 The
Dim
trait is now marked as unsafe.  The
Matrix::pow
andMatrix::pow_mut
methods only allow positive integer exponents now. To compute negative exponents, the user is free to invert the matrix before callingpow
with the exponentβs absolute value.  β Remove the
Bounded
requirement fromRealField
. Replace it by methods returningOption<Self>
so that they can still be implemented by unbounded types (by returningNone
).  The
ComplexField
trait derives fromFromPrimitive
again. We can actually keep this because all its methods returnOption<Self>
, meaning that it could be implemented by any type.
Modified
 π Use more concise debug impls for matrices and geometric transformation types.
 0οΈβ£ The singular values computed by the SVD are now sorted in increasing order by default. Use
SVD::new_unordered
instead to reproduce the older behavior without the sorting overhead.  The
UnitDualQuaternion::sclerp
method will no longer panic when given two equal rotations.  The
Matrix::select_rows
andMatrix::select_columns
methods no longer require the matrix components to implement the traitZero
.  The
Matrix::pow
andMatrix::pow_mut
methods will now also work with integer matrices.
β Added
 Added the conversion trait
From<Vec<T>>
and methodfrom_vec_storage
forRowDVector
.  β Added implementation of
From
andInto
for converting betweennalgebra
types and types fromglam 0.18
. These can be enabled by enabling theconvertglam018
cargo features.  Added the methods
Matrix::product
,::row_product
,::row_product_tr
, and::column_product
to compute the product of the components, rows, or columns, of a single matrix or vector.  0οΈβ£ The
Default
trait is now implemented for most geometric types:Point
,Isometry
,Rotation
,Similarity
,Transform
,UnitComplex
, andUnitQuaternion
.  β Added the
Scale
geometric type for representing nonuniform scaling.  Added
Cholesky::new_with_substitute
that will replace diagonal elements by a given constant wheneverCholesky
meets a nondefinitepositiveness.  Readded the conversion from a vector/matrix slice to a static array.
 β Added the
cuda
feature that enables the support of rustcuda for usingnalgebra
features with CUDA kernels written in Rust.  β Added specialcases implementations for the 2x2 and 3x3 SVDs for better accuracy and performances.
 Added the methods
Matrix::polar
,Matrix::try_polar
, andSVD::to_polar
to compute the polar decomposition of a matrix, based on its SVD.  π
nalgebrasparse
: provide constructors for unsorted but otherwise valid data using the CSR format.  π
nalgebrasparse
: added reading MatrixMarked data files to a sparseCooMatrix
.
π Fixed
 π Fixed a potential unsoundness with
matrix.get(i)
andmatrix.get_mut(i)
wherei
is anusize
, andmatrix
is a matrix slice with nondefault strides.  π Fixed potential unsoundness with
vector.perp
wherevector
isnβt actually a 2D vector as expected.  π Fixed linkage issue with
nalgebralapack
: the user ofnalgebralapack
no longer have to addextern crate lapacksrc
to theirmain.rs
.  π Fixed the
nostd
build ofnalgebraglm
.  π Fix the
pow
andpow_mut
functions (the result was incorrect for some exponent values).
 The

v0.29.1 Changes
β Added
 The conversion trait
From<Vec<T>>
and methodfrom_vec_storage
forRowDVector
. See #975  β Added implementation of
From
andInto
for converting betweennalgebra
types and types fromglam 0.18
. These can be enabled by enabling theconvertglam018
cargo features.  Added the methods
Matrix::product
,::row_product
,::row_product_tr
, and::column_product
to compute the product of the components, rows, or columns, of a single matrix or vector.  0οΈβ£ The
Default
trait is now implemented for most geometric types:Point
,Isometry
,Rotation
,Similarity
,Transform
,UnitComplex
, andUnitQuaternion
.
 The conversion trait

v0.29.0 Changes
π₯ Breaking changes
 β‘οΈ We updated to the version 0.6 of
simba
. This means that the trait boundsT: na::RealField
,na::ComplexField
,na::SimdRealField
,na:SimdComplexField
no imply thatT: Copy
(they only imply thatT: Clone
). This may affect generic code.  The closure given to
apply
,zip_apply
,zip_zip_apply
must now modify the first argument inplace, instead of returning a new value. This makes these methods more versatile, and avoid useless clones when using nonCopy scalar types.  The
Allocator
trait signature has been significantly modified in order to handle uninitialized matrices in a sound way.
Modified
Orthographic3::from_matrix_unchecked
is nowconst fn
.Perspective3::from_matrix_unchecked
is nowconst fn
.Rotation::from_matrix_unchecked
is nowconst fn
. π― The
Scalar
is now automatically implemented for most'static + Clone
types. Type that implementClone
but notCopy
are now much safer to work with thanks to the refactoring of theAllocator
system.
β Added
 The conversion traits form the
bytemuck
crates are now implemented for the geometric types too.  Added operator overloading for
Transform * UnitComplex
,UnitComplex * Transform
,Transform Γ= UnitComplex
,Transform Γ·= UnitComplex
.  β Added
Reflection::bias()
to retrieve the bias of the reflection.  β Added
Reflection1..Reflection6
aliases for 1D to 6D reflections.  β Added implementation of
From
andInto
for converting betweennalgebra
types and types fromglam 0.16
andglam 0.17
. These can be enabled by enabling theconvertglam016
, and/orconvertglam017
cargo features.
 β‘οΈ We updated to the version 0.6 of

v0.28.0 Changes
β Added
 Implement
Hash
forTransform
.  Implement
Borrow
andBorrowMut
for contiguous slices.
Modified
 The
OPoint<T, D>
type has been added. It takes the dimension number as a typelevel integer (e.g.Const<3>
) instead of a constgeneric. The typePoint<T, const D: usize>
is now an alias forOPoint
. This changes doesn't affect any of the existing code usingPoint
. However, it will allow the useOPoint
in a generic context where the dimension cannot be easily expressed as a constgeneric (because of the current limitation of constgenerics in Rust).  β Several clippy warnings were fixed. This results in some method signature changes (e.g. taking
self
instead of&self
) but this should not have any practical infulances on existing codebase.  The
Point::new
constructors are no longer constfn. This is due to some limitations in constfn not allowing custom traitbounds. Use thepoint!
macro instead to build points in const environments. Dynamic::new
andUnit::new_unchecked
are now constfn. Methods returning
Result<(), ()>
now returnbool
instead.
π Fixed
 π Fixed a potential unsoundess issue when converting a mutable slice to a
&mut[T]
.
 Implement

v0.27.1 Changes
π Fixed
 π Fixed a bug in the conversion from
glam::Vec2
orglam::DVec2
toIsometry2
.
 π Fixed a bug in the conversion from

v0.27.0 Changes
π This removes the
convertglam
andconvertglamunchecked
optional features. Instead, this adds theconvertglam013
,convertglam014
, andconvertglam015
optional features for conversions targeting the versions 0.13, 0.14, and 0.15 ofglam
.β Added
 β Add macros
matrix!
,dmatrix!
,vector!
,dvector!
,point!
for constructing matrices/vectors/points in a more convenient way. See #886 and #899.  β Add
CooMatrix::reserve
tonalgebrasparse
.  β Add basic support for serialization using
rkyv
. Can be enabled with the featuresrkyvserialize
orrkyvserializenostd
.
π Fixed
 π Fixed a potential unsoundness issue after deserializing an invalid
DVector
usingserde
.
 β Add macros