# Changelog

## Unreleased

- **Dropped Clair Obscur: Expedition 33.** Evaluated and removed from the
  collection: the game supports ultrawide natively (official support since patch
  1.2.3), so there is nothing for this project to fix. The archived third-party
  fix we briefly vendored crashed on current builds and is gone too. A
  `METHOD=native` capability remains in the tooling for any future
  works-out-of-the-box title.
- **New game: ONE PIECE ODYSSEY** (UE4 + SteamStub). SUWSF loads, but the
  GB4 patterns don't match this build (FOV pattern 0 matches; pillarbox pattern
  false-matched). Needs runtime-derived patterns. ⚠️ in progress.

Versioning applies to the collection as a whole: **adding a game is a minor bump**,
fixes/tuning to existing entries are patch bumps.


## v1.1.0 — Burglin' Gnomes *(unreleased)*

- **New game: Burglin' Gnomes** (Unity 6, Mono) — ✅ confirmed working at 5120×1440.
  Adds the `bepinex` install method and a purpose-built C# plugin.
- Camera deliberately untouched: it is orthographic with a constant
  `orthographicSize`, which is already correct Hor+ at 32:9. The entire problem
  was UI scaling.
- Fixes HUD canvases (`match=1` + raised `referenceResolution.y`) and world-space
  labels (canvas `localScale` — `CanvasScaler.scaleFactor` is overwritten every
  frame for WorldSpace canvases).
- Config reloads live (~2s) without a game restart.

## v1.0.0 — Gundam Breaker 4

- **New game: Gundam Breaker 4** (Unreal Engine 4.27, SteamStub DRM) — ✅ confirmed
  working at 5120×1440.
- Forces Hor+ FOV via `AspectRatioAxisConstraint = MaintainYFOV` and disables
  pillarboxing, patched in decrypted memory at runtime with
  [SUWSF](https://github.com/PhantomGamers/SUWSF) — the exe is DRM-encrypted on
  disk, so static patching is impossible.

---

### Unreleased infrastructure changes

These landed between v1.0.0 and v1.2.0 and are not tied to a single game:

- Restructured from a single-game repo into a multi-game collection
  (`games/<Game>/` + `game.conf`), so `install.sh` is game-agnostic.
  **Note:** `./install.sh` now requires a game name; run it bare to list games.
- Migrated hosting from GitHub to self-hosted Gitea.
- `publish.sh` rewritten for the Gitea API; reads `GITEA_TOKEN` from the
  environment and never stores it.
