FeedReader
Home
Guide
API Reference
Architecture
Smart Features
Content Management
Reading Analytics
Learning & Study
Autonomous Intelligence
Feed Intelligence
Reader Intelligence
Changelog
GitHub
📋 Changelog
All notable changes to FeedReader, organized by release.
v1.3.0
— February 19, 2026
Read/Unread Tracking
Auto-mark as read
— Stories automatically marked as read when tapped or viewed in detail
Blue dot indicator
— Unread stories display a blue dot for quick identification
Visual dimming
— Read stories appear slightly dimmed (lower opacity) for visual scanning
Unread count in title
— Navigation bar shows "(X unread)" when unread stories exist
Segmented filter
— All/Unread/Read filter with live counts in the table header
Mark All Read
— ✓ button in nav bar to mark all stories as read with confirmation
Swipe to toggle
— Swipe left on any story to toggle read/unread status
Persistent storage
— Read status persisted via UserDefaults with automatic pruning (max 5,000 links)
Efficient lookups
— O(1) read status checks via Set-based index
Change notifications
—
.readStatusDidChange
notification for reactive UI updates
42 new tests
— ReadStatusManager lifecycle, filter, count, persistence, notifications, edge cases
v1.2.0
— February 15, 2026
Multi-Feed Support
Feed Manager
— New feed management screen via 📡 antenna icon in the navigation bar
10 built-in presets
— BBC World, BBC Tech, BBC Science, BBC Business, NPR, Reuters, TechCrunch, Ars Technica, Hacker News, The Verge
Custom feeds
— Add any RSS/Atom feed by URL with validation
Feed toggling
— Enable/disable individual feeds without removing them
Feed reordering
— Drag-to-reorder feeds in edit mode
Multi-feed aggregation
— Stories from all enabled feeds merged with duplicate detection by link URL
Persistent storage
— Feed configuration persisted via NSSecureCoding
35 new tests
— Feed model, FeedManager CRUD, toggle, reorder, custom URL validation, reset
v1.1.0
— February 14, 2026
Bookmarks & Search
Bookmark and search functionality added
v1.0.0
— Initial Release
Initial Stable Release
RSS feed parsing
— XMLParser-based RSS/XML reader, configured for BBC World News
Offline caching
— Stories persisted via NSCoding / NSKeyedArchiver
Network detection
— SCNetworkReachability-based connectivity checks with offline UI
Async image loading
— Background-thread thumbnail loading with NSCache
Detail view
— Full description with link to original article in Safari
Smart refresh
— Avoids redundant network fetches on back-navigation
Bug Fixes (pre-release)
Fixed force-unwrap crashes on malformed feed data
Moved RSS feed fetching off main thread to prevent UI freezes
Fixed dead image-loading code — thumbnails now load from URL
Replaced deprecated Reuters RSS feed with BBC News
Added NSCache-based image caching to prevent redundant requests on scroll
Fixed redundant feed reload on back-navigation
Security & Quality
Replaced all force-unwraps with safe guard-let patterns
Migrated deprecated APIs (NSKeyedArchiver, UIApplication.openURL)
Switched to HTTPS for all network requests
Safe decoding in
Story.init(coder:)
to prevent crashes on corrupted archives
Comprehensive unit tests for model, XML parser, and view controllers
CI workflow, Docker build/push, GitHub Copilot agent setup