Skip to content

Releases: tphakala/birdnet-go

Nightly Build 20250224

24 Feb 07:32
Compare
Choose a tag to compare
Pre-release

What's Changed

  • add About page by @tphakala in #484
  • refactor: Enhance error handling and template rendering with improved… by @tphakala in #487
  • fix: Improve SSE connection management and client-side error handling… by @tphakala in #488
  • feat: Add MQTT connection testing and configuration management by @tphakala in #490
  • refactor: Reorganize and enhance view templates for improved structure by @tphakala in #491
  • refactor: Reorganize routes into /api/v1 by @tphakala in #492

Full Changelog: v0.6.2...nightly-20250224

Nightly Build 20250222

22 Feb 17:04
Compare
Choose a tag to compare
Pre-release

What's Changed

  • add About page by @tphakala in #484
  • refactor: Enhance error handling and template rendering with improved… by @tphakala in #487
  • fix: Improve SSE connection management and client-side error handling… by @tphakala in #488

Full Changelog: v0.6.2...nightly-20250222

February 21st, 2025 release

21 Feb 08:20
Compare
Choose a tag to compare

This version fixes BirdWeather uploads which were broken by unannounced API change

What's Changed

  • chore(deps): bump github.com/spf13/cobra from 1.8.1 to 1.9.1 by @dependabot in #464
  • chore(deps): bump golang.org/x/net from 0.34.0 to 0.35.0 by @dependabot in #463
  • chore(deps): bump github.com/go-echarts/go-echarts/v2 from 2.4.0 to 2.5.1 by @dependabot in #465
  • Update dependency licenses by @github-actions in #443
  • Update dependency licenses by @github-actions in #467
  • chore(deps): bump golang.org/x/oauth2 from 0.25.0 to 0.26.0 by @dependabot in #462
  • feat: Add CSRF protection middleware and token handling by @tphakala in #469
  • feat: Add gain control to audio player by @tphakala in #471
  • Update dependency licenses by @github-actions in #468
  • feat: Add high pass filter to audio player by @tphakala in #473
  • fix: Add working pagination for hourly results .. by @tphakala in #474
  • fix: Update soundscape duration type from string to integer by @tphakala in #479
  • feat: Enhance install script with robust update and cleanup mechanisms by @tphakala in #481
  • feat: Improve version handling and build process by @tphakala in #482

Full Changelog: v0.6.1...v0.6.2

Nightly Build 20250221

21 Feb 07:39
2bff84b
Compare
Choose a tag to compare
Pre-release
Merge pull request #482 from tphakala/version-tag-fixes

feat: Improve version handling and build process

Nightly Build 20250219

19 Feb 08:08
Compare
Choose a tag to compare
Pre-release
  • Fix CSRF token issues related to settings saving
  • Fix BirdWeather uploads

Full Changelog: nightly-20250218...nightly-20250219

February 16th, 2025 release

16 Feb 17:04
Compare
Choose a tag to compare

What's Changed

  • feat: add CPU specification handling for optimized thread management by @tphakala in #398
  • feat: enhance audio file processing with terminal width support by @tphakala in #400
  • feat: add directory watch functionality and enhance audio file proces… by @tphakala in #401
  • fix: Audio clip downloads for non default export paths by @tphakala in #403
  • refactor: enhance audio input configuration in install script by @tphakala in #405
  • refactor: improve audio settings configuration and validation by @tphakala in #406
  • Fix docker build process for nightly builds by @tphakala in #407
  • refactor: enhance clip name sanitization and path handling in media handler by @tphakala in #408
  • refactor: fix linter warnings to improve code idioms by @tphakala in #410
  • refactor: reduce complexity of processAudioFile() function by @tphakala in #411
  • refactor: improve memory efficiency and reduce code complexity by @tphakala in #412
  • refactor: fix various linter warnings by @tphakala in #414
  • feat: action menu for detections by @tphakala in #416
  • refactor: update database schema to include review and comment tables by @tphakala in #418
  • feat: Hide detection action menu for unauthenticated users by @tphakala in #420
  • Update dependency licenses by @github-actions in #399
  • refactor: improve MQTT client reliability and testing by @tphakala in #422
  • refactor: improve GORM model constraints and foreign key definitions by @tphakala in #423
  • fix: resolve few linter errors by @tphakala in #421
  • feat: Add ability to lock detections to protect them from cleanup by @tphakala in #424
  • feat: Add status column by @tphakala in #425
  • feat: Store image provider cache in database to speed up application restarts by @tphakala in #426
  • Several UI fixes and improvements by @tphakala in #434
  • fix: Correct filename encoding in audio clip content disposition header by @tphakala in #436
  • refactor: Enhance audio source configuration by @tphakala in #437
  • chore(deps): bump golang.org/x/time from 0.9.0 to 0.10.0 by @dependabot in #442
  • chore(deps): bump golang.org/x/text from 0.21.0 to 0.22.0 by @dependabot in #441
  • chore(deps): bump golang.org/x/crypto from 0.32.0 to 0.33.0 by @dependabot in #440
  • chore(deps): bump golang.org/x/term from 0.28.0 to 0.29.0 by @dependabot in #439
  • feat: Source selection menu for audio level indicator by @tphakala in #444
  • refactor: Improve RTSP stream configuration and settings handling by @tphakala in #445
  • fix: replace portugese label file with valid one by @tphakala in #452
  • refactor: improve audio device initialization process by @tphakala in #450
  • refactor: make diskmanager package respect locked clips during cleanup by @tphakala in #455
  • fix: Various fixes to sound card initialization messages etc. by @tphakala in #459
  • fix: Position action menu based on screen space by @tphakala in #460

