Releases: wavedropmaps/BetterAngle
Releases · wavedropmaps/BetterAngle
Release list
BetterAngle Pro v7.0.1
BetterAngle Pro v7.0.1
First full release of the 7.x line (v7.0.0 went out as a pre-release by mistake; this is the same build). v6.0.5 and v6.0.6 were never released, so this includes everything below.
- Fix: Release build. CI now builds with Ninja and a small compatibility shim so Qt 6.5 builds with the runner's Visual Studio 2026. A version set by hand in
VERSIONis now released as-is. - Fix: Updates pointed at the old
wavedropmaps-orgrepo. The updater, installer and README now usegithub.com/wavedropmaps/BetterAngle. - New: Choose how dive/glide transitions are handled (General tab). Block input is the existing behaviour: input is frozen for
0.7s so the angle stays exact, but a key released during the freeze can stick (ghost walking). Blend (no lock) never touches your input; the angle eases between glide and dive turn speed instead, with an adjustable blend duration. If you move the mouse mid-transition the HUD shows "ESTIMATED ANGLE" until you reset. Seedocs/INPUT_LOCK.md. - Fix: Angle could slowly drift. The detector thread re-baked the angle ~250 times a second while the input thread was adding mouse movement, so counts could be dropped and a "zero" could be overwritten. The angle is now integrated per movement under a lock.
- Fix: Input lock fired with no ROI set. With no detection area selected, the app treated you as diving from launch, froze input for 700ms at startup and used the dive turn speed until an area was picked.
- Fix: Alt-tabbing out mid-dive froze input on the desktop. Losing Fortnite focus looked like a dive-to-glide change and triggered a 700ms lock in whatever app you switched to. Transitions are now only tracked while Fortnite is focused.
- Fix: Settings never loaded. An off-by-one in the settings reader meant saved HUD position, beta channel and other settings always fell back to defaults. They now restore (the auto-mantle diagnostic switches start fresh once so stale test values can't disable tracking).
- Fix: GDI leak while colour picking. The zoom preview leaked one GDI bitmap per frame; after ~1.5 minutes of picking, drawing broke.
- Fix: Truncated update installers could run. Downloads now check the HTTP status, detect dropped connections and compare against Content-Length. An error page from GitHub can no longer be parsed as a version number.
- Fix: Beta channel ignored at startup. The startup update check ran before settings were loaded.
- Fix: HUD invisible after unplugging its monitor. A missing monitor index now falls back to the primary monitor; the saved HUD and dashboard positions are kept on screen.
- Fix: Colour swatch had red and blue swapped; black crosshair colour couldn't be saved; profile names with quotes corrupted the file; profile and settings saves could be lost if the app crashed mid-write.
- Fix: Dashboard fields for target colour and HUD position were always blank (the backend never exposed them).
- Performance: slider changes no longer rewrite both JSON files on every tick; the Debug tab polls at 10 Hz instead of 100 Hz and no longer snapshots every process on each refresh.
- UI: Dashboard reorganised into cards with consistent controls, styled sliders, switches and dropdowns, and clearer Debug tab sections.
- Cleanup: Removed unused key-injection code, dead settings (HUD smoothing, direct hardware mode), old
_old/_114source copies, the unused ImGui copy, stray logs/patches/IDE files and an unrelated web app.
BetterAngle Pro v7.0.0
BetterAngle Pro v7.0.0
Test build (pre-release): only offered to the beta update channel. v6.0.5 and v6.0.6 were never released (their builds failed when GitHub's Windows runners moved to Visual Studio 2026), so this release includes everything below.
- Fix: Release build. CI now builds with Ninja and a small compatibility shim so Qt 6.5 builds with the runner's Visual Studio 2026. A version set by hand in
VERSIONis now released as-is, and any version aboveMIN_STABLE_VERSIONis published as a pre-release. - Fix: Updates pointed at the old
wavedropmaps-orgrepo. The updater, installer and README now usegithub.com/wavedropmaps/BetterAngle. - Fix: Stable channel gate was inverted. Stable users are now only notified once
MIN_STABLE_VERSIONis raised to the new release; builds pushed above it stay quiet on the stable channel until then (beta users still see everything). - New: Choose how dive/glide transitions are handled (General tab). Block input is the existing behaviour: input is frozen for
0.7s so the angle stays exact, but a key released during the freeze can stick (ghost walking). Blend (no lock) never touches your input; the angle eases between glide and dive turn speed instead, with an adjustable blend duration. If you move the mouse mid-transition the HUD shows "ESTIMATED ANGLE" until you reset. Seedocs/INPUT_LOCK.md. - Fix: Angle could slowly drift. The detector thread re-baked the angle ~250 times a second while the input thread was adding mouse movement, so counts could be dropped and a "zero" could be overwritten. The angle is now integrated per movement under a lock.
- Fix: Input lock fired with no ROI set. With no detection area selected, the app treated you as diving from launch, froze input for 700ms at startup and used the dive turn speed until an area was picked.
- Fix: Alt-tabbing out mid-dive froze input on the desktop. Losing Fortnite focus looked like a dive-to-glide change and triggered a 700ms lock in whatever app you switched to. Transitions are now only tracked while Fortnite is focused.
- Fix: Settings never loaded. An off-by-one in the settings reader meant saved HUD position, beta channel and other settings always fell back to defaults. They now restore (the auto-mantle diagnostic switches start fresh once so stale test values can't disable tracking).
- Fix: GDI leak while colour picking. The zoom preview leaked one GDI bitmap per frame; after ~1.5 minutes of picking, drawing broke.
- Fix: Truncated update installers could run. Downloads now check the HTTP status, detect dropped connections and compare against Content-Length. An error page from GitHub can no longer be parsed as a version number.
- Fix: Beta channel ignored at startup. The startup update check ran before settings were loaded.
- Fix: HUD invisible after unplugging its monitor. A missing monitor index now falls back to the primary monitor; the saved HUD and dashboard positions are kept on screen.
- Fix: Colour swatch had red and blue swapped; black crosshair colour couldn't be saved; profile names with quotes corrupted the file; profile and settings saves could be lost if the app crashed mid-write.
- Fix: Dashboard fields for target colour and HUD position were always blank (the backend never exposed them).
- Performance: slider changes no longer rewrite both JSON files on every tick; the Debug tab polls at 10 Hz instead of 100 Hz and no longer snapshots every process on each refresh.
- UI: Dashboard reorganised into cards with consistent controls, styled sliders, switches and dropdowns, and clearer Debug tab sections.
- Cleanup: Removed unused key-injection code, dead settings (HUD smoothing, direct hardware mode), old
_old/_114source copies, the unused ImGui copy, stray logs/patches/IDE files and an unrelated web app.
BetterAngle Pro v6.0.4
BetterAngle Pro v6.0.4
- Fix: Startup crash when saved profile index is out of range. If
settings.jsonheld aselectedProfileIdxpointing to a profile that no longer exists (e.g. after deleting a profile), the app would crash immediately on launch before any UI appeared. The index is now clamped to a valid range before use. - Fix: Ghost HUD on monitor hotplug/unplug.
WM_DISPLAYCHANGEwas moving the overlay window to the new monitor with a directSetWindowPos, skipping the ghost-prevention blank that drag and the Display dropdown already use. Unplugging a monitor while the overlay was on it could leave a frozen HUD copy on the desktop. The handler now blanks and hides the old layered surface before repositioning, matching theWM_USER+101path. - Fix: HUD slightly off-screen on first launch. The default
g_hudXwas initialised to-1, so on a brand-new install the angle readout started 1 pixel off the left edge of the screen. Default is now40(matchingg_hudY). - Fix: Dashboard crosshair toggle resets offset. Enabling the crosshair via the Dashboard toggle was unconditionally zeroing the crosshair offset (X/Y position), discarding any custom placement the user had set. The hotkey toggle never did this; the dashboard toggle now matches that behaviour and preserves the saved offset.
- Fix: 10-monitor hard limit in ROI monitor detection. Auto-detecting which monitor an ROI drag started on was capped at 10 iterations. On systems with more than 10 monitors the detection could silently fail. The loop now uses
GetSystemMetrics(SM_CMONITORS)for the actual count. - Fix:
Sleep(10)stall in Win32 message loop.RefreshHotkeyswas sleeping 10 ms on the HUD message thread every time hotkeys were re-registered (every Fortnite focus change / alt-tab). This briefly stalled the message pump on every switch. - Fix: Transition lock threads could log after shutdown. The detached
BlockInputthreads spawned on glide↔dive and alt-tab transitions did not checkg_running, so they could call into the logger and update timestamps after the app had started tearing down. They now guard those writes with ag_runningcheck. - Fix: Update download URL data race.
g_dynamicDownloadUrlwas a barestd::wstringwritten by the update-check background thread and read by the download thread with no synchronisation. The URL is now captured by value before the download thread is spawned. - Fix: DetectorThread data race on
g_isSelectionActive. The detector thread was readingg_currentSelection(a plain non-atomic enum) written by the Win32 thread. The detector now readsg_isSelectionActivewhich isstd::atomic<bool>, eliminating the data race.
BetterAngle Pro v6.0.3
chore: auto-increment version to 6.0.3 [skip ci]
BetterAngle Pro v6.0.2
chore: auto-increment version to 6.0.2 [skip ci]
BetterAngle Pro v6.0.1
chore: auto-increment version to 6.0.1 [skip ci]
BetterAngle Pro
release: BetterAngle Pro v6.0.0 (major) Major version bump from the 5.5.x line. Bundles overlay/multi-monitor stability, input-safety fixes, QoL additions, stable/beta update channels, and the performance pass. Authored as github-actions[bot] so the CI auto-increment step skips this commit (keeps the release at exactly 6.0.0 instead of bumping to 6.0.1). The v6.0.0 git tag triggers the full (non-prerelease) release build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
BetterAngle Pro v5.5.317
chore: auto-increment version to 5.5.317 [skip ci]
BetterAngle Pro v5.5.316
chore: auto-increment version to 5.5.316 [skip ci]
BetterAngle Pro v5.5.315
chore: auto-increment version to 5.5.315 [skip ci]