# Changelog ## [1.2.6] - 2022-02-11 ### Added ### Changed * Made `Il2CppEagerStaticClassConstructionAttribute` internal to avoid conflicts with other definitions outside of the package. ### Deprecated ### Removed ### Fixed ## [1.2.5] - 2021-11-01 ### Added ### Changed ### Deprecated ### Removed ### Fixed * Fixed property drawing when manually drawing a property that was hidden with [HideInInspector]. ## [1.2.4] - 2021-09-22 ### Added * Added `[Il2CppEagerStaticClassConstruction]` to Unity.Mathematics types to run static constructors at startup. This improves IL2CPP performance slightly for types that have static constructors. ### Changed * License file updated to satisfy Unity's package validation tests. * Changed noise documentation in comments to xmldoc comments. ### Deprecated ### Removed ### Fixed * Fixed Equals(object) override which did not check type before casting. This could cause exceptions to be thrown when the object did not match the expected type. * Fixed incorrect `math.tzcnt` documentation which mentioned leading zero counts instead of trailing zero counts. * Fixed `float2x2.Rotate` documentation to mention radians instead of degrees. * Fixed documentation for methods and properties that were previously undocumented. ## [1.2.1] - 2020-08-06 ### Added ### Changed ### Deprecated ### Removed ### Fixed * Fixed warnings for meta files existing even though the files they represent did not exist. ### Internal (Not ready for production) ## [1.2.0] - 2020-08-03 ### Added * Added `[MethodImpl(MethodImplOptions.AggressiveInlining)]` to many static functions to improve IL2CPP performance. * Added `compress()` that accepts a `float4` and `uint4`. * Added `math.project()` and `math.projectsafe()` for vector projection. * Added `math.EPSILON`, `math.INFINITY`, `math.NAN` and their double counterparts. * Added `[Serializable]` to `RigidTransform`. * Added `math.ceillog2()`. * Added `math.floorlog2()`. * Added `math.down()`, `math.forward()`, etc for Cartesian coordinate axes that match UnityEngine Vector3 equivalents. * Added `math.ispow2()`. * Added `half.MinValueAsHalf` and `half.MaxValueAsHalf` to avoid having to explicitly convert from float. * Added a `float3x3` constructor which takes a `float4x4` as input. * Added `[Serializable]` to half types. * Added some performance tests which can be run from the Unity test project. * Added `Random.CreateFromIndex()` to assist in creating Random instances from loop indices. ### Changed ### Deprecated ### Removed ### Fixed * Fixed documentation bug where `quaternion.RotateX/Y/Z` referred to a `float4x4` instead of quaternion. * Fixed code generation bugs which could cause Windows and Mac to generate different test code. * Fixed some test asserts which used NaNs and signed zeros which failed in IL2CPP builds. * Updated documentation for `math.countbits()` to include equivalent names on Intel and ARM architectures to aid in discoverability. ### Internal (Not ready for production) * Added `Unity.Mathematics.Geometry.Plane` to represent planes in 3D space. * Added more `MinMaxAABB` functionality from `Unity.Physics.Aabb`. * Added `Unity.Mathematics.Geometry.Math` to hold static functions like AABB transformations. * Added `MinMaxAABB`. ## [1.1.0] - 2019-07-08 - Release stable version ## [1.1.0-preview.1] - 2019-06-27 - Add new math.bitmask to return a bit mask from a bool4 ## [1.0.1] - 2019-04-15 - Release stable version - Modify all math constants (e.g `math.PI`) to provide float constant by default instead of double. Use for example `math.PI_DBL` to get the previous double constant. ## [1.0.0-preview.1] - 2019-02-28 - Fixed bug where modifications on prefabs could not be reverted for vector properties when using context menu in Inspector. - Fixed structure of the package for internal validation