0.20.3 (2024-04-13)
- deps: update dependency lxml to v5 (#238) (d904a2e)
- deps: update dependency prometheus-client to ^0.20.0 (#248) (cfc9848)
- deps: update httpx (#253) (aadb520)
0.20.2 (2023-12-25)
0.20.1 (2023-12-18)
- regenerate changelog (27b4e75)
v0.20.0 (2023-10-03)
- support python 3.12 (#212)
- require python>=3.9
v0.19.0 (2023-07-15)
- use python 3.11 as default
- enable renovate lock file maintenance
- remove python 3.7
- require python >=3.8
v0.18.0 (2023-03-20)
- add names to stream handler threads
- handle transport error on check_stream
- prevent unbound var on early shutdown
- cache container build
- split test cache per python version
- parse ffmpeg stderr instead of named pipes
v0.17.0 (2023-02-09)
- use env variables to pass data to file hook
- allow logging the file hook stderr output
Passing a JSON blob to the file hook using system arguments has been removed. The file hook now uses environment variables for passing event data.
v0.16.1 (2023-02-04)
- missing args passing from cli
v0.16.0 (2023-02-04)
- catch os errors in local archive storage
- allow tweaking the raw filter string
- add metrics to stats and archive handler
v0.15.2 (2023-01-24)
- don't log httpx or urllib3 debug messages
v0.15.1 (2023-01-23)
- init sentry in main function
v0.15.0 (2023-01-23)
- python3.7 importlib.metadata import
- add release to sentry init
- guess version using importlib.metadata
v0.15.0-alpha.1 (2023-01-23)
- use logger name instead of module
- improve log level handling
v0.15.0-alpha.0 (2023-01-23)
- replace loguru with logging
- add sentry python integration
v0.14.0 (2023-01-23)
- handle encoding errors in ffmpeg stderr
- queue 'type' object is not subscriptable
v0.14.0a0 (2023-01-10)
- do not hang on container shutdown
- catch and ignore invalid segment filename
- rework container image
- remove inaccurate validate_silence_duration
v0.13.1 (2022-11-04)
- catch timeout / network errors for stream check
- use python 3.10 as stable version
- split install and test step
- build lxml for python 3.11
- test python3.11
v0.13.0 (2022-10-07)
v0.13.0-alpha.0 (2022-10-07)
- catch client errors and failed s3 uploads
- clean old fifo before creating it
- use default max_attempts for s3 retry strategy
- allow testing docker build
- publish container to docker.io
- use pending dir for failed segment ingestion
- set working dir to /app in container
- save segments in the working dir before archiving
We now save temporary segments in $PWD/<some_dir>
directory, this means that earhorn has to run in a dedicated directory such as /var/lib/earhorn
.
v0.12.0 (2022-10-07)
- catch boto connection errors
- add boto default retry strategy
v0.11.5 (2022-10-04)
- improve logging in stream_silence
- set default silence duration to decimal value
v0.11.4 (2022-09-20)
- recreate segments.csv fifo when restarting the listener
v0.11.3 (2022-08-16)
- replace events float with decimal
- allow 0.1 difference between durations
v0.11.2 (2022-08-09)
- let the parser guess the content encoding
v0.11.1 (2022-08-09)
- disable resolve_entities on xml parser
- run linting and testing in parallel
v0.11.0 (2022-06-20)
v0.11.0-alpha.3 (2022-06-15)
v0.11.0-alpha.2 (2022-06-15)
- join command args in debug log
- dot not log event using json
- only close stats collector when used
- always close httpx client
- add s3 segment storage
- load .env on run
- wait and handle segments using a fifo
- move check_stream in stream listener
The --archive-segment-filename
option has been
replace with --archive-segment-filepath
, and uses an new template syntax.
v0.11.0-alpha.1 (2022-05-03)
- reorder cli flags
- update log message
- improve logging in stats collector
- allow tweaking silence detect settings
- listen stream with a single ffmpeg command (#73)
v0.11.0-alpha.0 (2022-05-03)
- improve perf sharing a httpx client instance
- catch errors from flaky icecasts servers
- reduce event handler queue timeout to 2s
v0.10.1 (2022-04-27)
- don't import internal Collector class
v0.10.0 (2022-04-27)
- icecast stats using a prometheus custom collector
v0.9.0 (2022-04-25)
v0.9.0-alpha.3 (2022-04-24)
- prevent looping during silence_listener/archiver start
v0.9.0-alpha.2 (2022-04-24)
- add stats exporter to thread list
- infinity loop when stream_url is not provided
- do not stop stats thread on read Timeout
- start even_handler earlier
- rebuild prometheus icecast exporter
- raise error if no stream or stats url is provided
v0.9.0-alpha.1 (2022-04-24)
- add stats extraction time metric
v0.9.0-alpha.0 (2022-04-24)
- add icecast stats parser
- become a prometheus exporter
- replace url argument with --stream-url flag
- rename handler to event_handler
- update zabbix integrations template
v0.8.2 (2022-02-19)
- assume no silence when silence listener start
v0.8.1 (2022-02-19)
- prevent hook to stop the event handler on error
- executable bit on organizer script
- only trigger zabbix alert ~15s of silence
- add template for zabbix monitoring
v0.8.0 (2022-02-14)
- allow to override ffmpeg executable path
- feat: remove -re flag
v0.8.0-alpha.0 (2022-02-09)
- remove -re flag
v0.7.0 (2022-02-05)
- rename prometheus metrics names
v0.6.0 (2022-02-05)
- py37 compatibility fix for Protocol
- py37 compatibility fix for Literal
- type object not being subscriptable
- add py310 to the test matrix
- enhance cli usage
- allow to transcode the stream for archiving (#37)
- add prometheus metrics endpoint (#36)
- remove extension from archive segment filename
- always flush event queue on stop (#24)
- linting
- don't use stderr.readline
- log formatting
- update apt packages list in ci
- no tests yet
- tests module not yet created
- docker-publish does not need publish job
- use event handler and checks during startup
- add stream url precheck (#20)
- more logging for silence listener
- more logging for archiver
- create docker image and publish it (#19)
- use realtime input (#10)
- silence detect (#9)
- warn when no action will be taken
- allow url to be specified using env var
- initial work