Version 3.21
Changes
- Resolve settings inconsistency (by removing them).
- Simplify implementation to improve maintainability.
- Deprecate and remove duplicate or outdated checks.
Motivation
Settings inconsistency has long been an issue of this package. Some use package dictionaries; some use single-value settings.
Over time this package has also accumulated a host of checks, some of which are outdated or similar or superior to others.
Migration Guide
-
Remove these
health_check.*sub‑apps fromINSTALLED_APPSbut keephealth_check! -
Remove all
HEALTH_CHECK_*settings from your settings file. -
Replace the URL include with the view and explicit
checkslist.
Before:# urls.py path("ht/", include("health_check.urls"))
After (example):
# urls.py from health_check.views import HealthCheckView path( "ht/", HealthCheckView.as_view( checks=[ "health_check.Cache", "health_check.Database", "health_check.Disk", "health_check.Mail", "health_check.Memory", "health_check.Storage", # 3rd party checks "health_check.contrib.celery.Ping", "health_check.contrib.rabbitmq.RabbitMQ", "health_check.contrib.redis.Redis", ] ), )
Removals and Replacements
StorageHealthCheck,DefaultFileStorageHealthCheck,S3BotoStorageHealthCheck,S3Boto3StorageHealthCheckhave been replaced withStorage.CeleryHealthCheckhas been replaced withPing.MigrationsHealthCheckhas been removed; its functionality is covered by Django's check framework.DatabaseHealthCheckhas been replaced withDatabasewhich doesn't require a table and supports multiple database aliases.
Full Changelog: 3.20.8...3.21.0