diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0488358..022b272 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [0.5.0] - 2026-09-23
+
+An engine release, and a minor version for two reasons at once: the idiomatic
+API gains members, and the native mirror breaks where Box3D's C API broke.
+Before 1.0 a break is carried by a minor version, and every one is listed below.
+
Box3D moves from `3fc20f5` to `9e5a4cd`, the six upstream commits between them.
The idiomatic `Box3D.NET` only gains members: nothing in it is removed or
changes signature, and package validation against the last release reports no
@@ -617,7 +623,8 @@ rather than left standing:
follow Box3D and are documented rather than corrected.
- Single precision only. Box3D's large-world mode changes the ABI and would need
a separate package.
-[Unreleased]: https://github.com/Miguel249/Box3D.NET/compare/v0.4.0...HEAD
+[Unreleased]: https://github.com/Miguel249/Box3D.NET/compare/v0.5.0...HEAD
+[0.5.0]: https://github.com/Miguel249/Box3D.NET/compare/v0.4.0...v0.5.0
[0.4.0]: https://github.com/Miguel249/Box3D.NET/compare/v0.3.0...v0.4.0
[0.3.0]: https://github.com/Miguel249/Box3D.NET/compare/v0.2.0...v0.3.0
[0.2.0]: https://github.com/Miguel249/Box3D.NET/compare/v0.1.0...v0.2.0
diff --git a/Directory.Build.props b/Directory.Build.props
index 3a22a93..b7d483c 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -71,7 +71,7 @@
- 0.4.0
+ 0.5.0
Box3D.NET contributors
Box3D.NET
Box3D.NET
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 42ed680..86d854a 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -62,7 +62,18 @@
VersionPrefix, not in the one after it.
-->
true
- 0.3.0
+ 0.4.0
+
+
+ true
diff --git a/src/Box3D.NET.Native/CompatibilitySuppressions.xml b/src/Box3D.NET.Native/CompatibilitySuppressions.xml
index c65ffc3..e890cb4 100644
--- a/src/Box3D.NET.Native/CompatibilitySuppressions.xml
+++ b/src/Box3D.NET.Native/CompatibilitySuppressions.xml
@@ -1,6 +1,48 @@
+
+ CP0001
+ T:Box3D.Native.b3TreeNodeChildren
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0001
+ T:Box3D.Native.b3TreeNodeFlags
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0001
+ T:Box3D.Native.b3TreeNodeFlagsStorage
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0001
+ T:Box3D.Native.b3TreeNodeChildren
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0001
+ T:Box3D.Native.b3TreeNodeFlags
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0001
+ T:Box3D.Native.b3TreeNodeFlagsStorage
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
CP0001
T:Box3D.Native.b3TreeNodeChildren
@@ -22,6 +64,286 @@
lib/net8.0/Box3D.NET.Native.dll
true
+
+ CP0002
+ F:Box3D.Native.b3Counters.byteCount
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3DynamicTree.freeList
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3DynamicTree.nodeCount
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3DynamicTree.root
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3HeightFieldData.clockwise
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3HeightFieldData.hash
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3HullData.hash
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3HullData.padding
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3MeshData.hash
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3Profile.applyRestitution
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.categoryBits
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.children
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.flags
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.height
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.next
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.parent
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.userData
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ M:Box3D.Native.B3.b3DynamicTree_ValidateNoEnlarged(Box3D.Native.b3DynamicTree*)
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ M:Box3D.Native.B3.b3GetByteCount
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ M:Box3D.Native.B3.b3SetAllocator(,)
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3Counters.byteCount
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3DynamicTree.freeList
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3DynamicTree.nodeCount
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3DynamicTree.root
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3HeightFieldData.clockwise
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3HeightFieldData.hash
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3HullData.hash
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3HullData.padding
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3MeshData.hash
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3Profile.applyRestitution
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.categoryBits
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.children
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.flags
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.height
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.next
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.parent
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ F:Box3D.Native.b3TreeNode.userData
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ M:Box3D.Native.B3.b3DynamicTree_ValidateNoEnlarged(Box3D.Native.b3DynamicTree*)
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ M:Box3D.Native.B3.b3GetByteCount
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
+
+ CP0002
+ M:Box3D.Native.B3.b3SetAllocator(,)
+ lib/net10.0-ios26.0/Box3D.NET.Native.dll
+ lib/net8.0/Box3D.NET.Native.dll
+ true
+
CP0002
F:Box3D.Native.b3Counters.byteCount