diff --git a/CHANGELOG.md b/CHANGELOG.md index 45c480632..71846f87c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,28 @@ documented here. This project adheres to [Semantic Versioning](https://semver.org/). +## [0.32.0] (14 Jan. 2023) + +### Modified +- Renamed all `MatrixSlice` types to `MatrixView`. In general all occurrences of the world `Slice` or `slice` have been + replaced by `View` or `view`. +- Deprecated all the types involving `Slice` in its name, in favor of the word `View`. +- Make it so that most `nalgebra` objects archive as themselves (when using `rkyv` for serialization). +- Renamed `Dynamic` to `Dyn` and make `Dyn` a tuple struct. + +### Added +- Add `Cholesky::ln_determinant` to compute the natural logarithm of the determinant of a matrix decomposed + with Cholesky. This can be more numerically stable than computing the determinant itself when very small and/or + large values are involved. +- Added new methods `Matrix::as_view` and `Matrix::as_view_mut`, which are very useful when working with view-based APIs. +- Added parallel column iterator using `rayon`: `Matrix::par_column_iter` and `Matrix::par_column_iter_mut`. The `rayon` + feature must be enabled to access these methods. +- Implement `ReshapableStorage` for matrix slices (only for unit strides at the moment). +- Add `U0, U1, …` constants alongside the `U0, U1, …` types. This lets us write `U4` instead of `U4::name()` or + `Const::<4>` when we need const dimensions. + +### Fixed +- Fixed the implementation of `Rotation3::euler_angles` to return the angles in the documented order (roll, pitch, yaw). ## [0.31.4] (13 Nov. 2022) diff --git a/Cargo.toml b/Cargo.toml index 82528ed42..03217548e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nalgebra" -version = "0.31.4" +version = "0.32.0" authors = [ "Sébastien Crozet " ] description = "General-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices." @@ -78,7 +78,7 @@ num-traits = { version = "0.2", default-features = false } num-complex = { version = "0.4", default-features = false } num-rational = { version = "0.4", default-features = false } approx = { version = "0.5", default-features = false } -simba = { version = "0.7", default-features = false } +simba = { version = "0.8", default-features = false } alga = { version = "0.9", default-features = false, optional = true } rand_distr = { version = "0.4", default-features = false, optional = true } matrixmultiply = { version = "0.3", optional = true } @@ -108,7 +108,7 @@ rayon = { version = "1.6", optional = true } serde_json = "1.0" rand_xorshift = "0.3" rand_isaac = "0.3" -criterion = { version = "0.3", features = ["html_reports"] } +criterion = { version = "0.4", features = ["html_reports"] } # For matrix comparison macro matrixcompare = "0.3.0" diff --git a/examples/cargo/Cargo.toml b/examples/cargo/Cargo.toml index 63e70aab7..2e9d4f23e 100644 --- a/examples/cargo/Cargo.toml +++ b/examples/cargo/Cargo.toml @@ -4,7 +4,7 @@ version = "0.0.0" authors = [ "You" ] [dependencies] -nalgebra = "0.31.0" +nalgebra = "0.32.0" [[bin]] name = "example" diff --git a/nalgebra-glm/Cargo.toml b/nalgebra-glm/Cargo.toml index e700af371..3f9c4dd98 100644 --- a/nalgebra-glm/Cargo.toml +++ b/nalgebra-glm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nalgebra-glm" -version = "0.17.0" +version = "0.18.0" authors = ["sebcrozet "] description = "A computer-graphics oriented API for nalgebra, inspired by the C++ GLM library." @@ -35,5 +35,5 @@ convert-glam018 = [ "nalgebra/glam018" ] [dependencies] num-traits = { version = "0.2", default-features = false } approx = { version = "0.5", default-features = false } -simba = { version = "0.7", default-features = false } -nalgebra = { path = "..", version = "0.31", default-features = false } +simba = { version = "0.8", default-features = false } +nalgebra = { path = "..", version = "0.32", default-features = false } diff --git a/nalgebra-lapack/Cargo.toml b/nalgebra-lapack/Cargo.toml index af86224a2..7eb7265b2 100644 --- a/nalgebra-lapack/Cargo.toml +++ b/nalgebra-lapack/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nalgebra-lapack" -version = "0.23.0" +version = "0.24.0" authors = [ "Sébastien Crozet ", "Andrew Straw " ] description = "Matrix decompositions using nalgebra matrices and Lapack bindings." @@ -29,17 +29,17 @@ accelerate = ["lapack-src/accelerate"] intel-mkl = ["lapack-src/intel-mkl"] [dependencies] -nalgebra = { version = "0.31", path = ".." } +nalgebra = { version = "0.32", path = ".." } num-traits = "0.2" num-complex = { version = "0.4", default-features = false } -simba = "0.7" +simba = "0.8" serde = { version = "1.0", features = [ "derive" ], optional = true } lapack = { version = "0.19", default-features = false } lapack-src = { version = "0.8", default-features = false } # clippy = "*" [dev-dependencies] -nalgebra = { version = "0.31", features = [ "arbitrary", "rand" ], path = ".." } +nalgebra = { version = "0.32", features = [ "arbitrary", "rand" ], path = ".." } proptest = { version = "1", default-features = false, features = ["std"] } quickcheck = "1" approx = "0.5" diff --git a/nalgebra-macros/Cargo.toml b/nalgebra-macros/Cargo.toml index 6e35f9e9f..041e36a71 100644 --- a/nalgebra-macros/Cargo.toml +++ b/nalgebra-macros/Cargo.toml @@ -21,5 +21,5 @@ quote = "1.0" proc-macro2 = "1.0" [dev-dependencies] -nalgebra = { version = "0.31.0", path = ".." } +nalgebra = { version = "0.32.0", path = ".." } trybuild = "1.0.42" diff --git a/nalgebra-sparse/Cargo.toml b/nalgebra-sparse/Cargo.toml index fc95ddada..3a1bd20dd 100644 --- a/nalgebra-sparse/Cargo.toml +++ b/nalgebra-sparse/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nalgebra-sparse" -version = "0.8.0" +version = "0.9.0" authors = [ "Andreas Longva", "Sébastien Crozet " ] edition = "2018" description = "Sparse matrix computation based on nalgebra." @@ -24,7 +24,7 @@ io = [ "pest", "pest_derive" ] slow-tests = [] [dependencies] -nalgebra = { version="0.31", path = "../" } +nalgebra = { version="0.32", path = "../" } num-traits = { version = "0.2", default-features = false } proptest = { version = "1.0", optional = true } matrixcompare-core = { version = "0.1.0", optional = true } @@ -35,7 +35,7 @@ serde = { version = "1.0", default-features = false, features = [ "derive" ], op [dev-dependencies] itertools = "0.10" matrixcompare = { version = "0.3.0", features = [ "proptest-support" ] } -nalgebra = { version="0.31", path = "../", features = ["compare"] } +nalgebra = { version="0.32", path = "../", features = ["compare"] } tempfile = "3.3" serde_json = "1.0"