Releases: stephengold/Libbulletjme
Releases Β· stephengold/Libbulletjme
Release list
23.0.1
- Changed the build procedures for Android: no longer use
-b/--build-file. - Raised the minimum JDK to build Libbulletjme, from v8 to v17.
- Added support for the Windows_ARM64 platform, including a new artifact ID.
- Began building for Linux_ARM64 using GCC v11 instead of v10.
- Began building for macOS using Xcode v26.5.0 .
- Began building for Windows using Visual Studio 2026 instead of VS 2022.
- Added "CONTRIBUTING.md" document.
23.0.0
- Added the
onContactConceived()method to theContactListenerinterface (issue #49). (API change) - Changed how step flags are passed to
PhysicsSpace.update()andPhysicsSpace.stepSimulation(). (API change) - Bugfix: contactEnded callback is skipped after removal of Body0 (issue #41)
- Bugfix: crash in
btSoftBody::setPose()due to singular matrix - Added the
StepFlagclass. - Added 2 public methods to manage overlap filtering:
CollisionSpace.isOverlapFilterEnabled()CollisionSpace.setOverlapFilterEnabled()
- Added
SWAPPEDandPREDICTIVEbits to the contact-point flags. - More checking of JNI return values in the glue code.
- Removed unnecessary exception checks from the glue code.
- Updated Android NDK to version "r29".
22.0.3
- Strengthened argument checking in
HeightfieldCollisionShapeconstructors. - Disabled 20 diagnostic jmePhysicsSpace.cpp printfs in Release natives.
- Added capability to build natives for LoongArch.
- Added an inception year (2018) to the POMs.
- Updated Android NDK to version "r28c".
- Began publishing via Sonatype's Central Publisher Portal instead of OSSRH.
22.0.1
Bugfix: desktop ARM natives are stored at wrong paths in JARs
22.0.0
- Stopped deploying artifacts to GitHub.
- Stopped deploying Windows PDBs.
- Began deploying artifacts to MavenCentral with new artifact IDs: "Libbulletjme-Android", "Libbulletjme-MacOSX_ARM64", and so on.
- Began deploying natives with signatures and classifers, in JAR format (desktop) and AAR format (Android).
- Ended support for three 32-bit desktop platforms: Linux32, Linux_ARM32, and Windows32.
- Bugfix:
copyPcoProperties()doesn't copy user indices - Bugfix: logic error in
CollisionShape.nativeMargin() - Publicized the
CollisionSpace.setLocalThreadPhysicsSpace()method so per-thread physics spaces can nulled and garbage collected. - Added public method
Quaternion.isValidQuaternion(). - Disallowed GImpact shapes with zero triangles.
- Modified
PhysicsDumperto skip linear/angular factors that are 1. - Enabled support for flexible page sizes on Android.
- Updated Android NDK to version "r27c".
21.2.1
- Changed the default setting for collision-shape contact filtering (from enabled to disabled) to address Minie issue 40. This change may cause unwanted behavior for rigid bodies in contact with a gimpact, heightfield, or mesh; see Minie issue 18 for details.
- Added the
ConicalFrustumcollision shape. - Implemented actual-margin debug meshes for concave shapes with
meshResolution == 2. - Added 14 accessors for the native user indices of
CollisionShape,MultiBody, andPhysicsCollisionObject. - Added 5 other public methods:
Heightfield.countColumns()Heightfield.countRows()Heightfield.upAxis()IndexedMesh.surfaceArea()MyMath.area(Triangle)
21.1.0
- Bugfix: crash in
processAllTriangles()whenm_bvh==NULL(Minie issue 43) - Bugfix: wrong inertia for a
CustomConvexShapewhenmass != 1 - Added the
SphericalSegmentcollision shape. - Added the
TestAppapplication for manual testing. - Added 11 public methods:
BoundingValueHierarchy.copyAabb()BoundingValueHierarchy.copyQuantization()BoundingValueHierarchy.countLeafNodes()BoundingValueHierarchy.countNodes()BoundingValueHierarchy.countSubtreeHeaders()BoundingValueHierarchy.escapeIndex()BoundingValueHierarchy.isLeafNode()BoundingValueHierarchy.partId()BoundingValueHierarchy.setTraversalMode()BoundingValueHierarchy.traversalMode()BoundingValueHierarchy.triangleIndex()
21.0.0
- Made numerous breaking changes to the native API.
- Deleted the (deprecated)
DebugMeshCallbackclass. (API change) - Bugfix: JVM crash while serializing
BoundingValueHierarchy(Minie issue 41) - Added the new
CollisionConfigurationclass and related methods:CollisionSpace.getConfiguration()PhysicsDescriber.describe(CollisionConfiguration)- a 5-argument
CollisionSpaceconstructor - a 4-argument
PhysicsSoftSpaceconstructor - a pair of 5-argument
PhysicsSpaceconstructors
- Added 2 other public methods:
BoundingValueHierarchy.isCompressed()MeshCollisionShape.getBvh()
- Improved the performance of contact filtering by adding an early return from
FilteredInteriorCountCallback. - Began building Android binaries using OpenJDK 11 (with Android Gradle plugin v7.4.0 and NDK v23.1.7779620) instead of JDK 8 (with Android Gradle plugin v4.2.2 and NDK v21.3.6528147).
- Began using
htons()to configure byte swapping when serializing and deserializing aBoundingValueHierarchy. (This would be a breaking change for big-endian platforms, if any were supported!) - Updated the Bullet sources to match SHA1 id=e9c461b0 of the bullet3 project, to add a test for constraint pass in btMultiBody.cpp. (Thanks to Ian Chen)
20.2.0
- Deprecated the
DebugMeshCallbackclass. - Deleted the (unused) native portion of the
DebugShapeFactoryclass. - Added 7 new public methods:
FastMath.clamp()GImpactCollisionShape.countSubmeshes()GImpactCollisionShape.getSubmesh()MeshCollisionShape.countSubmeshes()MeshCollisionShape.getSubmesh()MyMath.circle(double)MyMath.circle(float)
- Updated VHACD v4 to version 4.1 .
- Added more detail to descriptions of GImpact and mesh shapes.
- Began building Android binaries on a xenial distro, since trusty is nearing its end of life.