Skip to content

Releases: jMonkeyEngine/jmonkeyengine

jMonkeyEngine 3.5.0-beta9

17 Jan 07:02
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

16 Jan 17:22
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

10 Jan 19:41
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

29 Dec 17:49
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

17 Dec 18:07
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

04 Dec 21:12
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

14 Nov 18:55
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:

jMonkeyEngine 3.4.0-stable

30 May 20:12
Compare
Choose a tag to compare

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

  • Upgrade considerations (a.k.a. potential breaking changes):

    • Gamma correction is enabled by default. In apps that default the setting (don't explicitly enable/disable it), scenes may appear brighter or darker than expected. (discussion, 6ade1a0)
    • Vsync is enabled by default. In apps that default the setting (don't explicitly enable/disable it), the frame rate and CPU/GPU usage may be lower than expected. (discussion, f34e660)
    • Maven artifacts aren't available from JCenter. Obtain them from the Maven Central Repository instead. (issue #1468, discussion)
    • The "jme3-bullet", "jme3-bullet-native", and "jme-bullet-native-android" libraries (physics using native Bullet) were removed from the Engine. For 3-D physics, use "jme3-jbullet" or Minie. (PR #1474)
    • The "jme3-blender" library (Blender importer) was removed from the Engine. To import 3-D models from Blender, use glTF as an intermediate format. (discussion, 221acaa)
    • Setters that had previously been deprecated to no-ops were removed. (PR #1510)
    • Utility classes that previously could be instantiated were made non-instantiable. (420b959, 1031e03, 145cc1b)
    • Protected the no-arg constructors for Camera (issue #1461, PR #1464) and InstancedNode (6402aad).
    • Added range checks to IndexBuffer.put() methods. (issue #1427)
    • The "jme3-jogl" library (JOGL backend) was removed from the Engine. If you must use JOGL instead of LWJGL, contact JogAmp. (discussion, PRs #1339 and #1368)
    • The "jme3tools.navigation" package was removed from the "jme3-desktop" library. If you need this package, it's available from the "jMonkeyEngine-Contributions" project. (issue #1430, PR #1450)
  • New features:

    • material definitions for physically-based rendering (PBR) of terrain (PR #1478)
    • map keys for non-US keyboard layouts when using LWJGL v3 (issue #942)
    • de-saturation for materials based on "Unshaded.j3md" (PR #1449)
    • embed a JME application in a custom UI design on Android devices (PR #1494)
    • extensions to JoystickCompatibilityMappings (PR #1483)
    • flesh out the new animation system:
      • more getters/setters for Action (PR #1489) and AnimComposer (PR #1376)
      • a factory class to generate animations programmatically (issue #1453, PR #1507)
      • incorporate animations into cinematic cutscenes (PR #1508)
      • more methods to create and manipulate armature masks (issue #1499, PR #1504)
      • capability to remove morph targets from a Mesh (PR #1378)
    • enhance the glTF importer:
      • handle "unlit" materials (PR #1463)
      • handle URIs (PR #1396)
      • handle lights defined using the "KHR_lights_punctual" extension (PR #1443)
    • LWJGL v3 support for Linux-on-ARM and 32-bit Windows (discussion, 6711986)
    • more ways to look up appstates by ID (a79be13)
    • LightControl support for spotlights (PR #1466)
    • combine GlowColor and GlowMap in a single Material (PR #1444)
    • add fromRGBA255() and chainable setters to the ColorRGBA class (a057a6d, 37f1e7f)
    • serialize final fields across a network (PR #1505)
    • more getters/setters for Camera (PR #1492), EnvironmentCamera (issue #1447, PR #1481), and Renderer (PR #1482)
    • pack ambient-occlusion (AO) data into the metallic roughness map of a PBR material (PR #1403)
    • handle named groups when importing 3-D models in OBJ format (PR #1369)
    • a unified mechanism to manage the render targets of a FrameBuffer (PR #1401)
    • depth-only copy of a FrameBuffer (PR #1400)
    • performance profiling of render() and postRender() methods (PR #1485)
  • Bugs addressed:

    • no sound on Android devices (issue #1239, PR #1475)
    • inaccurate frame rate when using LWJGL v3 (issue #1455)
    • LWJGL context restart issues (PR #1526, issues #844 and #1445)
    • OGRE importer doesn't set the initial pose (issue #1395)
    • jme3-jbullet depends on unavailable Maven artifacts (PR #1541)
    • cloning a Joint (issue #1469, PR #1470)
    • logic error in Transform.interpolateTransforms() (issue #1394)
    • crashes in TransformTrack.getTranslations() and getRotations() (PR #1532)
    • crashes while compiling shaders (PRs #1456 and #1458)
    • crash while importing from glTF (PR #1442)
    • crash with NegativeArraySizeException (PR #1377)
    • assertion failure in TouchTrigger.touchHash() (PR #1448)
    • wrong center location for a spherical LightProbe (PR #1440)
    • animation uses wrong easing function (PR #1397)
    • material parameter of type IntArray not set (issue #1564, PR #1565)
    • incorrect import of UTF-8 data (issue #1436, PR #1437)
    • unable to locate OpenAL library (issue #1383, PR #1432)
    • multiple issues involving iOS devices (PR #1473)
    • multiple issues involving instanced geometries (PRs #1457 and #1467)
    • gamepad split into 2 input devices (PR #1454)
    • SSAO interferes with transparent unshaded materials (discussion, PR #1512)
    • FXAA filter disables transparency (discussion, PR #1517)
    • can't generate mipmaps for cubemap faces (issue #1222, PR #1409)
    • bounding-sphere merge yields NaN (issue #1459, PR #1465)
    • LOD causes terrain patches to disappear (issue #1382, PR #1418)
    • crash while de-serializing a WireFrustum (issue #1462)
    • crash in LogicalOggStreamImpl (issue #1244, PR #1480)
    • crash while cloning a TerrainPatch (issue #1391)
    • MorphControl doesn't override JmeCloneable/Savable methods (issue #1548, PRs #1549 and #1553)
    • incomplete serialization of TerrainQuad (PR #1476)
    • inaccurate de-serialization of DistanceLodCalculator (issue #1381, PR #1385)
    • checkSetParam() warning while creating sky (issue #1414, PR #1438)
  • General improvements:

  • New deprecations:

    • LightNode class (issue #1033, PR #1042)
    • com.jme3.anim.Weights class (PR #1523)
    • 15 methods in the FrameBuffer class (PR #1401)

jMonkeyEngine 3.4.0-beta4

12 May 20:52
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.0-beta3:

  • Bugs addressed:
    • MorphControl doesn't override JmeCloneable/Savable methods (issue #1548, PR #1549)
    • diagnostic messages from TestMusicPlayer (issue #1544, PR #1547)
    • crash in TestManyLocators (issue #1543, PR #1546)
    • crash in TestAppStates (issue #1542, PR #1545)

jMonkeyEngine 3.4.0-beta3

08 May 18:08
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.0-beta2:

  • Bugs addressed:
    • LWJGL context restart issues (PR #1526, issues #844 and #1445)
    • AnimEvent.onStop() kills prior event on the same Layer (PR #1537)
    • failed assertion in TestAnimMigration (issue #1533, PR #1534)
    • crashes in TransformTrack.getTranslations() and getRotations() (PR #1532)
    • jme3-jbullet depends on unavailable Maven artifacts (PR #1541)