Skip to content

Releases: Shonkware/DroidModLoader

Droid Mod Loader v0.7.0-beta: Reliable Foundation

Choose a tag to compare

@CyberShonk CyberShonk released this 30 Jun 02:12

Droid Mod Loader v0.7.0-beta

Summary

v0.7.0-beta is the Reliable Foundation release. It strengthens archive
handling, protects installed mods during replacement, adds interruption and
cancellation recovery, completes the direct-filesystem transition, and retains
the post-v0.6.0-beta architecture and plugin-order improvements.

Added

  • Tale of Two Wastelands profile support with the correct legacy
    timestamp-based plugin-order policy.
  • Content-signature detection for ZIP, 7Z, RAR4, and RAR5 archives.
  • Safe extraction limits for paths, duplicates, case collisions, entry counts,
    file sizes, total output, path length, and available storage.
  • Persistent replacement transactions with recovery after interruption.
  • Cooperative cancellation for archive copying, extraction, preparation, and
    installation.
  • Canonical release version metadata through version.properties.

Changed

  • DML now uses direct filesystem paths for Game Root, Data, Archive Library,
    archive imports, deployment, scanning, overwrite inspection, and legacy
    plugin timestamp ordering.
  • Archive type and Archive Library labels are based on file content rather than
    filename extensions.
  • New mod content is fully staged before it can replace an existing installed
    mod.
  • Archive import cancellation distinguishes between unregistered partial copies
    and archives already saved to the library.
  • Internal activity and engine responsibilities were split into focused
    workflows and services without intentionally changing established behavior.
  • The displayed app version now comes from the APK's build configuration.

Fixed

  • Failed or partial extraction can no longer be accepted as a successful mod
    installation.
  • Existing installed mods remain available when replacement preparation or
    promotion fails.
  • Interrupted replacement operations are recovered during startup and profile
    activation.
  • Cancellation removes partial copied or extracted output where possible.
  • RAR failures now distinguish unsupported RAR5, encrypted or
    password-protected archives, multipart archives, corruption, and general I/O
    failures more clearly.
  • Supported archives can be recognized when their filename extension is missing
    or incorrect.

Known Issues

  • RAR5 is recognized but cannot currently be installed.
  • Password-protected or encrypted archives and multipart RAR archives are not
    supported.
  • Some uncommon 7Z compression or encryption variants may remain unsupported.
  • Android does not allow DML to access another application's protected
    Android/data directory.
  • Game Root and Data folder validation still needs stronger game-specific
    guidance.
  • This is beta software. Back up important game folders before deployment.

Upgrade Notes

  • Install v0.7.0-beta over v0.6.0-beta. Do not uninstall first if you want
    to preserve app-managed profiles and state.
  • Grant all-files access when prompted on Android 11 or newer.
  • Upgrade validation confirmed retention of profiles, direct paths, archive
    history, installed mods, plugin state, and deployment state.
  • Legacy URI-only Game Root, Data, and Archive Library selections must be
    selected again as direct filesystem paths.

Validation

Completed for this release:

  • JVM unit tests and project validation script;
  • debug and release APK assembly;
  • version name v0.7.0-beta and version code 3 verification;
  • game-aware plugin-order tests;
  • focused archive probing, extraction-safety, replacement, recovery, and
    cancellation tests;
  • real ZIP, 7Z, RAR4, RAR5, encrypted, multipart, corrupt, renamed, and
    extensionless archive checks;
  • fresh install and in-place upgrade from the public v0.6.0-beta APK;
  • profile, path, archive-history, mod, plugin, and deployment-state retention;
  • large-import cancellation and cleanup;
  • interrupted replacement recovery after restart; and
  • safe-folder deployment and restart smoke checks.

Droid Mod Loader v0.6.0-beta: Profile-Specific Archive Library

Choose a tag to compare

@CyberShonk CyberShonk released this 17 Jun 05:44

Summary

Droid Mod Loader v0.6.0-beta adds a proper archive-folder browser and makes the archive library easier to use across multiple game profiles.

Instead of selecting one archive at a time, you can now choose the folder where you keep downloaded mods. DML remembers that folder for the active profile and displays supported archives in a searchable library.

This release also contains substantial internal cleanup intended to make future development safer without changing existing mod-management behavior.

Archive Library

  • Select a folder containing downloaded mod archives.
  • Browse top-level ZIP, 7Z, and RAR files directly inside DML.
  • Search the archive list by filename.
  • Refresh the folder after adding or removing files.
  • Change the selected archive folder at any time.
  • Keep separate archive-folder selections for different DML profiles.
  • Retain the selected folder after restarting the app.

