Skip to content

v0.27.0

Compare
Choose a tag to compare
@m17ch m17ch released this 12 May 21:13
· 7975 commits to master since this release
3d88ed7

GoAlert v0.27.0

This release has a lot of long-anticipated awesome new features and improvements! Most of the work of this release was done under the covers to enable these as well as new features currently in the pipeline.

Thanks to our new contributors @kanish671 and @phoenix6561 for help with the React Hooks conversions Issue #923

Temporary Schedules

Temporary schedules allow replacing the entire on-call schedule for a fixed timeframe. It should help situations where a team requires fine-grained control of on-call responsibility for a few days (e.g. peak week).

To get started using this feature, click the "Temp Sched" button from the schedule details page calendar:
image

A dialog will open allowing you to configure the time span of the schedule and associated shifts:
image image

Temporary schedules will appear green on the calendar:
image

Email (SMTP) as an User Contact Method

A new user contact method type EMAIL has been introduced. This allows an additional avenue for users to receive alert notifications.
image

The SMTP server details can be configured from the Admin page.
image

Prioritize Schedules on Escalation Policies

Schedules now appear at the top of the Edit Step dialog. Many users had trouble with overrides before realizing a rotation was used instead of schedule. This change was found to encourage users to use schedules (instead of rotations) when configuring a policy.

image

Prometheus Metrics

You can now enable Prometheus metrics at startup. This allows for monitoring some of the internals and health of GoAlert.

To enable, set the --listen-prometheus flag or the GOALERT_LISTEN_PROMETHEUS environment variable.

A new endpoint at <listen_address>/metrics will include:

  • Total number of created alerts
  • Number of in-flight HTTP server requests
  • Total number of requests by status code
  • Duration of outgoing HTTP requests
  • Number of active outgoing HTTP requests
  • Number of engine cycles
  • Engine cycle duration by module
  • GraphQL resolver method statistics
  • Sent notifications by contact method type and message type
  • Received response count by destination and response (e.g. ack, close, stop, start)

Contact Method Throttling

GoAlert now implements bucketed throttling of notifications, per contact method. This is to avoid spamming devices due to misconfiguration or a noisy/broken healthcheck.

For reference, new rules are:

Message Type Contact Method Type Rules
All All 1 per minute
Status All 1 per 3 minutes
3 per 20 minutes (burst)
8 per 2 hours
Alert SMS 5 per 15 minutes (burst)
11 per 1 hour
21 per 3 hours
Alert Voice 3 per 15 minutes (burst)
7 per 1 hour
15 per 3 hours

Bug Fixes/Misc

  • Updated GoAlert in-app documentation at /docs: Now supports rendering multiple markdown documents.
  • ui/schedules: monthly views are fixed to include the correct out-of-bounds shifts when viewing the schedule calendar.
  • ui/forms: fixed an issue where the schedule rule weekday filter couldn't be edited

Version Updates:

  • Golang 1.15.3 -> 1.16.4
  • Postgres 11 -> 13
  • Typescript 3.9.7 -> 4.0.3
  • Apollo 3.1.5 -> 3.3.15
  • Webpack 4.44.2 to 5.13.0