
vibez v1.1.0 — Apple Music and Local Audio in your terminal, now with Native Windows support and Dithered Unicode Album Art
Hey,
A few weeks ago I released vibez (https://github.com/simonepelosi/vibez), an open-source, keyboard-first TUI music player built with Go and Bubble Tea. It lets you stream full-track Apple Music and local audio files directly from your terminal, without needing Cider, Electron wrappers, or official apps.
Today I am happy to announce vibez v1.1.0, introducing native Windows support, crisp dithered album art, and stability fixes.
---
### What is vibez?
For those discovering it for the first time:
- Full-track streaming: Apple Music streaming via a headless Chrome session and Widevine CDM (not 30-second preview clips).
- Local playback: Play your local MP3, FLAC, M4A/AAC, and OGG collection with a built-in 10-band parametric EQ.
- Vibe Mode (v): Type what you are doing or feeling in plain English ("late night lofi coding", "synthwave highway"), and vibez curates a tailored queue for you.
- Discovery and Radio Modes (d / R): Continuous smart auto-queue with dialable similarity from same-artist to pure exploration.
- Vim-style navigation: Jump with gg/G, scroll with j/k, and command line mode with : (:save, :vol, :mute).
- Animated mascot: A terminal bear that naps when idle and dances when music is playing.
- System integration: Discord Rich Presence (RPC), Last.fm scrobbling, and desktop notifications.
---
### What is New in v1.1.0?
#### 1. Native Windows Support (amd64, Pure Go, Zero CGO)
Until now, Windows users had to rely on WSL2. v1.1.0 brings first-class native Windows builds:
- Automated Google Chrome discovery across registry App Paths, per-user paths, and PATH.
- Local audio playback served over an authenticated, loopback HTTP session.
- Native Discord Rich Presence over Windows named pipes (\\.\pipe\discord-ipc-*).
- Windows self-updating with automatic rollback if binary replacement fails.
- Thanks to @hiKareeem for implementing native Windows support (#148).
#### 2. Dithered Album Art (:art) with Unicode Sextants
The :art view has been completely overhauled:
- Downsamples album covers to a 16-color palette and applies Atkinson error-diffusion dithering.
- Renders using Unicode sextants (U+1FB00) (2x3 sub-pixels per terminal cell). On modern terminals that render sextants natively (kitty, Ghostty, WezTerm, Alacritty, foot), covers look sharp and gap-free.
- Automatically falls back to half-blocks on terminals without sextant support (such as Apple Terminal).
- Thanks to @chriopter for implementing this renderer (#146).
#### 3. Linux In-Place Auto-Update Fix
- Fixed an issue where the self-updater on Linux silently failed with ETXTBSY ("Text file busy") when verifying file writability on the executing binary. The updater now probes directory permissions properly.
- Thanks to @ianswope for uncovering and fixing this bug (#160).
#### 4. Concurrency and Stability Polish
- MusicKit Debouncing: Prevented duplicated m.play() calls and race conditions when rapidly changing queues or resuming tracks (thanks to @Wang-Yang-source, #153).
- Data Race Fix: Synchronized request logging across goroutines with a mutex in Apple Music search tests (thanks to @ianswope, #159).
---
### Installation and Getting Started
#### Linux / macOS (One-liner):
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/simonepelosi/vibez/main/scripts/install.sh | sh
#### Windows:
Download the pre-compiled vibez_windows_amd64.zip archive from the GitHub Releases page, or build from source:
go build -o vibez.exe .
#### Already installed?
Run:
vibez update
#### Test-drive without an Apple Music subscription:
You can test the full TUI with simulated playback using demo mode, or point it to your local music directory:
```sh
vibez --demo
# Or local library:
vibez --local --music-dir ~/Music
```
---
### Links
- GitHub Repository: https://github.com/simonepelosi/vibez
- Release Notes: https://github.com/simonepelosi/vibez/releases/tag/v1.1.0
Feedback, bug reports, and terminal setup impressions are welcome!