CHANGELOG.md (view raw)
1# Changelog
2
3All notable changes to this project will be documented in this file.
4
5The format is based on [Keep a
6Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to
7[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
9## [Unreleased]
10
11### Changed
12- Moved all progress and status messages behind `-v/--verbose` flag
13- Default CLI mode is now silent except for final output and errors
14- Components (aggregator, processor, LLM client) use logger interface controlled by verbose flag
15
16## [0.1.0] - 2026-04-21
17
18### Added
19
20- Complete translation from Python prototype to Go implementation
21- RSS/Atom feed parsing using `gofeed` library
22- DeepSeek API integration via `openai-go` client, configured for `/chat/completions` endpoint
23- Content filtering and processing with keyword‑based include/exclude, date filtering, and sorting
24- Command‑line interface using `go‑arg` with automatic help and version flags
25- Multiple output formats: plain text, GitHub‑flavoured markdown, and JSON
26- Terminal user interface (TUI) built with `bubbletea` featuring:
27 - Animated progress bar with gradient colours (`#FF7CCB` to `#FDFF8C`)
28 - Live article counters (aggregated/processed)
29 - Elapsed time display
30 - Coloured status indicators using `lipgloss` styling
31 - Keyboard controls (q/Ctrl+C to quit)
32- Web content extraction fallback using `goquery` when feed descriptions are minimal
33- Configurable limits: articles per feed, maximum age, total articles
34- Token estimation and API usage logging
35- Environment variable support (`DEEPSEEK_API_KEY`) for authentication
36- Example feeds file with technology, programming, and free software sources
37
38### Changed
39
40- Program structure organised into standard Go layout: `cmd/`, `internal/`, `pkg/`
41- English spelling conventions maintained throughout (colour, initialise, summarise)
42- Error handling improved with specific messages for common API failures (invalid key, rate limits, etc.)
43- Progress reporting unified through a `ProgressContext` interface for both TUI and CLI modes
44
45### Fixed
46
47- Initial API endpoint mismatch (using `/responses` instead of `/chat/completions`)
48- Nil pointer dereferences when handling optional feed metadata (author, dates)
49- String repetition syntax errors in Go (replaced `"="*80` with `strings.Repeat`)
50- CLI help/version flag handling to show information without requiring other arguments
51- Type compatibility issues with `openai-go` v3 API (message parameters, token usage fields)