Skip to content

v0.24.0

Compare
Choose a tag to compare
@mastercactapus mastercactapus released this 21 Nov 19:55
· 12706 commits to master since this release
17adbdd

Getting Ready For Peak

This release has a lot of bug fixes, features, and hardening in prep for the peak season!

Message Bundling!!

No more SMS/call per-second during alert storms!!

When you have more than 1 scheduled message for a given contact method (e.g. 5 alerts pending for SMS)
you will now get an SMS reading "Svc: 'foobar' has 5 unacked alerts" with an option to ack or close all. This also works for voice and Slack!

Additionally, you will only ever receive up to 1 message per 60-seconds for an individual contact method (confirmation/replies excluded).

You can enable bundling from the Admin page under the General section.

Short URL Support

GoAlert now supports generating shorter URLs, optionally from an alternate domain.

You can enable ShortURL in the Admin page under the General section.

Alert Cleanup

You can now have GoAlert automatically cleanup closed alerts that are older than a configurable amount of days.

This can be enabled by setting a non-zero value for Alert Cleanup Days in the Maintenance section of the Admin page.

New Database Driver

We switched to the github.com/jackc/pgx driver to solve a swath of bugs and issues (e.g. where context deadlines were not respected) we ran into with the old driver. We also put a lot of work in to handle DB/connection hiccups more gracefully. In most cases, this means even if the DB is restarted, no requests will fail (assuming it comes back within a reasonable time).

More importantly, network edge cases that could cause a connection or query to hang (sometimes indefinitely) will now properly terminate and respect context deadlines using the new driver.

Heartbeat Monitors

Heartbeat monitors are a new feature that will generate an Alert if they do not receive a POST request within the specified time period. This means you can have a cronjob checking in hourly, and if it fails, fails to run, or loses network access, GoAlert will still create an alert once the timeout is reached.

You can find the link on the Service Details page to manage these.

System Limits

We've introduced a default set of system limits for things like max rules on a schedule, max unacked alerts per service, etc.. These are intended to give some type of bounds or upper-limit on different resources.

They can be tweaked in the config_limits table. A page will be added to the Admin panel in a future version.

Prioritization Refactor

The logic around prioritizing messages has been replaced with a version that is unit-testable and flexible. Services that have not received any notifications will have their first notification prioritized above all else for example.

Priority is also re-calculated per-message making it fairer during alert storms.

Misc Other Changes

  • Site24x7 integration (#96, thanks @sco-pi for the contribution!)
  • lots and lots of bugfixes
  • lots of dependency updates
  • updated Go and React
  • started migrating lots of code to use React hooks
  • fixed issue that blocked messages being sent to many country codes