Healthchecks

Developer Tools

A cron-job monitoring service that alerts you when your scheduled tasks go silent.

Latest v4.3 · by Pēteris CauneWebsitehealthchecks/healthchecks

Release activity

Release activity — 10 releases across 10 days since Aug 28, 2025. Each cell is one day; darker means more releases that day. Nothing is recorded before Aug 28, 2025. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026No releases on Aug 16, 2026
MondayNo releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026
TuesdayNo releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 20261 release on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026
WednesdayNo releases on May 6, 2026No releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026No releases on Aug 12, 2026
ThursdayNo releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026No releases on Aug 13, 2026
FridayNo releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026No releases on Aug 14, 2026
SaturdayNo releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026No releases on Aug 15, 2026

10 releases since Aug 28, 2025

Changelog

v4.3

Latest
Added 5
  • Add a note about unset ping key in the check details page
  • Let users specify alert priorities in the "Add Gotify" form
  • Add ability to edit existing Gotify integrations
  • Implement Markdown formatting in Ntfy notifications
  • Add rate-limiting by email in the /accounts/signup view
Changed 6
  • Send "Monthly Phone/SMS/WA Limit Reached" notice to all team members instead of just owner
  • Include notification text in the "Monthly Phone/SMS/WA Limit Reached" notice
  • Switch from Selectize to Tom Select for dropdown controls
  • Update alert templates to report downtime duration
  • Switch to Argon2 as the default hasher for passwords and login tokens
  • Optimize DB queries for team membership lookups and for the "Get Pings" API call
Fixed 5
  • Fix WebhookValidator to handle input that contains square brackets
  • Update Check.rename_and_delete() to better handle race conditions
  • Enforce check limit (times two) when pinging by slug
  • Fix the "Edit Ntfy" form to preserve selected priorities when the form reloads
  • Fix the parsing of inbound emails with UTF8 body
Improvements
  • Send "Monthly Phone/SMS/WA Limit Reached" notice to all team members (not just owner)
  • Include notification text in the "Monthly Phone/SMS/WA Limit Reached" notice
  • Add a note about unset ping key in the check details page (#1295)
  • In the "Add Gotify" form, let users specify alert priorities (#990, @BeyondMagic)
  • Add ability to edit existing Gotify integrations
  • Switch from Selectize to Tom Select for dropdown controls
  • Implement Markdown formatting in Ntfy notifications
  • Update alert templates to report downtime duration (#1309)
  • Switch to Argon2 as the default hasher for passwords and login tokens
  • Optimize DB queries for team membership lookups and for the "Get Pings" API call
Bug Fixes
  • Fix WebhookValidator to handle input that contains square brackets
  • Update Check.rename_and_delete() to better handle race conditions
  • Enforce check limit (times two) when pinging by slug
  • Fix the "Edit Ntfy" form to preserve selected priorities when the form reloads
  • Fix the parsing of inbound emails with UTF8 body (#1311)
  • Add rate-limiting by email in the /accounts/signup view
View originalPermalink
How v4.3 went

v4.2

Changed 2
  • Update the email alert template to cut the beginning of the last ping body
  • Update the email integration to attach email pings as .eml attachments
Fixed 2
  • Fix the email integration to handle deep attachment stacks in last ping body
  • Fix check name and tag escaping in the Shell integration
Improvements
  • Update the email alert template to cut the beginning of the last ping body (#939)
  • Update the email integration to attach email pings as .eml attachments
Bug Fixes
  • Fix the email integration to handle deep attachment stacks in last ping body
  • Fix check name and tag escaping in the Shell integration
View originalPermalink
How v4.2 went

v4.1.1

Fixed 2
  • Fix sendalerts to avoid crashing on a timed out db connection
  • Fix the update_timeout view to also kick off nags
Bug Fixes
  • Fix sendalerts to avoid crashing on a timed out db connection (#1267)
  • Fix the update_timeout view to also kick off nags
View originalPermalink
How v4.1.1 went

v4.1

Added 1
  • Add a one-line summary at the top of monthly/weekly/daily reports
Fixed 7
  • Fix a formatting issue in Matrix notification template
  • Fix emails to never use non-breaking spaces in plain text emails
  • Fix the Change Email form to warn the user about TOTP 2FA
  • Fix daily reports to show downtime stats for the previous 2 days instead of months
  • Fix incorrect Bearer token handling in the Prometheus metrics endpoint
  • Fix the Clone function to copy the filter_http_body and filter_default_fail fields
  • Fix the ping handler to reject uppercase letters in slug values
Removed 1
  • Remove team size limits so users on all plans can now invite many team members
Improvements
  • Remove team size limits: users on all plans can now invite many team members
  • Add a one-line summary at the top of monthly/weekly/daily reports
Bug Fixes
  • Fix a formatting issue in Matrix notification template (#1264, @neoscaler)
  • Fix emails to never use non-breaking spaces in plain text emails
  • Fix the "Change Email" form to warn the user about TOTP 2FA
  • Fix daily reports to show downtime stats for the previous 2 days (not months)
  • Fix incorrect Bearer token handling in the Prometheus metrics endpoint
  • Fix the "Clone" function to copy the filter_http_body, filter_default_fail fields
  • Fix the ping handler to reject uppercase letters in slug values (#1271)
View originalPermalink
How v4.1 went

v4.0

Added 1
  • Add data migration to update legacy timezones to current canonical timezones
Changed 5
  • Upgrade to Django 6.0
  • Update the Matrix integration to use Matrix v3 API
  • Update email alert template to use user's preferred time zone
  • Update the web UI to use user's preferred timezone instead of browser's timezone
  • Switch to using multicolor icon font for integration icons
Fixed 3
  • Fix the text version of email report for recently created checks
  • Fix prepare_durations() to assert ping ordering by id not by created date
  • Fix the Pause API call and UI action to no-op if the check is already paused
Removed 1
  • Drop support for Python 3.11 and below; minimum required Python version is now 3.12

This release drops support of Python 3.11 and below. The minimum required Python version is 3.12.

Improvements
  • Upgrade to Django 6.0
  • Update the Matrix integration to use Matrix v3 API (#1244)
  • Update email alert template to use user's preferred time zone (#1230)
  • Update the web UI to use user's preferred timezone instead of browser's timezone
  • Add data migration to update legacy timezones to current canonical timezones (#1250)
  • Switch to using multicolor icon font for integration icons
Bug Fixes
  • Fix the text version of email report for recently created checks (#1236, @adelton)
  • Fix prepare_durations() to assert ping ordering by id not by created date
  • Fix the "Pause" API call and UI action to no-op if the check is already paused
View originalPermalink
How v4.0 went

v3.13

Added 2
  • Add new content filtering options in the Filtering Rules dialog
  • Add support for _FILE environment variables
Fixed 2
  • Fix the email integration's unsub view to disable (not delete) the channel
  • Pin minio in Dockerfile to a known good version
Improvements
  • Add new content filtering options in the "Filtering Rules" dialog (#1130, #954)
  • Fix the email integration's unsub view to disable (not delete) the channel
  • Add support for _FILE environment variables (#1184)
Bug Fixes
  • Pin minio in Dockerfile to a known good version (#1235)
View originalPermalink
How v3.13 went

v3.12

Added 4
  • Add rate limiting and a default ntfy.sh token support for ntfy notifications
  • After creating a ping key show a dialog displaying the new ping key
  • Add a tooltip with timestamp in the checks table, Last Ping column
  • Add hc_check_grace and hc_check_paused Prometheus metrics
Changed 4
  • Sort checks in daily/weekly/monthly reports by downtime duration, then by name
  • Generate lower-case ping keys to work around broken email providers
  • Update the Zulip transport to allow addressing users by User ID
  • Update Docker base image to python:3.13.9-slim-trixie
Fixed 2
  • Fix cron schedule formatting in Discord notifications
  • Fix cron schedule formatting in Rocket.Chat notifications in mobile app
Improvements
  • Add rate limiting and a default ntfy.sh token support for ntfy notifications
  • Sort checks in daily/weekly/monthly reports by downtime duration, then by name (#1095)
  • Generate lower-case ping keys to work around broken email providers (#1218)
  • After creating a ping key show a dialog displaying the new ping key (#1222)
  • Add a tooltip with timestamp in the checks table, "Last Ping" column (#1040)
  • Update the Zulip transport to allow addressing users by User ID (#771)
  • Add hc_check_grace and hc_check_paused Prometheus metrics (#897, #915)
  • Update Docker base image to python:3.13.9-slim-trixie (#1233)
Bug Fixes
  • Fix cron schedule formatting in Discord notifications
  • Fix cron schedule formatting in Rocket.Chat notifications (in mobile app)
View originalPermalink
How v3.12 went

v3.11.2

Bug Fixes
  • Update Docker image to handle legacy time zones (#1210)
View originalPermalink
How v3.11.2 went

v3.11.1

Changed 1
  • Update Dockerfile to use Debian Trixie as the base
Fixed 1
  • Update Docker image to listen on IPv6 only if LISTEN_IPV6 env var is set
Improvements
  • Update Dockerfile to use Debian Trixie as the base
Bug Fixes
  • Update Docker image to listen on IPv6 only if LISTEN_IPV6 env var is set (#1207)
View originalPermalink
How v3.11.1 went

v3.11

Added 4
  • Store project API keys in the database in a hashed form
  • New integration: Google Chat
  • Add ping_key+slug@... address support when pinging by email
  • Add daily email report option
Changed 2
  • Use hcw_ and hcr_ prefixes in project API keys
  • Update Dockerfile to listen on IPv6 as well
Fixed 1
  • Fix the ping view to handle IPv4-mapped IPv6 addresses
Improvements
  • Store project API keys in the database in a hashed form (#1167)
  • Use "hcw_" and "hcr_" prefixes in project API keys (#1148)
  • New integration: Google Chat (#423)
  • Fix the ping view to handle IPv4-mapped IPv6 addresses (#1169)
  • Update Dockerfile to listen on IPv6 as well (#1177)
  • Add "ping_key+slug@..." address support when pinging by email (#1009)
  • Add daily email report option (#1202)
View originalPermalink
How v3.11 went
View all

Discussion

If you publish Healthchecks, you can claim this product by proving you administer its repository.