Healthchecks Versions Save

Open-source cron job and background task monitoring service, written in Python & Django

v2.1

2 years ago

Improvements

  • Add logic to alert ADMINS when Signal transport hits a CAPTCHA challenge
  • Implement the "started" progress spinner in the details pages
  • Add "hc_check_started" metric in the Prometheus metrics endpoint (#630)
  • Add a management command for submitting Signal rate limit challenges
  • Upgrade to django-compressor 4.0
  • Update the C# snippet
  • Increase max displayed duration from 24h to 72h (#644)
  • Add "Ping-Body-Limit" response header in ping API responses

Bug Fixes

  • Fix unwanted localization in badge SVG generation (#629)
  • Update email template to handle not yet uploaded ping bodies
  • Add small delay in transports.Email.notify to allow ping body to upload
  • Fix prunenotifications to handle checks with missing pings (#636)
  • Fix "Send Test Notification" for integrations that only send "up" notifications

v2.0.1

2 years ago

Bug Fixes

  • Fix the GHA workflow for building arm/v7 docker image

v2.0

2 years ago

This release contains a backwards-incompatible change to the Signal integration (hence the major version number bump). Healthchecks uses signal-cli to deliver Signal notifications. In the past versions, Healthchecks interfaced with signal-cli over DBus. Starting from this version, Healthchecks interfaces with signal-cli using JSON RPC. Please see README for details on how to set this up.

Improvements

  • Update Telegram integration to treat "group chat was deleted" as permanent error
  • Update email bounce handler to mark email channels as disabled (#446)
  • Update Signal integration to use JSON RPC over UNIX socket
  • Update the "Add TOTP" form to display plaintext TOTP secret (#602)
  • Improve PagerDuty notifications
  • Add Ping.body_raw field for storing body as bytes
  • Add support for storing ping bodies in S3-compatible object storage (#609)
  • Add a "Download Original" link in the "Ping Details" dialog

Bug Fixes

  • Fix unwanted special character escaping in notification messages (#606)
  • Fix JS error after copying a code snippet
  • Make email non-editable in the "Invite Member" dialog when team limit reached
  • Fix Telegram bot to handle TransportError exceptions
  • Fix Signal integration to handle UNREGISTERED_FAILURE errors
  • Fix unwanted localization of period and grace values in data- attributes (#617)
  • Fix Mattermost integration to treat 404 as a transient error (#613)

v1.25.0

2 years ago

Improvements

  • Implement Pushover emergency alert cancellation when check goes up
  • Add "The following checks are also down" section in Telegram notifications
  • Add "The following checks are also down" section in Signal notifications
  • Upgrade to django-compressor 3.0
  • Add support for Telegram channels (#592)
  • Implement Telegram group to supergroup migration (#132)
  • Update the Slack integration to not retry when Slack returns 404
  • Refactor transport classes to raise exceptions on delivery problems
  • Add Channel.disabled field, for disabling integrations on permanent errors
  • Upgrade to Django 4
  • Bump the min. Python version from 3.6 to 3.8 (as required by Django 4)

Bug Fixes

  • Fix report templates to not show the "started" status (show UP or DOWN instead)
  • Update Dockerfile to avoid running "pip wheel" more than once (#594)

v1.24.1

2 years ago

Bug Fixes

  • Fix Dockerfile for arm/v7 - install all dependencies from piwheels

v1.24.0

2 years ago

Improvements

  • Switch from croniter to cronsim
  • Change outgoing webhook timeout to 10s, but cap the total time to 20s
  • Implement automatic api_ping and api_notification pruning (#556)
  • Update Dockerfile to install apprise (#581)
  • Improve period and grace controls, allow up to 365 day periods (#281)
  • Add SIGTERM handling in sendalerts and sendreports
  • Remove the "welcome" landing page, direct users to the sign in form instead

Bug Fixes

  • Fix hc.api.views.ping to handle non-utf8 data in request body (#574)
  • Fix a crash when hc.api.views.pause receives a single integer in request body

v1.23.1

2 years ago

Bug Fixes

  • Fix missing uwsgi dependencies in arm/v7 Docker image

v1.23.0

2 years ago

Improvements

  • Add /api/v1/badges/ endpoint (#552)
  • Add ability to edit existing email, Signal, SMS, WhatsApp integrations
  • Add new ping URL format: /{ping_key}/{slug} (#491)
  • Reduce Docker image size by using slim base image and multi-stage Dockerfile
  • Upgrade to Bootstrap 3.4.1
  • Upgrade to jQuery 3.6.0

Bug Fixes

  • Add handling for non-latin-1 characters in webhook headers
  • Fix dark mode bug in selectpicker widgets
  • Fix a crash during login when user's profile does not exist (#77)
  • Drop API support for GET, DELETE requests with a request body
  • Add missing @csrf_exempt annotations in API views
  • Fix the ping handler to reject status codes > 255
  • Add 'schemaVersion' field in the shields.io endpoint (#566)

v1.22.0

2 years ago

Improvements

  • Use multicolor channel icons for better appearance in the dark mode
  • Add SITE_LOGO_URL setting (#323)
  • Add admin action to log in as any user
  • Add a "Manager" role (#484)
  • Add support for 2FA using TOTP (#354)
  • Add Whitenoise (#548)

Bug Fixes

  • Fix dark mode styling issues in Cron Syntax Cheatsheet
  • Fix a 403 when transferring a project to a read-only team member
  • Security: fix allow_redirect function to reject absolute URLs

v1.21.0

2 years ago

Improvements

  • Increase "Success / Failure Keywords" field lengths to 200
  • Django 3.2.4
  • Improve the handling of unknown email addresses in the Sign In form
  • Add support for "... is UP" SMS notifications
  • Add an option for weekly reports (in addition to monthly)
  • Implement PagerDuty Simple Install Flow, remove PD Connect
  • Implement dark mode

Bug Fixes

  • Fix off-by-one-month error in monthly reports, downtime columns (#539)