- [#181] Update sample project to Django 4.x
- [#171] Improve database check performance: replace introspection.table_names() by a simple cursor query (@cristianemoyano)
- [#180, #174,] Switch testing to Github Actions from TravisCI, update to latest versions
- [#178] Add black, flake8, and isort linting
- [#163] Replaced deprecated url() calls with re_path() (@dominik-bln)
- [#159] Fixed invalid escape sequence in decorators by changing to a raw string
- [#154] Added custom path support for storage check
- Fix modal popups on dashboards when Type or Name fields contains spaces (@maikeps)
- Official django-watchman 1.0 release! Releases will (try to) follow semantic versioning from now on.
- Drop support for python 2 and Django<2 (@JBKahn)
- Drop usage of
django-jsonview
in favor of the Django's built in JsonResponse (@JBKahn)
- [#142] Skip traces in Datadog if
WATCHMAN_DISABLE_APM
is enabled (@robatwave)
- [#141] Disable APM monitoring on
ping
endpoint ifsettings.WATCHMAN_DISABLE_APM
is configured (@JBKahn)
- [#131] Make watchman constants importable (@jonespm)
- [#134] Update Django/Python versions & clean up sample site Docker (@JayH5)
- [#114] Add "bare" status view (@jamesmallen)
- [#115] Adds
WATCHMAN_DISABLE_APM
option (@xfxf) - [#63] Disable watchman version output by default, add
EXPOSE_WATCHMAN_VERSION
setting (@mwarkentin)
- [#110] Replace vagrant + ansible with Dockerfile (@ryanwilsonperkin)
- [#111] Configure Django logging for checks (@dhoffman34)
- [#112] Add simple HTTP ping endpoint (@dhoffman34)
- [#101] Write
bytes
to dummy file on storage check to fix an issue in Python 3 (thanks @saily!)
- [#105] Add
WATCHMAN_CACHES
andWATCHMAN_DATABASES
settings to override the Django defaults- When using watchman with a large number of databases, the default checks can cause an excess of connections to the database / cache
- New settings allow you to check only a subset of databases / caches
- Watchman will still default to checking all databases / caches, so no changes necessary for most apps
- [#100] Add
WATCHMAN_EMAIL_SENDER
setting to customize email check "from" address
- [#99] Fix verbose output in management command on Django 1.8+
- Update tests to run on Django 1.7 - 1.10
- [#87] Fix 500 errors with ATOMIC_REQUESTS enabled
- Disables atomic transactions on the watchman views to prevent generic 500 errors
- [#88] Restructure dashboard and switch icon libraries
- Make check types singular on dashboard
- Switch to FontAwesome instead of Glyphicon to track Bootstrap updates
- Improve traceback display width
- [#92] Support multiple auth tokens
- Fixes [#86]
- Deprecates
settings.WATCHMAN_TOKEN
and addssettings.WATCHMAN_TOKENS
- [#81] Fix header-based authentication for tokens w/ dashes (-)
- Regex was overly specific for header values (w)
- Added TODO to follow up with a full regex for valid characters according to the spec
- [#75] Enable header-based authentication
- Set a header instead of passing the token via GET param:
"Authorization: WATCHMAN-TOKEN Token=\":token\""
- Improves security by keeping tokens out of logs
- Set a header instead of passing the token via GET param:
- [#79] Enable customization of email check
- Add
WATCHMAN_EMAIL_RECIPIENTS
setting - pass a list of recipients the email should be sent to - Add
WATCHMAN_EMAIL_HEADERS
setting - pass a dict of custom headers to be set on the email
- Add
- [#51] Update TravisCI Python / Django versions
- [#52] Fix deprecated
url_patterns
- [#53] Change default error response code to
500
- [#56] Add
@check
decorator and refactor existing checks to use it (thanks @benwebber!) - [#57] Sort
caches
/databases
in response for more consistent responses - [#59] Add
.editorconfig
for improved consistency in contributions - [#61] Add
Vagrantfile
and docs for how to run and develop on Vagrant instance - [#65] Include assets in source tarball for Debian packaging (thanks @fladi)
- [#71] Unpin django-jsonview in setup.py
- [#72] Fix stacktrace on dashboard modal and increase width for better readability
- [#46] Allow custom response codes with the
WATCHMAN_ERROR_CODE
setting
- Update headers in
HISTORY.rst
to attempt to fix localshop parsing issues
- [#40] Bump
django-jsonview
for improved Django 1.8 compatibility- Also brought travis Django test versions in line with currently supported Django versions (1.4.x, 1.7.x, 1.8.x)
- [#30] Allow users to specify a custom authentication/authorization decorator
- Override the
@auth
decorator by settingWATCHMAN_AUTH_DECORATOR
to a dot-separated path to your own decorator - eg.
WATCHMAN_AUTH_DECORATOR = 'django.contrib.admin.views.decorators.staff_member_required'
- Token-based authentication remains the default
- Override the
- [#31], [#34] Add a human-friendly status dashboard
- Available at
<watchman url>/dashboard/
?check
&?skip
GET params work on the dashboard as well
- Available at
- [#35] Add
X-Watchman-Version
header to responses
- Add
watchman
management command- Exit code of
0
if all checks pass,1
otherwise - Print json stacktrace to
stderr
if check fails - Handles
--verbosity
option to print all status checks -c
,--checks
,-s
,--skips
options take comma-separated list of python paths to run / skip
- Exit code of
- Improve identifiability of emails sent from a django-watchman endpoint
- From: [email protected]
- Subject: django-watchman email check
- Body: This is an automated test of the email system.
- Add
X-DJANGO-WATCHMAN: True
custom header
- Add new default check:
storage
check- Checks that files can be both written and read with the current Django storage engine
- Add
WATCHMAN_ENABLE_PAID_CHECKS
setting to enable all paid checks without modifyingWATCHMAN_CHECKS
- Remove
email_status
from default checks - Refactor
utils.get_checks
to allow reuse in management commandget_checks
now performs the optional check inclusion / skippingstatus
refactored to pullcheck_list
/skip_list
from GET params and pass them toget_checks
- Namespace cache keys
- Update documentation
- Add the ability to skip certain checks by passing one or more
skip=path.to.callable
GET params when hitting the watchman URL
- New check - email (
watchman.checks.email_status
)! django-watchman will now check that your email settings are working too! - Fix a few small issues in the readme
- Rearrange some of the code in checks.py
- Fix and run tests on Python 2.7 and 3.4
- Bump django-jsonview dependency to latest
- Update tox envlist and travis config to test 2.7 / 3.4
- Initialize django during tests to prevent app loading issue for Django >= 1.7
- Suppress
MIDDLEWARE_CLASSES
warning for Django >= 1.7 - Reorganize test imports
- Fix
make test
,make coverage
,make release
commands - Add htmlcov/ directory to .gitignore
- Test django 1.4, 1.6, 1.7
- Custom checks can now be written and run using the
WATCHMAN_CHECKS
setting - A subset of the available checks can be run by passing the
check
GET param when hitting the watchman url
- Move package requirements out of requirements.txt and into setup.py
- Remove
django>=1.5.5
version specification - Remove
wheel
requirement
- First release on PyPI.