Changelog¶
The following changelog is available via the ExaCheck GitHub repository CHANGELOG file.
ExaCheck Changelog¶
2024-04-18 - 0.1.1¶
Changes:
- Docker builds now use a venv rather than installing in system Python
- Docker builds now use Python 3.12 as the base
Fixes:
- Docker builds were not including ExaBGP so they would not be able to work. To fix this the requirement on ExaBGP has been dropped from Python >= 3.12. To use ExaCheck with Python 3.12 onwards (if not using Docker) you must currently install ExaBGP from source:
python3 -m pip --no-cache-dir install "git+https://github.com/Exa-Networks/[email protected]"
Misc:
- Update Apprise, Pydantic, Sentry and various development related modules
2024-04-01 - 0.1.0¶
Changes:
- The HTTP health check method now uses HTTPX instead of
requests
to make the request - HTTP check SNI adapter removed - HTTPX can handle SNI natively without requiring an adapter
Misc:
- Update Sentry, Apprise and Pydantic releases
- Update development group dependency Markdown
- Update various development dependencies
- Pytest configuration moved from .ini file to
pyproject.toml
- MyPy configuration moved from .ini file to
pyproject.toml
Features
- With the change to HTTPX, the HTTP health check now supports HTTP2 (defaults to
False
)
2024-02-21 - 0.0.11¶
Fixes:
- Reap zombie processes and respawn on failure (fixes #8)
Misc:
- Update Sentry and dnspython releases
2024-02-08 - 0.0.10¶
Changes:
- Add support for Python 3.10 and Python 3.12
- ExaBGP will be built from source if using Python 3.12 (using the 4.2 branch)
- Dockerfile changes to add support for Python 3.12:
- Install ExaCheck from git rather than PyPi to allow easier version customisation
- Make sure wheel/setuptools/pip is up to date
Misc:
- Update Semgrep and pydantic releases
- Remove requirement on types-requests; this is not needed for production usage
- Re-format pyproject.toml - use groups for development/typing/formatting/testing
2024-02-07 - 0.0.9¶
Fixes:
http
check method fails to parse the URL correctly for IPv6 hosts; IPv6 address must be enclosed with[]
2024-02-07 - 0.0.8¶
Fixes:
- Log file
count
option was not being used at all; log files would rotate but never be cleaned up - If a
host
value was provided for thehttp
check method the value was being ignored; the host was overwritten from the hostname in URL
2024-01-31 - 0.0.7¶
Fixes:
- Correct the logging event types for announce/withdraw of routes for log filtering to work correctly
- Fix metric attribute naming error
Changes:
- Log exceptions when sending routes to ExaBGP
- Update syslog format string
- Include hostname when logging to remote servers
- Include timestamp when logging to remote servers or when structured logging is used
Features:
- Add the following options for Sentry; values are set to the Sentry defaults:
attach_stacktrace
include_local_variables
debug
- Move Sentry profile sample rate out of experimental configuration
2024-01-30 - 0.0.6¶
Fixes:
- Formatting fixup in
__version__.py
- Ensure STDOUT is flushed on route announce/withdraw
- Define
app_url
for Apprise - Change line breaks for Apprise notification as they are broken in Slack
- Debug or trace level logging must be enabled to log the Python filename/line number/function name in file/syslog
Changes:
- ExaCheck internal configuration (eg. for the
live_reload
feature) has been migrated out of the baseSettings
class. Instead, ExaCheck configuration now resides in its ownsettings.ExaCheck
class.
2024-01-29 - 0.0.5¶
Fixes:
- ExaBGP fails to start on Python 3.12. ExaCheck now requires Python 3.11.
Features
- Docker deployment now available - see the ExaCheck Docker deployment page for instructions.
2024-01-29 - 0.0.4¶
Fixes:
- Replace static version definition in
__version__.py
withimportlib.metadata
lookup
Features:
- Add support for Python 3.11
Misc:
- Update Apprise and dnspython
2024-01-29 - 0.0.3¶
Fixes:
- Add CHANGELOG.md
2024-01-29 - 0.0.3a0¶
Fixes:
- Adds dependency on
loguru
andclick
correctly
2024-01-29 - 0.0.2¶
Initial public release