Full Changelog: v0.6.0...v0.6.1

January 15th, 2025 release

16 Jan 05:47
Compare
Choose a tag to compare

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

Full Changelog: v0.5.5...v0.6.0

June 9th, 2024 release

09 Jun 13:24
37b6964
Compare
Choose a tag to compare

[0.5.5] - 2024-06-09

πŸš€ Features

  • (audio) Support for multiple RTSP streams
  • (birdnet) Range filter model is now selectable between latest and previous "legacy" version
  • (birdnet) Added "birdnet-go range print" command which lists all species included by range filter model
  • (birdnet) BirdNET overlap setting impacts now realtime process also

πŸ› Bug Fixes

  • (privacy) Fix defaults for privacy and dog bark filters and fix incorrect setting names in default config.yaml
  • (privacy) Do not print dog bark detections if dog bark filter is not enabled
  • (privacy) Fix printf declaration for human detection confidence reporting
  • (audio) Yield to other goroutines in file_utils, policy_age, and policy_usage
  • (build) Linux/arm64 cross-compilation in docker build

🚜 Refactor

  • (audio) Refactor analysis and capture buffers to support multiple individual buffers for different audio sources
  • (audio) Move RTSP code to rtsp.go
  • (config) Config file format for range filter model changed due model type option
  • (rtsp) Update default RTSP URLs to an empty slice
  • (rtsp) Update RTSP stream URLs example in config.yaml
  • (privacy) Make pricacy filter and dog bark filter source specific
  • (build) Move buildDate variable to main.go

πŸ—οΈ Building

  • (deps) Bump github.com/spf13/viper from 1.18.2 to 1.19.0
  • (deps) Bump github.com/shirou/gopsutil/v3 from 3.24.4 to 3.24.5

v0.5.4

01 Jun 08:48
Compare
Choose a tag to compare

[0.5.4] - 2024-06-01

πŸš€ Features

  • (audio) Disk usage based audio clip retention policy, enabled by default with 80% disk usage treshold
  • (conf) Privacy filter Confidence threshold setting
  • (conf) Dog bark filter Confidence threshold setting
  • (conf) Dog bark filter time to remember bark setting

πŸ› Bug Fixes

  • (webui) Fix Settings interface load error

🚜 Refactor

  • (conf) Refactor configuration package to improve settings handling, easier access to settings in code
  • (audio) Audio clip retention policy setting: none, age, usage
  • (audio) Age base audio clip retention policy accepts time in days, weeks, months and years instead of hours
  • (conf) Many settings renamed

βš™οΈ Miscellaneous Tasks

  • Update go.mod with github.com/mitchellh/mapstructure v1.5.0

May 23rd, 2024 release

23 May 15:59
Compare
Choose a tag to compare

[0.5.3] - 2024-05-21

πŸš€ Features

  • (birdweather) Added location fuzzing support for BirdWeather uploads, requires support for BirdWeather.com
  • (audio) Audio source device is now user configurable

πŸ› Bug Fixes

  • (audio) Audio clip extraction fixed for occassional non-contiguous clips

🚜 Refactor

  • (conf) Move default config file from .go to .yaml and add proper default value initialization
  • (conf) Update audio export settings in updateconfig.go and realtime.go

πŸ—οΈ Building

  • (deps) Bump golang.org/x/text from 0.14.0 to 0.15.0
  • (deps) Bump golang.org/x/crypto from 0.22.0 to 0.23.0
  • (deps) Bump github.com/prometheus/client_golang

βš™οΈ Miscellaneous Tasks

  • Update go version to 1.22.3
  • Update golang version to 1.22.3
  • Bump HTMX version from 1.9.11 to 1.9.12
  • Bump daisyUI to 4.11.1
  • Update custom.css to fix theme controller styles
  • Update tailwindcss to v3.4.3
  • Hide "Detections" column on smaller screens
  • Update audio buffer initialization in realtime analysis
  • Remove unused import and struct field in audiobuffer.go