DML reads archives from the selected folder but does not modify or delete the original files. When you install a mod, DML keeps its own managed copy.

Archive Status and Sorting

Archive entries can now show whether they are:

  • Available to install
  • Previously installed in the active profile
  • Currently installed in the active profile

Archives available for installation are shown first. Currently installed archives are placed toward the bottom of the list.

Installation history and archive status are evaluated separately for each active profile.

Profile-Specific Folder Selection

Each profile can now remember its own archive folder.

For example:

  • A Fallout: New Vegas profile can use an FNV archive folder.
  • A Skyrim profile can use a Skyrim archive folder.
  • An Oblivion profile can use an Oblivion archive folder.

Users upgrading from the earlier archive-browser implementation will have their existing shared folder migrated to the first active profile that opens the Archive Library. Other profiles can then select their own folders.

Installation Improvements

Archives opened from the new library use DML’s existing archive-import and installer pipeline.

This keeps simple archives, manual layout selection, FOMOD handling, BAIN handling, metadata tracking, and managed archive storage on the same installation path.

The duplicate archive-library installer implementation introduced during development has been removed.

Interface Improvements

  • Main-screen scroll position is retained during the current app session.
  • Fullscreen Mods, Plugins, and Archive lists retain their scroll positions.
  • The Archive Library includes dedicated Refresh, Change Folder, and Close controls.
  • Developer Tools remain available through the existing version-text unlock.

Internal Changes

This release includes substantial responsibility extraction from MainActivity and other large UI workflows.

The cleanup separates profile, deployment, installer, archive, mod, plugin, recovery, developer-tool, and fullscreen-panel actions into smaller components. These changes are intended to preserve existing behavior while making future work easier to review and test.

The broader refactor is not finished and will continue after this release.

Upgrade Notes

  • This version can be installed over v0.5.5-beta.
  • Existing profiles and installed-mod records should remain available.
  • Tap Install Mod and select the folder containing downloaded archives.
  • Each profile can remember a different archive folder.
  • The original archives remain in the selected source folder.
  • Back up important game folders before testing deployment features.

Known Issues

  • Some 7Z and RAR archives may still fail depending on their compression method or archive format.
  • Archive scanning currently checks only files directly inside the selected folder. Subfolders are not scanned.
  • Full Nexus Mods browsing, API downloads, collections, and download queues are not included yet.
  • Deployment recovery messages and tools still need additional polish.
  • Droid Mod Loader remains beta software.

Supported Games

Current profile support includes:

  • Fallout: New Vegas
  • Fallout 3
  • Tale of Two Wastelands
  • Skyrim Legendary Edition
  • Oblivion

Support quality and game-specific behavior may vary while DML remains in beta.

Feedback

When reporting a problem, include:

  • Device model
  • Android version
  • Game and active DML profile
  • Archive format
  • Mod name
  • Steps that caused the problem
  • Screenshots or DML logs when available

Thank you to everyone testing Droid Mod Loader and helping improve Bethesda modding on Android.

Droid Mod Loader v0.5.5-beta

Choose a tag to compare

@CyberShonk CyberShonk released this 09 Jun 04:32

Droid Mod Loader v0.5.5-beta

Summary

This release focuses on archive/download metadata verification, developer diagnostics, and project process hardening.

Changes

  • Added unit coverage for archive metadata tracking.
  • Added unit coverage for archive metadata summaries.
  • Added unit coverage for Nexus URL parsing.
  • Added a Developer Tools action to print saved archive library metadata without changing files.
  • Added a documentation pre-push gate so project docs are checked before GitHub pushes.
  • Continued release-readiness cleanup for the archive import/download metadata path.

Notes

This release does not add full Nexus browsing, Nexus API downloads, collections, or a download queue yet. It lays more groundwork for those systems by making imported archive metadata testable and inspectable.

Validation

  • Unit tests pass.
  • Release APK builds.
  • Archive metadata records can be inspected through Developer Tools.

Droid Mod Loader v0.5.3-beta: Resolved Graph Foundation

Choose a tag to compare

@CyberShonk CyberShonk released this 24 May 02:09

This is a pre-release development build for the next stage of Droid Mod Loader’s engine work.

Adds initial ResolvedDataGraph models and builder.

