Skip to content

Mod Organizer 2 Development Changelog

Jeremy Rimpo edited this page Nov 8, 2023 · 266 revisions

See Mod Organizer 2 Changelog for changes to released software.


Older: 2.4.0, 2.3.0, 2.2.2, 2.2.1 and before.

2.5.0 beta 15

  • Starfield
    • Plugin management is now enabled by default (you still need to have the plugins.txt enabler installed)
    • Fixes to archive parsing (should now properly show archives enabled in the INI settings)
  • Allow toggling of whitespace in text editor
  • Fix for Morrowind dummy plugin detection
  • Updates for plugin display
    • Only master plugins are bolded
    • Only light plugins are italicized
  • Don't pack bk2 videos in archives (bsa packer)
  • Revert most of the download list changes for now

2.5.0 beta 14

  • Added diagnoses to Starfield
    • Detections for improper plugin management setup
    • Warnings for various plugin types
    • Togglable in the settings
  • Add 'geometries' and 'video' to supported mod directories and content types
  • Updated libloot to 0.22.1
  • Revamped download code (SaltyTrout)
    • Removed reliance on dynamic IDs
    • Additional changes to mitigate errors
  • Cyberpunk 2077 support (ZashIn)
  • Updated display for dummy (recordless) plugin files
  • Overlay plugin type revisions
  • BSA Packer will now use ESL files for Starfield dummy plugins

2.5.0 beta 13

Starfield

  • Fix issue with 'enabled' core plugins when management is disabled
  • Add 'geometries' content type
  • Add LOOT to default executables (0.22.0)
  • Overlay plugin type flag has improved display

BSA (BA2) improvements

  • Fixed BSA preview
  • Fixed BSA packer
  • Initial Starfield support for both

Other

  • Added potential translation support for tutorial names (and some other fixes)
  • Probably final GOG/EGS support for FNV / TTW
  • BasicLocalSavegames added to basic_games for improved save display (ZashIn)

2.5.0 beta 12

Starfield:

  • Changing plugin management should now automatically update the plugin display
  • (lib)LOOT 0.22.0 with Starfield support
  • Adds 'sort' button functionality
    • Requires plugin management to be enabled (and no sTestFile entries)
    • Fix for empty plugins.txt warning message
  • Fix plugin index handling with 'overwrite'-flagged plugins
  • Added support for force-enabled (but not loaded) plugins (BlueprintShips-Starfield.esm)

Other

  • EGS (and GOG) support for New Vegas should now be complete
  • Refresh updates (Holt59)
  • Better performance / function
    • Launch arguments are now included and can be picked up by plugins
    • Updated discord links
  • Updated translations

2.5.0 beta 11

  • MO2 plugin settings for Starfield has a new option to enable the plugin management tab
    • This is for use with Plugins.txt Enabler
    • This will not work without the above SFSE plugin
    • This is incompatible with sTestFile# settings, which must be removed for plugins.txt to load
  • Starfield plugin management being disabled now fully disables plugins.txt
    • No writes
    • No virtualization
  • Reworked save parsing for Starfield to reduce the time spent decompressing the data
  • Potential fix for the "failed to communicate with running process" error after downloading from Nexus
  • Added Starfield theme by Trosski
  • Potential EGS support for New Vegas
  • Tutorial updates
    • General refresh of tutorials to make them more up-to-date and clear
    • It is now possible to exit tutorials early

2.5.0 beta 10

Category Revamp

  • Fix for hidden downloads not applying nexus categories
  • Nexus category is now saved to the mod info and will take priority over downloads when remapping categories
  • Nexus category ID is visible and editable in the mod info dialog Nexus tab
  • Several dialogs have had tweaks for clarity
  • Import nexus category dialog (merge, replace, optionally assign mappings)

Other

  • Sorting updates
  • Disabled for Starfield
  • Added for Enderal(SE) and Nehrim
  • Fix for registry entry lookups
  • Showing whitespace characters in INI editor
  • Reverted download changes from beta 9 but applied certain race condition fixes which will hopefully help eliminate 'missing index' errors

2.5.0 beta 8

The return of the revamped category system

  • Categories can be imported from Nexus
  • New and old instances should get a prompt to update / import Nexus categories
  • The category editor now has an interface to fetch and assign Nexus categories to MO2 categories
  • These mappings can be optionally auto-assigned by the right-click menu or through the modlist dropdown menu
  • If you try to install a mod without a Nexus mapping set up, you will be prompted to update the mappings, proceed anyway, or disable mappings
  • You can disable automatic Nexus mappings in the settings pane

