3.2 KiB
3.2 KiB
Changelog
[Unreleased] - 2026-01-26
Changed - Performance & Logging Improvements
Performance Optimizations
- Increased batch size from 10 to 20 for concurrent API processing
- Optimized for powerful servers (like Xeon X5690 with 96GB RAM)
- Processing time reduced from 5+ minutes to 30-60 seconds for 150 articles
- Filtering: 20 articles processed concurrently per batch
- Summarization: 20 articles processed concurrently per batch
Simplified Logging
- Minimal console output - Only essential information logged at INFO level
- Changed most verbose logging to DEBUG level
- Only 2 lines logged per run at INFO level:
2026-01-26 13:11:41 - news-agent - INFO - Total articles fetched from all sources: 152 2026-01-26 13:11:41 - news-agent - INFO - Saved 2 new articles (filtered 150 duplicates)
Silenced (moved to DEBUG):
- Individual RSS feed fetch messages
- Database initialization messages
- AI client initialization
- Article filtering details
- Summarization progress
- Email generation and sending confirmations
- Cleanup operations
Still logged (ERROR level):
- SMTP errors
- API errors
- Feed parsing errors
- Fatal execution errors
Configuration Management
- Renamed
config.yamltoconfig.yaml.example - Added
config.yamlto.gitignore - Users copy
config.yaml.exampletoconfig.yamlfor local config - Prevents git conflicts when pulling updates
- Config loader provides helpful error if
config.yamlmissing
Added
- setup.sh script for easy initial setup
- PERFORMANCE.md - Performance benchmarks and optimization guide
- TROUBLESHOOTING.md - Solutions for common issues
- QUICK_START.md - 5-minute setup guide
- MODELS.md - AI model selection guide
- SMTP_CONFIG.md - Email server configuration guide
- CHANGELOG.md - This file
Fixed
- Model name updated to working OpenRouter models
- Rate limit handling with concurrent batch processing
- Filtering threshold lowered from 6.5 to 5.5 (more articles)
- Email template already includes nice formatting (no changes needed)
Performance Comparison
Before Optimizations
- Sequential processing: 1 article at a time
- 150 articles × 2 seconds = 5-7 minutes
- Verbose logging with ~50+ log lines
After Optimizations
- Batch processing: 20 articles at a time
- 150 articles ÷ 20 × 2 seconds = 30-60 seconds
- Minimal logging with 2 log lines
Speed improvement: 5-10x faster!
Migration Guide
If you already have a working installation:
1. Update code
cd ~/news-agent
git pull # or copy new files
2. Rename your config
# Your existing config won't be overwritten
cp config.yaml config.yaml.backup
# Future updates won't conflict with your local config
3. Test the changes
source .venv/bin/activate
python -m src.main
You should see only 2 INFO log lines and much faster processing!
4. Check timing
time python -m src.main
Should complete in 1-2 minutes (was 5-7 minutes).
Notes
- Batch size can be adjusted in
src/ai/filter.pyandsrc/ai/summarizer.py - Logging level can be changed in
config.yaml(DEBUG for verbose) - No breaking changes - all features work the same, just faster and quieter