This pre-release (December 23, 2025) represents 9 days of development with 76 commits since the previous nightly build, focusing on completing the migration to the new Svelte 5 UI, major security hardening, and extensive code quality improvements.
🎉 Major Milestone: Svelte 5 UI is Now Default
The legacy HTMX-based UI has been completely removed. The modern Svelte 5 interface is now the only UI for all users. This completes a multi-month migration effort that brings:
- Faster, more responsive interactions
- Modern component architecture
- Improved accessibility
- Better mobile experience
- Enhanced notification system with grouping and styling
The newUI setting has been removed as it is no longer needed.
Major Features
Collapsible Desktop Sidebar
New sidebar design with icons-only collapsed mode for more screen real estate. Smooth animations and improved navigation organization (#1626).
Enhanced Daily Summary Dashboard
Dashboard daily summary now features animations and dynamic sorting for better visualization of bird activity patterns (#1622).
Runtime Statistics UI
Database runtime statistics are now visible in the settings interface, providing insight into system performance and data storage (#1621).
Species Tracking Settings
New UI panel for configuring species tracking behavior, with settings changes applied at runtime without restart (#1591, #1595).
Per-Species Notification Controls
Configure cooldown periods and confidence thresholds per species for push notifications, reducing alert fatigue for common visitors (#1579).
Dynamic Threshold Controls
View and reset dynamic threshold runtime data directly from the frontend (#1601).
Notification Improvements
Enhanced notification system with grouping, consistent styling, and security improvements (#1609).
Security & Infrastructure
CSRF Protection
New CSRF middleware added to the API server for enhanced security against cross-site request forgery attacks (#1603).
File Permission Hardening
- Restricted WriteFile permissions to 0600 (#1613)
- Hardened file and directory permissions throughout (#1612)
- Secure handling of file path operations (#1619)
New HTTP Server Architecture
Complete refactoring of the HTTP server infrastructure with improved architecture, moving authentication to server level (#1596, #1598).
OAuth Migration
OAuth callback endpoints migrated from legacy V1 to V2 API (#1574).
Bug Fixes
- Detection review API endpoint now uses correct URL path format (#1629)
- Mobile responsiveness improved for header dropdowns (#1628)
- Mobile touch interactions no longer blocked by sidebar overlay (#1627)
- Frontend object injection and TypeScript linter warnings resolved (#1600)
- Missing i18n translations added for hardcoded strings (#1592)
- Avicommons image provider switched to 2022 taxonomy for accuracy (#1582)
- Spectrogram memory leak and context exhaustion prevented (#1573)
- Hemisphere seasons now update correctly when defaults exist (#1572)
Code Quality
Extensive refactoring across multiple packages to improve maintainability, reduce cognitive complexity, and increase test coverage:
- API v2 code quality improvements and complexity reduction (#1605, #1604, #1599)
- Species tracker split into focused modules with comprehensive tests (#1593, #1594)
- Notification, MQTT, and telemetry packages refactored (#1576, #1578, #1585)
- Spectrogram, security, privacy, and observability improvements (#1588, #1586, #1589, #1590)
- BirdWeather and image provider code quality enhancements (#1584, #1583)
- Dynamic threshold code deduplicated with accessibility improvements (#1602)
- SecureFS cognitive complexity reduced with improved test coverage (#1575)
Upgrading
Users of previous nightly builds should note:
- The
realtime.newuiconfiguration option has been removed - The application will automatically use the new Svelte 5 interface
- All previous functionality remains available through the new UI