github tphakala/birdnet-go nightly-20251223
Nightly Build nightly-20251223

pre-release5 hours ago

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.newui configuration option has been removed
  • The application will automatically use the new Svelte 5 interface
  • All previous functionality remains available through the new UI

Don't miss a new birdnet-go release

NewReleases is sending notifications on new releases.