Skip to content

Latest commit

 

History

History
219 lines (186 loc) · 10.2 KB

CHANGELOG.md

File metadata and controls

219 lines (186 loc) · 10.2 KB

Changelog

Considered for upcoming 0.6.0

  • Make Java 9 the default.
  • remove deprecations for 0.6.0
  • Remove ccp4j
  • Look at DContactGeom pos3()/normal3()
  • dxOrthogonalizeR returns true unconditionally... verify with ODE!
  • Bug: Dropping first box on Heightfield is wrong. -> Cylinder is also often iffy, but that is the same in C++ -> e.g. 7. cylinder (java) or 11th (c++)!
  • What is the deal with DJoint PARAM vs PARAM_N? ODE doesn´t have PARAM_N (e.g. dParamBounce1)! -> ode4j shouldn´t have them either... Remove (deprecate) and replace with PARAM, or at least document what is going on!
  • Cleanup GimMath / GimGeometry (e.g. remove RefFloat) -> Remove GIM_BUFFER_ARRAY_POINTER() -> avoit IntArr and ObjArray allocation + usage!!!!! -> e.g. in gim_trimesh_update_aabbset()
  • Move to Google Java Code Style
  • Document: Gimpact works best with (i.e. does not scale above ?) room size <= MAX_AABB_SIZE=1638.0 -> Why 1638? Can we improve this?
  • Create separate distribution (maven jar) with modules? -> Check how modul-projects have trouble with including non-module projects... -> https://www.baeldung.com/java-9-modularity -> https://stackoverflow.com/questions/40490520/what-do-i-need-to-build-jdk-9-project-with-non-modular-dependencies-using-maven
  • Consider porting stuff in "contrib"
  • Fix maven warnings:
    • [WARNING] bootstrap class path not set in conjunction with -source 8 WHen using JDK 9 or later

--> See TODO.txt

TODO for 0.5.0

  • Nothing?

0.5.0 (unreleased)

  • Improved Android compatibility #124
  • Improved Android compatibility #123
  • Avoid garbage collection of DContact. This is now implemented without pooling but with reusing DContact instances in place.#35
  • Fixed Java module warning; added -Werror; new default OdeConfig.dDEBUG = false #122
  • BREAKING CHANGE: DSpace.getGeoms() not returns DGeom instead of DxGeom. #121
  • DGeom.isSpace() #120
  • CHANGELOG.txt -> .md and added overview to README.md #119
  • Cumulative fix:
    • Fixed missing call to Trimesh callbacks. #76
    • Deprecated DTriArrayCallback. It was never supported and is considered for removal in ODE.
    • DBody.getGeomIterator()
    • DBody.getFirstGeom() is no longer deprecated
    • Simpler construction methods for DConvex
    • Some javadoc for DConvex
    • DContactJoint.getContact()
    • Updated Trimesh/Capsule collision (CollideTrimeshCCylinder) #77
  • Added DQuaternion.copy() and dot() #117
  • Added factory methods and missing API for DRagdoll, DConstrainedBallJoint and DTrimeshHeightfield. #24
  • Removed linter warnings when compiling with Java 17. #116
  • DVector3C.cross(). #115
  • DVector3.toDoubleArray(), fromDoubleArray(), fromFloatArray(). #114
  • Turned into tests: DemoI, DemoSpace, DemoSpaceStress. #110
  • Remove or deprecate Cloneable and clone(). #109
  • DVector3/DQuaternion/...: Better support for call chaining, added isEq(x, y, z, eps) and deprecated clone() and DQuaternion.Euler(). #108
  • DVector3/DQuaternion/...: Deprecated hashCode(). #107
  • Removed unnecessary ObjArray from heightfield. #106
  • Added linter and fixed some lint. #105
  • Cleaned up Junit 3 style tests. #104
  • Moved tests into core/core-cpp. #103
  • Cleaned up unit test output. #102
  • Fix maven warnings of type "Use Import/Export Package directive -split-package [...]" #101
  • Port updates until 0.16.3. #100
  • Port updates until 0.16.2. This includes some libCCD updates missing fro the 0.15.1 update. This excludes improved solution finders with anything from Cooperative and ThreadedEquationSolverLDLT*. #97
  • Added GutHub Actions CI builds for Java 8 and 9. #95
  • Added default logger for demos and tests. #94
  • Added Android API compliance checker, now for API level 24 (the lowest that ode4j passed without changes) #93
  • Updated maven dependencies #92
  • Test that internal assertions did not throw Exceptions. This was fixed as part of #86. #74
  • Fixes to LWJGL 3.0 #91
  • Moved to LWJGL 3.0 #89
  • Move to Java #87 (Cleanup, part of this was done with the move to 0.15.1)
  • Update to ODE 0.15.1 #86
    • This includes increased stability, e.g. the DemoCards won't collapse anymore when 30 levels high.
    • **** WARNING **** : Still missing: trimesh collider updates.
  • Changed CI build requirements:
    • Removed openjdk7: Not required. source compatibility is still set to 7, but should be safe to change to 8 now (Android Nougat is mostly 8 compatible), this covers > 80% users.
    • Changed oraclejdk build to 11

