Skip to content

Releases: stephengold/jolt-jni

3.5.2

07 Jan 23:27

Choose a tag to compare

  • Bugfix: logic error in Body.applyBuoyancyImpulse() (issue #31)
  • Updated the Checkstyle tool to v13, requiring JDK 21+ to build.

3.5.1

28 Dec 19:22

Choose a tag to compare

  • Bugfixes:
    • race condition in JoltPhysicsObject.startCleaner()
    • Jolt.listClasses() depends on the local charset
  • Altered the half-extent constraints for BoxShape and BoxShapeSettings.
  • Updated the Jolt-Physics source and assets to v5.5.0 (=23dadd0e).
  • Updated the OSHI library to v6.9.2 .

3.5.0

28 Oct 06:25

Choose a tag to compare

  • Bugfixes:

    • unsafe stack reference in TransformedShape.getShapeScale()
    • method name inconsistency in BodyCreationSettings (issue #29)
    • invalid mark in ConvexShape.getSubmergedVolume() (issue #30)
  • Additions:

    • alternate signature for ConstBody.getShape()
    • ConstCharacterBase.getShape()
    • ConstMotorSettings interface
    • ConstVehicleConstraint.getWheel()
    • ConstVehicleConstraint.getWheelPositionAndRotation()
  • Generalized 4 MeshShapeSettings constructors.

  • Handled more cases in ObjectStreamIn.sReadObject() .

  • Publicize the 2-argument constructor for Body .

  • Updated the Jolt-Physics source and assets to sg251012 (=1e38fc6).

  • Updated the Android NDK to r29.

3.4.0

30 Sep 18:28

Choose a tag to compare

With this release, Jolt JNI began creating an internal counted reference for/to every refcounted object.
Every RefTarget is now a co-owner of its assigned native object.
This prevents such assigned objects being unintentionally freed and greatly simplifies memory management.

  • Bugfixes:

    • logic errors rendering Support.getSupportBulk() unusable
    • memory leaks in the copy constructors of CollideShapeSettings and MotorSettings
    • IndexedTriangleList.get() returns an object without ownership info
    • Shape.getMaterial() returns a contained object
  • Added methods:

    • BodyInterface.destroyBodies() and .removeBodies() (see PR #27)
    • Jolt.countDeletes()
    • Jolt.countNews()
    • Jolt.installCerrTraceCallback()
    • Jolt.installJavaTraceCallback()
    • SoftBodyCreationSettings.getFacesDoubleSided()
    • SoftBodyCreationSettings.setFacesDoubleSided()
    • Vec3Arg.copyTo(FloatBuffer, int)
  • Updated the Jolt-Physics source and assets to v5.4.0 (=sg250927 / 036ea7b1)

3.3.0

21 Sep 20:38

Choose a tag to compare

  • Bugfixes:
    • 3 copy-paste errors in FilteredContactListener.cpp (issue #26)
    • FilteredContactListener contact removals ignore body-filter settings
    • FilteredContactListener ignores its "enable removed" setting
    • heap corruption after invoking ConvexShape.getSupportFunction()
    • UnsatisfiedLinkError in CharacterBaseSettings
  • Added the ConstConvexShape interface.
  • Added the getRefCount() method to the ConstCharacterBase interface and the ConstCharacterBaseSettings interface.
  • Added more setLinearVelocity() signatures for physics characters.

3.2.0

20 Sep 17:50

Choose a tag to compare

  • Added 3 classes for efficient/flexible contact listening:
    • ContactListenerList
    • EFilterMode
    • FilteredContactListener
  • Generalized 2 body-lock multi constructors to solve issue #25.
  • Added 4 methods to the BodyInterface class, for avoiding garbage:
    • getAngularVelocity(int, Vec3)
    • getLinearVelocity(int, Vec3)
    • getPosition(int, RVec3)
    • getRotation(int, Quat)
  • Added getRefCount() to the ConstShape interface.
  • Generalized 2 PhysicsSystem setters to accept null arguments.
  • Updated the Jolt-Physics sourcecode and assets to e594aad (=sg250918).
  • Updated the OSHI library to v6.9.0 .

3.1.0

09 Sep 00:22

Choose a tag to compare

  • Allow use of both close() and a cleaner thread in a single app.
  • Added interfaces:
    • ConstVehicleCollisionTester
    • ConstVehicleController
    • ConstWheel
  • Added public constructors and methods to the libraries.
  • Added run-time checks for the maximum number of jobs.

3.0.1

01 Sep 02:22

Choose a tag to compare

Bugfix: many CharacterRefC and CharacterVirtualRefC methods crash the JVM

3.0.0

30 Aug 20:13

Choose a tag to compare

  • API changes:

    • Deleted the ContactList class.
    • Deleted the deprecated constructor of StreamOutWrapper.
    • Re-designed the API of CharacterVsCharacterCollisionSimple.
    • Renamed 2 public getters in the PhysicsSystem class:
      • getOvbFilter()
      • getOvoFilter()
    • Renamed the EConstraintSpace.LocalToBodyCOM enum value.
    • Overrode the toRef() method in VehicleConstraintSettings.
    • Changed the return type of PhysicsMaterialResult.get().
    • Finalized the BcsResult, ConstraintResult, and SbcsResult classes.
    • Changed return types from concrete classes to interfaces:
      • BcsResult.get()
      • BodyLockRead.getBody()
      • CompoundShape.getSubShape()
      • CompoundShape.getSubShapes()
      • ConvexHullBuilder.getFaces()
      • ConvexHullShape.getPlanes()
      • PathConstraint.getPath()
      • PathConstraintSettings.getPath()
      • PhysicsSystem.getBodyLockInterface()
      • PhysicsSystem.getBodyLockInterfaceNoLock()
      • PhysicsSystem.getBroadPhaseQuery()
      • PhysicsSystem.getNarrowPhaseQuery()
      • PhysicsSystem.getNarrowPhaseQueryNoLock()
      • SbcsResult.get()
      • SixDofConstraint.getLimitsSpringSettings()
      • SoftBodyMotionProperties.getFace()
      • SoftBodyMotionProperties.getFaces()
  • Bugfixes:

    • Body.setAngularVelocity() sets the wrong velocity.
    • DebugRenderer invokes close() even if a cleaner is running.
    • Memory leak in the SpringSettings copy constructor.
    • Missing case in VehicleControllerSettings.newSettings().
    • Color.sGetDistinctColor() doesn't produce distinctive colors.
    • ShapeSettingsRef.getRtti() crashes the JVM.
  • Added classes:

    • BodyLockMultiBase
    • BodyLockMultiRead
    • BodyLockMultiWrite
    • CustomDebugRendererSimple
    • DebugRendererSimple
    • Geometry
    • GeometryRef
    • Lod
    • VehicleConstraintSettingsRef
  • Added interfaces:

    • ConstBodyLockInterface
    • ConstBodyLockInterfaceLocking
    • ConstBodyLockInterfaceNoLock
    • ConstBroadPhaseQuery
    • ConstChbFace
    • ConstLod
    • ConstNarrowPhaseQuery
    • ConstPathConstraintPath
    • ConstSubShape
    • ConstWheelSettingsWv
  • Added many public methods and constructors to the libraries.

  • Added run-time checks.

  • Updated the Jolt-Physics sourcecode and assets to 4366713 (sg250829)

2.2.0

10 Aug 19:02

Choose a tag to compare

  • Bugfixes:

    • JVM crash while trying to create an empty BodyIdArray
    • UnsatisfiedLinkError finalizing bulk add on Windows (issue #16)
  • New features:

    • BodyIdArray: add a length field and a getter for it and 3 constructors
    • BodyInterface: add 3 alternative signatures for methods
    • BroadPhase: add 3 alternative signatures for methods
    • add the ConstWheelSettingsTv interface
    • DistanceConstraintSettings: add alternative signatures for 2 setters
    • PhysicsSettings: add accessors for speculativeContactDistance (PR #12)
    • PhysicsSystem: add chaining to the init() method
    • QuatArg, RVec3Arg and Vec3Arg: add copyTo() methods
    • SoftBodyCreationSettings: add an alternate signature for setPosition()
    • SoftBodySharedSettings: add putRodIndices() methods
    • Support: add getConvexRadius() and getSupport()
    • VehicleConstraint: add 2 public getters
  • Build changes:

    • disable C++ runtime type information (RTTI) and C++ exceptions