All Versions
Latest Version
Avg Release Cycle
55 days
Latest Release
1382 days ago

Changelog History

  • v11.11 Changes

    September 08, 2020

    ๐Ÿš€ This release brings mobile (via Gluon client-maven-plugin) and networking support.

    • ๐Ÿ‘ TCP support is no longer in draft (feedback welcome)
    • โž• Added draft UDP support
    • โช Restored FXGLTextFlow
    • AnimationBuilder now has rotate and scale origins, thanks to @AahzBrut
    • ๐Ÿ›  Fixed WobbleEffect, thanks to @AahzBrut
    • Various API improvements
    • โœ… More tests
    • attach 4.0.6 -> 4.0.8
    • javafx 13.0.2 -> 14
    • ๐Ÿ‘Œ Improved peformance in IntroScene
    • โž• Added lifecycle event handlers on mobile
    • ๐ŸŽ Significant performance improvements to Images::merge and sub/superTexture
    • ๐Ÿ›  Fixed default logging format
    • ๐Ÿ‘ท Clean up CI scripts

    FXGL dialogue editor:

    • ๐Ÿšš can move multiple nodes with CTRL+click
    • ๐Ÿš€ latest builds available from builds-editor
  • v11.10 Changes

    July 31, 2020

    ๐Ÿ”„ Changelog:

    • โšก๏ธ Default intro scene updated
    • Draft of fxgl-net TCP
    • ๐ŸŽ Significant improvement in animation performance
    • Anonymous components are now allowed, though still not recommended
    • ๐ŸŽ Component injection can be disabled on a per component basis to improve runtime performance when creating many entities
    • fxgl-trade module is now part of FXGL API
    • โž• Added "global" input object accessible via SceneService
    • โœ… More tests
    • ๐Ÿ”จ Internal code cleanup and refactor
    • fxgl-samples cleanup
    • attach 4.0.2 -> 4.0.6
    • ๐Ÿ†• new dep: jackson databind
    • Dialogue editor: added branches / functions / conditions
    • โž• Added a setting to disable all FS write operations
    • Localizations and fonts are now lazily loaded, improving fxgl startup time
    • Camera scene can be entered with CTRL+C in debug / developer modes

    ๐Ÿ› Bug fixes:

    • ๐Ÿ›  Fixed translation animation along a path, which now doesn't snap to 0,0
    • ๐Ÿ›  Fixed a bug where tmx with different tileset sizes would load incorrectly
    • ๐Ÿ›  Fixed a bug where viewport would not correctly follow entity if zoomed
    • ๐Ÿ›  Fixed a bug where mouse world coordinates would be incorrect when viewport is zoomed
    • ๐Ÿ›  Fixed a bug where viewport bounds would not honor zoom level
    • ๐Ÿ›  Fixed a bug where resized window would generate incorrect input coordinates

    Contribution credits (thanks to):

  • v11.9 Changes

    May 27, 2020

    ๐Ÿ”„ Changelog:

    • ๐Ÿ‘ Error reporter is no longer a native window. It now runs as an MDI window to improve cross-platform support
    • Animation now has an onCycleFinished() callback
    • Single unified AnimationBuilder for Entity and Node, available for all fxgl modules
    • .properties or any extension with same properties format can be loaded as a PropertyMap
    • Redesigned menu architecture: now there are only two menus: main and game, each controlled separately via settings.setMainMenuEnabled() and settings.setGameMenuEnabled().
    • ๐Ÿ›  Fixed a bug that incorrectly sorted the rendering order of subscene views
    • ๐Ÿ›  Fixed a bug that incorrectly resized scenes
    • More detailed OS info is logged to debug (thanks to @ross-holloway94)
    • ๐Ÿ†• New input trigger: sequence of keys
    • ๐Ÿ†• New components: AutoRotationComponent, StateComponent
    • ๐Ÿ†• New Entity and Animation builder convenience methods
    • ๐Ÿ‘Œ Improved internal management of entity views, resulting in significantly improved use of CPU time (especially when there are many entities)
    • Simplified Save/Load API
    • ๐Ÿ‘Œ Improvements to Shop API in the fxgl-trade module
    • ๐Ÿ‘Œ Improvements to Entity API for kotlin users (thanks to @wakingrufus)

    Mobile improvements:

    • no extra IO tasks during FXGL init (faster startup)
    • no runtime proxy functions (avoids mobile runtime crash)
    • ๐Ÿ“œ .tmx is now correctly parsed
    • platform os is correctly detected
    • virtual joystick
  • v11.8 Changes

    March 08, 2020
    • Most FXGL.* calls are implemented as EngineService for further modular architecture
    • getGameState() is now a property map of the game world, accessible via FXGL.getWorldProperties()
    • Fonts are loaded lazily. Now getUIFactoryService().newText() has unmodifiable fonts
    • Faster window startup
    • ๐Ÿ†• New events DSL API
    • ๐Ÿ†• New Action API for entities. An Action is short-term behavior.
    • JavaFX Properties can now be animated using the Animation DSL API
    • WobbleEffect
    • โฌ†๏ธ JavaFX upgraded to 13.0.2
    • ๐Ÿ†• New function to calculate distance between bboxes of entities
    • โšก๏ธ Minor convenience updates to API

    ๐Ÿ›  Fixes:

    • ๐Ÿ›  Fixed z-index sorting bug when z is updated at runtime
    • ๐Ÿ›  Fixed incorrect offset of the pause menu when window is resized
  • v11.7 Changes

    January 05, 2020

    ๐Ÿš€ Main focus of this release was on the fxgl-ai module. In particular, A* pathfinding and cell-based movements. Changelog:

    • โž• Added fxgl-ai module
    • ๐Ÿ’ป ProgressBar (fxgl-ui module) value not bindable was fixed (thanks @marvinbuff )
    • Particle effects can now scale with entities
    • Images.kt has new resize() function (thanks @CharlyZhu)
    • Cursor can now be set to invisible in the game scene
    • โž• Added IntervalSwitchComponent (thanks @CharlyZhu)
    • โž• Added TrailViewComponent
    • โž• Added PropertyMapView (thanks @CharlyZhu)
    • ๐Ÿ‘€ FXGLMath random can now be initialized with a seed (settings.setRandomSeed())
    • ๐Ÿ›  Minor bug fixes and extra convenience methods to Java and Kotlin DSL
  • v11.6 Changes

    November 17, 2019
    • ๐Ÿ‘ Unified localization support for both in-game and engine data. Example usage:

      getLocalizationService().addLanguageData(new Language("ENGLISH"), Map.of("some.key", "Hello World")); // just String String s = getLocalizationService().getLocalizedString("some.key"); // a bindable StringProperty StringProperty s = getLocalizationService().localizedStringProperty("some.key");

    • ๐Ÿ‘Œ Support for flipped tiles in .tmx files from Tiled map editor

    • Tiled maps with transparency are now correctly loaded

    • โž• Added circuit breaker style mini game

    • ๐Ÿ‘ Allow entities to call component methods directly using method name:

      class SomeComponent extends Component { public void someMethod() { } } ... entity.addComponent(new SomeComponent());"someMethod");

    • โž• Added components: ActivatorComponent, FollowComponent, TextViewComponent, GenericBarViewComponent (thanks to @marvinbuff}

    • โž• Added effect: SlowTimeEffect

    • ๐Ÿ›  Fixed a rare bug that would crash FXGL on startup

    • โœ… More tests

  • v11.5 Changes

    September 22, 2019

    ๐Ÿš€ This release fixes a major bug in fullscreen mode. All developers using fullscreen in their games should upgrade to this version.

    • ๐Ÿ›  Fixed UI not scaling properly when going fullscreen
    • ๐Ÿ›  Fixed (via a workaround, thanks to @Madave94) uncapped frame rate on Linux
    • โœ… Larger code coverage for unit tests + added a system test
    • ๐Ÿ”จ Internal code refactorings to reduce inter-class dependencies
    • Cleanup of legacy code and resources
    • โž• Added static code analyser (thanks to @megaman248)
    • ๐Ÿ†• New fxgl-tools module with functional dialogue editor
  • v11.4 Changes

    August 06, 2019

    ๐Ÿš€ This release completes a lot of the groundwork required to run FXGL 11 natively (desktop + mobile).

    ๐Ÿ”„ Changelog:

    • ๐Ÿง The engine core is fully functional on native Linux, Mac + iOS
    • File system access now works on iOS via "attach" storage 4.0.2
    • ๐Ÿฑ Most of fail-fast calls in AssetLoader are now fail-safe: dummy assets are returned if load fails and a warning message is recorded
    • ๐Ÿšš Deprecated API has been removed
    • ๐Ÿ†• New setting to preserve resize ratio
    • โž• Add build number, java and javafx runtime versions to FXGL version
    • Developer debug messages that can be used for temporary messages
    • โž• Added OffscreenPauseComponent
    • โช Restored virtual controls
    • ๐Ÿ’ป Menu UI bug is fixed wrt credits
    • ViewComponent API is redesigned to be more intuitive. Access to underlying view (JavaFX Node subclasses) should now be easier. Adding and removing views at runtime should also be easier.
    • ๐Ÿ‘‰ Uses JavaFX 12.0.1
    • ๐Ÿ‘ท Travis CI now uses OpenJDK11 and 12
    • ๐Ÿง Uber jar now contains all (win, mac, linux) dependencies
  • v11.3 Changes

    May 31, 2019

    ๐Ÿš€ This is the first stable release for FXGL 11. All Java 11 users should update to this version.

    ๐Ÿ”„ Changelog:

    • Animation channels can be constructed from sprite sheets with different frame sizes
    • Extra built-in components: LiftComponent, DraggableComponent, IntervalPauseComponent
    • โช Restored onPreInit() for single pre-init tasks
    • ๐Ÿ‘Œ Improved Java module names (thanks to @sormuras )
    • ๐Ÿ“š Documentation cleanup in various modules
    • ๐Ÿ†• New modules: minigames and trade (these are WIP and are not yet used by the main module)
  • v11.2-beta Changes

    April 28, 2019
    • ๐Ÿ†• New developer pane
    • ๐Ÿ†• New service API
    • Tentative architecture for Notification and Achievement services
    • ๐Ÿ›  Fixed problems with scaling of polygonal shapes and hit boxes
    • Input now correctly reports onActionEnd() if a scene is switched
    • Collision handlers now correctly report onCollisionEnd() if an entity becomes ineligible for collision while colliding
    • ๐Ÿ›  Fixed check for web platform
    • ๐Ÿ›  Minor bug fixes