Other

  • Fix for being unable to check plugins in every game
  • GOG support for Enderal SE
  • Save parsing for Sword & Sorcery
  • LOOT integration updated to 0.21
  • Potentially supports Enderal SE, Nehrim and Enderal to come
  • Downloads will now pause if your internet connection is disrupted (@SaltyTrout)
  • New schema handling to allow MO2 to download direct file links (@Eddoursul (Enderal SE))

2.5.0 beta 7

  • No longer create or manage the Starfield.ini in the My Games directory (this file can be deleted, it is not used)
  • Fix a memory leak in the BA2 archive unpacking code
  • No longer allow changing the active state of force enabled / disabled plugins via the context menu
  • Some possible fixes for various basic_games games

Known bug:

  • You are currently unable to activate plugins for any game by clicking the checkbox. You can do so with the context menu.

2.5.0 beta 6

  • Added default profile config options during instance creation
    • Old profiles should remain with the old settings
    • The default selections are currently just archive invalidation
  • Fixes for parsing the core archives for Starfield
  • Display updates for the plugin list
  • Additional crash fixes for the basic games EA Games game search script
  • Installer will remove old QtQuick directory and clean the new qml directory

2.5.0 beta 5

  • Running Qt 6.5.0 for dependency updates
    • Styles mostly work
    • Please check multi-monitor context menus and high-DPI displays
  • Upgraded to Python 3.11
  • Complete BA2 v2 and v3 support (file parsing and extraction)
  • Now displays when plugins are activated in the StarfieldCustom.ini
    • Should update on a refresh
    • Attempts to display actual load order
    • GUI plugin management is disabled until BGS enables the Plugins.txt file

2.5.0 beta 4

  • Fix for the EA Games basic_games missing directory error
  • Fixed parsing UTF strings in save games
  • Updates to the zlib save extractor to fully unpack the data (not strictly necessary but good to have just in case)
  • Changed save game datetime display to show the local time (instead of UTC)

2.5.0 beta 3

Starfield

  • Fix the core plugin load order
  • No longer revert archive invalidation INI settings if the 'automatic archive invalidation' setting is off
  • Add additional support for new / modified plugin flag types
  • Ensure My Games Data exists

2.5.0 beta 2

Starfield

  • Fix for game location detection
  • Virtualizing both Data locations to deal with things like SFSE
  • Archive invalidation (automatic INI updates required for some mods)
  • Pulled in other MO2 updates missing in beta 1

2.5.0 beta 1

This build includes preliminary Starfield support. It uses the My Games directory as the primary mod Data directory. It is able to parse the contents of the game's Data directory in order to display the core plugins and archives in the directory structure.

This support includes:

  • Parsing of save files to display save data
  • Basic plugin and archive data parsing (somewhat untested)
  • SFSE detection

2.4.5 alpha 3

Fixes and improvements:

  • Modify username censoring to only censor directories (/USERNAME or \USERNAME).
  • Consider .esm files to be ESM flagged by default (and some misc. fixes related to that).
  • PluginList API: Deprecate IsMaster, replaced with HasMasterExtension/HasLightExtension/IsMasterFlagged/IsLightFlagged.
  • Fix category ID for default category "Tattoos" (conflicted with "Voice" category).
  • Fallout NV/TTW: Removed "NetScriptFramework" as a valid folder and added "config" as a valid folder.
  • Fallout 4: Removed "NetScriptFramework" as a valid folder and added "csg" and "cdx" as valid file extensions.
  • Valheim: Fix Bepinex installation.
  • Skyrim SE: Added "grass" as a valid folder.
  • BAIN Wizard installer: Fixed issues with case-sensitive string comparisons.

New features:

  • Added basic game support for Yu-Gi-Oh!: Master Duel, Train Simulator, Vakyria Chronicles, and Sims 4.

Removed features:

  • Removed ability to use an external Python installation. There was really no reason to do this and removing this should fix some problems users run into.

2.4.5 alpha 1

Fixes:

  • Fixed an instance of the plugin list getting reordered when MO2 closes, crashes, or otherwise quits when an application is launched. This mostly affects older games like Fallout NV and Oblivion.
  • Fixed a possible crash when starting MO2.

Improvements:

  • Plugins in all Bethesda games will more rigorously follow plugin rules. Masters will be up top, normal plugins will be down below. Plugins must be loaded after their masters. These rules should be enforced all the time now instead of just when changing something in the plugin list.
  • Fallout NV now recognizes .NAM files and will set DLC as force-loaded when present. (Removed in 2.4.5 alpha 2)

2.5.0 alpha 2

  • Added "Platform" to recognized SkyrimSe mod folders for Skyrim Platform based mods.

2.5.0 alpha 1

