Release v0.3
Version: 0.3
Commit: e7cb957
Details
Two APKs: RootMyGalaxyNext-0.3.apk is the release build, and
RootMyGalaxyNext-0.3-debug.apk is the same code with debugging on. Both are
signed with the repository release key, so either installs over the other and over releases
of this fork that share its package id. This build is its own app
(dev.rushiranpise.rmgnext), so Root My Galaxy is left alone if it is installed - and so
are this app's own settings, history and superuser grant, which start empty here.
Changes since v0.2.55:
- Merge pull request #3 from rushiranpise/dev
- docs: Update README.md
- docs: replace the README screenshots with this fork's own build
- fix(ui): fit the app's own name in the Home header
- fix(payloads): read a catalog whose artifacts name the upstream repository
- test: guard the staged names against the directory both installs share
- test: guard the install identity against the next rename
- test: stop the fixtures naming the package this fork moved off
- fix(fork): point the update check at the repository's current name
- feat(staging): name this fork's temp files apart from the other install's
- feat(fork): rebrand the app and its releases as Root My Galaxy Next
- feat(fork): give the fork its own install identity
- feat(run): show a boot install on the run screen by following its record
- fix(run): write the notification's stop for the run's process
- fix(history): stop offering the retry answers on a stored record
- fix(kernelsu): let a first install read the module list through the helper
- fix(history): open the run a tap names, even if it is newer than the list
- fix(i18n): drop the how-it-works string the default locale no longer has
- ci: start the CI build for a levelled dev
- ci: name the repository for the pull request calls
- ci: level dev with main after a push to main
- feat(settings): let the app's exploit numbers override the payload's
- ci: open a dev to main pull request from the dev build
- chore(release): bump the base version to 0.3
- ci: publish a debug APK with a stable release too
- build: sign debug builds with the repository key
- ci: build the dev branch, and cut stable releases by hand
- fix(ui): match the icons to what their rows and steps say
- fix(boot): make the notification's way out skip the run, not the setting
- fix(settings): stop the Manager row showing a version the phone does not have
- feat(history): offer a failed record the same retry answers the run screen does
- fix(boot): report a boot's install as the retry it is, and let it be skipped
- fix(settings): stop the Manager row saying its version twice
- fix(notifications): open the run screen for every run notification
- feat(run): refuse a second run while another one holds the device
- fix(strings): repair the grammar the shortening pass broke
- feat(run): open the run a notification is about, not the app
- docs(readme): catch the README up with the app
- refactor(strings): shorten the settings, sheet and row copy
- fix(run): give "nothing read yet" its own phase instead of a run's first step
- fix(verdict): paint a run in flight with the accent, not the caution role
- refactor(reboot): draw the restart sheet's rows as one settings group
- refactor(reboot): show only the target names in the restart sheet
- refactor(run): take the pill out from under the run bar's controls
- refactor(logs): merge the Problems and Errors level chips into one
- refactor(home): remove the Before a run card
- refactor(home): remove the diagnostic report
- refactor(home): remove the pre-flight check
- refactor(logs): remove the log tab's tag filter
- refactor(run): drop the progress strip from the run's floating bar
- refactor(strings): rewrite the English copy in a plainer tone
- fix(settings): land a jumped-to card below the pinned heading
- feat(ui): make an empty list say how to fill it
- feat(ui): undo a deletion instead of asking about it
- feat(run): let the log be read while a run is printing to it
- refactor(ui): decide a run's colour in one place for all four surfaces
- feat(run): give the run notification Stop and Copy log actions
- feat(home): copy a diagnostic report in one tap
- feat(home): add a pre-flight check for what a run would find
- feat(payloads): search the target sheet and remember the device filter
- feat(run): put the run's progress on the bar that floats over the log
- feat(logs): filter the app log by tag and add a Problems chip
- feat(home): turn the readiness report into the gates a run has to pass
- fix(settings): let a pinned heading meet the top of the page
- feat(settings): pin an open section's heading while its rows scroll
- fix(settings): pair a heading with its content by distance
- fix(settings): stand an open section apart instead of nesting it in the index card
- feat(settings): show every section open, and stop the index reporting state
- feat(settings): draw the sections as one dense index card
- feat(restart): run the userspace restart straight from a launcher shortcut
- feat(run): float the run's controls in a bar over the page
- feat(restart): offer the restart sheet from a long press on the app icon
- feat(nav): slide the bar away while a page is scrolled down
- feat(nav): fade a page into its background under the floating bar
- fix(home): stop the header from pushing the power button off the edge
- style(home): drop the chevron from the About row
- feat(nav): draw the navigation bar over the pages instead of giving it a strip
- refactor(home): move the update check onto the home screen and drop the About section
- fix(settings): draw the System section as one group like every other
- feat(restart): add the reboot menu, gated on what the device will allow
- feat(settings): open the page as sections instead of one long list
- feat(run): add the back-to-top button to the run screen, gated on its controls
- feat(ui): give every scrolling page a button back to the top
- refactor(history): drop the source filter, keep the result chips
- feat(history): filter runs by result and by the source that served them
- feat(home): drop the Logs row now that the bar carries it
- feat(home): put Logs and About on the home screen as rows that open
- feat(ui): float the bottom navigation, and name only the page you are on
- fix(run): sweep the staging directory before asking for the restart that ends the process
- feat(settings): give each staged file its own delete, not only the button that empties the directory
- feat(settings): offer to empty the shared temp directory, and leave the count off the card
- feat(settings): list what else is in the shared temp directory, not only what this app staged
- fix(ui): stack the retry answers instead of squeezing them into one row
- refactor(settings): show only the size on the staged-files card
- feat(staging): remove what a run leaves in /data/local/tmp
- feat(settings): read back what the app has left in /data/local/tmp
- chore: drop an unused string resource
- fix(ui): count down in one set of digits whatever the locale
- fix(adb): refuse a token frame that carries no token instead of asserting
- fix(boot): re-read the gate's settings while it waits, and let its timeout end a start
- fix(concurrency): keep a cancelled call cancelled instead of reporting a failure
- revert: drop the in-app device check
- fix(settings): start version readings under the card's own text column
- feat(check): read the device for a payload that does not exist yet
- feat(settings): show the installed manager and the running KernelSU as a pair
- fix(boot): wait for Wi-Fi when starting Shizuku needs wireless debugging
- feat(boot): run a payload that does not need a shell instead of waiting for Shizuku
- feat(recovery): verify what a Zygote restart came back with
- docs(install): name all three retry answers and what each one buys
- feat(install): refuse a run in a boot whose pipe budget is already spent
- feat(install): name a spent pipe page budget instead of the ceiling that hid it
- feat(kernelsu): stop an open manager after a load so it re-reads the kernel
- feat(target): name the device a catalog misses and what came closest
- feat(install): say when a payload could not be confirmed stopped
- feat(install): offer a retry in this boot after the measured wait
- feat(manager): offer the matching version's download under the mismatch warning
- feat(manager): read the manager's version and the running KernelSU's, and say when they differ
- fix(run): keep the Shizuku question on screen and offer it to a boot run
- feat(logs): add an app log tab for what the app did around a run
- feat(run): ask about Shizuku instead of failing when it is not running
- fix(manager): offer the KernelSU the payloads are actually built from
- feat(settings): name the read-only protection when it refuses a write
- fix(settings): put the flavour card back in the row's shape
- feat(settings): protect image partitions by default
- fix(settings): make the KernelSU flavour card the height of its neighbours
- feat(payloads): take a source as typed and let the read judge it
- fix(manager): read a version listing under its own ceiling
- fix(settings): show the selected flavour beside the title
- fix(payloads): open the sources editor in the app window, not a dialog
- fix(settings): put the flavour change notice below the description
- feat(settings): choose the manager version from the published releases
- feat(home): name the payload an armed retry will run
- fix(settings): host the payload sources form in a dialog, not a sheet
- fix(retry): run the payload that failed, not the cached one
- feat(boot): hold the boot install for Shizuku when it is switched on
- style(strings): rewrite the app copy in plain language
- fix(install): put the run's two controls in one group
- fix(run-plan): describe the cached payload, and rule between plan rows
- feat(home): show whether each manager app is installed
- feat(permissions): grant WRITE_SECURE_SETTINGS without a cable
- feat(home): show an armed retry, and let it be started or cancelled
- fix(recovery): put root on boot back the way it was when a reboot is refused
- style(strings): rewrite the settings copy in plain language
- feat(root): restart the userspace after a run that loaded KernelSU
- feat(recovery): do the reboot a Shizuku shell can do instead of refusing for no root
- fix(adb): require a shell identity before running a payload over local ADB
- feat(recovery): add a module reload that restarts nothing
- feat(settings): choose the KernelSU flavour and the manager release
- feat(kernelsu): find a manager whose package name is not the published one
- feat(kernelsu): support KernelSU-Next beside KernelSU
- feat(run): let a run be stopped, retried, or finished with a restart
- fix(recovery): size the commitment window from the child's own wait
- fix(settings): label a stored wireless pairing as just 'Paired'
- fix(settings): drop the value from the run limits row
- fix(settings): name the cached payload instead of its profile id
- fix(settings): show the helper ceiling in the run limits row
- fix(payloads): put the revision list below the pin action
- fix(settings): make the run limits row readable and resettable
- fix(run): stop the silence watchdog ending quiet but healthy runs
- feat(settings): make the app-side run ceilings configurable
- fix(install): keep the run log readable and mark the step that failed
- fix(shizuku): verify wireless debugging instead of assuming the write worked
- fix(install): stop a stale support lookup from painting over a live run
- feat(wireless-adb): open Developer options instead of pointing at it
- feat(shizuku): start it in the device's own adb shell when there is no root
- feat(home): show KernelSU and Shizuku readiness on the Overview screen
- fix(settings): make Use Shizuku read the state before it acts
- feat(root): make the KernelSU load a setting a run can be told to skip
- fix(settings): show what Shizuku is actually doing
- fix(recovery): give the repair actions a root shell without Shizuku
- fix(boot): declare WAKE_LOCK and stop the boot gate from crashing
- feat(run): stage the KernelSU daemon before the exploit
- fix(run): accept a loaded kernel module as proof of KernelSU
- feat(shizuku): let the boot start use the stored start token
- feat(run): say what each control-channel reading answered
- feat(run): grant the secure-settings permission while the run still holds root
- fix(root): stop reading a hidden kernel module as an unrooted device
- fix(autoroot): share the Shizuku binder with the Auto Root gate process
- fix(settings): draw the recovery actions as an ordinary list
- fix(settings): draw the payloads group as one list
- fix(install): keep the run log visible when a failure card is tall
- fix(settings): stop a long card value from crushing the title and description
- feat(settings): confirm recovery actions in a dialog instead of a hold
- fix(adb): do not require a permission only needed to change the setting
- feat(run): carry a shell-only payload over the paired wireless transport
- feat(adb): pair, test and use the device's own wireless debugging
- feat(adb): pair with the device's own wireless debugging
- feat(adb): add an ADB protocol client and this app's own ADB identity
- feat(recovery): wait for the modules that inject into Zygote before restarting it
- feat(run): optionally mark the image partitions read-only after the exploit
- feat(ksu): check module mounts in init's namespace before restarting Zygote
- feat(shizuku): start Shizuku without root through an authenticated request
- feat(boot): give the automatic install its own boot-settle floor
- feat(boot): make root on boot a gated automatic install
- feat(payloads): add an offline payload mode and a known-good cache
- feat(run): wait out a fresh boot before starting the exploit
- refactor(settings): group settings by the subsystem they belong to
- feat(payloads): show what a revision serves before it is pinned
- fix(recovery): keep a dead keeper from locking out the boot
- feat(recovery): add post-root repair actions
- fix(payloads): resolve refs without spending the API's hourly quota
- fix(ui): open the payload picker fully expanded
- feat(payloads): choose which revision a source is pinned to
- fix(payloads): resolve a ref with the bare SHA, not the whole commit object
- fix(ui): stop a failure reason from being a page of payload output
- feat(shizuku): start Shizuku at boot through KernelSU
- feat(kernelsu): verify the control channel instead of trusting the exit code
- feat(payloads): let a profile carry its own exploit route policy
- feat(payloads): verify an artifact against a declared SHA-256
- test(manifest): parse the support manifest on real JVM org.json
- fix(history): export run logs off the UI thread and add an archive export
- fix(shizuku): publish a staged payload atomically instead of in place
- feat(settings): read a payload source before adding it
- feat(build): give every build a version code and name of its own
- feat(payloads): pin a source to a commit instead of following its branch
- refactor(settings): edit payload sources in a bottom sheet
- feat(history): record the catalog and revision each run's payload came from
- feat(payloads): mark how each candidate matches this kernel release
- feat(install): report which stage failed and what the payload last said
- feat(settings): show what the next run is handed before it starts
- fix(exploit): give a fresh-P0-session run a ceiling its payload can use
- feat(payloads): import a local exploit payload from the device
- feat(settings): ask for unrestricted battery use and surface its state
- Merge PR BuSung-dev#613: support profiles that require a fresh P0 session
- fix(boot): wait for the network and stop mutating the Shizuku preference
- feat(boot): re-establish root automatically at boot (BuSung-dev#483)
- fix(settings): let card descriptions wrap
- feat(payloads): preselect the profile the catalog prefers
- feat(payloads): prefer an exact kernel-release match (BuSung-dev#637)
- fix(install): put KernelSU modules back after the load
- feat(install): disable conflicting KSU modules before load (BuSung-dev#441)
- feat(settings): hoist and collapse the add-source form
- feat(settings): manage several payload sources at once
- feat(settings): add custom payload sources (BuSung-dev#656)
- ci: publish release-signed pre-releases
- build: sign release APKs with a pinned key
- fix(strings): drop pt-rBR history_log with no default counterpart
- ci: publish CI builds as pre-releases
- Update application images in README
- fix(settings): move payload repository into advanced section
- Update README.md by removing old images
- fix(settings): render payload repository value below the card instead of the trailing slot
- Added support for custom repos and copy log
- Prefer an exact kernel-release match when resolving the payload profile
- Merge branch 'BuSung-dev:main' into main
- Support payload profiles requiring a fresh P0 session
- Merge pull request BuSung-dev#567 from aaronthetechie1/main
- registered the strings, ready for pr
- german strings added
- Make boot re-root opt-in and make its notification visible
- Merge branch 'BuSung-dev:main' into main
- Release v0.2.65
- Merge pull request BuSung-dev#482 from insterbridge/harden-non-shizuku
- Compare staged payload content, not length (BuSung-dev#411)
- Re-establish root automatically at boot
- Harden non-Shizuku install path
- Disable conflicting KSU Modules before KernelSU load
- Merge pull request BuSung-dev#358 from mohamedamrnady/ci/github-actions-build
- git identity
- just grep
- rearrange
- fix tag
- feat: Release Flow
- Drop release CI
- feat: Github Actions CI
- Merge pull request BuSung-dev#316 from ducthoe/updater
- feat(app): add haptic feedback to interactions and darken popup overlays
- feat(overview): show kernel version with tap-to-expand full uname info
- refactor(app): deduplicate repeated logic across screens and services
- refactor(updater): share download state and harden network/history code
- feat(app): add in-app updater and run history multi-select delete
- feat(app): disable navigation bar contrast
- Merge pull request BuSung-dev#314 from uzbigboy/add-uzbek-language
- Fix invalid resource directory name values-pt-BR → values-pt-rBR
- Add Uzbek translation
- Merge pull request BuSung-dev#268 from glorbofruta-netizen/main
- Merge branch 'main' into main
- Release v0.2.6
- Merge pull request BuSung-dev#303 from ducthoe/fix/navbar-insets-material-you
- Add Material You theming, About dialog, history export, and KernelSU integration
- Merge pull request BuSung-dev#270 from ducthoe/shizuku-execution
- Add Shizuku execution mode
- Update strings.xml
- Update locales_config.xml
- Update MainActivity.kt
- Update strings.xml
- Update strings.xml
- Merge pull request BuSung-dev#243 from Meowkis/main
- Merge branch 'main' into main
- Merge pull request BuSung-dev#225 from enderbk0/main
- Merge pull request BuSung-dev#224 from kakuzu-f0/main
- add russian translation
- Rename values.xml to strings.xml
- Create values.xml
- Add Vietnamese language support
- Add French localization for application strings