Mod Organizer 2 Development Changelog 2.4.0 - ModOrganizer2/modorganizer GitHub Wiki

See Mod Organizer 2 Changelog for changes to released software.

2.4.3 RC 3

  • Updated lootcli for LOOT 0.17.x masterlist and game detection changes.
  • Added Valheim support.

2.4.3 RC 2

  • Updated libloot to 0.17.1
  • Updated about page
  • Updated translations

2.4.3 RC 1

Improvements and Fixes:

  • Fixed crash/freeze due to the personal information blocker from alpha 3.
  • Fixed error when closing the profiles dialog with something other than the "select" button.
  • Fixed issue running an executable when MO2 was in a folder with a space.

Game Support:

  • Added support for Vampire - The Masquerade: Bloodlines.

2.4.3 alpha 4

Improvements and Fixes:

  • Fixes for parsing plugin names with periods in them (e.g, "foo2.0.esp").
    • This seems to have been mostly harmless and mostly dealt with unmanaged mods.
    • This should fix the dreaded "Trying to find file with no name" error log.
  • Fixed GTA 3 plugin.

2.4.3 alpha 3

Game Support:

  • Added support for detecting Origin games (see GameOriginManifestIds in game_da2.py`).
  • Added support for bypassing Origin DRM (see GameOriginWatcherExecutables in game_da2.py).
  • Added Dragon Age 2, Grand Theft Auto Definitive Edition, Mass Effect Legendary Edition, and The Witcher Enhanced Edition support.
  • Minor fixes to Subnautica and Subnautica: Below Zero support.
  • Improved Stalker: Anomaly support (better save game reading, better mod installing, content flags added, prevent a possible crash).

Bethesda Game Support:

  • Fixes to Bethesda games for locating My Games directory (e.g., if both "Fallout 4" and "Fallout4" existed, the wrong folder was being chosen).
  • Updated script extender plugin checker for new messages introduced in SKSE 2.1.3.
  • Fixed script extender plugin checker for TTW.
  • Fixed the fact that "foo.asdf__esp" is considered an .esp file.

Improvements and Fixes:

  • Fixed using custom paths in the instance creation dialog for portable instances.
  • Improved tab order on the instance creation dialog.
  • Improved logging of the Windows version (changed due to Windows 11).
  • Fixed "cache" folder being created and considered a new instance. If an instance called "cache" suddenly appears, just delete it.
  • Removed some personal information from logs.
    • Steam username and password could be visible if entered into MO2, debug logs were enabled, you had MO2 start Steam, and then you gave the relevant logs to someone. Most people don't even know this feature exists so did not enable it. Replaced any instances of them with STEAM_USERNAME and STEAM_PASSWORD.
    • The Windows username can be a real name. Replaced any instances of it with USERNAME.
    • This might come with a significant performance impact when debug logs are enabled. Just another reason to keep them disabled when not using them.
  • Improved "visit Nexus" links for games that don't have Nexus pages.
  • Fixed selecting a newly created profile with the "select" button in the profiles dialog.
  • Added Brave (the web browser) to the default executable blacklist.
  • Added option to "Show menubar when pressing Alt" (enabled by default).

2.4.3 alpha 2

Game Support:

  • Added Black and White 2, Daggerfall Unity, Nier:Automata, Nehrim, Starsector, Star Wars: Empire At War, Subnautica, Subnautica: Below Zero
  • Improved Kerbal Space Program support (list/read save files)
  • Improved Oblivion support by adding setting to allow Nehrim downloads
  • Improved Oblivion support by automatically enabling OBSE hack
  • Improved Skyrim VR support by adding setting to allow Enderal and Enderal SE downloads.
  • Fixed possible issues with profile-specific files for all the Fallout games

Improvements and Fixes:

  • Improved game support by enabling forced load libraries by default (no effect by itself)
  • Fixed various things related to the OMOD installer
  • Fixed ampersands being displayed in the instance setup wizard
  • Fixed checking for mod updates when no installation file is defined

2.4.3 alpha1

Improvements:

  • Fix download status ordering not ordering by newest files first.
  • Support Nexus file archiving change that caused a couple of bugs with the update check and download query.
  • Added FaceGenData modlist filter and content icon.

Plugin interface:

  • Plugins can now access the virtual file tree using virtualFileTree()
  • Removed boost as a dependency in uibase

2.4.1 RC1

Game support

New basic game support:

  • Monster Hunter: World
  • Blade & Sorcery
  • Assetto Corsa
  • X-Plane 11
  • Microsoft Flight Simulator 2020

Add full support for Enderal Special Edition (Steam version only)

  • Use the Skyrim Special Edition plugin for the Nexus version of EnderalSE and enable downloads for Enderal SE in the plugin settings.

Improvements:

  • Improved basic support for Darkest Dungeon (saves display, archive checking).
  • Added VR support for No Man's Sky
  • Improved saves support for STALKER: Anomaly

Improvements

  • Better logs for issues when loading the Python proxy (#1451).
  • The save list now displays both the name of the save (as specified by the game plugin) and the name of the save file.
  • Added scrollbars to some tabs in the setting dialogs to make it smaller.

USVFS

  • Fix an issue with DRM that prevented some games to be run through MO2.

Fixes

  • Fix an issue where styles would not affect the download list anymore (#1427).
  • Fix an issue with UNC paths failures for downloads folder (#1423).
  • Fix incorrect sorting by priority while grouping by category (#1426).
  • Fix an issue where users could get stuck in the tutorial (#1419).
  • Add missing translations in release (#1420).
  • Fix mod list not always showing available updates (PRs #1417 and #1431).
  • Fix "Send to separator... " when sorting by descending priority (#1421).
  • Fix multiple issues with sorting the download list (#1438).
  • Fix the priority of newly created mod with "Create Empty Mod".
  • Fix an issue with load order when using locked plugins.

Plugins

  • BAIN Wizard installer
    • Fix crash at the end of the installation (#1445).
    • Fix not-selected ESPs being installed anyway.
  • OMOD installer
    • Partially fix an issue with OMOD modifying BSA archives.
  • FNIS Tool
    • Fix patch list filename for Skyrim VR in FNIS Tools (PR #17).
  • Fix Basic Games crashes on startup
    • if appmanifestbacks folder exists (#1422),
    • when a steam library is not accessible (#1425).
  • Configurator is now disabled by default.
  • BSA extraction is only enable by default for alternate source.

2.4.0 RC3

Fixes

  • If a portable instance cannot be opened and Cancel is clicked, the instance selection window will be shown instead of being stuck in a loop.
  • Fixed duplicate folder names sometimes being shown when creating subfolders in the mod installation window.

2.4.0 RC 2

Game support

  • New game: Kernal Space Program

Fixes

  • Fix shortcuts for portable MO2 instances.
  • Mods should now properly re-appear in the mod list after checking for updates when one is available.
  • Conflict markers should now more properly update after enabling/disabling mods.
  • Remove a spurious warning for supported games not available on Steam.
  • The update dialog for Mod Organizer 2 should now properly display the changelog from the current to the last version.

2.4.0alpha7

Improvements:

  • The settings have been re-organized:
    • The download list settings have been moved back to the "General" tab.
    • There is now a "Theme" tab where you can change MO2 global theme and colors.
    • The "User Interface" tab has been renamed "Mod List".
    • The "Steam" tab has been removed and its content moved to the "Workarounds" tab.
    • Non Nexus-related settings have been moved from "Nexus" to "Workarounds".
    • Old unused settings have been removed: hide unchecked plugins and load mechanism.
  • There is now a --pick option that forces MO2 to show the "Instance manager" dialog on startup.
  • The Data tab is now updated when mods are moved, removed or enabled.
  • Collapsible separators are now enabled by default when sorting by descending priority.

Fixes

  • The "Forced Load Libraries" dialog should now be correctly populated on first use.
  • Changing the sort order when using collapsible separators will now properly refresh the mod list (a manual refresh was required before).
  • Fix an issue where separator names would be used when installing a mod instead of archive name.
  • The log list should now be correctly populated on startup.
  • The mod counter should now properly update when filtering.
  • Right-clicking on an empty space in the plugin list does not trigger an error anymore.
  • "Enable all"/"Enable selected" will not enable backups anymore.
  • Fix an issue where priority of new mods or dragged mod would be set improperly.
  • Downloading mods from Nexus should not make MO2 the top-level application anymore.
  • The "Show meta information" settings for the download list should now work properly.
  • Fix an issue where plugins could get disabled after refresh if the case of the name did not match.

usvfs 0.5.1

  • Symlinks/reparse points for directories should now work with Wine.

Dependencies updates:

  • Qt 5.15.0 -> 5.15.2 (already in last build)
  • boost 1.74.0 -> 1.75.0
  • fmt 7.0.3 -> 7.1.3
  • lz4 1.9.2 -> 1.9.3
  • openssl 1.1.1h -> 1.1.1i
  • pyqt 5.15.1 -> 5.15.2
  • sip 5.4.0 -> 5.5.0
  • python 3.8.6 -> 3.8.7
  • spdlog 1.8.0 -> 1.8.2

2.4.0alpha6

Improvements:

  • Collapsible separators:
    • Added collapsible separators when sorting by reverse priority.
    • Collapsed separators now display contents, flags and versions from the mods they contain.
    • Alt+Click can now be used to select a separator with all the mods it contains.
    • When a collapsed separators is selected, highlight conflicts and plugins as if all the mods in the separator were selected.
  • A new User Interface tab has been added to the Settings dialog with multiple new settings:
    • Check for updates after a mod installation (enabled by default) (#1039).
    • Disable/enable collapsible separator in ascending or descending priority order (both enabled by default).
    • Automatically hide downloads after installation (disabled by default).
    • Remember active modlist filters after restarting MO.
    • Auto collapse items on hover during drag.
    • Profile specific separator collapsed state.
    • Show conflict colors on/from collapsed separators.
    • Which icons to show on collapsed separators.
  • Add context menu entries to send selected mods before first or after last conflicting mods (#697).
  • The "Install mod" context menu entry will now install the mod above/below the selected mod when sorting by priority (#1369).
  • Add keyboard navigation to the download list (#924):
    • Install selected mod: Enter
    • Remove selected mod / cancel download: Del
    • Pause / resume download: Space
  • When deleting a download, the filename is now displayed in the confirmation dialog (#1345).
  • You can now select multiple lines in the log list and copy them using Ctrl+C.
  • Three new commands have been added to the command-line interface of MO2:
    • ModOrganizer.exe refresh causes the currently running instance of MO2 to refresh.
    • ModOrganizer.exe reload-plugin "A Plugin" causes the currently running instance of MO2 to reload the MO2 plugin named "A Plugin".
    • ModOrganizer.exe run can run a program, file or a configured executable. See run --help for more information.

Fixes:

  • Prevent MO2 from crashing when filtering category if a category is its own parent.
  • Fix MO2 crash on empty/corrupted BSAs when archive parsing is enabled.
  • Fix an issue where MO2 would not properly set the path for games when the executable is in a sub-folder (#1346).
  • Fix dropping of mods below/above collapsed separators.
  • Fixed modlist shift selection weirdness caused by accidentally triggering an Edit operation while selecting.
  • Editing the priority of a plugin via the cell editor now properly writes the load order (#522).
  • Running executable using the command line should now properly update loadorder etc. after execution (#1094).
  • Fix mod name case handling to avoid issues when mod folders or modlist.txt are changed outside MO2.
  • Fix various issues and errors related to pluginlist priority locking.
  • Fix issues with selection being lost after changing the priority of mods.
  • Fix improper highlighting for conflicts between archive and loose files.
  • Allow preview on files with uppercase extensions (.DDS).
  • Fix drag & drop issues in the manual installer (folders not merging, drag&drop not enabled).
  • Fix changing priorities sometimes leaving gaps if mod backups exist.

New game support:

  • Added "Dragon Age: Origins" support

2.4.0alpha5

Collapsible separators

Huge thanks to Holt59 for implementing everything here!

New feature: collapsible separators!

  • Enabled by default when sorting by ascending priority.
    • Disabled when grouping by something else (Nexus ID or Category).
    • Disabled when sorting by descending priority and by any other column.
    • Can be globally disabled in the settings (first tab, "Mod List" group below the old "Download List" group).
  • Mods under separator are not indented on purpose while using collapsible separators.
  • When a separator is collapsed, it will visually reflect its children:
    • The marker on the scrollbar will take the color of the children markers (combined).
    • The background of the separator will take the color of the children markers (combined).
    • The icons in the conflicts column will reflect conflicts from the children (combined).
    • This can be disabled in the settings.
  • When using collapsible separators, the 'Filter Separators' box in the filter list is disabled.

Drag&Drop

Drag&Drop improvements for the mod list:

  • The UI should reflect more appropriately invalid action, e.g. drag&drop while not sorting by priority or trying to drop a file in an invalid mod.
  • The drop indicator now span the whole row instead of only the column.
  • With collapsible separators, you can drop onto a separator (collapsed or not) and the mod will drop at the end of this separator.
  • New drag&drop features:
    • You can now drag&drop from the download list to the mod list to install a mod at a specific priority.
    • You can now drag&drop external archives to the mod list to install a mod at a specific priority from an external file (only if the file is supported by MO2).
    • You can now drag&drop external folder to the mod list to copy them.

Minor

  • Shift+Enter on the mod list will now expand or collapse the current item or its parent when possible (with collapsible separators or in group by).
  • Page Up/Page Down can be used to go to next or previous mod in the information dialog.
    • The previous/next mod action should be fixed for category/nexus grouping.
  • Ctrl+C on the mod list or the plugin list will now copy the names of the selected mods/plugins.

Fixes

  • Running a shortcut to a program when UI locking is disabled should make the mods available correctly (#422)

2.4.0alpha4

Usvfs:

  • Moderate performance optimizations for "Preparing VFS"
  • Fixed Explorer++ generating empty Device folders in overwrite
  • Fixed a rare crash when a hooked process tried to terminate a child process
  • Fixed a rare crash (found with NifSkope) when trying to move to a larger shared memory instance
  • Fixed multiple processes sometimes having a different view of the virtual filesystem

Improvements:

  • Added support for installing OMOD format mods (thanks to AnyOldName3!)
  • Added support for installing BAIN Wizard mods (thanks to Holt59!)
  • Added Refresh button to toolbar and menu
  • Greatly improved performance of the Downloads Tab when refreshing
  • Searching downloads now checks all the columns, added regex support
  • Improved normal BAIN mods package detection (ignore screenshots, docs etc.)
  • Added "Select" button in Profile dialog and double-click on profiles in the list
  • Added delete key shortcut in the Saves tab
  • Added "Open in Explorer" option to Saves tab right-click menu
  • Added toggle for Nexus mod tracking integration
  • Added option for using custom browser to open links
  • The "Create file in mod" list is now searchable by typing in the box
  • Improved blue conflict icons (thanks to BlueAmulet!)
  • Added new Morrowind Style by Trosski
  • More logging and diagnostics
  • Warn users before disabling plugins that are required by other plugins.
  • Disable activating plugin that cannot be used with the current game.

Fixes:

  • Fixes for offline mode: skip nexus login, update check on mod install, sort plugins, etc.
  • Fixed multi-selection mark converted/ignore missing data crashing or not working correctly with a filtered modlist
  • Fixed Executables shortcuts not getting hooked correctly when MO2 locking is disabled
  • Improved stability when installing large mods (3DNPCS)
  • Show a warning when attempting to rename the active profile in Profile dialog
  • Don't refresh Modlist when opening Profiles dialog
  • Update mod count when creating/restoring backups
  • Properly ignore .log1 .log2... files in overwrite if ignore logs is used
  • Updated Qt to 5.15.2:
  • Fixed a crash on startup with some particular windows locale settings
  • Potentially fixed Network issues when using VPN or similar things

New game support:

  • Kingdom Come Deliverance (Silencer7111)
  • No Man's Sky (EzioTheDeadPoet)
  • Fix the default executable and the game detection for non-Steam/GOG version of Darkest Dungeon.
  • Added GOG ID to Dungeon Siege II.

MO2 API changes (for MO2 extension dev):

  • added modInfo::isSeparator(), isBackup() etc
  • added refresh option to waitForApplicatio()
  • changed the way saves are listed by game plugins.
  • added functions to define for requirements between plugins

2.4.0alpha3

Improvements:

  • Add a completely new instance management dialog to switch/create/rename/delete instances.
  • Comes with buttons to explore the paths of an instance and opening the modorganizer.ini file.
  • Instance deletion will now support deleting customized instance paths such as base directory/mods/downloads etc.
  • Users can now select which paths to keep or delete.
  • Instance creation comes with a new wizard like setup to choose the game, define paths and optionally log into nexus.
  • Overhaul Mo2 command line with new commands and options(backwards compatible with current stuff):
    • crashdump: replaces the old --crashdump.
    • -i <instanceName>: overrides the instance to open.
    • -p <profileName>: overrides the profile to open.
    • --multiple: allow running a new MO2 process even if other MO2 processes are already running.
    • Warning! --multiple is unsupported and can create all sorts of weird problems. To minimize these:
        1. never have multiple MO processes running that manage the same game instance;
        1. if an executable is launched from an MO process, only this process may launch executables until all processes are terminated;
        1. it is recommended to close all MO processes as soon as multiple processes become unnecessary.
  • Add counter tooltips to general conflicts tab with more info such as total amounts of files, archive/loose and percentages.
  • Remember currently open tab in right panel.
  • Improve simple archive detection (when archive contains Data + images).
  • Recognize Nemesis_Engine as valid mod content.
  • Moved the registry key from HKCU/Software/Tannin to HKCU/Software/Mod Organizer Team.

New game support:

  • Mod Organizer now comes with support for a couple of new games:
    • Darkest Dungeon
    • Dark Messiah of Might & Magic
    • Dark Souls
    • Dungeon Siege II
    • Mirror's Edge
    • Mount & Blade II: Bannerlord
    • STALKER Anomaly
    • Stardew Valley
    • The Binding of Isaac: Rebirth
    • The Witcher 3: Wild Hunt
    • Zeus and Poseidon
  • Support for these games is still preliminary. Some parts of the user interface might show elements that are unused by the game.
  • Many thanks to Holt59 for his hard work on the infrastructure to support these non-Bethesda games, as well as erri120, EzioTheDeadPoet, Qudix and Syer10 for creating plugins for some of the games.

Fixes:

  • Fix bsa packer "Archive is not on writing mode" error when packing.
  • Fix archive conflicts not updating during refresh (NOTE! This is still bugged, two consecutive refreshes are required to properly update archive conflicts).
  • Fix advanced conflicts tab not respecting correct archive conflicts ordering.
  • Fix conflicts tabs sorting being case sensitive.
  • Fomod installer: use first option when incorrect archives have multiple options with same priority.

Plugin interface:

  • Plugin can now access the underlying data structure of a mod using fileTree().
  • Improve handling of inactive plugins:
    • onInstallationStart and onInstallationEnd is not called anymore on inactive installers.
    • Registered callbacks will not be triggered for inactive plugins.
    • Inactive preview plugins will not be used for previews.
  • IInstallationManager::setUrl has been removed, use IModInterface::setUrl in onInstallationEnd.
  • Some methods from IOrganizer have been moved to IModList:
    • allModsByProfilePriority (previously modsSortedByProfilePriority), getMod, removeMod, onModInstalled.
    • New callback IModList::onModRemoved().
  • IOrganizer::refreshModList() is now IOrganizer::refresh() and is a complete refresh (equivalent to F5).
  • Add profile-related callbacks to IOrganizer: onProfileCreated, onProfileRenamed and onProfileRemoved.

2.4.0alpha2

  • Cancelled installation are not considered failures anymore.
  • Fix an issue of the bulk update check for mods with invalid game sources, improved result logging.
  • Allow users to choose which mod to install when multiple mods are bundled together in a single archive.
  • Add a setting to allow installation of mods from Nexus SSE in MO2 instances for Skyrim or Enderal (disabled by default).
  • Fix an issue where the installation file was not set properly in meta.ini when using bundled archives.
  • Re-installing a BAIN mod will now select the previously chosen options by default when possible.
  • The "Plugins" tab of MO2 Settings has been improved.
  • Fixed rare case of MO2 skipping mod files during refresh for conflict detection.

Games support improvements:

  • Fix an issue where saves would not be displayed properly when INI files where present with non profile-specific saves for non-Bethesda games.
  • Fix an issue where saves would not be displayed for games that have a non-flat saves directory.
  • Profile-specific game saves cannot be enabled anymore if the game plugin does not support them.

Dependencies updates:

  • libLoot 0.15.2 -> 0.16.1
  • Qt 5.14.2 -> 5.15.0
  • Boost 1.73.0 -> 1.74.0
  • fmt 6.2.0 -> 7.0.3
  • icu 66 -> 67
  • nasm 2.14.02 -> 2.15.05
  • nuget 4.9.3 -> 5.7.0
  • openssl 1.1.1g -> 1.1.1h
  • pyqt 5.14.2 -> 5.15.1
  • sip 5.2.0 -> 5.4.0
  • spdlog 1.5.0 -> 1.8.0

Plugin interface:

  • Plugins can now access most of the information in the meta.ini of mods.
  • Plugins can now store settings per-mod.
  • Add new pre- and post- installation callbacks to installer plugins.
  • onPluginStateChanged now accepts a list of plugins instead of a single plugin.
  • Add missing calls to the onPluginStateChanged callbacks.

2.4.0alpha1

  • Fomod installer: ignore some missing folder warnings (unofficial NMM standard).
  • Added "Open meta file" right-click option to Downloads tab (Thanks erri120).
  • Made Mo2 update dialog show changelogs from all the releases, not just the last one.
  • Made Ini Editor CTRL+F search wrap around the document instead of failing if cursor is after the match.
  • Fixed some Mo2 metadata getting lost when reinstalling a mod.
  • Fixed executables crashing if they were installed in paths starting with the mods folder, but not actually in it: (C:\MO2\mods tools\bleh.exe).
  • Correctly mark downloads of replaced mods as uninstalled (archives of updated mods will now show up as uninstalled).
  • No longer mark downloads as uninstalled when removing a backup.
  • Improved mod conflicts tab labels and tooltips.
  • Ask whether BSA archives should be deleted after extraction during mod installation.

Plugin interface:

  • Added missing onPluginStateChanged().
  • Fixed onPluginMoved().
  • Added a bulk-version of ModList::setActive().
  • Added IPluginList::setPriority().

Older: 2.3.0, 2.2.2, 2.2.1 and before.