Release 0.12.0
LITIENGINE » Devlog
What’s Changed
Highlights of this release include runtime display mode switching with automatic GUI rescaling, expanded tweening capabilities, Aseprite animation import/export support, improved GUI navigation, an emitter data serialization rework, and several stability improvements across the engine and utiLITI editor.
🔧 Engine & Core
- Added runtime display mode switching, allowing games to change resolution and display mode without restarting.
- Added automatic GUI rescaling and repositioning when the game resolution changes.
- Added focus-aware keyboard and controller navigation for core GUI components.
- Expanded the tweening system:
- Added loopable tweens.
- Added tween lifecycle events.
- Added Camera tweening support.
- Renamed
Tween.begin()toTween.start().
- Added support for registering custom Trigger types without implementing a custom
MapObjectLoader. - Added Animation Resources and JSON utilities for importing and exporting Aseprite animations.
- Resource lookups are now case-insensitive, preventing load failures caused by filename casing differences.
- Improved resource loading with more graceful exception handling.
- Fixed floating-point precision issues in collision detection that could cause false-positive intersections.
- Fixed an alignment clamping issue.
- Improved documentation throughout the engine, including extensive JavaDoc updates and clarifications.
🎨 Particle System
- Replaced
ParticleParameterwith serializableRangeAttribute. - Renamed
EmitterDatatoEmitterAttributes. - Improved / simplified emitter serialization.
🛠️ utiLITI
- Added context menus for resources in the Resources tab.
- Added keyboard shortcuts for common resource operations.
- Added context-sensitive import menus to the Resources panel.
- Improved Asset Panel usability and interactions.
- Added double-click color picker support in the layer list.
- Fixed a macOS-specific crash caused by right-click interactions.
🖥️ Platform & Runtime
- Improved handling of borderless window mode changes.
- Added required desktop modules to packaged applications for improved runtime compatibility.
🏗️ Toolchain
- Updated the Gradle Wrapper to 9.5.1.
- Improved workflow security by pinning GitHub Actions to commit hashes.
- Updated and modernized CI/CD workflows and release tooling.
- Various code quality improvements, cleanup efforts, and Sonar findings addressed.
📦 Dependencies
Notable dependency updates include:
- Input4J → 1.2.0
- JUnit → 6.1.0
- SonarQube → 7.3.0
- Gradle Actions → 6
- Spotless → 8.6.0
- Mockito → 5.23.0
- JAXB → 4.0.9
⚠️ Breaking Changes
Tween.begin()has been renamed toTween.start().ParticleParameterhas been removed and replaced byRangeAttribute. -> renamemaxValuetomaxandminValuetominin your emitter XML.EmitterDatahas been renamed toEmitterAttributes.
New Contributors
- @SOrtiz1967 made their first contribution in #959
Full Changelog: https://github.com/gurkenlabs/litiengine/compare/0.11.1…0.12.0
Files
utiLITI-windows.zip 32 MB
Version 0.12.0 67 days ago
utiLITI-linux.zip 37 MB
Version 0.12.0 67 days ago
utiLITI-mac.zip 31 MB
Version 0.12.0 67 days ago
Get LITIENGINE
Download NowName your own price
LITIENGINE
This bundle includes the utiLITI editor, LITIENGINE's dedicated project management and mapping tool.
| Status | In development |
| Category | Tool |
| Author | gurkenlabs |
| Tags | 2D, entity-framework, Game engine, java, litiengine, particles, physics-engine, Tilemap, ui-framework, utiliti |
More posts
- Release 0.11.1Dec 07, 2025
- Release 0.9.0Sep 15, 2024
- Release 0.8.0Dec 28, 2023
- 0.6.0: "Trick or Treat!"Oct 31, 2023
- LITIENGINE snapshots now available!Apr 02, 2023
- v0.5.2-beta "Java 17 Migration"Jan 09, 2022
- v0.5.1-beta - "No more netcode"Feb 09, 2021
- v0.5.0-beta - "Farewell, Alpha!"Aug 16, 2020

Leave a comment
Log in with itch.io to leave a comment.