Skip to content

Mod Organizer 2 Development Changelog

Mikaël Capelle edited this page Feb 2, 2021 · 266 revisions

See Mod Organizer 2 Changelog for changes to released software.

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.