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

Changelog History
Page 1

  • v0.22.0 Changes

    October 24, 2022

    ๐Ÿ’ฅ Breaking changes

    • โž• Added u32 implementation of BVec3A and BVec4 when SIMD is not available. These are used instead of aliasing to the bool implementations.

    • โœ‚ Removed Add, Sub, and scalar Mul implementations from affine types as they didn't make sense on these types.

    • โœ‚ Removed deprecated const_* macros. These have been replaced by const fn methods.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed neg and signum to consistently handle negative zero across multiple platforms.

    • โœ‚ Removed register_attr feature usage for SPIR-V targets.

    โž• Added

    • โž• Added missing Serialize, Deserialize and PartialEq implementations.

    • โž• Added Sum<Self> and Product<Self> implementations for all vector, matrix and quaternion types.

    • Added 4x4 matrix methods look_to_lh and look_to_rh. These were previously private.

    • Added dot_into_vec methods to vector which returns the result of the dot product splatted to all vector lanes.

    • Added is_negative_bitmask to vector types which returns a u32 of bits for each negative vector lane.

    • โž• Added splat method and TRUE and FALSE constants to all BVec types.

    • โž• Added from_mat3a methods to Affine2, Mat2, Mat4 and Quat types.

    ๐Ÿ”„ Changed

    • 0๏ธโƒฃ Disable serde default features.

    • Made to_cols_array, to_cols_array_2d, and from_diagonal methods const fn.

  • v0.21.3 Changes

    August 02, 2022

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed glam_assert being too restrictive in matrix transform point and transform vector methods.

    โž• Added

    • โž• Added experimental core-simd feature which enables SIMD support via the unstable core::simd module.

    ๐Ÿ”„ Changed

    • Derive from PartialEq and Eq instead of providing a trait implementation for all non SIMD types.
  • v0.21.2 Changes

    June 25, 2022

    ๐Ÿ›  Fixed

    • โช Restore missing $crate:: prefix in deprecated const_* macros.

    • ๐Ÿ›  Fixed some performance regressions in affine and matrix determinant and inverses due to lack of inlining.

    • ๐Ÿ›  Fixed some performance regressions in the SSE2 Vec3A to Vec3 from conversion.

    โž• Added

    • Implemented BitXor and BitXorAssign traits for bool vectors.
  • v0.21.1 Changes

    June 22, 2022

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix compilation when FMA support is enabled.
  • v0.21.0 Changes

    June 22, 2022

    ๐Ÿ’ฅ Breaking changes

    • ๐Ÿ‘ Minimum Supported Version of Rust bumped to 1.58.1 to allow const pointer dereferences in constant evaluation.

    • The abs_diff_eq method on Mat2 and DMat2 now takes other by value instead of reference. This is consistent with the other matrix types.

    • The AsMut and Deref trait implementations on Quat and DQuat was removed. Quaternion fields are now public.

    • ๐Ÿšš The AsRef trait implementations were removed from BVec2, BVec3, BVec3A, BVec4 and BVec4A.

    โž• Added

    • NEG_ONE constant was added to all signed vector types.

    • NEG_X, NEG_Y, NEG_Z and NEG_W negative axis vectors were added to signed vector types.

    • The rotate and from_angle methods were added to Vec2 and DVec2. from_angle returns a 2D vector containing [angle.cos(), angle.sin()] that can be used to rotate another 2D vector.

    • The from_array const function was added to all vector types.

    ๐Ÿ”„ Changed

    • ๐Ÿšš Source code is now largely generated. This removes most usage of macros internally to improve readability. There should be no change in API or behavior other than what is documented here.

    • Many methods have been made const fn:

      • new, splat, from_slice, to_array and extend on vector types
      • from_cols, from_cols_array, from_cols_array_2d, from_cols_slice on matrix types
      • from_xyzw and from_array on quaternion types
      • from_cols on affine types
    • ๐Ÿ—„ The const new macros where deprecated.

    โœ‚ Removed

    • โœ‚ Deleted deprecated TransformRT and TransformSRT types.
  • v0.20.5 Changes

    April 12, 2022

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed a bug in the scalar implementation of 4D vector max_element method where the w element check was incorrect.
  • v0.20.4 Changes

    April 11, 2022

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed a bug with quaternion slerp with a rotation of tau.
  • v0.20.3 Changes

    March 28, 2022

    โž• Added

    • โž• Added to_array() to Quat and DQuat.
    • โž• Added mul_add method to all vector types - note that this will be slower without hardware support enabled.
    • โž• Added the fast-math flag which will sacrifice some float determinism for speed.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed a bug in the sse2 and wasm32 implementations of Mat4::determinant().
  • v0.20.2 Changes

    December 20, 2021

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed SPIR-V build which was broken due to a typo.
  • v0.20.1 Changes

    November 23, 2021

    โž• Addeed

    • Added the from_rotation_arc_2d() method to Quat and DQuat which will return a rotation between two 2D vectors around the z axis.
    • โž• Added impl of Neg operator for matrix types.
    • โž• Added cuda feature which forces glam types to match cuda's alignment requirements.

    ๐Ÿ”„ Changed

    • The Quat and DQuat methods from_rotation_arc() and from_rotation_arc_colinear() are now available in no_std.
    • The Vec3 and DVec3 methods any_orthogonal_vector(), any_orthonormal_vector() and any_orthonormal_pair() are now available in no_std.
    • โž• Added repr(C) attribute to affine types.

    โœ‚ Removed

    • Removed deprecated as_f32(), as_f64(), as_i32() and as_u32() methods.