What's Changed
- Add arrows to dashboard date picker by @farski in #207
- Add link to web root when clicking on logo by @isZumpo in #210
- Improve devcontainer experience by @isZumpo in #201
- feat: Dynamic threshold keeps track of high confidence bird calls and… by @tphakala in #206
- feat: get weather data from openweathermap.org and save hourly weathe… by @tphakala in #213
- Add thumbnail support by @isZumpo in #76
- Publish bird images in mqtt events by @isZumpo in #219
- refactor: improve thumbnails code, add cache size metrics for telemetry by @tphakala in #220
- fix: Protect access to ringBuffers and prevData maps with rbMutex by @tphakala in #223
- feat:_ add settings to enable thumbnails on dashboard by @tphakala in #227
- feat: add hourly results for daily summary table by @tphakala in #228
- fix: Add context timeout for MQTT publish by @tphakala in #232
- fix: Handle MQTT client connection error gracefully by @tphakala in #233
- refactor: add MQTT client unit tests and use node name as MQTT client id by @tphakala in #235
- refactor: telemetry package refactored to modular structure by @tphakala in #240
- fix: Hourly occurences not being calculated correctly when using MySQL by @PeteLawrence in #238
- Fix merge conflict by @xconverge in #243
- Documentation of Recommended Hardware by @florisre in #245
- Refactor HTTP controller code and settings UI by @tphakala in #256
- Add web UI error pages and improve error logging by @tphakala in #258
- refactor: unify detection list HTML templates and handler functions, … by @tphakala in #260
- feat: add sunrise and sunset data to dashboard and detection listings… by @tphakala in #262
- Respect the BirdNET.RangeFilter.Threshold setting when filtering species by @PeteLawrence in #263
- fix: dog and privacy filtering got broken with multiple audio sources… by @tphakala in #264
- fix: enhance error checking in birdweather code to avoid crashes or o… by @tphakala in #265
- refactor: major rewrite of ffmpeg process management by @tphakala in #270
- feat: collect system resource usage info as debug in cases where ring… by @tphakala in #271
- refactor: use gopkg.in/yaml.v3 to update config.yaml by @tphakala in #280
- Audio equalizer filter function by @tphakala in #281
- Full refresh of partial route pages & other UI enhancements by @petterip in #292
- feat: add support for custom classifiers by @tphakala in #293
- build(deps): bump golang.org/x/net from 0.29.0 to 0.30.0 by @dependabot in #291
- feat: enable use of TensorFlow XNNPACK delegate for accelerating infe… by @tphakala in #303
- Implement OAuth2 authentication (for issue #301) by @petterip in #313
- UI Responsivity and Technical Improvements by @petterip in #316
- Fix hour cell links & add sticky headers for Recent detections by @petterip in #318
- fix: only validate required input fields by @petterip in #320
- File analysis worker pool by @tphakala in #347
- Devcontainer Docker Notes by @jkrauska in #362
- feat: implement audio watchdog for RTSP source monitoring by @tphakala in #365
- Weather info refactor by @tphakala in #366
- BirdNET debug by @tphakala in #370
- Fix SSE session handling by @tphakala in #373
- Species config UI by @tphakala in #375
- Improve configuration reload by @tphakala in #378
- WebUI improvements by @tphakala in #382
- Fix layout issues with Firefox by @tphakala in #383
- Add version number to Web UI and fix page scrolling behaviour by @tphakala in #385
- Update dependency licenses by @github-actions in #391
- Event tracker fixes by @tphakala in #393
- Add cache busting for js and css files by @tphakala in #394
New Contributors
- @florisre made their first contribution in #245
- @petterip made their first contribution in #292
- @jkrauska made their first contribution in #362
Full Changelog: v0.5.5...v0.6.0