This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
ReleasePort's take
Light signalv1.5.4 restores Milkdrop fullscreen responsiveness via audio graph rewrite and mesh optimization. Per-song and per-album ratings now available, boosting mix scoring.
Why it matters: Fullscreen visualizer performance significantly improved for complex visualization use. Rating separation enables better mix curation. Heavy Milkdrop users should test performance in dev.
Summary
AI summaryMilkdrop fullscreen performance improved and per-song/per-album rating separation added.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Milkdrop visualizer is reactive again after audio graph rewrite. Milkdrop visualizer is reactive again after audio graph rewrite. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Per-song AND per-album ratings added, album rating boosts mix scorer. Per-song AND per-album ratings added, album rating boosts mix scorer. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Milkdrop fullscreen no longer chokes with optimized mesh and render budget. Milkdrop fullscreen no longer chokes with optimized mesh and render budget. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Performance | Medium |
Milkdrop fullscreen optimized with reduced mesh size, longer preset rotation, shorter blend time, capped render budget, and adaptive resolution scaling. Milkdrop fullscreen optimized with reduced mesh size, longer preset rotation, shorter blend time, capped render budget, and adaptive resolution scaling. Source: granite4.1:30b@2026-05-21-audit Confidence: low |
— |
| Bugfix | Medium |
Seek-failure diagnostic added for VBR MP3 without Xing/Info header. Seek-failure diagnostic added for VBR MP3 without Xing/Info header. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Refactor | Medium |
Fullscreen visualizer cleanup: auto-hide top nav, arrow keys cycle presets only, volume bar hidden by default. Fullscreen visualizer cleanup: auto-hide top nav, arrow keys cycle presets only, volume bar hidden by default. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
Full changelog
Live-feedback pass driven by playing the 1.5.3 build. Five user-reported issues from a single listening session, all fixed.
Highlights
Milkdrop visualizer is reactive again — the 1.5.3 audio graph rewrite made the AnalyserNode a leaf node that Chrome's audio graph optimizer culled, so butterchurn was reading a frozen FFT buffer. Routing both analysers through a 0-gain GainNode to AudioDestinationNode keeps the subtree alive without adding audible signal.
Milkdrop fullscreen no longer chokes — mesh 32×24 (was 48×36), preset rotation 16s → 22s, blend 3.6s → 2.2s, render budget capped at 2.5M pixels for butterchurn, and adaptive resolution scaling that downscales on sustained frame misses and recovers gradually.
Per-song AND per-album ratings — the AlbumsView rating slider used to overwrite every track's rating, destroying per-song nuance. New album_ratings table stores album ratings independent of tracks. Now Playing exposes both a Song slider and an Album slider. The mix scorer factors album rating as a +0..2 boost so well-rated albums lift their songs into Auto DJ and mixes without overwriting per-song detail.
Fullscreen visualizer cleanup:
- Top nav auto-hides on cursor idle, reappears near top edge. The persistent toggle that could leave users with no nav was removed.
- Arrow keys cycle visualizer presets without also seeking the song (the shortcut layer now defers ←/→ to the visualizer when fullscreen).
- Volume bar fully hidden by default; faint silhouette appears when nav is up; fully visible on direct hover.
- Mouse wheel anywhere over the fullscreen viz drives volume (Shift+wheel = coarse). Doesn't affect library/Now Playing scroll.
- Toolbar buttons tightened to 26px height for a denser, less obtrusive look.
Seek-failure diagnostic — Comets on Fire (Field Recordings from the Sun) wouldn't fast-forward because it's VBR MP3 without a Xing/Info header (LAME --vbr-old era). HTMLAudioElement can't seek these accurately. The engine now logs the failure with the source URL so future telemetry can quantify the population.
Verification
All checksums and provenance in SHA256SUMS.txt / BUILD-PROVENANCE.json. Windows binaries signed. Smoke battery green: visualizer, keyboard shortcuts, audio limiter, ReplayGain, DNA, seed-vibe, library, ui-visualizer, ui-playback, audio-proof, packaged-normal-launch.
See CHANGELOG.md for full breakdown.
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]