🚀 Major Features & Improvements
Bird Detection Occurrence Probability included in MQTT messages (#1199)
- Species Rarity Scoring: Adds 0-1 occurrence probability to all bird detections
- Smart Alerting Foundation: Enables nuanced notifications based on species rarity at specific locations
- MQTT Integration: Occurrence data automatically included in MQTT payloads
- Performance Optimized: Cached species scores lookup with graceful fallbacks
- Impact: More intelligent detection prioritization based on actual species probability
Weather Underground Provider Integration (#1174) 🌟 Community Contribution by @ModerateWinGuy
- Personal Weather Station Support: Direct integration with Weather Underground API for ultra-accurate local weather data
- Custom Station Data: Pull readings directly from your own weather station for precise detection metadata
- Modern UI Integration: Full configuration interface with API key, Station ID, endpoint, and units selection
- UK Hybrid Units: New unit option combining metric and imperial measurements
- Impact: Enhanced detection accuracy with hyper-local weather conditions from personal weather stations
CSV Export for Range Filter Species (#1207)
- Data Export: Download complete species lists from range filter settings
- Multi-Access Points: Export from both main settings page and modal dialogs
- Custom Parameters: Support for latitude, longitude, and threshold customization via query strings
- Metadata Headers: CSV includes location, threshold, and timestamp information
- Impact: Enables offline analysis and data sharing with other birding tools
End-to-End Testing Foundation with Playwright (#1202)
- Cross-Browser Testing: Chrome, Firefox, Safari, and mobile device support
- Page Object Models: Reusable dashboard interaction patterns
- CI/CD Integration: GitHub Actions ready with comprehensive test reporting
- Foundation for Quality: Smoke tests for dashboard and authentication workflows
- Impact: Target 70% reduction in user-reported bugs through systematic integration testing
Smart Notification Management (#1178)
- Duplicate Prevention: Eliminates spam from repeated "new species" notifications
- Configurable Suppression: 7-day default window (0-30 days configurable)
- Memory Efficient: Automatic cleanup of old notification records
- Thread Safe: Robust concurrent operation handling
- Impact: Cleaner notification experience without losing important alerts
🔧 Bug Fixes & Reliability
Critical Bug Fixes & System Stability (#1208, #1217, #1195, #1194, #1193, #1205, #1201, #1188)
- Species Tracker Reliability: Fixed 8 critical bugs with comprehensive testing, achieving 41% test coverage
- OAuth Authentication: Resolved callback URL mismatches causing 404 errors with dual-route support
- Settings Persistence: Fixed web UI inability to save node names, time formats, and security settings
- Test Infrastructure: Eliminated imageprovider test timeouts and goroutine leaks with proper cleanup
- Species Config Persistence: Resolved zero value omission in species configuration
- Notification Optimization: Lowered priority of timeout errors to reduce alert noise
🐳 Docker & Deployment Revolution
Decoupled BirdNET Models from Binary (#1191, #1190, #1189, #1187)
- Separated Model Files: BirdNET models now separate from birdnet-go binary in Docker images
- Reduced Update Downloads: Only download binary changes when updating - models stay cached
- NoEmbed Build Option: Optional builds without embedded models for maximum size reduction
- Automatic Model Discovery: Smart detection of BirdNET models in standard paths without configuration
- Environment Variable Support: Custom model paths via
BIRDNET_MODELPATH
- Backward Compatibility: Existing Docker configurations continue working unchanged
- Impact: Dramatically faster Docker updates and reduced bandwidth usage for frequent deployments
Install Script Improvements (#1181)
- Comprehensive Port Validation: Checks all required ports (80, 443, 8080, 8090) before installation
- Process Identification: Shows which processes are using occupied ports
- Actionable Error Messages: Provides specific stop commands for common web servers
- Multi-Tool Compatibility: Uses ss, lsof, netstat, and nc for maximum system compatibility
- Impact: Prevents installation failures due to port conflicts with clear remediation steps
📦 Dependencies & Maintenance
Security & Compatibility Updates (#1216, #1186, #1213, #1212, #1211, #1210, #1185)
- Updated dependency licenses documentation (multiple updates)
- github.com/stretchr/testify v1.10.0 → v1.11.0
- google.golang.org/api v0.247.0 → v0.248.0
- github.com/markbates/goth v1.81.0 → v1.82.0
- go.uber.org/mock v0.5.2 → v0.6.0
- github.com/go-viper/mapstructure/v2 v2.3.0 → v2.4.0
Full Changelog: nightly-20250811...nightly-20250825