List of changes:
- All language font glyphs are now accessible regardless of the specified language (
libultrahandfix).- Special thanks to @tomvita.
- Packages can now utilize language translation json's (similar to
libultrahandoverlay language translations).- Language json's go within the
langfolder within the package's main folder and are utilized based upon the current selected overlay language. - Translations are based upon
drawStringcalls with keys being the original text and values being the translations.
- Language json's go within the
- New package command option headers.
;state=works with valueshandheldordockedand will only draw the list item if in handheld or docked accordingly.;hos_version=works with version values or with comparison signs>=,<=,>,<+ the specified version directly after.;ams_version=works with version values or with comparison signs>=,<=,>,<+ the specified version directly after.- Both
;hos_version=and;ams_version=will only draw the command when the conditions are met.
- Both
- Side-note: All of these new command headers can be used in combination or isolation.
- New package placeholder variables.
{package_version}returns the current package version from which the command exists in (specified in the header).{backlight}returns the current handheld backlight level.{volume}returns the current master volume level.
- New command
!path_exists(similar topath_existsexcept it returns command failure if the specified path exists).- Called
!path_exists <SPECIFIED_PATH>.
- Called
- Changes to root package boot package behavior (
/switch/.packages/boot_package.ini).- The
on-bootentry now triggers specified commands once on system startup (similar to howbootused to function). - The
bootentry now triggers once when thePackages Menuis entered, as well as once on thePackages Menuafter overlay hiding has triggered.
- The
- New
Soundsmanager for selecting overlay system sound effects (bundled in .zip's).- Sound zip packs go in
/config/ultrahand/.sounds/(files must be around the same size as the default sounds pack). - The
Sound Effectstoggle has been removed from theFeaturespage. - The
NO_SOUND_EFFECTS_UPDATESupdate flag has now been removed (no longer necessary).
- Sound zip packs go in
- Update to
Overlay Info, with info properly translated in each supported language.- New project developer animation on the "Software Update" page.
- Languages update command in the
Software Updatemenu has been removed (now unnecessary).
- Text wrapping for tables has been significantly revised to properly handle asian characters on split as well as implement hyphens for other languages when split by character.
- Indent symbols for continued lines utilizing indents now properly indent their start position based upon the indentation of the previous line (for easier viewing of code).
- Scrolling category headers now properly resume scroll state during regular
goBackcalls (libultrahandfix). - Now including patches from Master Volume for unbounded volume sliding from 100% to 150% using the
volumecommand. - Download commands now verify internet access on network connection (to prevent hanging while on a network without internet access).
- The "hold A to execute" list item behavior has been reduced from 4s to 3s to trigger.
- TrackBar unlocking / locking feedback tweaks.
- Script overlay freeze bug fix (placeholder replacement infinite loop bug fix).
- Various boundary case fixes to the
Listclass inlibultrahand. - Bug fix for package version labels not being displayed clean with
Clean Versionsenabled. - Various additional bug fixes and code optimizations.
New Contributors
Full Changelog: v2.2.7...v2.2.8
Quick update:
- Sounds preservation on update bug fix. - 02/20/2026 2:14 AM PST
sdout.zipempty folder inclusion bug fix - 02/20/2026 2:52 AM PST
Full Changelog: v2.2.8...7bc9834