Files
BulwarkFrame/CHANGELOG.md
T
2026-08-30 15:37:07 +02:00

75 lines
4.3 KiB
Markdown

# Changelog
All notable changes to BulwarkFrame are documented here.
## v0.3.0 — 2026-08-30
### Added
- **Options panel controls for every setting that had none.** An audit of
`core/config.lua` found ten saved settings with no way to change them
short of hand-editing the SavedVariables file. The options panel now has:
a slider for the gap between the three bars (**Bar spacing**); a checkbox
for the attack-speed number on the expiry bar (**Attack speed text**); a
slider for the expiry bar's opacity (**Expiry bar opacity**); a colour
swatch plus opacity slider for the frame's background (**Background** /
**Background opacity**); sliders for the four colour-bucket thresholds
(**Pool red/yellow threshold**, **Expiry red/yellow threshold**); a
slider for the set-bonus percentage (**Set bonus value**); a slider for
how much of your latency shifts the swing marker (**Latency share**);
and, under a new **Aura IDs** heading, numeric edit boxes for the pool
and time buff spell ids, in case TurtleWoW renumbers the custom spell in
a future patch. Every control applies immediately, refreshes when the
panel reopens, and is covered by the Reset button, the same as every
pre-existing option.
## v0.2.0 — 2026-08-15
### Fixed
- **Max health readout stays accurate through stamina buffs and level-ups.**
It was previously only re-read on zone-in and gear changes, so a Fortitude,
Gift of the Wild, food buff, or world buff picked up mid-raid left every
number on the readout roughly 10% low until the next zone change. It now
refreshes on any player max-health change and on level-up.
- **"Combat only" no longer gets stuck off after a mid-fight reload.** The
combat flag was only ever set by entering or leaving combat, so a `/reload`
taken during a fight left it false for the rest of the encounter and hid the
frame outright for anyone using the "Combat only" option. It is now seeded
from the live combat state on login and on entering the world.
- **The frame can no longer get stranded off-screen.** `/bulwark reset` and
the options panel's Reset button wrote the default position into the saved
settings but never moved the on-screen frame, so a frame dragged to the
edge stayed there until the next login. Reset now actually re-anchors the
frame, which is also clamped so it cannot be dragged off-screen in the
first place.
- **Right-clicking the minimap button now reliably hides the "SuperWoW
required" hint.** The manual-hide flag was checked after that hint, so
without SuperWoW installed the hint frame could never be dismissed, even
though the minimap toggle reported it as hidden.
- **`/bulwark show` and `/bulwark demo` now actually bring the frame back.**
Both commands cleared "hide when idle" and "combat only" but left a manual
minimap-toggle hide in place, so the frame stayed off-screen and demo mode
ran invisibly. Both commands now clear the manual hide as well, and say so
in their chat confirmation.
- **The options panel no longer shows stale values after a slash command.**
`/bulwark reset`, `/bulwark lock`, `/bulwark show`, and `/bulwark demo`
changed settings without refreshing an already-open options panel, so its
checkboxes, sliders, and buttons kept showing the pre-command state —
nudging a stale slider could even silently undo what the command had just
done. The panel now re-syncs itself after every one of these commands.
- **The absorb-rate readout no longer shows a number for an unlearned
talent.** A talent rank of zero was treated as "no value set" rather than
"rank 0", so an additive set-bonus reading could produce a plausible-looking
absorb rate for a talent the character never trained. It now correctly
shows `--` in that case.
### Changed
- **Lower CPU usage while the buffer is inactive.** The update loop now
detaches itself once there is nothing left to animate — no active buffer,
no swing in progress — instead of redrawing five times a second regardless,
and re-attaches automatically the moment a swing lands or the buffer
refills.
- **Removed the addon's remaining per-tick and per-swing memory
allocation.** The colour-threshold lookup and the aura scan that runs on
every incoming swing no longer build and discard temporary tables and
closures, avoiding needless garbage-collector churn during combat.