Skip to content

Releases: jMonkeyEngine/jmonkeyengine

jMonkeyEngine 3.5.2-stable

Compare
Choose a tag to compare

A production-quality JMonkeyEngine 3.5 patch release with the following changes relative to 3.5.1-stable:

jMonkeyEngine 3.5.1-stable

Compare
Choose a tag to compare

A production-quality JMonkeyEngine 3.5 patch release with the following changes relative to 3.5.0-stable:

  • Bugs and defects addressed:

    • various built-in shaders don't support core profile (issue #1780, PR #1781)
    • AssertionError in ALAudioRenderer (issue #1761, PR #1762)
  • General improvements:

    • enabled native physics for "Apple Silicon" Macs (issue #1528, b40a91d)
    • added LWJGL v3 natives for "Apple Silicon" Macs (issue #1528, de2e2d3)

jMonkeyEngine 3.5.0-stable

Compare
Choose a tag to compare

A production-quality release of JMonkeyEngine with the following noteworthy changes relative to v3.4.1-stable:

  • Upgrade considerations (potential breaking changes):

    • explicitly requires Java v8 or higher (issue #1661)
    • cannot create a GL window on armhf (issue #1710)
    • to use the "jme3-lwjgl3" library in a Gradle build, you'll need Gradle v6.3 or later
    • more precise return types for 13 clone() methods (issue #1676, PR #1683)
    • changed the semantics of FastMath.sphericalToCartesianZ() (issue #1349, PR #1573)
    • deleted the Weights class, which was deprecated in v3.4 (issue #1620, PR #1632)
    • protected the no-arg constructor of TransformTrack (PR #1531)
  • New features:

    • enhancements to SurfaceView for Android (PR #1650), including:
      • optional binding to activity lifecycle
      • added listeners for "layout drawn" and "renderer started"
      • new DestructionPolicy applied when exiting an activity
      • add full stack trace and a "copy log" button to the error dialog
      • added settings for "show error dialog", "exit on Esc pressed", and "show Esc exit prompt"
      • added the getGlEsVersion() method
    • determine the maximum supported width for lines (issue #1555, PR #1643)
    • support for additional compressed texture formats (issue #1619, PR #1621)
    • texture flipping for certain RGTC formats (PR #1629)
    • app settings to position the initial window in LWJGL v3 (issue #1668, PR #1670)
    • a color-adjustment filter (issue #781, PR #1665, a9e88b0)
    • RectangleMesh class for custom quads (PR #1701)
    • calculateD() and calculateNormal() methods in Rectangle class (PR #1701)
    • CenterQuad mesh in jme3-core (PR #1704)
    • added getNbMorphTargets(), setKeyframesWeight(), and setNbMorphTargets() to the MorphTrack class (PR #1608)
    • made getOffsetTransform() and getAttachmentsNode() accessible to subclasses of Joint (PR #1536)
    • distinguish ARM macOS/Windows from other platforms (issue #1528, PR #1530)
    • Platform.getOs() to determine the generic OS name (cc75352)
    • convert inner class Layer to a top-level class (issue #1566, PRs #1656 and #1730)
  • Bugs and defects addressed:

    • LWJGL v3 hangs while creating a window (issues #1193, #1514, and #1558; PRs #1690 and #1722)
    • incorrect cursor position on macOS with Retina (issue #893, PRs #1607, #1746, and #1753; c44d74b)
    • Right-to-Left and cursive fonts displayed incorrectly (issue #1158, PR #1685)
    • incorrect VirtualIndexBuffer for a LineLoop mesh (issue #1603, PR #1605)
    • ChaseCamera won't rotate after being re-enabled (PR #1692)
    • ineffective audio filters (issue #1699, PRs #1707 and #1728)
    • NullPointerException in reloadJoysticks() when joystick lacks buttons (issue #1739, PR #1740)
    • LwjglCanvas doesn't initialize OpenCL for LWJGL v2 (PR #1720)
    • sphericalToCartesianZ() doesn't reverse cartesianZToSpherical() (issue #1349, PR #1573)
    • null-pointer exceptions while loading erroneous glTF models:
      • in GltfLoader.findChildren() (PR #1471)
      • in SkinningControl.getAttachmentsNode() (issue #1612, PR #1639)
    • cryptic crash when more than 16 textures are used (issue #37, PR #1574)
    • error 1280 in macOS querying GL_FRAMEBUFFER_SRGB_CAPABLE_EXT (PR #1749)
    • fromJmeKeyCode() returns garbage for unknown keys (issue #1596, PR #1638)
    • serialization bugs:
      • CartoonEdgeFilter class (issue #1640, PR #1647)
      • RenderState class (issues #1718 and #1723; PRs #1719 and #1726)
      • ShaderNodeVariable class (PR #1585)
      • Torus class (PR #1586)
      • SkeletonInterBoneWire, SkeletonPoints, SkeletonWire, ArmatureInterJointsWire, Surface, and CenterQuad (issue #1705, PR #1754)
    • typo in the value returned by LodGenerator.toString() (cfa497d)
    • typos in logger/exception messages (PRs #1584 and #1737, 3beca2b)
  • General improvements:

    • upgraded LWJGL to v3.3.0 (PR #1659)
    • faster asset loading on Android devices (issue #1622, PR #1627)
    • faster writing of MJPEG files (PR #1592)
    • more efficient logging (issues #1672 and #1680, PRs #1673 and #1682)
    • un-deprecate AndroidBufferImageLoader (PR #1660)
    • numerous javadoc improvements
    • improvements to examples and tests
  • New deprecations:

    • Quaternion.negate() (PR #1702)
    • BitmapText(BitmapFont font, boolean rightToLeft) (PR #1685)
    • CenterQuad mesh in jme3-vr (3097f05)

jMonkeyEngine 3.5.0-beta9

Compare
Choose a tag to compare
Pre-release

A non-production release for development and testing, which will hopefully lead to a "stable" release.

Noteworthy changes relative to 3.5.0-beta7:

  • Bugs and defects addressed:
    • inaccurate mouse positions on non-Apple systems (issue #1745, PR #1746)

jMonkeyEngine 3.5.0-beta7

Compare
Choose a tag to compare
Pre-release

A non-production release for development and testing, which will hopefully lead to a "stable" release.

Noteworthy changes relative to 3.5.0-beta6:

  • Bugs and defects addressed:

    • inaccurate mouse positions on non-Apple systems with HiDPI (issue #1745, c44d74b)
    • NullPointerException in reloadJoysticks() when joystick lacks buttons (issue #1739, PR #1740)
    • invalid shader path in "ContrastAdjustment.j3md" (a9e88b0)
  • General improvements:

    • javadoc (various PRs and commits)

jMonkeyEngine 3.5.0-beta6

Compare
Choose a tag to compare
Pre-release

A non-production release for development and testing, which will hopefully lead to a "stable" release.

Noteworthy changes relative to 3.5.0-beta5:

  • Bugs and defects addressed:

    • NullPointerException in AnimLayer.update() (PR #1730)
    • LwjglCanvas doesn't initialize OpenCL for LWJGL2 (PR #1720)
    • ineffective audio filters (issue #1699, PRs #1707 and #1728)
    • more serialization bugs in RenderState (issue #1723, PR #1726)
  • General improvements:

    • javadoc (various PRs and commits)

jMonkeyEngine 3.5.0-beta5

Compare
Choose a tag to compare
Pre-release

A non-production release for development and testing, which will hopefully lead to a "stable" release.

Noteworthy changes relative to 3.5.0-beta4:

  • Bugs and defects addressed:

    • SimpleApplication.stop(true) causes deadlock (issue #1721, PR #1722)
    • ChaseCamera won't rotate after being re-enabled (PR #1692)
    • RenderState is serialized incorrectly (issue #1718, PR #1719)
    • typo in the value returned by LodGenerator.toString() (cfa497d)
  • General improvements:

    • javadoc (various PRs and commits)

jMonkeyEngine 3.5.0-beta4

Compare
Choose a tag to compare
Pre-release

A non-production release for development and testing, which will hopefully lead to a "stable" release.

Noteworthy changes relative to 3.4.1-stable:

  • Upgrade considerations (potential breaking changes):

    • explicitly requires Java 8 or higher (issue #1661)
    • more precise return types for 13 clone() methods (issue #1676, PR #1683)
    • changed the semantics of FastMath.sphericalToCartesianZ() (issue #1349, PR #1573)
    • deleted the Weights class, which was deprecated in v3.4 (issue #1620, PR #1632)
    • protected the no-arg constructor of TransformTrack (PR #1531)
    • to use the "jme3-lwjgl3" library in a Gradle build, you'll need Gradle v6.3 or later
  • New features:

    • enhancements to SurfaceView for Android (PR #1650), including:
      • optional binding to activity lifecycle
      • added listeners for "layout drawn" and "renderer started"
      • new DestructionPolicy applied when exiting an activity
      • add full stack trace and a "copy log" button to the error dialog
      • added settings for "show error dialog", "exit on Esc pressed", and "show Esc exit prompt"
      • added the getGlEsVersion() method
    • determine the maximum supported width for lines (issue #1555, PR #1643)
    • support for additional compressed texture formats (issue #1619, PR #1621)
    • texture flipping for certain RGTC formats (PR #1629)
    • app settings to position the initial window in LWJGL v3 (issue #1668, PR #1670)
    • a color-adjustment filter (issue #781, PR #1665)
    • RectangleMesh class for custom quads (PR #1701)
    • calculateD() and calculateNormal() methods in Rectangle class (PR #1701)
    • CenterQuad mesh in jme3-core (PR #1704)
    • added getNbMorphTargets(), setKeyframesWeight(), and setNbMorphTargets() to the MorphTrack class (PR #1608)
    • made getOffsetTransform() and getAttachmentsNode() accessible to subclasses of Joint (PR #1536)
    • distinguish ARM macOS/Windows from other platforms (issue #1528, PR #1530)
    • convert inner class Layer to a top-level class (issue #1566, PR #1656)
  • Bugs and defects addressed:

    • LWJGL v3 hangs while creating a window (issues #1193, #1514, and #1558, PR #1690)
    • Right-to-Left and cursive fonts displayed incorrectly (issue #1158, PR #1685)
    • incorrect cursor position on macOS with Retina (issue #893, PR #1607)
    • incorrect VirtualIndexBuffer for a LineLoop mesh (issue #1603, PR #1605)
    • sphericalToCartesianZ() doesn't reverse cartesianZToSpherical() (issue #1349, PR #1573)
    • null-pointer exceptions while loading erroneous glTF models:
      • in GltfLoader.findChildren() (PR #1471)
      • in SkinningControl.getAttachmentsNode() (issue #1612, PR #1639)
    • cryptic crash when more than 16 textures are used (issue #37, PR #1574)
    • fromJmeKeyCode() returns garbage for unknown keys (issue #1596, PR #1638)
    • serialization bugs:
      • CartoonEdgeFilter class (issue #1640, PR #1647)
      • ShaderNodeVariable class (PR #1585)
      • Torus class (PR #1586)
    • typos in logger/exception messages (PR #1584, 3beca2b)
  • General improvements:

  • New deprecations:

    • Quaternion.negate() (PR #1702)
    • BitmapText(BitmapFont font, boolean rightToLeft) (PR #1685)
    • CenterQuad mesh in jme3-vr (3097f05)

jMonkeyEngine 3.4.1-stable

Compare
Choose a tag to compare

A production-quality JMonkeyEngine 3.4 patch release with the following changes relative to 3.4.0-stable:

  • Bugs and defects addressed:

    • crashes while deleting native objects (issue #1614, PR #1617)
    • can't recover from a disconnected audio device (PR #1593)
    • Android devices can't load assets whose names start with "/" (issue #352, PR #1577)
    • assertion failure while loading a valid glTF model (issue #1089)
  • General improvements:

    • faster asset loading of AWT-based texture assets (PR #1613)
    • improved performance in Node.java (issue #1672, PR #1673)

jMonkeyEngine 3.5.0-alpha1

dc91668
Compare
Choose a tag to compare
Pre-release

A non-production release, for development and testing only, not intended to be used in any product. Largely untested, without complete/reliable documentation, and without SDK support. Vital features may be missing. The feature set, API, and serialization format might change before the next release.

Changes relative to v3.4.0-stable:

  • Potential breaking changes:

    • explicitly requires Java 8 or higher (issue #1661)
    • deleted the Weights class, which was deprecated in 3.4 (issue #1620, PR #1632)
    • changed the semantics of FastMath.sphericalToCartesianZ() (issue #1349, PR #1573)
    • protected the no-arg constructor of TransformTrack (PR #1531)
  • New features:

    • determine the maximum supported width for lines (issue #1555, PR #1643)
    • support for additional compressed texture formats (issue #1619, PR #1621)
    • texture flipping for certain RGTC formats (PR #1629)
    • added getNbMorphTargets(), setKeyframesWeight(), and setNbMorphTargets() to the MorphTrack class (PR #1608)
    • made getOffsetTransform() and getAttachmentsNode() accessible to subclasses of Joint (PR #1536)
    • distinguish ARM macOS/Windows from other platforms (issue #1528, PR #1530)
  • Bugs and defects addressed:

    • crashes while deleting native objects (issue #1614, PR #1617)
    • incorrect cursor position on macOS with Retina (issue #893, PR #1607)
    • can't recover from a disconnected audio device (PR #1593)
    • Android devices can't load assets whose names start with "/" (issue #352, PR #1577)
    • incorrect VirtualIndexBuffer for a LineLoop mesh (issue #1603, PR #1605)
    • sphericalToCartesianZ() doesn't reverse cartesianZToSpherical() (issue #1349, PR #1573)
    • assertion failure while loading a valid glTF model (issue #1089, PR #1608)
    • null-pointer exceptions while loading erroneous glTF models:
      • in GltfLoader.findChildren() (PR #1471)
      • in SkinningControl.getAttachmentsNode() (issue #1612, PR #1639)
    • cryptic crash when more than 16 textures are used (issue #37, PR #1574)
    • fromJmeKeyCode() returns garbage for unknown keys (issue #1596, PR #1638)
    • serialization bugs:
      • CartoonEdgeFilter class (issue #1640, PR #1647)
      • ShaderNodeVariable class (PR #1585)
      • Torus class (PR #1586)
    • typos in logger/exception messages (PR #1584, 3beca2b)
  • General improvements: