You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added elapsed patching time to the Patcher Information widget for both regular and batch patching
Added Repatch APK source retention so URV automatically reuses the original APK or split archive when repatching, with support for saved apps, batch patching, missing-source fallback, and Storage Management cleanup
Added a delete action to individual saved unpatched app cards in Downloads, with a confirmation prompt before removing the stored APK
Bumped Morphe Patcher to 1.9.0
Added configurable Play Store installation source modes for the system and rooted mount installers, adapted from MorpheApp/morphe-manager@7e24461
Bumped Morphe Patcher to 1.12.0
Bumped Morphe Patcher to 1.14.0
Patch bundle changelogs can now display the full changelog history, depending on your changelog loading and cache limit settings. This replaces the previous Previous changelogs section
Added patcher-style installation feedback to the Split APK Merger, including installation cancellation, a success dialog, and distinct patched/merged app installation messages #666#671#672
bundles: improve external bundle discovery and update handling (7576a65)
Patch profiles can now use the version detected from a selected APK
Added an option to only keep the latest plugin-downloaded APK per app
Added a delete confirmation for selected downloaded apps in Downloads
Updated the manager update notification and update banner text to use clearer URV-specific wording, including URV Manager update found and A new manager update is available#274
Improved patch option viewing in Patch Profiles with a three-dots menu for patches with options
Clarified changelog link wording by changing the external action to View changelogs on GitHub on the manager update and changelog settings screens #233
Added a scrollable changelog preview directly to the manager update popup, so release notes can be read without opening the full updater screen #229
Added installed apps as a source for the Split APK merge tool #197
Added a split selection step before merging so specific modules can be included or excluded #197
mproved split merge loading, cancellation, and progress handling
Added icons to settings subsections and refined the settings card styling for a cleaner, flatter look
Improved the main Settings screen layout, pinned the About card to the bottom when space allows, and added button-only Reset/Edit or Reset/Settings controls for configurable settings
Improved the dashboard header and main tab labels on smaller screens by keeping the title on one scrollable line and widening the selected tab highlight
Added remote downloader plugin importing/updating with improved plugin naming and trust handling, seeded default remote downloaders on fresh install, and support for newer official downloader plugins
Added a full ReVanced announcements system with announcement list/detail screens, tag filtering, archived announcements, unread badges, and dashboard announcement banners ReVanced/revanced-manager#2948
Added announcement push notifications with deep links to the specific announcement, integrated into the existing websocket/background update system
Added settings to enable or disable announcements and announcement notifications
Bumped the Morphe patcher dependency
Removed the automatically imported remote downloader plugins
Bumped Morphe Patcher to 1.3.3
Bumped ReVanced Patcher to 22.0.1
After importing settings, URV now requests any required runtime permissions for enabled features when they are not already granted
Removed now unneeded extra libaapt2.so's and aapt2 selector system
Improved root service mount reliability and safety #370
Added LITE, MEDIUM, and FULL build variants with matching profile-aware updater behavior
Added patcher-style progress tracking and merge log copy/export support to the Merge split APKs tool, including excluded split details in exported logs #388
Improved update dialog and changelog readability by reducing changelog heading/body sizes and tightening the update prompt text layout #381
Removed the MEDIUM build profile as it included the same runtimes as FULL
Improved the About screen layout and added version display copy behavior #399#400
Updated English UI wording for merge tool titles, selected app counts, patch bundle empty-state text, and APK saved casing #396#398#293#319
Updated patch/merge log copy messages, aligned delete/import wording, and made the merge log button follow patcher-style availability #404#403#405#406
Added loading-aware dashboard app input gating so app selection actions stay disabled until patch bundles are ready, with a clearer inactive button state #402
Updated the LITE build type to only exclude the ReVanced v21 runtime, and only include the ReVanced v22 and Morphe patcher runtimes
Made the About screen version row so long-press copy only targets the manager version value, not the "Version" label #424
Added patch option import/export support for patch selection backups #417
Blocked all in-app interaction while app/APK selection loading overlays are shown, including the Apps tab and app picker flow #429
Updated dashboard delete confirmation dialogs to use the correct singular or plural wording for selected apps, patch bundles, and patch profiles #430
Improved text-entry UX by auto-focusing dialog and search inputs, opening the keyboard automatically, and keeping input dialogs visible above the IME across patch bundle, search, and settings flows #373#374
Updated the split APK merge selection dialog to show the live selected module count in the Start merge action button #362
Added a per-install installer selection mode that lets users choose the installer each time on the patcher and saved patched app flows #208
Updated the save-file icon on the Choose splits to merge screen #456
Removed the duplicate top-bar cancel action from the split merge selection screen and renamed Split APK installer to Split installer #457#455
Added an Updates setting to switch the manager update popup between full release notes and the minimal version-only view #420
Kept the screen awake while the split merge process is running #387
Added a patcher setting to continue patching when individual patch errors occur #288
Removed the LITE and FULL URV build system and replaced it with a plugin-based system. ReVanced and Morphe are bundled with URV by default, while support for ReVanced v21 requires installing its plugin
Bumped Morphe Patcher to 1.5.1
Removed the AmpleReVanced runtime because Ample now uses the Morphe patcher instead of its own runtime
Added CPU architecture labels to saved patched apps, showing values like ARM64, ARMv7, x86, Universal, or No native libs in the Apps tab and saved app details #251
Improved bundle recommendation dialogs, runtime plugin cards, trust dialogs, source settings styling, and added an icon for the ReVanced v21 runtime plugin #498
Centered the remaining patch selection and patcher result dialog text, including bundle action confirmations, patch defaults, incompatible patches, and install success dialogs #487
Made the patch selection filter sheet open fully expanded so all filter options are visible without scrolling first #507
Added patch selection sorting options for Z-A, enabled first, and disabled first #511
Added app icon background image output and optional Morphe notification icon generation to the custom YouTube asset creator tool #330
Increased the patch bundle discovery empty state text size for consistency with other search results #513
Added a dashboard notification for newly installed runtime plugins and tightened notification card action padding #512
Added support for experimental app version targets in Morphe patch bundles
Improved exported log filename consistency for merger, patcher, debug, and installer logs #524
Compact saved Apps card patch bundle summaries and added a setting to hide bundle update badges #528
Bumped Morphe Patcher to 1.5.2
Added an APK signer tool to the Tools tab for signing APKs with the manager's current signing certificate #504
Centered dialog titles that were still left-aligned in several dialogs #534
Added patch profile action button ordering and visibility settings #482
Centered additional dialog titles that were still left-aligned #536
Improved patch bundle and patch profile import result messages with updated and skipped counts #386
Added a filename format setting for merged APKs saved from the split APK merger tool #318
Centered body text in the downloader help and language restart dialogs #539
Allowed combining cleanup filters in the split APK merge tool #360
Standardized supported version dialog layouts and centered suggested version chips #540
Added a default-enabled New patches filter that shows newly added patches from each bundle at the top of the patch selection screen #236
Centered the signature mismatch dialog body text across the patcher, app info, and quick action install flows #544
Updated newly generated manager signing keystores to use alias as the alias and password as the password while preserving compatibility with existing and legacy manager keystores #538
Added support for importing remote patch bundles from GitHub and GitLab repository URLs by resolving root-level patches-bundle.json metadata #545
Added support for Morphe add-source links, including opening them in URV with the import dialog prefilled #545
Improved the split APK downloader plugin flow by showing download progress in a loading screen before opening split selection
Added optional live memory usage graphs to the patcher and split APK merger tool #567
Force patching and split APK merging to run in separate processes on Android 11+ to prevent memory crashes #572
Removed obsolete experimental patcher and memory-limit settings
Added an instability warning for Android 10 and older
Updating patch profiles no longer requires you to select their patch bundles again #577
Added live progress percentages to the patcher and split APK merger with smoother step and substep tracking #568
Updated local downloader and runtime plugins to display "Loaded" instead of "Trusted" #562
Standardized revoke trust dialog titles across downloader and runtime plugins #561
Adjusted the supported versions dialog so it is not become too wide when opened from patch search #559
Standardized installer log filename and timestamp formatting with other exported logs #558
Improved dialog text consistency and added clearer save confirmations for patched and merged APKs #555#553#552
Plugin notifications no longer remain after opening the Download or Patcher Runtimes settings #556
Moved “Merged APK filename format” under “Export filename format” in Advanced system settings #551
Added a Done button to the patcher screen after patching completes #580
Added Shevery support for Shizuku-based installs, including detection, manager launching, installer icons, and updated installer labels #585
Added suggested version dropdowns to app search results on the Select an app screen #586
Added split ordering options to the split APK merge selection screen #582
Added the ability to install APKs downloaded through plugins from the Downloads screen #541
Corrected singular and plural wording in patch bundle import progress #590
Made patch bundle update progress counts use consistent out of wording #591
Added a minimal patch selection view preset with controls for version tags and patch option previews #274
Added consistent progress notification metadata and Android 16 progress styling for cutout ring support #394
Made bundle import and update progress banners collapse independently and remember each state #588
Added separate remembered folders for file selection and export workflows in both the custom and built-in Android file pickers #543
Added an Install base & mount option that installs base and split APKs through root before mounting the patched APK #542
Added per-profile installer selection and automatic installation to Patch Profiles #583
Added a Patcher Engine option to skip signing and keep patched APKs unsigned for saving or installation
Automatically enabled manager pre-release updates when running a pre-release build #593
Bumped Morphe Patcher to 1.6.0
Added APK version codes to app details, supported-version displays, searches, and Morphe patch compatibility checks #594
Added an option to choose which split APKs are merged before patching #592
Automatically remove unavailable patches and their saved options from saved selections, and show a toast indicating which patches were removed #595
Added an optional root-only LSPosed tab with support for LSPosed, Vector, and compatible builds, including local and GitHub module management, update checks, manager and settings shortcuts, and customizable module actions #596#598
Improved the Split installer tools log, making it consistent with the Signaute metadata injector & cloner tools log design
Added a configurable memory limit of up to 2 GB for separate-process patching runtimes. Overal improved the memory system, being adapted from Morphe Managers implementation, URV now is able handle heavier patching and split APK merging on Android 11+ devices
Added Monochrome and Material You theme presets, including optional Pure Black styling for Material You
Improved theme and accent preset selection, layout, indicators, and previews
Expanded Storage & Cache Management with separate cleanup options for signing files, patcher runtime plugins, and saved LSPosed module APKs, with safeguards against clearing files while they are in use
Added support for opening .rvp and .mpp patch bundle files directly in URV, adapted from Morphe Manager's implementation MorpheApp/morphe-manager#483
Made the Recommended for this device split APK merge preset deselectable while preserving the selected language and density cleanup filters #550
Sorted new downloader and runtime plugin dashboard notifications by plugin installation time #557
Sorted patch bundle import and update progress banners by when each operation started #587
Added direct installation from the split APK merger and replaced its save progress step with a write step #600
Reorganized rooted-mount app actions into one connected segmented layout with a remembered collapsible tools section
Rebuilt the rooted mount system with transactional operations, verified rollback, automatic recovery, boot and package-change reconciliation, legacy mount migration, and improved management tools MorpheApp/morphe-manager#737
Added persistent transaction tracking to safely recover interrupted mount, update, downgrade, and unmount operations
Added verified stock APK backups and rollback before making package or module changes MorpheApp/morphe-manager#673
Added automatic mount reconciliation after reboot, manager startup, app updates, and package changes
Added migration support for legacy URV and ReVanced root modules
Added repair, use-stock, remount, cleanup, and diagnostic export actions
Improved rooted-app progress, status messages, action layouts, and installer routing MorpheApp/morphe-manager#779
Improved system installer handling across patching, saved apps, downloads, manager updates, LSPosed modules, and split APK tools so APKs install directly from app storage, with OEM callback verification and an intent fallback MorpheApp/morphe-manager#598
Bumped ReVanced Patcher to 22.0.2-dev.1
Made the patcher Done button available after patching finishes with errors #649
Removed requested from the patcher and Split APK Merger memory usage labels #604
Updated the Android toolchain and core dependencies, including Kotlin, AGP, Ktor, Koin, Coil, AndroidX, and raised the app and bundled runtimes to target SDK 36
Updated selected filters on the patch selection and patch bundle discovery screens to use the blue selected-state styling #642
Added batch patching for multiple apps with preflight checks, reorderable and cancellable queues, per-app patch configuration and progress, retained source APKs and results, install-all support, automatic repatching, launcher shortcuts, and opt-in external automation actions, adapted from MorpheApp/morphe-manager#795
Improved the Shizuku/Shevery installer flow with status and configuration controls, Play Store attribution, automatic installation of patched apps, clearer errors, and optional uninstall-and-retry handling for signature conflicts, adapted from MorpheApp/morphe-manager#734
Added APK download helper app support as an APK source, including helper discovery and trust management, GitHub source importing and updates, helper installation/uninstallation, and selecting helpers as an APK source when patching, adapted from MorpheApp/morphe-manager#797
Added install-target-aware Morphe patch availability with Standard and Root Mount modes, required and unavailable patch handling, matching installer routing, and optional GmsCore removal, adapted from MorpheApp/morphe-manager#747
Improved Root Mount compatibility with merged split APK inputs when a valid installed stock APK is available
Bumped Morphe Patcher to 1.8.0
Improved saved unpatched app cards in Downloads
Improved single and batch patcher logs with input APK version codes, included/excluded split lists, cleaner exports, and detailed patch failure errors
Added an expandable Patcher information panel to single and batch patching with app version/version code, APK size, selected patches and bundles, manager and patcher versions, runtime and memory details, split/native library status, Android/device information, and available RAM/storage, inspired by Morphe's patch information panel
Allowed manually changing split selections while filters are active in the Split APK Merger and patcher, with matching filters automatically selected or cleared as the selected splits change #615
Updated dependent setting toggles to visually disable with their parent while preserving and restoring their previous state when the parent is re-enabled #630
Made split sorting choices independent between the patcher and Split APK Merger #611
Preselected the Exclude unused languages and Exclude extra densities filters on the patcher split selection screen when Skip unneeded split APKs is enabled, while preserving the existing native-library cleanup selection behavior #612
Improved the Monochrome theme with solid black/white accents, normal untinted light/dark surfaces, optional pure-black dark mode, and higher-contrast informational surfaces and Tools icons #607
Restored natural single-sentence wrapping for unsupported keystore errors in the Keystore Converter so the text only wraps when it reaches the available width #624
Integrated each patch bundle's selected patch count directly into the bundle switcher and removed the separate "Selected in this bundle" indicator
Replaced active Install actions with Cancel controls across single and batch patching, allowing in-progress internal, Shizuku, root/mount, external, Install All, and automatic post-patch installations to be cancelled without discarding completed patch results #661
Added custom installer names to installed app details and label instead of showing the generic Custom installer label #655
Added per-bundle pre-release update checks for patch bundles imported from GitHub and GitLab repository links #629
Bug fixes
Fixed patch bundle discovery preferring stale primary results by selecting the newest available data, falling back to the dev service, and importing bundles through the v3 API
Fixed saved patched apps installed through Shizuku-based custom installers showing Shell instead of the selected installer
Fixed pre-release updates not being detected for some patch bundles imported through GitHub or GitLab URLs
Fixed patch bundle tabs showing inaccurate counts by displaying selected and available patches as a selected/total value
Fixed Rooted Mount being unavailable in post-patch installer choosers for compatible Standard patches
Fixed the Patcher Information widget sometimes showing the wrong app version instead of the version of the APK actually being patched
Fixed single and batch patching sometimes using or reporting stale patch selections, options, app metadata, and runtime information, especially after missing patches were removed or the patcher screen was restored
Fixed system Play Store installs still appearing as installed by URV Manager in Android settings
Fixed some Morphe patch bundles failing to load in process mode with an incorrect corrupted or incomplete error
Fixed patcher runtimes not consistently honoring Continue after patch errors, including process runtimes continuing after fatal patch errors when it is disabled #685
Fixed the Split APK Merger progress notification being able to reappear after cancellation when concurrent merge state or progress updates raced with cancellation cleanup #669
Fixed returning from a cancelled local APK patch leaving the app name and icon blank when the patcher's temporary input had already been deleted #665
Fixed issues with remote patch bundles when using GitHub or GitLab URLs sometimes not detecting prereleases correctly
Fixed incomplete patch bundle changelogs and missing history entries, including hidden release notes, overwritten descriptions, mixed release channels, and refresh errors not appearing when cached history is available
Fixed ReVanced 21 and 22 patching failing before patches are applied when using process mode
Provide a writable temporary workspace for Morphe patches in both in-process and process-mode patching
Fixed patch bundle import and update feedback by preserving bundle name casing, identifying the selected release channel, and using correct singular/plural progress wording #601#632#633
Fixed incorrect singular/plural wording when removing saved patches and displaying patch bundle update badges #605#680
Fixed cancelling APK preparation incorrectly displaying a failure dialog #610
Improved split selection dialogs by removing outdated guidance and aligning the Cancel action consistently #613#618
Fixed manager, installed app, and applied patch bundle version displays to consistently use a single v prefix #704
Fixed the Process Memory Limit dialog title alignment #676
Fixed bundle update notifications disappearing after repeat checks while respecting intentionally dismissed alerts #535
Fixed the Patch Bundles tab empty state so searching with no added bundles still shows the no-bundles message #483
Fixed pressing the system back button on the Patch Profiles and Tools tabs sending the user back to the Android home screen instead of a different tab #191
Fixed the Patch confirmation screen's scroll bar being very large #186
Fixed the Android document provider file picker not resolving intents to local paths #202
Fixed an issue where the export filename variables wouldn't be placed at the cursor position #187
Fixed the Effective memory limit listing in the patcher logs using the Requested memory limit value (needs testing)
Fixed issues with loading patches from patch bundles on the discovery
Fixed an issue where saved app entries would be duplicated when installing a entry marked as Saved
Fixed issues with loading metadata for certain APKs #216
Fixed missing-split install failures when patching apps that are installed as split APKs #217
Fixed issues with memeory on Android 10 and lower devices (needs testing) #150
Fixed the Patch confirmation screen on older Android versions being covered by the three button navigation
Fixed issues with the patcher screen being "frozen" and showing no progress or anyting at all for a few seconds on older Android versions
Fixed UI lagging/buffering issues on the Download APK file step
Fixed issues where downloading certain APK files using the downloader plugins would cause an error #221
Fixed issues with the swiping to switch tabs guesture on the main screen and patch selection screen #204
Fixed an issue where exported keystores would have the .json file extension #238
Fixed an issue where the hold tap guesture would not work for some apps in the Apps tab
Fixed an issue where you couldn't select certain apps in the Apps tab on multiselection mode
Fixed dependent patching flow settings so they are disabled when inactive and automatically reset when their parent toggle is turned off
Fixed the Export filename format editor so tapping the text field no longer jumps the view to the end, and its helper content now scrolls separately without disrupting cursor placement #269
Fixed issues where there would be a pause between the patchers main categories/steps
Fixed more issues with patching on certain runtimes
Fixed issues with resuming manager updates with the in-app manager updater #277
Fixed manager update asset selection so the updater correctly resolves both ABI-specific APKs
Fixed issues with the Always create a new saved app entry setting #279
Fixed the patcher screens pause between Load patches and Read APK file sub-steps
Fixed issues with progress being reordered live during split APK merging for the AmpleReVanced runtime
Fixed the Export filename format dialog so the single-line text field slides with the cursor #276
Fixed issues with the fullscreen back gesture causing UI glitches and showing the wrong screens #280
Fixed an issue where the AAPT2 selected line in patcher logs would always be listed as Unknown
Fixed previous patch bundle changelog history so it resets when a bundle source changes, fetches the correct number of older entries, and only shows historical changelog actions for bundle sources that actually supports them
Fixed an issue where the Patching in progress notification would clear early #257
Fixed an issue where the Patchng in progress notification would appear late #285
Fixed an issue where on fresh installs the user would be required to regenerate the keystore manually
Fixed background bundle and manager update checks being rescheduled on every app launch
Fixed websocket-triggered update checks so newer refreshes are not dropped behind older queued work
Fixed stale bundle update notifications not clearing when no updates remain
Fixed manager update notifications being suppressed after notification permission is turned off and back on
Fixed patcher runtimes holding loaded patch dex objects in memory longer than necessary by scoping patch loading closer to execution
Possibly resolved issues around patching Google Photos with De-ReVanced#349#343
Fixed valid APK files being rejected in various app flows #333
Fixed mislabeled image resources and invalid decoded manifest resource references breaking patching across the ReVanced, ReVanced v22, and Ample runtimes #346
Fixed .rvp patch bundles being mislabeled as Ample without positive Ample markers #358
Fixed older ReVanced .rvp bundles staying identified as ReVanced even when metadata loading fails #358
Preserve replaced variants when reinstalling saved apps, and clarify that the “Always create a new saved app entry” option only affects patcher saves #279
Fixed fullscreen bundle/profile dialogs showing a mismatched status bar strip above the top bar #341
Fixed the patcher source selector showing a false untrusted downloader plugin warning on clean installs with no downloader plugins added or installed #353
Fixed the patch bundle URL editor sometimes requiring two OK taps after editing #339
Possibily resolved OOM and crashing errors that are occuring for certain users when patching Google Photos with the De-ReVanced patch bundle #343#349
Fixed several split APK merger edge cases across runtimes, including duplicate extracted split filenames, incorrect density split skipping, and process-mode merge sorting not honoring its setting
Improved patching stability by hardening worker shutdown and notification handling during restarts and app closure and added safer recovery for stale patch progress snapshots #365
Fixed the Read APK file step showing extra Initializing patcher subtext on some runtimes
Fixed Prepare split APK substep ordering so skipped and non-skipped merge rows stay grouped consistently
Reworked patcher progress handling across all runtimes so Write patched APK uses structured grouped progress instead of inconsistent fallback row creation
Fixed the patch selector action popup collapsing after toggling patches even when Collapse actions after toggling patches is disabled #338
Fixed patch selector action popup behavior so patch toggles no longer dismiss it as an outside click when auto-collapse is turned off #338
Fixed patch bundle update notifications showing the default bundle name instead of the user’s custom bundle name after a successful update #364
Fixed bundle auto-update progress text so custom bundle names remain consistent throughout checking, downloading, and finalizing stages #364
Fixed the Recommended for this device merge split APK preset including extra ABI splits by preferring the device’s primary ABI
Fixed merge split tools progress grouping so skipped split rows remain grouped separately from non-skipped rows
Fixed the native library stripping toggle handler on the choose-splits dialog to use a stable explicit toggled state path
Fixed merge split APK filter switching so selecting Remove extra native libraries resets previous preset exclusions first, instead of carrying over exclusions from filters like Exclude unused languages or Recommended for this device#361
Fixed Settings and Update action buttons wrapping awkwardly under Android screen zoom #379
Fixed URV sometimes crashing when patching ran out of memory with the experimental patcher disabled #349
Fixed patcher progress sometimes lagging behind the foreground notification during the early Write patched APK phase #390
Fixed a few UI edge cases, including hidden RGB values in the custom YouTube asset color picker, clearer patch-profile empty-state wording for downloaded apps, and duplicate saved-entry normalization when overwrite protection is enabled https://github.com/Jman-Github/Universal-ReVanced-Manager/issues/291#279
Hardened remote patch bundle updating, API fallback handling, and bundle refresh state management #372
Fixed version assessment so universal-fallback APKs still respect the universal patches safeguard even when suggested-version enforcement is relaxed
Fixed bundle and profile count text so selected, enabled/disabled, and import/export messages use the correct singular or plural wording #385#384
Renamed the split merge native-libraries filter to Exclude extra native libraries and fixed patch bundle update banner grammar for singular vs plural counts #363#359
Improved installer settings consistency by adding blocked-installer notes, fixing PAT dialog link punctuation, fixed thw remaining issues with missing patch bundle update plural strings, and cleaning up installer wording/status labels #378#375#377#395
Fixed rooted mount installs creating a second visible saved-app entry for the same patched app #279
Fixed inconsistent dialog button alignment so export, patcher, color picker, and related settings dialogs now place actions on the right like the rest of the app #376
Fixed local APK source handling so returning from the patcher preserves the selected file correctly
Fixed patching notification timing and cancellation behavior so it appears immediately and clears correctly on cancel/close #401#409#292
Fixed downloader plugin edge cases by improving failed-source recovery, accepting valid plugin results without a reported version, showing download progress for size-less plugins, and expanding the downloader import URL field correctly on larger screens
Fixed rooted mount installs creating an unused empty legacy directory under /data/adb/revanced/<package> for newly mounted apps #411
Fixed the Export & Import settings flow by moving export actions before import, cleaning up wording and punctuation, correcting app count pluralization, and updating the manager version copy toast #418#425https://github.com//issues/416#413#415
Fixed patcher progress resume/replay syncing with notifications, improved Write APK DEX substep restoration, and improved app icon/label fallback handling #419
Fixed the dashboard "Select from storage" flow briefly showing the wrong page while the selected APK is being loaded #421
Fixed dashboard selection toolbars and selection state not clearing cleanly when switching between Apps, Bundles, and Profiles tabs #423#422
Fixed incorrect gesture-back preview behavior on screens that intercept back for in-app UI state changes instead of real navigation #280
Fixed framework cache recovery and bundled framework handling across all runtimes to prevent missing or corrupted framework cache patching failures
Fixed duplicate Saved/Installed entries by collapsing matching saved variants after install when saved app overwrite is enabled #279
Fixed split archive metadata resolution to use stricter device-matching split selection for app labels and icons
Fixed split APK merging so remove-extras and native library cleanup preserve required ABI, language, and DPI splits when only one compatible config is available
Fixed split APK tool settings so installed-app filters persist/export correctly, installer logs use clearer copy/export labels, and the duplicate GitHub PAT export toggle is removed #439#440#442#443
Fixed duplicate Apps tab entries being created after installing patched apps with custom installers #279
Fixed patch selection action buttons collapsing while scrolling, swiping bundles, or pressing actions when auto-collapse is disabled #448
Re-added the legacy/modern AAPT2 selector to resolve AAPT2 based resource compilation errors #460
Fixed bundle update notifications being cleared after a follow-up background check when the same manual bundle update was still available but had already been reported #470
Fixed the Apps tab "Update available" badge for patch bundles so stable releases correctly outrank matching prerelease/dev versions #468
Fixed the merge notification remaining visible after cancellation on some devices #549
Fixed the Bundle update label sometimes missing from saved app cards #566
Fixed the Tools screen briefly appearing when holding Back after merging or saving a split APK #560
Fixed rooted mounted apps sometimes starting without patches after reboot #578
Fixed patcher and split APK merger progress bars appearing partially filled before progress begins #569
Fixed issues with the split APK merger during corrupting and breaking some APKs
Fixed bundle update labels not appearing when a saved app's patch bundle was imported again through settings #581
Fixed bundle recommendations continuing to use the first selected bundle's patches after switching bundles while preserving custom patch selections #579
Fixed patch bundle update and import progress bars showing a filled marker at the end before completion #589
Fixed serval bugs around themeing & customization
Fixed duplicate entries appearing in Previous changelogs
Fixed Patch Profiles sometimes only showing storage as an APK source
Fixed some APKs merged with the Split APK Merger tool failing when later used for patching
Fixed the bundle update WebSocket service crashing after a background restart due to multiple DataStore instances accessing the same preferences file #647
Fixed the Recommended for this device split preset leaving native library cleanup unselected in the Split APK Merger and patcher #622
Fixed the All and None split presets remaining selected after applying cleanup filters in the Split APK Merger and patcher #616
Fixed bundle information closing when opened before a notification-triggered bundle highlight finished
Fixed RGB inputs in the custom YouTube color picker collapsing on shorter screens so entered values are retained and visible #628
Fixed the Disable patch selection tab swipe setting not being restored by manager settings and full backups #651
Fixed the patcher log export success message appearing late #620
Fixed the merge notification remaining visible after cancellation #623
Fixed ReVanced v22 patches failing with uninitialized hook and method errors
Fixed split APKs with manually excluded language, ABI, or density modules failing during patching, including APKs produced by the Split APK merger tool #658
Performance Improvements
patcher: reduce APK writing and signing overhead (d0c98a4)
Refactors
Migrated URV’s internal source namespace from app.revanced.manager to app.urv.manager across the app, API, and runtime modules
Reorganized navigation, tab, and action-button settings under Appearance & UI, and improved search to expand and highlight nested settings correctly
CI
Added a manual debug build workflow that uploads dev APK artifacts with a -debug version suffix without publishing a release
Updated GitHub Actions dependencies to current Node 24-compatible versions, resolving Node.js 20 and deprecated action warnings
Converted repository to semantic release based system instead of the manual mess I had before
All prereleases/releases are published with a universal (all ABI) APK, and the ABI specific APKs. The in-app updater now automatically picks the APK that matches your ABI
Updated manager release APK filenames to use canonical ABI labels such as arm64-v8a, armeabi-v7a, and universal, and updated the in-app updater/workflows to match the new asset names while preserving compatibility with older releases #428
Added JVM unit test checks before dev and release APK builds