The graph combines installed mods, indexes, file hash identities, and installed mod records into a read only resolved profile summary. This does not change deployment behavior yet. This is the future of indexing and deployment. It will ultimately turn the very basic manifest generated by the app into a very advanced system to track every detail necessary for many important details.
Like :
Which version wins?
Which dependency is actually used?
Which files are active?
Which plugins are enabled?
What final order should be applied?
What conflicts are ignored, overridden, or invalid?
The many different Why's of these situations.
While maintaining efficiency and performance.

You do not need to update to this build unless you want to test the output of the graph builder and send me your results. This exists purely to save my progress and document my changes. Testing this feature isn't a huge priority as it doesn't do much yet.

Screenshot_20260523-191205

If you want to test it, just load any profile and hit the button at the bottom of the screen that says "Build Resolved Graph Summary" then send me your log.

-Shonk

Droid Mod Loader v0.5.2-beta: Install, Profile, and Repair Hotfix

Choose a tag to compare

@CyberShonk CyberShonk released this 19 May 02:39

This is a follow-up beta hotfix for users testing v0.5.x builds.

Important:
If you used v0.5.0-beta and saw files such as .ini.txt, .xml.txt, duplicate folders, or incorrectly wrapped installed mod folders, use the new repair tool from Developer Tools:
Repair v0.5.0-beta Artifacts

Changes

Profile fixes

  • Fixed profile switching so the active profile’s game ID is applied correctly.
  • Fixed cases where Fallout: New Vegas plugin state could remain visible after switching to a Fallout 3 profile.
  • New profiles now become the active profile immediately after creation.
  • Saving profile settings no longer accidentally changes the profile’s game.
  • Profile loading now logs active profile context for easier troubleshooting.

Installer and archive fixes

  • Improved archive layout detection for common mod package structures.
  • Fixed one-folder wrapper installs, such as OuterFolder/Data/textures/...
  • Added a Mod Organizer-style manual Data folder selection flow for ambiguous archives.
  • Fixed mixed root/Data archive handling so SKSE/NVSE-style root files are preserved.
  • FOMOD archives are now detected first.
  • Unsupported FOMOD installers now fail gracefully instead of installing raw fomod metadata.
  • Increased the default 7z extraction memory limit from 128 MiB to 512 MiB.
  • The supported 7z memory range is now designed around 256 MiB safe minimum, 512 MiB default, and 1024 MiB maximum.

Tree URI and filename fixes

  • Fixed Tree URI folder lookup so existing folders like Sound are reused instead of creating sound(1).
  • Fixed Android document provider filename behavior that caused .ini, .xml, and similar files to become .txt files.
  • Deployed files now preserve exact filenames more reliably.

Repair tool

  • Added a one-time repair tool for v0.5.0-beta artifacts.
  • Repairs .ini.txt, .xml.txt, .cfg.txt, and similar bad filename suffixes.
  • Repairs incorrectly wrapped installed mod folders.
  • Attempts safe duplicate-folder merging.
  • Rebuilds mod file indexes after repair.
  • Writes a repair report to the active profile state folder.
  • Existing correct files are not overwritten; conflicts are skipped or quarantined.

Mod list cleanup

  • Added cleaner display name handling for newly installed mods.
  • Original archive filenames are still preserved internally.
  • Installed folder names are not renamed, so existing state remains stable.
  • Added nullable metadata fields to installed mod records for future Nexus metadata support.

Plugin output fixes

  • Writing plugin files now uses the saved plugin list instead of blindly rescanning the selected Data folder every time.

  • If no saved plugin list exists, the app refreshes plugins once before writing.

  • The repair tool is intended for affected beta testers, not as a normal everyday workflow. It will be hidden in future updates.

Droid Mod Loader v0.5.1-beta: Deployment Safety Hotfix

Choose a tag to compare

@CyberShonk CyberShonk released this 17 May 19:35

v0.5.1-beta is a deployment safety hotfix.

This update adds ownership protection for deployed files. Droid Mod Loader now backs up pre-existing files before overwriting them and restores those backups when the managed mod is removed or disabled. This protects manually installed files, vanilla files, root folder files, SKSE/NVSE/ENB style files, and existing modded setups.

After getting many questions about TTW installs this fix will ensure installation and deployment compatibility with that mod.

Recommended update for all v0.5.0-beta testers.

Droid Mod Loader v0.5.0-beta: Game Root Support, SKSE Compatibility, And Major Performance Gains!!

Choose a tag to compare

