|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to rtv-mod-impact-tracker are documented here. Dates are |
| 4 | +YYYY-MM-DD. |
| 5 | + |
| 6 | +## 1.0.0 — 2026-04-26 |
| 7 | + |
| 8 | +First public release. Eight Python scripts split into two pipelines — |
| 9 | +game-tracking (Steam-sourced) and dep-tracking (GitHub-sourced) — that |
| 10 | +together tell modders which of their mods will break when the host game |
| 11 | +patches or an upstream library updates. |
| 12 | + |
| 13 | +**Game tracking** — for the host game you're modding: |
| 14 | + |
| 15 | +- **`snapshot.py`** — capture a decompiled-script snapshot of the current |
| 16 | + Steam build into a parallel `*_history` git repo, one commit per game |
| 17 | + version. Auto-detects version + buildid from `project.godot` and the Steam |
| 18 | + ACF manifest; tags as `game-v<version>-build<buildid>`. |
| 19 | +- **`analyze_mods.py`** — diff two snapshot tags and classify each mod's |
| 20 | + impact (🔴 broken / 🟡 review / 🟢 safe). Renders an HTML report with |
| 21 | + inline syntax-highlighted diffs, side-by-side override-vs-vanilla |
| 22 | + comparison, and a per-mod summary table. |
| 23 | +- **`changelog.py`** — render a Markdown changelog of game-side script |
| 24 | + changes between any two snapshot tags. Useful for release-notes posts and |
| 25 | + for understanding what shipped in a given patch. |
| 26 | +- **`fetch_version.py`** — pull a historical Steam build via DepotDownloader |
| 27 | + using a manifest registry, decompile it, and commit it as a snapshot. |
| 28 | + Required only for backfilling old versions; day-to-day tracking uses |
| 29 | + `snapshot.py` against the live install. |
| 30 | + |
| 31 | +**Dep tracking** — for upstream mod loaders, config-menu frameworks, and |
| 32 | +content registries hosted on GitHub: |
| 33 | + |
| 34 | +- **`deps_fetch.py`** — sync local mirror clones of every upstream declared |
| 35 | + in `[[deps]]` of `mod_tracker.toml`. Mirrors are gitignored; regenerable |
| 36 | + on demand. |
| 37 | +- **`deps_diff.py`** — file-level + GDScript signature diff between two |
| 38 | + upstream tags. Highlights added / removed / renamed / signature-changed |
| 39 | + functions so the breaking-change surface is obvious at a glance. |
| 40 | +- **`deps_audit.py`** — scan your own mods' call sites against a dep diff |
| 41 | + and flag anything that touches a changed API. Outputs a punch list of |
| 42 | + mod files + line numbers worth reviewing before bumping the upstream |
| 43 | + version requirement. |
| 44 | +- **`deps_changelog.py`** — Markdown release notes summarising upstream |
| 45 | + changes between two tags. Drop-in for the dep's own release post or for |
| 46 | + internal "what's new" briefings. |
| 47 | + |
| 48 | +**Configuration & infrastructure**: |
| 49 | + |
| 50 | +- **TOML-driven** — single `mod_tracker.toml` declares game paths, Steam |
| 51 | + app id, and the list of upstream `[[deps]]`. All scripts read from it, |
| 52 | + so adding a new dep is a one-block config change. |
| 53 | +- **HTML reports** with inline syntax highlighting (Pygments-via-stdlib |
| 54 | + fallback) — no external CSS hosting, runs offline. |
| 55 | +- **Stdlib-only Python (3.11+).** No `pip install` required for normal |
| 56 | + use; DepotDownloader is the only external binary, and only `fetch_version.py` |
| 57 | + needs it. |
| 58 | +- **MIT licensed.** Use it, fork it, ship it. |
0 commit comments