Skip to content

0.9.0

Choose a tag to compare

@liliang-dev liliang-dev released this 02 Nov 08:16
· 10 commits to main since this release
47356a8

No migration and no change to an existing setting: replace the image and restart.

Added

  • Spring Boot starter: jobs monitored on each instance (starter 0.2.0). An application running
    as several instances declares each job once for all of them, and the check stays up while any
    instance reports it: right for a clustered Quartz job or a job behind a lock, but an instance
    whose scheduler is stuck went unnoticed while another worked. Jobs that have to run everywhere
    can now be listed in silencewatch.per-instance-jobs, with a stable silencewatch.instance-id:
    each instance then declares them in an environment of its own (production.app-0) and has its
    own checks. No default for the instance's name, since one that changes at every deploy would
    leave a check behind each time. Without it, the listed jobs stay shared, with a warning.
  • The same for the Python library and the Laravel package. APScheduler runs in every process
    and a Laravel task without ->onOneServer() on every server, with the same blind spot:
    per_instance_jobs / instance_id (Python) and SILENCEWATCH_PER_INSTANCE_TASKS /
    SILENCEWATCH_INSTANCE_ID (Laravel) do what the starter's settings do. Celery tasks and
    ->onOneServer() tasks, which one worker or server runs at a time, are never watched per
    instance: the libraries say so and keep them shared.

Changed

  • The starter's README and documentation (in English and in French) say what a check means when
    an application runs as several instances, which they did not say at all. Two server tests hold
    it: replicas share one check that stays up while any reports, and per-instance checks keep one
    instance going quiet visible while another reports.
  • Black and white. The product has no purple left: the interface, the website, the emails
    and the logo are black, white and true greys, light and dark, and the only colours are a check's
    state (red when it goes silent, green when it is back, amber when late). The logo is redrawn in
    vector, a black tile for a light background and a white one for a dark one; the favicon, the
    home-screen icon and the social-sharing images follow. Nothing to do on upgrade.

Dependencies

Angular 22.2.4 (CDK, Material, build and CLI 22.2.5), Better Auth 1.7.14, nodemailer 10.3.1,
jose 6.2.14, Nest 11.2.8; for the Spring Boot starter and its example, Spring Boot 4.1.2 and
Surefire 3.6.1; for the Python library, ruff 0.17.3 and pytest 9.2.0.

Container image

ghcr.io/liliang-dev/silencewatch:0.9.0