From 94dc3902710f83afb4b070a94aabe2c5cbbb969d Mon Sep 17 00:00:00 2001 From: Miguel Angel Charris Carmona Date: Wed, 23 Sep 2026 14:30:16 -0500 Subject: [PATCH] Release 0.5.0 Minor rather than major, because this is still 0.x: the idiomatic API only gains members, and Box3D.NET.Native breaks where Box3D's C API broke. Before 1.0 a break is carried by a minor version, and the changelog lists each one. The baseline moves to 0.4.0 in the same commit, as Directory.Build.targets asks. That exposed something the move to 0.3.0 could not: 0.4.0 is the first published package with an iOS target, so a recorded break is now found between three pairs of assemblies rather than one - net8.0 against net8.0 and iOS against iOS when packed with Box3DTargetApple, as CI and the release do, and the baseline's iOS assembly against net8.0 when packed without it, as the README tells contributors to. The suppression file records all three, and unused entries are permitted, since each build necessarily leaves the other's pairs unused. Co-Authored-By: Claude Opus 5.5 (1M context) --- CHANGELOG.md | 9 +- Directory.Build.props | 2 +- Directory.Build.targets | 13 +- .../CompatibilitySuppressions.xml | 322 ++++++++++++++++++ 4 files changed, 343 insertions(+), 3 deletions(-) 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