@CyberShonk CyberShonk released this 17 May 09:23
  • Game Root folder support
  • SKSE/root-file deployment support
  • Data vs Game Root scoped manifests
  • Major deploy performance improvements
  • Per-mod file indexes
  • Better Tree URI deploy caching
  • Split Deploy Mods from Write Plugin Files
  • Improved archive/FOMOD handling
  • Data vs Root UI visibility

Expand game support, add Overwrite baseline tracking, fullscreen panels, and plugin/file UI improvements

Choose a tag to compare

@CyberShonk CyberShonk released this 15 May 05:03
  • Add support for Oblivion and Fallout 3 profiles.
  • Expand supported game list to Skyrim LE, Oblivion, Fallout 3, and Fallout New Vegas.
  • Update setup and profile creation dialogs to use the shared supported game list.
  • Add official plugin rules for Oblivion and Fallout 3.
  • Expand official plugin handling while preserving scan-first behavior so missing DLC is not injected.
  • Improve script-extender/content indexing support for OBSE and FOSE folders.
  • Add automatic Data folder baseline indexing for Overwrite tracking.
  • Make baseline creation automatic when missing instead of exposing a manual index button.
  • Make baseline creation backward-compatible by excluding currently deployed DML files from the baseline.
  • Replace the old untracked Data scanner behavior with baseline-based Overwrite candidates.
  • Add Overwrite scan models and baseline repository/snapshot models.
  • Add Overwrite panel showing new/changed files created after baseline indexing.
  • Keep default game files out of Overwrite by treating existing target Data contents as baseline.
  • Add Mods panel and Plugins panel as large floating scrollable dialogs.
  • Add Open Fullscreen buttons for Mods and Plugins cards.
  • Add drag-handle reorder support in Mods and Plugins panels.
  • Add apply-full-order APIs for mod and plugin priority ordering.
  • Preserve locked official plugins at the top during plugin reordering.
  • Add large floating installer and file preview dialogs without user facing fullscreen toggle buttons.
  • Change View Files to show folder/file summaries instead of dumping every deployed file.
  • Add color highlighted folder summaries for winning, overwritten, plugin/archive, and config groups.
  • Add safe empty folder cleanup for local deployment removals.
  • Protect important top-level game folders from cleanup.
  • Remove game selection chips from Deployment & Settings because game selection is profile controlled.

Better plugin scanning and RAR support!!!!!

Choose a tag to compare

@CyberShonk CyberShonk released this 14 May 00:50
  • Add RAR archive import support.
  • Add MO2 style “View Files” popup for installed mods.
  • Add mod file preview sections for deployed/winning, overwritten, plugins, archives, config files, setup files, documentation, optional files, and unknown files.
  • Add fullscreen toggle for mod file preview.
  • Add plugin scanning from selected target Data folder.
  • Add support for official/base game plugins when detected in the target Data folder.
  • Add support for unmanaged plugins already present in the target Data folder.
  • Add plugin source labels for Base Game, Official DLC, Managed Mod, and Unmanaged Data Folder.
  • Lock detected official/base plugins so they cannot be disabled or moved accidentally.
  • Update plugin export so generated plugins.txt/loadorder.txt can include detected base game, DLC, managed, and unmanaged plugins.
  • Improve plugin manager behavior for users without all DLC installed by scanning actual files instead of blindly adding default plugins.
  • Add experimental second-screen plugin display support for dual-screen devices like AYN Thor.
  • Add toggle to enable/disable second-screen plugin display.
  • Improve plugin list/debug visibility for external and manually installed plugins.

No more pre-release yay! Added a bunch of stuff

Choose a tag to compare

@CyberShonk CyberShonk released this 13 May 04:14
  • Add first-launch setup and profile persistence.
  • Add profile management dialog with create/switch/delete support.
  • Replace manual target path fields with target folder picker.
  • Convert mod/plugin priorities to sequential 1-based ordering.
  • Add startup migration for old 10/20/30 priority configs.
  • Fix mod/plugin move operations by preserving swapped list order during normalization.
  • Add compact mod rows with checkbox enable state and expandable actions.
  • Add mod content indexing and display deployable/plugin/archive/config/setup/optional counts.
  • Add two-phase archive install flow with PreparedArchiveInstall.
  • Add BAIN/FOMOD installer detection and installer choice dialog.
  • Add pending installer finalize/cancel handler.
  • Improve archive import flow, 7z handling, and operation logging.
  • Add Toast-based operation feedback and duplicate-operation guard.
  • Added skinny screen support(Thanks SavageTheUnicorn)