WhatGotChanged
Configure which mods to track, and get auto-generated changelogs showing exactly what changed between versions.
About this mod Author’s original text
WhatGotChanged
Auto-generates changelogs by comparing mod versions. No more mystery updates!
What Does It Do?
WhatGotChanged fetches decompiled source code and compares the latest two versions of your installed mods, generating a markdown changelog showing exactly what changed. It also alerts you when you have an outdated version installed.
Features:
- Only scans mods you configure AND have installed
- Fetches decompiled source code directly
- Generates changelogs showing code changes between versions
- Alerts you when updates are available for installed mods
- Three detail levels: Simple, Detailed, or Full code diffs
- Skips mods that already have a changelog for the current version
- Saves changelogs to BepInEx/config/WhatGotChanged/
Installation
- Install with your mod manager (r2modman, Mod Manager, etc.)
- Launch the game once to generate the config file
- Edit BepInEx/config/IAmOnTheInternetAndItIsScary.WhatGotChanged.cfg
- Add teams or mods to track (see Configuration below)
- Launch the game again to generate changelogs
Note: Requires an internet connection at startup to fetch data.
Configuration
Open BepInEx/config/IAmOnTheInternetAndItIsScary.WhatGotChanged.cfg and configure:
You must configure at least one team or mod. Without configuration, nothing will be scanned.
TrackTeams
Filter by team/owner names (comma-separated). Tracks all installed mods published by these teams.
Example:
TrackTeams = Azumatt,RandyKnapp,blacks7ar
TrackMods
Filter by specific mod names (comma-separated). Use the exact name as it appears.
Example:
TrackMods = Jotunn,ServerDevcommands,VNEI
DetailLevel
Choose how detailed the changelogs should be:
- Simple - Counts per class (e.g. "3 methods changed, 1 added")
- Detailed - Lists every change by name
- Full - Actual C# code diffs showing line-by-line changes
Example:
DetailLevel = Detailed
How It Works
- Config Check: If no teams or mods are configured, the plugin does nothing
- Match: Matches your configured teams/mods against the package list
- Installed Check: For each matched package, verifies the mod is actually installed via BepInEx. Mods that aren't installed are skipped with a log message.
- Skip Check: If a changelog already exists for the current version, it skips that mod — no redundant API calls
- Version Comparison: Fetches the latest two versions and compares the decompiled source
- Changelog Generation: Creates a markdown file per mod showing all changes
Output
Changelogs are saved to BepInEx/config/WhatGotChanged/ as ModName-Version.md.
Example output (Simple mode):
Jotunn
v2.28.0 → v2.29.0
- CommandManager: 1 method(s) changed
- ConsoleCommand: 2 method(s) added, 1 method(s) changed
- GUIManager: 1 method(s) changed
Example output (Detailed mode):
ConsoleCommand
- + method: Run(string, Terminal)
- + method: CommandOptionList()
- ~ method: Run(string)
Example output (Full mode):
object obj = new object[12]
{
command.Name,
command.Help,
(object)(ConsoleEvent)delegate(ConsoleEventArgs args)
{
+ command.Run(args.Args.Skip(1).ToArray(), args.Context);
- command.Run(args.Args.Skip(1).ToArray());
},
};
FAQ
Q: Do I need to configure anything?
A: Yes. You must add at least one team or mod name to the config file. Without configuration, nothing will be scanned.
Q: What if I configure a team but don't have all their mods?
A: Only their mods that you have installed will be scanned. The rest are skipped with a "not installed" message in the log.
Q: Why does it say "decompiled source not available"?
A: Not all mods have decompiled source available. This is a limitation.
Q: How often does it scan?
A: Once per game launch, but it skips any mod that already has a changelog for the current version.
Q: How do I force a rescan?
A: Delete the changelog f
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.