0.4.2

  • Fix regression: missing internal version id
  • renamed DQuaternion inverse() to eqInverse()

0.4.1

  • API convenience changes #79
    • DBody.addLinearVelocity()
    • DVector3C.reAdd()
    • DQuaternion.ZERO and DQuaternion.IDENTITY
    • Additional DQuaternionC API methods: isEq(), length(), lengthSquared(), ...
    • DQuaternion.toEuler() and fromEuler()
    • DQUaternion.invert() inverts a quaternion
    • DVector3.eqToRadians() and eqToDegrees() convert angles in a DVector3.
  • Fixed OSGI bundle info to use Java 1.7 instead of 7.0. #80
  • Removed deprecated <prerequisites> tag in .pom. #82
  • Fixed some javadoc problems. #83

0.4.0

  • Fixed javadoc to compile without warnings
  • Java 9 compatibility automatically detected and used with Maven profiles
  • Changed to Java 9 (output still Java 7) and modularization (io7m)
  • Changed to Java 7 and updated some maven dependencies
  • Implemented/migrated multi-threading for the stepper (Pjotr)
  • SAP-Space optimization: Avoid collision detection for immobile bodies (Pjotr)
  • New BVH tree for better scalability with many bodies, ported from the Turbulenz Engine (Pjotr)
  • Some fixes, including new random reordering in quickstep, see PR #67, #68 (Pjotr)

0.3.1

  • Announcement: This will be the last release build with Java 6!

  • Convex vs trimesh collision improvement for concave trimeshes, PR #51 (Piotr)

  • Quickstep improvements, also fixes issue with DemoFeedback, PR #50 (Piotr)

  • Added more stable cylinder stacking, PR #47 (Piotr)

  • Deprecated DxSpace.getGeom(i) to fix compilation failure (TZ)

  • Ported libccd updates, PR #45 (Piotr)

  • Added new SAP space, PR #43 (Piotr)

  • Fixes on SAP space, PR #42 (Piotr)

  • Fixes on removing geoms from space, PR #41 (Piotr)

  • Added support for convex-trimesh collision (Piotr)

  • Fixed scaling of tacc in quickstep (issue #38, Eduard Nicodei)

  • Fixed Common.__ASSERT methods to act correctly if parameter is '0' or 'false', see issue #32

  • Removed unnecessary Common.__ASSERT calls if NPE would trivially be thrown by code below, see #32

  • Fixed mode checking in dJointSetTransmissionAxis2(), see issue #33

  • Test and fix for issue #31 (NPE in ragdoll)

  • Added support for heightfiels with holes (DxTrimeshHeightField)

  • Added support for the slf4j loggin API (TZ)

  • Added Ragdoll support and ConstrainedBallJoint (Piotr)

  • Added sorting of contact by penetration depth (Piotr), see issue #22

  • Added TrimeshHeightfield provided by Piotr

  • Fixed issue #19 (thanks to Piotr)

  • Fixed issue #17

  • Fixed NPE in DemoBoxStack-'x'

  • Added newArray(size) methods to DVector3 and DMatrix3

0.3.0

Migration to 0.13.1

New:

  • 3 new joints: DoubleBall, DoubleHinge, Transmission
  • New demos: DoubleBall, DoubleHinge, Gyro2, RFriction, Transmission
  • Multithreading (well...)

Done:

  • main code
  • tests
  • demos
  • Fixed bug in dMatrix3Inv() --> Calculation was incorrect
  • Fixed bug in DObject --> destroying joints might have crashed
  • Fixed bug: Calling destroy() on a space with a Heightfield cause hang.
  • Removed GeomTransform and other deprecated stuff
  • Java 1.6 again
  • Now passes strict -Xlint:all / -Werror builds

Demos:

  • DemoBoxstack has MT disabled.

TODO

  • DemoPlane2 explodes...

Missing:

  • Multithreading does not work
  • Check further:
  • DxWorldProcessMemArena.FreeMemArena --> Commented out
  • DxWorldProcessContext.FreeArenasList --> Commented out
  • ThreadingUtils.java 154-156
  • check matrix.h
  • Skipped: odeou., odetls.

0.2.9

  • Fixed possible infinite loop when calling dxQuickStepParameters.clone()
  • fixed problem in low level check in Cstdio.fprintf()
  • Deprecated equals() methods for DVector3, DVector6 and DQuaternion
  • fixed NaN Check in Common.java
  • Migration to Java 7!!!!
  • Set version to 0.2.9
  • Cleaned up javadoc (@remarks/note/warning to

    REMARKS:/...) and removed @brief/@ingroup/@defgroup

  • Updated license dates to 2014.
  • CLeaned up plenty of compiler warnings

0.2.8

  • Fixed issue #9: Exception when updating large trimeshes

0.2.7

  • Merged 'cpp' package into 'core' package
  • Issue #3: porting typo in space collider