Changelog
This page documents the release history and major changes for the Ludens project.
For a complete list of commits and minor fixes, please refer to the GitHub Releases page.
v0.4.0 - 2026-07-16
Section titled “v0.4.0 - 2026-07-16”- Rich WebView Game Runtime Error Interception & Diagnostic Traceback Dialog supporting JavaScript exception capturing, native WebView loading failure interception, variable formatting, and localized translations across KMP.
- Automated App Icon Generator Gradle plugin and task that compiles Android launcher icons (legacy and adaptive SVG/PNG), iOS app icons (all resolutions and JSON manifest), and Google Play Store listing icons from a single source image in
project/assets/icons/. - New language support: Chinese (
zh), Japanese (ja), Portuguese - Brazil (pt-rBR), and Russian (ru) for UI. - Automatic synchronization of web assets from the
project/www/root directory to Compose resources. - Font and language strings sync plugins for resource management within the
build-logicto strip out unused languages and fonts. - Language and font configuration support for resource generation, including base language metadata support.
- Project extension utilities for asset management and resource name parsing.
- Multilingual support with optimized i18n loading, and language alias parsing from presets configuration.
- Conditional rendering of
LanguageActionbased on available languages. CODE_OF_CONDUCT.mdand updated issue templates.
Changed
Section titled “Changed”- Enhanced
SideTabOptionslayout, improving text overflow handling. - Optimized view model injection and enhanced state management using
rememberSaveable. - Removed specific fonts to use variable font types.
- Reduced manual resource handling by leveraging new helper utilities.
- Moved configuration files and enhanced internal documentation for clarity.
- Changed how plugins are applied: now there is only a single
ludens.buildplugin, and the others must be activated/applied using the DSL in gradle. - Updated project documentation (
README,BUILD,CONTRIBUTING) to detail the new root folder asset synchronization method. - Replace 404 page with game setup placeholder for default index.html pages.
- Optimized WebView key event simulation script by batching events by type with a single guard per group.
- Fixed unexpected error has been fixed in the generation of icon resources during compilation, which was causing the files to be placed inside the “generated” folder.
- Fixed locale handling by including configuration orientation in
remember. - Fixed movement key event script operator precedence issue by wrapping the assignment in parentheses.
- Fixed potential null pointer exceptions in WebView scripts by adding null guards for global
InputandGraphicsobjects. - Fixed error logger double-registration when
YDP_Ludensis loaded. - Fixed missing accessibility descriptions by adding content descriptions to FloatingDock buttons.
v0.3.0 - 2026-04-25
Section titled “v0.3.0 - 2026-04-25”build-logicmodule with custom Gradle plugins for Ludens configuration, generated resources, and generated permissions.- Root
ludens.propertiesconfiguration as the main source for app identity, manifest flags, permissions, and settings presets. - Typed compose resource accessors and settings preset generation.
- Platform-specific WebView helpers and memory-management utilities for Android and iOS.
- New keyboard control model and related UI state for game input mapping.
- Expanded range of keys supported by the control buttons to include standard and specific graphic keys.
- Responsive layout primitives and reusable design tokens for spacing, radius, strokes, and breakpoints.
- Searchable dropdown component for control selection flows.
- Boot resource handling, including
www/index.htmland memory-cleaner boot script support.
Changed
Section titled “Changed”- Android build now reads Ludens configuration from
ludens.propertiesand applies app identity and manifest placeholders from that model. - Settings preset generation now resolves default values from the new configuration pipeline instead of hardcoded app-side defaults.
- Home and settings screens were reworked for updated control behavior, action ordering, and more responsive layouts.
- Theme, typography, spacing, card, floating, and dock components were refreshed to match a new visual system.
- WebView startup and lifecycle handling were updated to improve stability and memory behavior.
- The plugin and settings experience was updated around
YDP_Ludens.jsand related control/key handling.
- Fixed configuration loading behavior that could be affected by cache or stale values.
- Fixed missing file/path handling for resource bootstrapping.
- Fixed settings layout padding mismatches.
- Fixed behavior around unexpected active actions.
- Fixed black screen for RPG Maker MZ games.
v0.2.0 - 2026-02-05
Section titled “v0.2.0 - 2026-02-05”- onRestart callback implementation for navigation and state reset
Changed
Section titled “Changed”- Refactored settings events to use
UpdateSettingssealed interface pattern - Improved settings event and request handling
- Fixed on-screen controls not showing when YDP_Ludens plugin is disabled or not present
- Fixed unnecessary WebView restart when updating settings without navigating away
v0.1.0 - 2026-01-27
Section titled “v0.1.0 - 2026-01-27”Initial project release.
Android Build Support
Section titled “Android Build Support”- Android 21+ support (Designed for modern devices)
- Optimized WebView for RPG Maker MV/MZ
Native Overlay Controls
Section titled “Native Overlay Controls”- Virtual Joystick (Configurable opacity & position)
- Action Buttons (A, B, X, Y)
Comprehensive Settings System
Section titled “Comprehensive Settings System”- System Theme & Language
- Audio Mute & FPS Counter
- WebGL Toggle
Easy Android Build Configuration
Section titled “Easy Android Build Configuration”- Customizable applicationId, Version, and Name via gradle.properties
- Simplified Asset Injection (composeResources/files/www)