This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Summary
AI summaryUpdates Earlier, auto-VJ, and VP9/Opus across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds native MilkDrop-class waveform layer before warp. Adds native MilkDrop-class waveform layer before warp. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Medium |
Adds operator engine for data-driven look configuration. Adds operator engine for data-driven look configuration. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Medium |
Adds randomizer generating musically‑coherent looks with shareable seeds. Adds randomizer generating musically‑coherent looks with shareable seeds. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Medium |
Adds Director auto‑VJ that crossfades looks based on song structure. Adds Director auto‑VJ that crossfades looks based on song structure. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Medium |
Adds detached/pop‑out visualizer window for second monitor or projector. Adds detached/pop‑out visualizer window for second monitor or projector. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Medium |
Adds video recording to WebM (VP9/Opus) at 60 fps without affecting audio output. Adds video recording to WebM (VP9/Opus) at 60 fps without affecting audio output. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Medium |
Adds groundwork for live input engine with voice DSP forced off. Adds groundwork for live input engine with voice DSP forced off. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Medium |
Publishes `@eviland/core` as a zero‑dependency, framework‑agnostic library (build isolated). Publishes `@eviland/core` as a zero‑dependency, framework‑agnostic library (build isolated). Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Fixes visualizer stutter under Director by eliminating per‑frame deep clone. Fixes visualizer stutter under Director by eliminating per‑frame deep clone. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Fixes race‑condition in library/history “load more” causing duplicate rows. Fixes race‑condition in library/history “load more” causing duplicate rows. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Low |
Makes detached-window failures visible and recoverable with UI feedback. Makes detached-window failures visible and recoverable with UI feedback. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Bugfix | Low |
Surfaces recorder failures in the UI instead of silently failing. Surfaces recorder failures in the UI instead of silently failing. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
Full changelog
NewAmp 1.8.0 turns Eviland from a reactive visualizer into a full generative visual engine, and adds a detached/pop-out visualizer window for a second monitor or projector. (Supersedes the never-tagged 1.7.4; its fixes are included.)
Added — Eviland becomes a generative visual engine
- Native MilkDrop-class waveform layer drawn into the feedback field before the warp (line / radial / spectrum-bar modes).
- Operator engine — every look is data (
OperatorConfig): a base value plus per-channel audio-feature bindings, evaluated and clamped each frame. Serializable, interpolatable, shareable. - Randomizer — endless musically-coherent looks across six archetypes (tunnel, kaleidoscope, liquid, lattice, nebula, strobe), each a short shareable seed (e.g.
K7Q2-9XMF) that recalls the exact look on any machine. - Director (auto-VJ) — reads song structure (sections, energy tiers, novelty) and crossfades looks on the beat, recalling a section's earlier look when it returns. Hands-free, fully overridable.
- Detached / undocked visualizer window — pop Eviland out via the Detach button in the fullscreen controls, pick a display, drag it to a second monitor/projector, and fullscreen it there while the main window stays browsable. Per-frame data streams over a low-latency message port; the feed auto-recovers if the main window reloads.
- Video recording — capture to WebM (VP9/Opus) at 60 fps via a parallel tap that never touches audible output.
- Live input — engine groundwork — typed capture core (voice DSP forced off); device-picker UI is a follow-up.
@eviland/core— the engine staged as a zero-dependency, framework-agnostic library (build-isolated in-repo; standalone npm publish is a tracked follow-up; the build now fails on any drift vssrc/visualizer/).
Fixed (post-review hardening)
- Visualizer no longer stutters under the Director — eliminated a per-frame
JSON.parse(JSON.stringify)deep-clone of the whole operator config (the dominant GC source behind reported lag); steady-state frames reuse the owned config by reference. - Library / History / Loved "load more" — page de-duplication is now race-safe (runs inside the state updater) and the library drops any page that resolves after the search changed, instead of appending stale/duplicate rows.
- Detached-window failures are visible and recoverable — a failed open, port hand-off, or renderer crash tears the window down, reports the reason in the controls, and releases the frame feed (no stuck "open" state).
- Recorder failures surface in the UI instead of silently no-opping the clip button.
- Atomic Eviland store updates;
esbuilddeclared as a devDependency;@eviland/coredrift gated inprebuild; detached smoke now requires a bidirectional port handshake.
Earlier (folded in from 1.7.4)
- Eviland "gold/cream smoke" root-caused and fixed (palette highlight, zoom focal point, section-flash); crisper field decay; album-art overlay opacity 0.72 → 0.55.
🤖 Generated with Claude Code
Full Changelog: https://github.com/Evilander/newamp/compare/v1.7.3...v1.8.0
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Evilander/newamp
All releases →Related context
Related tools
Earlier breaking changes
- v1.5.7 IPC argument order standardized to (albumArtist, album) across all call sites
- v1.5.7 Breaking: IPC argument order aligned to (albumArtist, album) everywhere
- v1.5.7 Breaking: setAlbumRatingScore and getAlbumRating throw on missing input
- v1.5.6 Milkdrop broken on 1.5.4 and 1.5.5 builds; upgrade recommended.
- v1.5.5 Upgrade strongly recommended; version 1.5.4 cannot display albums.
Beta — feedback welcome: [email protected]