gostations/CHANGELOG.md
Greg Gauthier 33518eb4a4
All checks were successful
CI / Test (push) Successful in 59s
CI / Build (push) Successful in 42s
Release / Create Release (push) Successful in 2m21s
chore(release): prepare v2.0.1 (CI/test/build/release fixes, changelog, VERSION bump)
2026-06-06 08:21:43 +01:00

55 lines
3.0 KiB
Markdown

# Changelog
All notable changes to gostations will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.0.1] - 2026-06-06
### Fixed
- CI "Test" and "Build" flows: added `go mod tidy` (and Makefile `deps` targets) before `make test-short` / `make build` / cross to ensure complete `go.sum` for all modules (configparser, wmenu, charmbracelet/* etc.). This resolves repeated "missing go.sum entry" failures in minimal Gitea runners.
- `TestPrecheck_Unit` now skips gracefully (with clear message) when the configured player (default: mpv) is not installed. Prevents `os.Exit(1)` from failing the root package under `go test -short` in CI.
- Release workflow: added `shell: bash` to steps using bashisms; `go mod tidy` before cross builds; robust error handling in "Create Release & Upload Assets" (`set -euo pipefail`, `curl --fail`, explicit RELEASE_ID check, debug prints of API responses, "target" and "draft": false). Install scripts and asset packaging improved for portability.
- Makefile: removed duplicate SHELL lines, added per-platform `go mod download` inside `cross` for CI resilience, `release-notes` target.
- Pinned Go to 1.24.2 in workflows; modernized old `build.yml` (now proper test+build with checkout/setup-go/cache); cleaned `ci-build.sh`.
- Re-iterated v2.0.0 tag during debugging; process now stable for proper asset drops on Gitea releases page.
See git history for details of the CI/release hardening.
## [2.0.0] - 2026-06-05
v2.0 ships the new TUI and a pile of rewired plumbing.
### Added
- Add mpv IPC player with playback controls and winamp-style UI
- Add favorites management (CLI + TUI) and in-filter server search
- Add custom substring/AND filter for station list
- Add auto-filter on typing
- Add vertical volume bar to playback view
- Add find/play subcommands and JSON favorites support
- Add unit and integration tests for core functionality
- Full modern TUI (Bubble Tea + bubbles/list + lipgloss) as the **default** experience
- Two-stage UI: station selection list → dedicated playback view
- Playback view inspired by classic Winamp (metadata viewer + controls)
- `--legacy` flag to force the old wmenu UI (preserved for now)
### Changed
- Reorganize into internal packages
- Switch to CombinedOutput for command execution
- Default UI is now the new TUI (no more wmenu unless --legacy)
- Player abstraction extended for controls and metadata
- Build/release process modernized (Makefile, cross-compilation, Gitea release workflow + installers) to match other projects
### Fixed
- Fix critical panics and error handling during reorganization
- Fix config lookups for Windows
- Fix inverted short guards, format strings and typos
- Various legacy subExecute / player execution issues from the old architecture
See the git history for the full list of changes leading to 2.0.
## [0.2] - Previous
Legacy wmenu-based UI + initial internal refactoring.