Repository navigation
This release expands song selection, skinning, audio, and IR integration features while improving memory usage and stability. Experimental features may change in future releases.
Song Selection & Library Management
- Expanded the functionality of random selection folders.
- Added experimental support for loading songs directly from ZIP and some RAR archives, including playback without temporary extraction. Archive detection is disabled by default.
- Moved tags and favorites to a per-player
songreview.db. - Added progress indicators for song database and difficulty table updates, and improved exception handling during updates.
- Added experimental difficulty filters and filters for charts featuring scratches, long notes, and speed changes.
Skins, JSON & Lua
- Added support for referencing various properties by name.
- Added named conditions and negated conditions for
opanddraw. - Added editable text input to SkinText and applied it to the search field on the song selection screen.
- Added experimental skin previews in the skin configuration screen and the
skin.skinpreviewdefinition. - Added skin definitions for the Practice settings screen, along with related properties and events.
- Added clipping support using
clip_x,clip_y,clip_w, andclip_h. - Added support for Unicode characters, emoji, and fallback fonts.
- Fixed an issue where the
spacesetting for numeric displays did not scale with resolution. - Added experimental support for WebP and animated WebP.
- Expanded the Lua APIs for properties, timers, events, files, HTTP, and audio.
Audio & Video
- Added PortAudio/CoreAudio output on macOS and PortAudio/ALSA direct output on Linux.
- Improved PortAudio device selection fallback and shutdown handling.
- Fixed 8-bit PCM playback and reduced memory usage during PCM conversion when loading audio.
- Fixed long-note handling in Guide SE.
- Added pitch-preserving time stretching for playback speed changes in Practice mode.
- Fixed noise along the right edge of videos and buffer exceptions during fast-forwarding and seeking.
- Improved video looping, initial frame display, audio track compatibility, and resource cleanup on shutdown.
- Added experimental GDX AudioDevice output.
Gameplay, Scores & IR
- Added
longnoteMarginto Custom Judge. - Added support for
#SPEED. It is ignored when Constant is enabled. - Fixed score log overwriting and added
avgjudgeandoldavgjudge. - Added skin properties for the last play time, IR rankings, player scores, usernames, and more.
- Changed rival score retrieval to sequential background updates.
Performance & Stability
- Reduced memory usage and garbage collection pressure in rendering, fonts, audio, and database operations.
- Fixed resource leaks involving font textures, shared resource pools, and unused skin resources.
- Added safeguards against crashes caused by invalid settings, JSON, replay data, and other malformed input.
Compatibility Notes
- Restricted Lua access to Java, files, and some
osfunctionality. Existing skins may require changes. A limitedluajavacompatibility API is also available. - The previous mechanism allowing IR plugins to access the application directly is no longer supported. Some plugins may require updates.
- Symbolic links are no longer followed when scanning skin and system sound folders.
- Back up your configuration files and player data before updating.