Changelog¶
The following changelog is available via the ExaCheck GitHub repository CHANGELOG file.
ExaCheck Changelog¶
2024-07-10 - 0.1.3¶
Fixes:
- If a DNS health check had a response pattern configured the last character of the response was being removed during validation. Some additional debug output was added in case of future issues.
Misc:
- Update core requirements:
- Sentry
- Pydantic
- Update various development dependencies (linting/formatting tools)
- Add debugger launch configs for VS Code
2024-06-13 - 0.1.2¶
Changes:
- Bump ExaBGP to build 4.2.22 - This fixes build issues on Python 3.12 which required working around. The Docker image has had the manual deployment of ExaBGP removed since it can now be built on its own successfully.
Misc:
- Update core requirements:
- Pydantic
- Sentry
- Apprise
- ujson
- Update various development dependencies (linting/formatting tools)
- VS Code Workspace fixes (debugpy, spelling)
- Dev container image mirror changed to
gitlab.com
- Remove duplicate apt install in dev container
- Reformat docker ignore file
- Update default compose file
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:
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