Releases: kerneldroid/Nightzuku
Releases · kerneldroid/Nightzuku
Release list
Nightzuku v13.7.1 r53
Added
- Full catalog UI redesign with Material 3 Expressive
- Module detail screen with banner image and README display
- Danger module detection for oversized content
- Installed version tracking with Update/Install buttons
- SegmentedButton sort controls
- Clickable links in README markdown
Fixed
- ADB module script execution on non-root devices
- Catalog source install: recursive directory traversal for webui/webroot/web
- tapi --modules routing to correct Nightzuku module directory
- ZIP entry names preserve directory structure for webui files
- ModuleJsBridge CWD compatibility on non-root devices
Nightzuku v13.7.1 r52
Added
- Online ADB module catalog with GitHub Topics search
- Install modules from sources or release ZIP
- Module auto-update checking
- Phone, Android TV, WearOS catalog UI
- Lab Features menu for Android TV
- GitHub token management on all platforms
- Russian and Chinese translations
Fixed
- UTF-8 encoding corruption in module console output
- Race conditions in catalog token handling
- WebUI files preserved in source builds
- Stale staging directory cleanup on interrupted installs
- Dynamic branch resolution for source installs
- TV D-pad focus navigation
- WebView crash handling on WearOS
- Dialog theming for dark mode
Nightzuku v13.6.0 r51
Security & Quality Improvements
Security Fixes
- Remove RSA private key logging from AdbKey.kt
- Set allowBackup=false in AndroidManifest.xml
- Add permission protection to ShellRequestHandlerActivity
- Set ModuleWebViewActivity to not exported
- Support env var keystore passwords in signing.gradle
Code Quality
- Extract HomeActivity composables to HomeCards.kt (1179→413 lines)
- Extract SettingsActivity dialogs to SettingsDialogs.kt (1122→603 lines)
- Remove duplicate helper functions from TVHomeScreen.kt
- Clean unused imports across refactored files
Nightzuku r50
Android 17 (API 37) Compatibility Fix
Fixed: getInstalledPackages returning empty app list
On Android 17, IPackageManager.getInstalledPackages returns PackageInfoList instead of ParceledListSlice. The hidden-compat library fails with ClassCastException when encountering the new type, causing the manager to show 0 authorized applications.
Changes:
- Created
InstalledPackagesCompatin common module with multi-strategy approach: triesgetInstalledPackagesAsUser(public hidden API) first, then falls back toIPackageManager.getInstalledPackagesvia hidden compat Services, withgetList()extraction for both return types - Switched server and manager code to use
InstalledPackagesCompatinstead of brokenPackageManagerApispath - Removed dead
getInstalledPackages/extractListfromAndroid17Compat - Removed debug
runCompatTest()with side-effects fromShizukuService - Added logging to silent catch blocks for debuggability
- Fixed shizutest fragile overload selection to filter by parameter types
Tested on: Android 17 emulator (API 37) — Package Manager Query test passes and Nightzuku manager shows authorized apps.
Previous r50 changes (Android 16 rish Fix)
- Fixed rish timeout on Android 16 (API 36+) by using startActivity fallback
- Added reflection-based broadcastIntentWithFeature for Android 11-15
- Removed API_V23 permission requirement from ShizukuReceiver
Nightzuku r49 [2]
Nightzuku r49 [2]
Wear OS UI Scroll & Icon Update
- Restored TransformingLazyColumn scrolling transformations (scaling and shape morphing) on all Wear OS screens.
- Updated main screen title icon from a play arrow to the Shizuku mascot logo.
Termux rish Hotfix
- Fixed rish REQUEST_BINDER broadcast targeting wrong package (
ShizukuShellLoader.java): The broadcast was hardcoded tomoe.shizuku.privileged.apiinstead of the actual Nightzuku packagekerneldroid.nightzuku. This caused rish to always timeout since no app was listening on the old package name. Now usesBuildConfig.MANAGER_APPLICATION_IDfor dynamic resolution. - Fixed Termux linker crash on ColorOS/Realme devices: Added
unset LD_LIBRARY_PATHin therishscript beforeapp_processinvocation to prevent Termux'slibzstd.sofrom conflicting with the systemlibunwindstack.so(Android 14+).
Nightzuku r48
Nightzuku r48 (Wear OS 5 pairing and standby fix)
This release addresses Wear OS 5/6 background pairing and activation stability issues on devices like Galaxy Watch 7.
Key Changes:
- Fixed ADB pairing key exchange: Resolved constructor parameter shadowing in AdbPairingClient which caused empty key transmissions.
- Fixed standby freezing: Set foreground service type to 'connectedDevice' with appropriate permissions to prevent Wear OS 5 from aggressively freezing background processes.
- Dynamic Wi-Fi IP binding: Replaced static loopback checks with dynamic interface checking for wireless debugging connection.
- Documentation: Added a detailed Wear OS setup and pairing guide (docs/wearos-pairing.md).
Nightzuku r47
Nightzuku r47 (Security & L10n Update)
Security Fixes:
- Shell Injection: Sanitized shell arguments in ServiceStarter to prevent arbitrary code execution via malicious package/process names.
- Binder Leak: Protected IPC entry points (ShizukuReceiver, ShizukuConnectorProvider) with API_V23 permission to prevent unauthorized binder access.
- Privacy: Added permission checks to package enumeration (getApplications) to respect Android Package Visibility.
Localization:
- Refined translations for English, Russian, and Chinese (Simplified/Traditional) (not completed, fix later).
- Removed unsupported/incomplete language resources to optimize APK size and UI clarity.
Other:
- Synchronized technical terms with standard Android system settings across all supported locales.
Release r46: Android TV Support & Material You
Nightzuku r46 - Android TV & Pure Material You Update
Key Changes:
- Android TV UI: Restored and polished Material 3 Expressive interface for TV screens.
- True Material You: Completely removed hardcoded HEX color fallbacks. Now uses native system dynamic schemes.
- No Comments: All single-line AI and boilerplate comments have been stripped for a professional codebase.
- Black Night Theme: Pure black mode for OLED TV screens.
- Contrast Fixes: Resolved all text visibility issues.
- Documentation: Updated support guides and screenshots.
Technical Details:
- Version: r46
- Base Version: 13.6.0
- Maintainer:
kerneldroid
Hotfix r44: Wear OS Import Refactor & ADB Pairing Fix
HOTFIX r44
This update addresses critical UI and stability issues for Wear OS and ADB pairing.
Changes:
- Refactored Wear OS Imports: Cleaned up the codebase by replacing long inline component paths with aliased imports (e.g.,
WearText,WearButton). This significantly improves readability and maintains architectural hygiene. - Fixed ADB Pairing State Logic: Resolved a 'hacky' state management implementation in
HomeAdbPairDialog. ReplacedobserveAsState(Unit)with a robustPairingStatussealed class, ensuring type safety and preventing the dialog from dismissing prematurely. - Improved Wear OS UI: Aligned the Watch pairing dialog with the phone version by adding proper string resources and error reporting for failed pairing attempts.
Technical Notes:
- Version suffix
r44is automatically generated from the git commit count. - Verified functionality on both Android and Wear OS emulators.
Nightzuku v13.6.0.r43: Modernized Dialogs & WearOS Excellence
Highlights
- Modernized Dialogs: Fully migrated Phone and WearOS dialogs to Compose Material 3.
- WearOS Visual Fixes: Resolved white background and text visibility issues. True black backgrounds for all dialogs.
- Robust WebView Fallback: Integrated crash prevention for WearOS devices without WebView providers.
- Centralized Logic: Dialog management consolidated in
HomeDialogs.ktfor better maintainability. - Build Quality: Fixed all deprecation warnings and updated to AutoMirrored icons.
- Production Ready: Cleaned legacy fragments and optimized assets.