Releases: tphakala/birdnet-go
Releases Β· tphakala/birdnet-go
Nightly Build 20241223
What's Changed
- File analysis worker pool by @tphakala in #347
- build(deps): bump golang.org/x/net from 0.30.0 to 0.33.0 by @dependabot in #345
- build(deps): bump github.com/labstack/echo/v4 from 4.12.0 to 4.13.3 by @dependabot in #346
- build(deps): bump github.com/google/uuid from 1.4.0 to 1.6.0 by @dependabot in #344
- build(deps): bump golang.org/x/oauth2 from 0.23.0 to 0.24.0 by @dependabot in #342
- build(deps): bump github.com/sj14/astral from 0.2.1 to 0.2.2 by @dependabot in #343
Full Changelog: nightly-20241221...nightly-20241223
Nightly Build 20241221
refactor: enhance error handling in Wikipedia image provider - Updated the queryAuthorInfo function to return default author information instead of errors when metadata is missing, improving user experience and robustness. - Simplified license and artist information retrieval with fallback values, ensuring that the function gracefully handles cases where expected data is not available. - Enhanced debug logging to provide clearer insights into the author information extraction process, aiding in troubleshooting and monitoring.
Nightly Build 20241220
Full Changelog: nightly-20241218...nightly-20241220
Nightly Build 20241218
What's Changed
- Add arrows to dashboard date picker by @farski in #207
- build(deps): bump golang.org/x/crypto from 0.23.0 to 0.24.0 by @dependabot in #209
- 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
- build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 by @dependabot in #215
- 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
- build(deps): bump golang.org/x/crypto from 0.24.0 to 0.26.0 by @dependabot in #259
- build(deps): bump github.com/prometheus/client_model from 0.5.0 to 0.6.1 by @dependabot in #257
- 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
- build(deps): bump github.com/prometheus/client_golang from 1.19.1 to 1.20.2 by @dependabot in #269
- build(deps): bump github.com/eclipse/paho.mqtt.golang from 1.4.3 to 1.5.0 by @dependabot in #267
- build(deps): bump golang.org/x/net from 0.24.0 to 0.28.0 by @dependabot in #268
- refactor: use gopkg.in/yaml.v3 to update config.yaml by @tphakala in #280
- Audio equalizer filter function by @tphakala in #281
- build(deps): bump github.com/fatih/color from 1.14.1 to 1.17.0 by @dependabot in #276
- build(deps): bump github.com/prometheus/client_golang from 1.20.2 to 1.20.3 by @dependabot in #274
- build(deps): bump golang.org/x/net from 0.28.0 to 0.29.0 by @dependabot in #273
- 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
- build(deps): bump golang.org/x/crypto from 0.28.0 to 0.31.0 by @dependabot in #329
- build(deps): bump github.com/fatih/color from 1.17.0 to 1.18.0 by @dependabot in #308
New Contributors
Full Changelog: v0.5.5...nightly-20241218
June 9th, 2024 release
[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
[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
[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
May 1st, 2024 release
[0.5.2] - 2024-05-01
π Features
- Prometheus metrics support, endpoint reports BirdNET detections and application Golang runtime metrics - contributed by @aster1sk
- Disk management by old audio capture cleanup - contributed by @isZumpo
π Bug Fixes
- (analysis) File analysis restored
- (capture) Improve audio buffer write function time keeping
- (datastore) Refactor datastore Get, Delete and Save methods for efficient transaction and error handling
- (datastore) Refactor GetClipsQualifyingForRemoval method in interfaces.go for improved input validation and error handling
- (birdweather) Improve handling of HTTP Responses in UploadSoundscape to prevent possible panics
- (birdweather) Fixed PCM to WAV encoding for soundscape uploads
- (birdweather) Increase HTTP timeout to 45 seconds
- (utils) Do not report root user as missing from audio group
- (tests) Refactor createDatabase function in interfaces_test.go for improved error handling
π Enhancement
- (audio) Print selected audio capture device on realtime mode startup
- (startup) Enhance realtime mode startup message with system details to help troubleshooting
π Refactor
- (conf) Remove unused Context struct from internal/conf/context.go
- (processor) Update range filter action to handle error when getting probable species
ποΈ Building
- (deps) Bump golang.org/x/crypto from 0.21.0 to 0.22.0
- (deps) Bump google.golang.org/protobuf from 1.32.0 to 1.33.0
- (deps) Bump golang.org/x/net from 0.21.0 to 0.23.0
- (go) Bump Go version from 1.21.6 to 1.22.2 in go.mod
- (deps) Bump labstack echo version from 4.11.4 to 4.12.0
- (deps) Bump gorm.io/gorm from 1.25.9 to 1.25.10
- (deps) Bump github.com/gen2brain/malgo from 0.11.21 to 0.11.22
βοΈ Miscellaneous Tasks
- Fix linter errors
Github
- (workflow) Add tensorflow dependencies to golangci-lint
April 5th, 2024 release
[0.5.1] - 2024-04-05
π Features
- MQTT publishing support, contribution by @janvrska
- Location filter threshold is now configurable value under BirdNET node
ποΈ Building
- (deps) Bump gorm.io/gorm from 1.25.8 to 1.25.9
v0.5.0
Changelog
v0.5.0
π Features
- (ui) Web UI for data visualization
- (detection) Privacy filter to discard audio clips with human vocals
- (detection) Dog bark tracking for common false positive filtering
- (db) Save all BirdNET prediction results into table Results
- (audio) Check user group membership on audio device open failure and print instructions for a fix
- (docker) Added support for multiplatform build
- (conf) New function to detect if running in container
- (audio) rtsp audio stream capture support by @twt--
π Bug Fixes
- (docker) Install ca-certificates package in container image
- (capture) Set capture start to 5 seconds before detection instead of 4 seconds
- (capture) Increase audio capture length from 9 to 12 seconds
- (rtsp) Wait before restarting FFmpeg and update parent process on exit to prevent zombies
π Enhancement
- (database) Switched sqlite journalling to MEMORY mode and added database optimize on closing
- (workflow) Update GitHub Actions workflow to build and push Docker image to GHCR
- (workflow) Support multiplatform build with github actions
- (docker) Add ffmpeg to container image
- (ui) Add Greek (el) translations by @hoover67
- (ui) Improve spectrogram generation to enable lazy loading of images
π Refactor
- (ui) Improved spectrogram generation
- (database) Move save to common interface and change it to use transaction
- (audio) Stopped audio device is now simply started again instead of full audio context restart
- (audio) Set audio backend to fixed types based on OS, default to ALSA on Linux
- (labels) Update makefile to zip labels.zip during build and have label files available in internal/birdnet/labels to make it easier to contribute language updates
- (audio) Improve way start time of audio capture is calculated
π Documentation
- (capture) Add documentation to audiobuffer.go
- (changelog) Add git-cliff for changelog management
ποΈ Building
- (deps) Add zip to build image during build
- (deps) Bump gorm.io/driver/mysql from 1.5.4 to 1.5.6
- (deps) Bump gorm.io/gorm from 1.25.7 to 1.25.8
- (docker) Add docker build workflow by @isZumpo
βοΈ Miscellaneous Tasks
- (assets) Upgrade htmx to 1.9.11
Github
- (workflow) Add workflow for building releases
- (workflow) Updated windows build workflow