# SlushBus Changelog

## 1.1.6

### New
- **Pro Tools (AAX) support**: SlushBus is now available as a PACE-signed AAX plug-in, installed by the Windows and macOS installers.

### Fixed
- **DAW UI froze during license activation**: the activation request was made on the message thread, so the whole DAW interface locked up until the network call completed or timed out (worst on Linux, where the plugin editor shares the host's message thread). Activation now runs on a background thread — the Submit button shows "Activating..." and re-enables when the result comes back. The Demo button's activation is likewise non-blocking.
- **Threshold overlay drew incorrectly**: the Threshold view's lines were scaled off the raw slider instead of the detector's actual level mapping, so they drifted out of step with the DSP and could be clipped clean out of the graph area — making the overlay look like it did nothing. The lines are now clamped to the graph and matched to the real detection scaling.
- License state is now resolved when the plugin is constructed rather than only on first playback, so a licensed user who opens the editor before starting audio no longer sees the license-entry screen flash up.
- Any leftover enforcement marker written by an earlier build is now cleared automatically on load.

### Changed
- Existing licenses migrate automatically to a more stable machine fingerprint on the next online launch — no re-activation is required, and a grace window ensures activated users keep working while the migration happens.
- The "Check for updates" toggle in Settings is now shown only to licensed users.
- The Buy button now opens the brucejames.studio store page (previously the Gumroad link).
- Update checks can now be targeted per operating system (macOS / Windows / Linux) in addition to the shared version line.

### Build
- Added a Linux CI build (VST3).

## 1.1.4

### Fixed
- **CLAP: export/bounce in Bitwig 6**: the plugin now reports its latency at construction so the value is stable before the host activates it. Previously the latency was first announced during the initial `prepareToPlay`, which caused a host restart request that stopped Bitwig 6 from starting an offline render with the CLAP plug-in in the session. The VST3 was unaffected. (Fully resolved for 48 kHz sessions.)

## 1.1.3

### Fixed
- **Plugin-scan crash/hang (Windows / VST3 hosts)**: a background task could, in rare cases, outlive the plugin instance during a host's plugin scan and crash or freeze the scanner. The background work is now tied to the plugin's lifetime and uses short network timeouts. If your host's plugin list got into a bad state, clear its VST3 scan cache and re-scan.

## 1.1.2

### Fixed
- License authentication state was not refreshed when the plugin loaded, causing the license entry screen to reappear for activated users until audio playback started
- License panel visibility saved in a DAW session could incorrectly persist for licensed users

---

## 1.1.1

### Fixed
- Demo mode produced no audio, the processBlock license guard was checking only for a full license, causing the demo path to be unreachable (dead code)
- Clicking the Demo button could overwrite a valid purchased license file on disk; demo mode now writes to a separate `license_local.json`
- Fixed common Reaper, Cubase issue
- `setLatencySamples` was called from the audio thread, violating the VST3 threading contract and causing instability in Cubase
- Plugin rejected mono and other non-stereo bus layouts during DAW scanning, preventing load in some Cubase and Reaper configurations
- Lag knob had no effect, the parameter read was commented out, freezing the value at its default

---

## 1.1.0

### New
- CLAP plugin format support alongside VST3 and AU

### Fixed
- Transient detector minimum interval was miscalculated, causing a ~10 second lockout between detections after any transient fired
- Transient threshold slider had no effect on the detector due to a unit mapping error
- Transient spikes no longer overflow the graph display area
- Settings gear button was invisible and unclickable due to overlap with the site link area
- Plugin could crash in standalone mode or offline render when no playhead was available

### Improved
- Graph traces now use distinct colours (teal for gain delta, steel blue for gain envelope) to reduce visual overlap
- Faint dB grid lines added to the graph area for spatial reference
- Trace glow is now drawn behind the crisp line rather than on top, improving readability
- Delta fill opacity increased for better visibility against the dark background
- Default starting points for Emphasis (0.35), Threshold (0.5), and Resolution (0.5 / quarter notes) tuned for typical musical content
- BPM resolution value is now cached per block rather than recalculated on every sample

---

## 1.0.0

- Initial release
