This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
ReleasePort's take
Light signalReleasePort v2.0.0 introduces a comprehensive design system with modular CSS, shared UI components, enhanced keyboard navigation, and dynamic skin‑surf capabilities.
Why it matters: The overhaul adds ordered CSS modules, new primitives (ViewHeader, Chip, etc.), queueing grammar for track rows, and Shift+S live skin cycling—impacting all UI surfaces. Adopt these features to modernize the interface before the July 2026 release date.
Summary
AI summaryDesign system overhaul introduces modular CSS, shared UI primitives, enhanced keyboard navigation, and skin‑surf controls.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Adds a real design system with ordered CSS modules and Tailwind var() bridge. Adds a real design system with ordered CSS modules and Tailwind var() bridge. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds shared UI primitives: ViewHeader, Chip, EmptyState, ViewSkeleton, StatusToast, ConfirmAction, and SVG icon set. Adds shared UI primitives: ViewHeader, Chip, EmptyState, ViewSkeleton, StatusToast, ConfirmAction, and SVG icon set. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds "Now Playing" stage with ON AIR lamp, truth-in-the-chrome readouts, resonance spotlight, and attract mode. Adds "Now Playing" stage with ON AIR lamp, truth-in-the-chrome readouts, resonance spotlight, and attract mode. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds restrained Resonance set: playing‑row accent bar, transport art breathing ring, and scrub glow, gated by data-amp-reactive and prefers-reduced-motion. Adds restrained Resonance set: playing‑row accent bar, transport art breathing ring, and scrub glow, gated by data-amp-reactive and prefers-reduced-motion. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds library queueing grammar: keyboard‑focusable track rows with Enter to play, Q to queue, Shift+Q to play next, and arrow navigation. Adds library queueing grammar: keyboard‑focusable track rows with Enter to play, Q to queue, Shift+Q to play next, and arrow navigation. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds Deck Snapshot: camera button or Ctrl+Shift+S captures a skin‑true polaroid of any compact deck to clipboard and disk. Adds Deck Snapshot: camera button or Ctrl+Shift+S captures a skin‑true polaroid of any compact deck to clipboard and disk. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds Shift+S skin surf: live cycling of built‑in skins with zero‑hitch theming. Adds Shift+S skin surf: live cycling of built‑in skins with zero‑hitch theming. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds Ctrl+K resume row: Quick Play palette opens pre‑filled with the last listened track. Adds Ctrl+K resume row: Quick Play palette opens pre‑filled with the last listened track. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds music‑first first launch: tutorial now starts with user’s music, removing the front‑facing API‑key screen. Adds music‑first first launch: tutorial now starts with user’s music, removing the front‑facing API‑key screen. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds craft regression matrix: `npm run craft:matrix` captures 104 shots and pixel‑diffs against baseline. Adds craft regression matrix: `npm run craft:matrix` captures 104 shots and pixel‑diffs against baseline. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Bugfix | Medium |
Fixes light‑skin legibility by ensuring form controls on recessed surfaces render with display ink in Steel, Terminal, Ice, and Miami themes. Fixes light‑skin legibility by ensuring form controls on recessed surfaces render with display ink in Steel, Terminal, Ice, and Miami themes. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | Medium |
Ensures first‑launch tutorial completion persists before dismissal and prevents soft‑lock caused by failed settings write. Ensures first‑launch tutorial completion persists before dismissal and prevents soft‑lock caused by failed settings write. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | Low |
Restores styling for EmptyLibrary's suggested‑folder buttons, which were missing since v1.1. Restores styling for EmptyLibrary's suggested‑folder buttons, which were missing since v1.1. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
Full changelog
[2.0.0] - 2026-07-08
Reference Grade — the design-led major. The app that always looked like
hardware now feels machined like it: one token layer, one header voice, truth
in every readout, and a screenshot harness to keep it that way.
Added
- A real design system. The 5,500-line
index.cssmonolith is now ordered
modules (tokens / chrome / shells / decks / per-view files) with
type/motion/shadow/radius/row-height ramps, a Tailwindvar()bridge, one
THEME_REGISTRY, and global keyboard focus-visible treatment. - Shared primitives, everywhere.
ViewHeader(one header voice — eyebrow,
title, count chip, status slot, actions),Chip,EmptyState,
ViewSkeletonshimmer placeholders wired to real loading states,
StatusToast(a module-level toast queue replacing scattered inline status
text),ConfirmActiontwo-step arm-then-fire on destructive actions, and an
SVG icon set that retires the wobbly★/☆text glyphs. - Now Playing is a stage. ON AIR lamp, truth-in-the-chrome readouts,
resonance spotlight, and an attract mode when nothing is playing. - Restrained Resonance set. Playing-row accent bar, transport art
breathing ring, and scrub glow — all gated ondata-amp-reactiveand
prefers-reduced-motion, all compositor-only. - Library queueing grammar. Track rows are keyboard-focusable:
Enter
plays,Qqueues,Shift+Qplays next (with toast feedback), and arrow
keys walk the rows — no mouse required in a 60,000-track table. - Deck Snapshot. A quiet camera button (or
Ctrl+Shift+S) on every
compact deck captures a skin-true polaroid of the deck — straight to
clipboard and disk. - Shift+S skin surf. Cycle the built-in skins live from anywhere;
zero-hitch theming means the visualizer doesn't stutter when you land. - Ctrl+K resume row. The Quick Play palette opens with your last listen
ready to resume before you type a single character. - Music-first first launch. The tutorial now starts with your music —
the API-key screen is gone from the front of the funnel. - Craft regression matrix.
npm run craft:matrixcaptures 104 shots
(4 shells × 6 skins × 4 views, plus all 8 deck skins) by driving the real
Settings UI, then pixel-diffs against a local baseline. - Self-hosted fonts. Inter, JetBrains Mono, and VT323 ship as woff2 —
the Google Fonts origins are gone from the CSP entirely. - Bit-Perfect Exclusive lanes for macOS and Linux (experimental).
CoreAudio hog mode and ALSA-direct output join the Windows
WASAPI-exclusive native engine in the same honesty framework.
Changed
- Settings reorganized into registry cards with a jump-to-section chip TOC.
- Catalog views (Albums / Artists / Folders) share one header, skeleton,
empty-state, and pagination language; the AlphabetRail is generalized. - Mixes builds once per request and surfaces a "Seed changed — rebuild" chip
instead of yanking all eight mixes out from under a mid-scroll user. - Home loads honestly: skeletons ride real async state, and the hero absorbs
active-station state (ON AIR + STOP) from the old side panel. - README rewritten human-first, with the deep technical story in a
"For the nerds" section at the bottom.
Fixed
- Light-skin legibility: form controls on recessed display surfaces now read
in display ink on Steel/Terminal/Ice/Miami. - First-launch tutorial completion persists before dismissal and can no
longer soft-lock on a failed settings write. - EmptyLibrary's suggested-folder buttons render styled (their CSS had been
missing since v1.1).
Full Changelog: https://github.com/Evilander/newamp/compare/v1.17.0...v2.0.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]