Releases: Shonkware/DroidModLoader
Release list
Droid Mod Loader v0.7.0-beta: Reliable Foundation
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/datadirectory. - Game Root and
Datafolder validation still needs stronger game-specific
guidance. - This is beta software. Back up important game folders before deployment.
Upgrade Notes
- Install
v0.7.0-betaoverv0.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-betaand version code3verification; - 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-betaAPK; - 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
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
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
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.
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
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
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!!
- 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
- 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!!!!!
- 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
- 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)