diff options
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r-- | CHANGELOG.md | 109 |
1 files changed, 107 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 858f3b1..e0ff2f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,107 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog], and this project adheres to [Semantic Versioning]. +## [0.25.0] - 2023-12-19 + +### Breaking changes + +* Changed `Vec4` to always used `BVec4A` as a mask type, regardless if the + target architecture has SIMD support in glam. Previously this was inconsistent + on different hardware like ARM. This will have a slight performance cost when + SIMD is not available. `Vec4` will continue to use `BVec4` as a mask type when + the `scalar-math` feature is used. + +### Fixed + +* Made `Affine2` implement the `bytemuck::AnyBitPattern` trait instead of + `bytemuck::Pod` as it contains internal padding due to `Mat2` being 16 byte + aligned. + +* Updated the `core-simd` implementation to build on latest nightly. + +### Added + +* Added `to_angle` method to 2D vectors. + +* Added `FloatExt` trait which adds `lerp`, `inverse_lerp` and `remap` methods + to `f32` and `f64` types. + +* Added `i16` and `u16` vector types, `I16Vec2`, `I16Vec3`, `I16Vec4`, + `U16Vec2`, `U16Vec3` and `U16Vec4`. + +### Changed + +* Renamed `Quat::as_f64()` to `Quat::as_dquat()` and `DQuat::as_f32()` to + `DQuat::as_quat()` to be consistent with other types. The old methods have + been deprecated. + +* Added the `#[must_use]` attribute to all pure functions following the + guidelines for the Rust standard library. + +## [0.24.2] - 2023-09-23 + +### Fixed + +* Fixed singularities in `Quat::to_euler`. + +### Added + +* Added `div_euclid` and `rem_euclid` to integer vector types. + +* Added wrapping and saturating arithmetic operations to integer vector types. + +* Added `to_scale_angle_translation` to 2D affine types. + +* Added `mul_assign` ops to affine types. + +### Changed + +* Disable default features on optional `rkyv` dependency. + +## [0.24.1] - 2023-06-24 + +### Added + +* Implemented missing `bytemuck`, `mint`, `rand`, `rkyv` and `serde` traits for + `i64` and `u64` types. + +* Added missing safe `From` conversions from `f32` vectors to `f64` vectors. + +* Added `TryFrom` implementations between different vector types. + +* Added `test` and `set` methods to `bool` vector types for testing and setting + individual mask elements. + +* Added `MIN`, `MAX`, `INFINITY` and `NEG_INFINITY` vector constants. + +## [0.24.0] - 2023-04-24 + +### Breaking changes + +* Enabling `libm` in a `std` build now overrides the `std` math functions. This + is unlikely to break anything but it is a change in behavior. + +### Added + +* Added `i64` and `u64` vector types; `I64Vec2`, `I64Vec3`, `I64Vec4`, + `U64Vec2`, `U64Vec3` and `U64Vec4`. + +* Added `length_squared` method on signed and unsigned integer vector types. + +* Added `distance_squared` method on signed integer vector types. + +* Implemented the `bytemuck` `AnyBitPattern` trait on `Vec3A`, `Mat3A` and + `Affine3A`. + +### Changed + +* Changed quaternion `to_axis_angle` for improved numerical stability. + +### Removed + +* Removed dependency on `serde_derive` for improved compile times when using + `serde`. + ## [0.23.0] - 2023-02-22 ### Breaking changes @@ -371,7 +472,7 @@ The format is based on [Keep a Changelog], and this project adheres to * Removed deprecated `zero()`, `one()`, `unit_x()`, `unit_y()`, `unit_z()`, `unit_w()`, `identity()` and `Mat2::scale()` methods. * Remove problematic `Quat` `From` trait conversions which would allow creating - a non-uniform quaternion without necessarily realising, including from + a non-uniform quaternion without necessarily realizing, including from `Vec4`, `(x, y, z, w)` and `[f32; 4]`. ### Added @@ -900,7 +1001,11 @@ The format is based on [Keep a Changelog], and this project adheres to [Keep a Changelog]: https://keepachangelog.com/ [Semantic Versioning]: https://semver.org/spec/v2.0.0.html -[Unreleased]: https://github.com/bitshifter/glam-rs/compare/0.23.0...HEAD +[Unreleased]: https://github.com/bitshifter/glam-rs/compare/0.25.0...HEAD +[0.25.0]: https://github.com/bitshifter/glam-rs/compare/0.24.2...0.25.0 +[0.24.2]: https://github.com/bitshifter/glam-rs/compare/0.24.1...0.24.2 +[0.24.1]: https://github.com/bitshifter/glam-rs/compare/0.24.0...0.24.1 +[0.24.0]: https://github.com/bitshifter/glam-rs/compare/0.23.0...0.24.0 [0.23.0]: https://github.com/bitshifter/glam-rs/compare/0.22.0...0.23.0 [0.22.0]: https://github.com/bitshifter/glam-rs/compare/0.21.3...0.22.0 [0.21.3]: https://github.com/bitshifter/glam-rs/compare/0.21.2...0.21.3 |