IMPORTANT 2.5 builds include a number of dependency updates, most notably a migration from Qt 5 to Qt 6 and Python 3.8 to 3.10. This means that these builds currently only support Windows 10 and above.

Category System Updates

  • All predefined Nexus category mappings have been removed
  • The category editor interface now allows you to fetch the Nexus categories and map them to the local MO2 categories
    • Nexus categories can be imported (overwriting the existing category list)
    • Nexus categories can be mapped by dragging them onto the target category
  • New instances prompt
    • If you've already connected Nexus, you can sync and import the Nexus categories
    • You can leave the categories empty
    • You can use the old category list, though it will not be automatically mapped to any Nexus categories
  • Optional old instance prompt
    • Open the category editor
    • Import the Nexus categories
    • Do nothing
      • If no categories were set, it will use the old default categories
      • If categories were edited and saved, it should use those
    • TODO: A new tutorial
  • Mod category remapping
    • The main category can be automatically reassigned based on the Nexus mapping
      • Requires Nexus ID and existing download info
      • Context menu option for selected mods
      • Global menu option for entire modlist
  • Child categories should display directly beneath their parent category

Fixes

  • BAIN Wizard Installer now works
  • HTTP/2 download speed should be fixed

Improvements

  • Tweaked BAIN Wizard Installer layout for a larger preview image with a preserved aspect ratio

2.5.0 dev build 4

  • Only Windows 10/11 are supported. We'll be discussing this as we move further from Windows 7's EOL
  • This build includes translations as those need to be tested as well
  • Please read the previous builds, as there are still some relevant notes

Fixes

  • Disable HTTP/2 to fix a download speed issue
    • Not ideal - May want to investigate QHttp2Configuration
    • UPDATE: Please test the HTTP/2 exe below and let me know how downloads perform

Updates

  • Incorporated changes from upstream
    • Dialog fix
    • Vampire: Bloodlines game support

2.5.0 dev build 3

  • Only Windows 10/11 are supported. We'll be discussing this as we move further from Windows 7's EOL
  • This build includes translations as those need to be tested as well
  • The same general info from build 1 and 2 apply with the additional changes and fixes below:

Fixes

  • Crash caused by username parsing
  • Various build issues with translations

Updates

  • Improvements to Download Status
  • Better / more stable download speed
  • Added time estimate
  • For devs: better inclusion of python source files in generated VS projects

2.5.0 dev build 2

  • Only Windows 10/11 are supported. We'll be discussing this as we move further from Windows 7's EOL
  • This build includes translations as those need to be tested as well
  • You can ignore the Python version warning, this will be fixed in the next build
  • The same general info from build 1 applies with the additional changes and fixes below:

ADDITIONAL NOTE FOR PYTHON DEVS

  • PyQt6 no longer supports generating resource files, I've added a deployment option where files in a src\res directory (for standalone py plugin files) will be published to the data\res directory. You can then add this directory (or any self-contained directory, for module-style plugins) to the QDir search paths with a convenient ID that you can use similarly to resources. See the pyCfg.py (Configurator Tool) code for an example.

Additional Dependency Update

  • Python 3.8.4 -> 3.10.1

Fixes

  • All BBCode parsing should be working
  • Improved parsing for text file codecs
  • Slightly reworked network error handling
  • This should provide better error messages for Nexus failures
  • Includes error codes beyond the handful Qt supports
  • Fix up other minor errors causing console warnings

2.5.0 dev build 1

  • Only Windows 10/11 are supported. We'll be discussing this as we move further from the operating system's EOL.
  • The old DDS image support is broken, which means the "Images" tab in the Mod Info Dialog is empty most of the time. The DDS Preview plugin works fine, as it did not rely on native Qt image support.
  • Saved column states do not seem to transfer between Qt 5 and Qt 6, so they're going to get reset. Sorry. Maybe we can migrate the data somehow in the future.
  • Because many library names have now changed, I'd recommend extracting a fresh copy of MO2 unless you're running a portable copy.
  • There are no feature changes in this build, sorry, but I'd apprciate as much testing as possible. This should be roughly equivalent to the latest 2.4.3 Alpha 4.

FOR DEVS The PyQt6 translation extraction tool (pylupdate) no longer recognizes __tr, you will need to rename your translation helper function to tr or use the long form QCoreApplication.translate(context, string).

Full Dependency Updates

  • Qt 5.15.2 -> 6.2.2
  • libloot 0.16.3 -> 0.17.1
  • 7z 19.00 -> 21.06
  • boost 1.75 -> 1.77
  • openssl 1.1.1i -> 1.1.1l
  • PyQt 5.15.2 -> 6.2.2
  • bzip2 1.0.6 -> 1.0.8
  • sip 5.5.0 -> 6.5.0