From 4d41762f7bf872bc092f2dbad17c3d5d9be68e8d Mon Sep 17 00:00:00 2001 From: OEVG <950+oevg@noreply.octowow.st> Date: Sun, 1 Nov 2026 01:55:23 +0000 Subject: [PATCH] Add CHANGELOG.md and link it from the README Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_019W3rwtugSE5NbbiWQCbbKX --- CHANGELOG.md | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 ++ 2 files changed, 72 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..031d1bd --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,70 @@ +# Changelog + +All notable changes to this OctoWoW edition of Gentle GC. Versions follow +`GentleGC.toc`. Dates are the commit dates (UTC). + +## Unreleased + +### Added +- Collections and threshold changes that can't be tied to an addon now name the + game event just before them, for example + `collection by unknown addon (after PLAYER_ENTERING_WORLD)`, or + `(no recent event)` after 5 seconds. `/ggc` lists them under + "unknown addon collections came" and "unknown addon threshold changes came". + It only labels; when GentleGC collects is unchanged. +- `tests/test_unknown_context.lua`, `tests/run_all.sh` and `tests/README.md`. + +### Repository +- `.gitattributes` keeps LF line endings; `.gitignore` for editor and OS files. +- README restructured with headings; the weirdperformance note moved under + "Client mods". + +## 2.7 - 2026-10-31 + +### Added +- weirdperformance (WeirdUtils) support. Its collector does one full mark per + cycle and then frees memory in small chunks. GentleGC detects it through + `GetWeirdUtilsVersion`, doesn't count or log the chunks, never starts a + collection in the middle of a cycle, lets the chunks keep running in combat, + and uses the combat headroom only to keep the next cycle's full mark out of + the fight. `/ggc` shows its cycles and chunks. +- `tests/test_weirdperf.lua`. + +### Notes +- Don't run weirdperformance together with wow_turbo: both replace the same + part of the game's collector. + +## 2.6 - 2026-10-31 + +### Added +- Detection of addons that wrap `collectgarbage` and turn GentleGC's + collections into something else (for example, only moving the threshold to + just above the memory in use). GentleGC says so once, names the addon when it + can find it, and stops retrying. +- Threshold changes made by other addons (set without collecting) are listed in + `/ggc` and logged at `/ggc debug 2`. +- `/ggc` estimates how a collection's pause splits into a fixed part and a part + per MB freed, from GentleGC's own collections this session. + +### Changed +- Pressure collections are skipped when there would be almost nothing to free. + +### Tests +- `tests/test_threshold.lua`. + +## 2.5 - 2026-10-30 + +First version in this repository: the unified edition, combining the original +by MarcelineVQ (Weird Vibes) with the event-driven collection from +jrc13245's fork and the separate report timer from TheRealFayz's fork. + +- Schedules Lua garbage collection for quiet moments: loading screens, death, + flight masters, vendor, bank, mail, auction house and trainer windows, AFK, + and after combat. +- Never collects in combat; raises the automatic-GC threshold on entering combat. +- Careful mode when collections average 100 ms or more. +- Time and attribution of other addons' collections; garbage creation rate. +- Optional ClassicAPI support (stand-still collection, `C_Timer`). +- Freeze detector (`/ggc hitch`). +- Optional per-addon memory companion `!!!!GentleGC_Memory` (`/ggc addons`). +- Test suite in `tests/`. diff --git a/README.md b/README.md index 06bdae2..7ffc550 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ Gentle Garbage Collection, unified edition (v2.7), maintained for OctoWoW. For WoW 1.18.1 clients (Lua 5.0). +See [CHANGELOG.md](CHANGELOG.md) for the version history. + ## Install Unzip into `Interface/AddOns`. The zip has two folders: