diff --git a/CHANGELOG.md b/CHANGELOG.md index 450ec596..2783416b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,22 @@ documented here. This project adheres to [Semantic Versioning](https://semver.org/). +## [0.27.0] +This removes the `convert-glam` and `convert-glam-unchecked` optional features. +Instead, this adds the `convert-glam013`, `convert-glam014`, and `convert-glam015` optional features for +conversions targeting the versions 0.13, 0.14, and 0.15 of `glam`. + +### Added +- Add macros `matrix!`, `dmatrix!`, `vector!`, `dvector!`, `point!` for constructing matrices/vectors/points in a + more convenient way. See [#886](https://github.com/dimforge/nalgebra/pull/886) and [#899](https://github.com/dimforge/nalgebra/pull/899). +- Add `CooMatrix::reserve` to `nalgebra-sparse`. +- Add basic support for serialization using `rkyv`. Can be enabled with the features `rkyv-serialize` or + `rkyv-serialize-no-std`. + + +### Fixed +- Fixed a potential unsoundness issue after deserializing an invalid `DVector` using `serde`. + ## [0.26.2] ### Added - Conversion from an array `[T; D]` to an isometry `Isometry` (as a translation). diff --git a/Cargo.toml b/Cargo.toml index 012b9c80..5c2ad286 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nalgebra" -version = "0.26.2" +version = "0.27.0" authors = [ "Sébastien Crozet " ] description = "General-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices." @@ -68,10 +68,10 @@ nalgebra-macros = { version = "0.1", path = "nalgebra-macros", optional = true } typenum = "1.12" rand-package = { package = "rand", version = "0.8", optional = true, default-features = false } num-traits = { version = "0.2", default-features = false } -num-complex = { version = "0.3", default-features = false } -num-rational = { version = "0.3", default-features = false } -approx = { version = "0.4", default-features = false } -simba = { version = "0.4", 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.5", 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 } diff --git a/examples/cargo/Cargo.toml b/examples/cargo/Cargo.toml index 10bcf375..e0dd983c 100644 --- a/examples/cargo/Cargo.toml +++ b/examples/cargo/Cargo.toml @@ -4,7 +4,7 @@ version = "0.0.0" authors = [ "You" ] [dependencies] -nalgebra = "0.26.0" +nalgebra = "0.27.0" [[bin]] name = "example" diff --git a/nalgebra-glm/Cargo.toml b/nalgebra-glm/Cargo.toml index 0d8b5bd8..f97536d0 100644 --- a/nalgebra-glm/Cargo.toml +++ b/nalgebra-glm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nalgebra-glm" -version = "0.12.0" +version = "0.13.0" authors = ["sebcrozet "] description = "A computer-graphics oriented API for nalgebra, inspired by the C++ GLM library." @@ -25,6 +25,6 @@ abomonation-serialize = [ "nalgebra/abomonation-serialize" ] [dependencies] num-traits = { version = "0.2", default-features = false } -approx = { version = "0.4", default-features = false } -simba = { version = "0.4", default-features = false } -nalgebra = { path = "..", version = "0.26", default-features = false } +approx = { version = "0.5", default-features = false } +simba = { version = "0.5", default-features = false } +nalgebra = { path = "..", version = "0.27", default-features = false } diff --git a/nalgebra-lapack/Cargo.toml b/nalgebra-lapack/Cargo.toml index 45a469ac..c368a3c6 100644 --- a/nalgebra-lapack/Cargo.toml +++ b/nalgebra-lapack/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nalgebra-lapack" -version = "0.17.0" +version = "0.18.0" authors = [ "Sébastien Crozet ", "Andrew Straw " ] description = "Matrix decompositions using nalgebra matrices and Lapack bindings." @@ -29,18 +29,18 @@ accelerate = ["lapack-src/accelerate"] intel-mkl = ["lapack-src/intel-mkl"] [dependencies] -nalgebra = { version = "0.26", path = ".." } +nalgebra = { version = "0.27", path = ".." } num-traits = "0.2" -num-complex = { version = "0.3", default-features = false } -simba = "0.4" +num-complex = { version = "0.4", default-features = false } +simba = "0.5" serde = { version = "1.0", features = [ "derive" ], optional = true } -lapack = { version = "0.17", default-features = false } -lapack-src = { version = "0.6", default-features = false } +lapack = { version = "0.19", default-features = false } +lapack-src = { version = "0.8", default-features = false } # clippy = "*" [dev-dependencies] -nalgebra = { version = "0.26", features = [ "arbitrary", "rand" ], path = ".." } +nalgebra = { version = "0.27", features = [ "arbitrary", "rand" ], path = ".." } proptest = { version = "1", default-features = false, features = ["std"] } quickcheck = "1" -approx = "0.4" +approx = "0.5" rand = "0.8" diff --git a/nalgebra-macros/Cargo.toml b/nalgebra-macros/Cargo.toml index d95784e0..59eb5ba1 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.26.1", path = ".." } +nalgebra = { version = "0.27.0", path = ".." } trybuild = "1.0.42" diff --git a/nalgebra-sparse/Cargo.toml b/nalgebra-sparse/Cargo.toml index 6666bfb9..4af053c2 100644 --- a/nalgebra-sparse/Cargo.toml +++ b/nalgebra-sparse/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nalgebra-sparse" -version = "0.2.0" +version = "0.3.0" authors = [ "Andreas Longva", "Sébastien Crozet " ] edition = "2018" description = "Sparse matrix computation based on nalgebra." @@ -20,7 +20,7 @@ compare = [ "matrixcompare-core" ] slow-tests = [] [dependencies] -nalgebra = { version="0.26", path = "../" } +nalgebra = { version="0.27", path = "../" } num-traits = { version = "0.2", default-features = false } proptest = { version = "1.0", optional = true } matrixcompare-core = { version = "0.1.0", optional = true } @@ -28,7 +28,7 @@ matrixcompare-core = { version = "0.1.0", optional = true } [dev-dependencies] itertools = "0.10" matrixcompare = { version = "0.3.0", features = [ "proptest-support" ] } -nalgebra = { version="0.26", path = "../", features = ["compare"] } +nalgebra = { version="0.27", path = "../", features = ["compare"] } [package.metadata.docs.rs] # Enable certain features when building docs for docs.rs diff --git a/src/third_party/glam/common/glam_unit_complex.rs b/src/third_party/glam/common/glam_unit_complex.rs index 67b6a040..7ee6fc65 100644 --- a/src/third_party/glam/common/glam_unit_complex.rs +++ b/src/third_party/glam/common/glam_unit_complex.rs @@ -1,5 +1,5 @@ use super::glam::{DMat2, Mat2}; -use crate::{Complex, Rotation2, UnitComplex}; +use crate::{Complex, UnitComplex}; impl From> for Mat2 { #[inline]