All Versions
51
Latest Version
Avg Release Cycle
26 days
Latest Release
915 days ago

Changelog History
Page 2

  • v0.20.0 Changes

    November 01, 2021

    ๐Ÿ’ฅ Breaking changes

    • โšก๏ธ Minimum Supported Version of Rust bumped to 1.52.1 for an update to the mint crate.

    โž• Added

    • โž• Added implementations for new IntoMint trait from the mint crate.
    • โž• Added mint conversions for Mat3A.
    • โž• Added as_vec3a cast methods to vector types.
  • v0.19.0 Changes

    October 05, 2021

    ๐Ÿ’ฅ Breaking changes

    • โœ‚ Removed truncating vector From implementations. Use .truncate() or swizzle methods instead.

    โž• Added

    • โž• Added Not, Shl, Shr, BitAnd, BitOr and BitXor implementations for all IVec and UVec vector types.
    • โž• Added NAN constant for all types.
    • Documented glam's [architecture](ARCHITECTURE.md).

    ๐Ÿ”„ Changed

    • ๐Ÿ— Sum and Product traits are now implemented in no_std builds.
  • v0.18.0 Changes

    August 26, 2021

    ๐Ÿ’ฅ Breaking changes

    • โœ… Minimum Supported Version of Rust bumped to 1.51.0 for wasm-bindgen-test and rustdoc alias support.

    โž• Added

    • โž• Added wasm32 SIMD intrinsics support.
    • โž• Added optional support for the rkyv serialization crate.
    • โž• Added Rem and RemAssign implementations for all vector types.
    • โž• Added quaternion xyz() method for returning the vector part of the quaternion.
    • โž• Added From((Scalar, Vector3)) for 4D vector types.

    ๐Ÿ”„ Changed

    • Deprecated as_f32(), as_f64(), as_i32() and as_u32() methods in favor of more specific methods such as as_vec2(), as_dvec2(), as_ivec2() and as_uvec2() and so on.
  • v0.17.3 Changes

    July 18, 2021

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix alignment unit tests on non x86 platforms.
  • v0.17.2 Changes

    July 15, 2021

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix alignment unit tests on i686 and S390x.
  • v0.17.1 Changes

    June 29, 2021

    โž• Added

    • โž• Added serde support for Affine2, DAffine2, Affine3A and DAffine3.
  • v0.17.0 Changes

    June 26, 2021

    ๐Ÿ’ฅ Breaking changes

    • The addition of Add and Sub implementations of scalar values for vector types may create ambiguities with existing calls to add and sub.
    • โœ‚ Removed From<Mat3> implementation for Mat2 and From<DMat3> for DMat2. These have been replaced by Mat2::from_mat3() and DMat2::from_mat3().
    • โœ‚ Removed From<Mat4> implementation for Mat3 and From<DMat4> for DMat3. These have been replaced by Mat3::from_mat4() and DMat3::from_mat4().
    • Removed deprecated from_slice_unaligned(), write_to_slice_unaligned(), from_rotation_mat4 and from_rotation_ypr() methods.

    โž• Added

    • โž• Added col_mut() method which returns a mutable reference to a matrix column to all matrix types.
    • โž• Added AddAssign, MulAssign and SubAssign implementations for all matrix types.
    • โž• Added Add and Sub implementations of scalar values for vector types.
    • โž• Added more glam_assert! checks and documented methods where they are used.
    • โž• Added vector projection and rejection methods project_onto(), project_onto_normalized(), reject_from() and reject_from_normalized().
    • Added Mat2::from_mat3(), DMat2::from_mat3(), Mat3::from_mat4(), DMat3::from_mat4() which create a smaller matrix from a larger one, discarding a final row and column of the input matrix.
    • Added Mat3::from_mat2(), DMat3::from_mat2(), Mat4::from_mat3() and DMat4::from_mat3() which create an affine transform from a smaller linear transform matrix.

    ๐Ÿ”„ Changed

    • ๐Ÿšš Don't support AsRef and AsMut on SPIR-V targets. Also removed SPIR-V support for some methods that used as_ref(), including hash(). Not a breaking change as these methods would not have worked anyway.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed compile time alignment checks failing on i686 targets.
  • v0.16.0 Changes

    June 06, 2021

    ๐Ÿ’ฅ Breaking changes

    • ๐Ÿšš sprirv-std dependency was removed, rust-gpu depends on glam internally again for now.
    • โž• Added must_use attribute to all inverse(), normalize(), try_normalize(), transpose() and conjugate() methods.

    โž• Added

    • โž• Added fract() method to float vector types which return a vector containing self - self.floor().
    • โž• Added optional support for the approx crate. Note that all glam types implement their own abs_diff_eq() method without requiring the approx dependency.
  • v0.15.2 Changes

    May 20, 2021

    โž• Added

    • โž• Added from_cols() methods to affine types.
    • โž• Added methods for reading and writing affine types from and to arrays and slices, including from_cols_array(), to_cols_array(), from_cols_array_2d(), to_cols_array_2d(), from_cols_slice() and write_cols_to_slice().
    • โž• Added core::fmt::Display trait implementations for affine types.
    • โž• Added core::ops::Add, core::ops::Mul scalar and core::ops::Sub trait implementations for affine types.
    • โž• Added from_array() methods to quaternion types.

    ๐Ÿ”„ Changed

    • Renamed vector and quaternion from_slice_unaligned() and write_to_slice_unaligned() methods to from_slice() and write_to_slice().
    • Removed usage of _mm_rcp_ps from SSE2 implementation of Quat::slerp as this instruction is not deterministic between Intel and AMD chips.
  • v0.15.1 Changes

    May 14, 2021

    ๐Ÿ”„ Changed

    • Disable const_assert_eq! size and alignment checks for SPIR-V targets.