Skip to content

Releases: stephengold/Libbulletjme

23.0.1

Choose a tag to compare

@stephengold stephengold released this 18 Jun 05:18
  • 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

Choose a tag to compare

@stephengold stephengold released this 22 Mar 22:45
  • Added the onContactConceived() method to the ContactListener interface (issue #49). (API change)
  • Changed how step flags are passed to PhysicsSpace.update() and PhysicsSpace.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 StepFlag class.
  • Added 2 public methods to manage overlap filtering:
    • CollisionSpace.isOverlapFilterEnabled()
    • CollisionSpace.setOverlapFilterEnabled()
  • Added SWAPPED and PREDICTIVE bits 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

Choose a tag to compare

@stephengold stephengold released this 12 Sep 21:46
  • Strengthened argument checking in HeightfieldCollisionShape constructors.
  • 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

Choose a tag to compare

@stephengold stephengold released this 25 Jan 07:04

Bugfix: desktop ARM natives are stored at wrong paths in JARs

22.0.0

Choose a tag to compare

@stephengold stephengold released this 22 Jan 21:45
  • 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 PhysicsDumper to skip linear/angular factors that are 1.
  • Enabled support for flexible page sizes on Android.
  • Updated Android NDK to version "r27c".

21.2.1

Choose a tag to compare

@stephengold stephengold released this 09 May 17:49
  • 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 ConicalFrustum collision shape.
  • Implemented actual-margin debug meshes for concave shapes with meshResolution == 2.
  • Added 14 accessors for the native user indices of CollisionShape, MultiBody, and PhysicsCollisionObject.
  • Added 5 other public methods:
    • Heightfield.countColumns()
    • Heightfield.countRows()
    • Heightfield.upAxis()
    • IndexedMesh.surfaceArea()
    • MyMath.area(Triangle)

21.1.0

Choose a tag to compare

@stephengold stephengold released this 29 Apr 06:51
  • Bugfix: crash in processAllTriangles() when m_bvh==NULL (Minie issue 43)
  • Bugfix: wrong inertia for a CustomConvexShape when mass != 1
  • Added the SphericalSegment collision shape.
  • Added the TestApp application 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

Choose a tag to compare

@stephengold stephengold released this 22 Apr 08:13
  • Made numerous breaking changes to the native API.
  • Deleted the (deprecated) DebugMeshCallback class. (API change)
  • Bugfix: JVM crash while serializing BoundingValueHierarchy (Minie issue 41)
  • Added the new CollisionConfiguration class and related methods:
    • CollisionSpace.getConfiguration()
    • PhysicsDescriber.describe(CollisionConfiguration)
    • a 5-argument CollisionSpace constructor
    • a 4-argument PhysicsSoftSpace constructor
    • a pair of 5-argument PhysicsSpace constructors
  • 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 a BoundingValueHierarchy. (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

Choose a tag to compare

@stephengold stephengold released this 19 Mar 04:59
  • Deprecated the DebugMeshCallback class.
  • Deleted the (unused) native portion of the DebugShapeFactory class.
  • 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.

android-20.1.0-release7

Choose a tag to compare

WIP