Skip to content

Releases: mrdav30/FixedMathSharp

FixedMathSharp v2.1.0

07 Mar 14:55

Choose a tag to compare

This release focuses on serialization cleanup and compatibility rather than numeric behavior changes.

Refactor

  • Improved serialization support across core numerics and bounds types, including Fixed64, vectors, matrices, quaternions, ranges, curves, BoundingArea, BoundingBox, and BoundingSphere.
  • Added explicit System.Text.Json metadata so JSON round-trips no longer depend on IncludeFields or IgnoreReadOnlyProperties.
  • Added non-.NET 8 JSON attribute shims to keep serialization annotations working across older target frameworks.
  • Simplified BoundingBox serialization to a state-based payload using Min and Max, removing the old versioned serialization field.
  • Expanded JSON and MemoryPack round-trip test coverage for the affected types.
  • Added .editorconfig and normalized formatting across the touched files.

Migration Note

If you relied on BoundingBox’s old (min, max, version) constructor or serialized Version field, update to the new state-based contract.

FixedMathSharp v2.0.0

04 Mar 05:49
ecc188b

Choose a tag to compare

Breaking changes

  • Dropped .NET Framework 4.8 support.
  • Added/standardized support on netstandard2.1 (with net8 retained).
  • Serialization stack changed from MessagePack to MemoryPack.

Updated tooling/runtime settings

  • C# language version bumped to 11.0.
  • Test project modernized:
    • moved to net8
    • updated test SDK/packages (including xUnit v3-related packages and newer test tooling).

Internal/maintenance

  • Added basic AGENTS.md.
  • Minor hash code implementation cleanup in core numeric structs (no API expansion, but behavior may differ for hash-based scenarios).

What's Changed

Full Changelog: v1.3.4...2.0.0

FixedMathSharp v1.3.4

12 Feb 17:15
973b4b1

Choose a tag to compare

  • BugFix
    • refactored BoundingBox to use a canonical min/max representation internally
      • removes dual-state risk of tracking scope and size separately

FixedMathSharp v1.3.3

01 Oct 02:22
b3971a3

Choose a tag to compare

  • New Features
    • Added new DeterministicRandom struct.
      • Switched to using xoroshiro128++ with splitmix64 seeding to ensure no allocations, no time/GUID.
  • Notice
    • Marked ThreadLocalRandom obsolete
      • DeterministicRandom gives explicit, reproducible streams keyed to your world/feature, independent of threading.

FixedMathSharp v1.3.2

11 Jul 15:45

Choose a tag to compare

  • BugFix
    • Updated intersection logic to correctly detect intersections between flat (zero-thickness) BoundingAreas in any primary plane.
      • Previously, coplanar and edge-touching areas were not recognized as intersecting due to 3D AABB logic.
      • Now uses 2D overlap checks when both bounds are flat in the same axis.

Full Changelog: v1.3.1...v1.3.2

FixedMathSharp v1.3.1

20 Jun 17:47

Choose a tag to compare

FixedMathSharp v1.3.0

14 Jun 19:42

Choose a tag to compare

  • New Features

    • Generic Clamp Utility
      • Added Clamp(T value, T min, T max) for general-purpose clamping across comparable types (fills a missing gap in .NET 4.8).
  • Refactors

    • Fixed64 Clamp Overload Updated
      • Removed nullable max overload to avoid ambiguity with new generic version.
      • Replaced with Clamp(Fixed64 value, Fixed64 min, Fixed64 max) for explicit and more performant clamping.

FixedMathSharp v1.2.3

07 Jun 03:10

Choose a tag to compare

  • Expanded Vector2d, Vector3d & Fixed64 operators
  • Fixed issue with Vector3d.ClampMagnitude
  • Added indexer for Fixed3x3 & Fixed4x4
  • Added zeroed out FixedQuaternion & Fixed4x4

FixedMathSharp v1.2.2

11 Mar 05:08

Choose a tag to compare

  • Improved Trigonometric Functions – Enhanced Sin precision and and in turn Cos.
  • Better Quaternion & Vector Normalization – Fixed rounding errors and ensured proper unit magnitudes.
  • Added Helper Methods – Streamlined common math operations for better performance and maintainability.

For details, see PR #35. 🚀

FixedMathSharp v1.2.1

04 Mar 18:13

Choose a tag to compare

  • Enhancements:

    • Fixed4x4 Struct:

      • Refactored to support both affine and full 4x4 transformations, optimizing performance for common cases.​
      • Introduced TransformPoint and InverseTransformPoint methods for efficient point transformations.​
      • Renamed SRT and TRS methods for improved clarity.​
    • FixedQuaternion Struct:

      • Added ToAngularVelocity method to facilitate conversion of quaternion rotations to angular velocity vectors.​
  • Bug Fixes:

    • Addressed various minor bugs to enhance overall stability and performance.