Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
WhatGotChanged
Configure which mods to track, and get auto-generated changelogs showing exactly what changed between versions.
| Last updated | 3 weeks ago |
| Total downloads | 38 |
| Total rating | 0 |
| Categories | Mods Misc Client-side Utility AI Generated |
| Dependency string | IAmOnTheInternetAndItIsScary-WhatGotChanged-1.0.0 |
| Dependants | 0 other packages depend on this package |
README
WhatGotChanged
Auto-generates changelogs by comparing mod versions on Thunderstore. No more mystery updates!
What Does It Do?
WhatGotChanged fetches decompiled source code from Thunderstore 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 from Thunderstore
- 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, Thunderstore 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 from Thunderstore.
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 Thunderstore team/owner names (comma-separated). Tracks all installed mods published by these teams.
Example:
TrackTeams = Azumatt,RandyKnapp,blacks7ar
TrackMods
Filter by specific Thunderstore mod names (comma-separated). Use the exact name as it appears on Thunderstore.
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
- Thunderstore Match: Matches your configured teams/mods against the Thunderstore 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 from Thunderstore 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 on Thunderstore have decompiled source available. This is a Thunderstore 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 file from BepInEx/config/WhatGotChanged/ and relaunch the game.
Q: Where are the changelogs saved?
A: BepInEx/config/WhatGotChanged/ — one markdown file per mod, named ModName-Version.md.
Q: Does this modify any mods?
A: No. It only reads and compares decompiled source code. Nothing is modified.
Q: What if a mod has only one version?
A: It will be skipped — there's nothing to compare against.
Q: What if there are no code changes between versions?
A: The changelog will say "No code changes — metadata/asset update only."
Q: Does it work offline?
A: No. It needs an internet connection to fetch package data and decompiled source from Thunderstore.