diff --git a/CHANGELOG.md b/CHANGELOG.md index cd10d9a..5c7e3cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,106 @@ # Changelog +## 4.0.0 — 2026-07-12 + +### "Sinyal" — new visual identity +- Complete restyle: warm charcoal surfaces, amber "radio dial glow" default + accent (`#f2a33c`, was violet `#8b7cf6`), and a new type system — + Bricolage Grotesque (display) / Schibsted Grotesk (UI) / Spline Sans Mono + (numerals/labels). +- Signature **frequency-line** waveform motif: the hero scrubber in the new + Now Playing sheet, and an animated line on the mini player while playing. +- The 4 themes (Auto / Dark / Light / OLED Black) are kept, restyled to the + new palette. Dark ("Kor") and OLED ("Gece") text ramps are tuned for + readability — secondary text ~10:1 and tertiary/mono labels ~5.7–6.4:1 on + the background; navigation labels use the secondary tier. The accent picker + now offers **7** Sinyal swatches (Amber, Copper, Signal Red, Moss, Teal, + Sky, Lilac); **previously saved accents are remapped to their nearest new + swatch** on the fly (`ui/theme.ts` → `normalizeAccent`) — the stored + setting itself is left untouched, so rolling back is non-destructive. +- **New brand mark**: the "sinyal" crest — five round-capped frequency bars — + replaces the S monogram everywhere (in-app logo, favicon, PWA/launcher + icons, monochrome themed icon). The in-app mark breathes gently and the + "Seseri" wordmark carries a soft signal sheen; both are static under + `prefers-reduced-motion`. +- YouTube artwork now loads from the official `i.ytimg.com` CDN (derived + from the video id) instead of Piped/Invidious instance proxies, which + frequently go dark; search-result artwork also falls back to a calm + placeholder tile when an image fails to load. +- **Mini player → mini transport**: skip back/forward and play/pause live + directly in the dock, and the progress hairline is a tap/drag seek slider — + no need to open the full player for everyday control. On wider screens the + transport (prev / skip / play / skip / next) sits centred, with the sleep + timer and speed selector grouped at the end (both kept in sync with the + sheet's controls). The expand chevron or the title area still opens the + Now Playing sheet (scrubber, queue, YouTube video frame). +- **YouTube embed → audio background rescue**: when a track has to start on + the iframe fallback (which a locked phone pauses), the app keeps retrying + audio resolution in the background and hot-swaps to the `