alertmanager/CHANGELOG.md
Nguyen Quang Huy edf170d03b Add signed off to commit (#1766)
- Fix error string should not be capitalized from [Golang coding convention](https://github.com/golang/go/wiki/CodeReviewComments#error-strings)
- Fix some typos

Signed-off-by: Nguyen Quang Huy <huynq0911@gmail.com>
2019-02-25 11:04:42 +01:00

22 KiB

Next release

  • [CHANGE] Make api/v2/status.cluster.{name,peers} properties optional for Alertmanager with disabled clustering (#1728)

0.16.1 / 2019-01-31

  • [BUGFIX] Do not populate cluster info if clustering is disabled in API v2 (#1726)

0.16.0 / 2019-01-17

This release introduces a new API v2, fully generated via the OpenAPI project [1]. At the same time with this release the previous API v1 is being deprecated. API v1 will be removed with Alertmanager release v0.18.0.

  • [CHANGE] Deprecate API v1
  • [CHANGE] Remove api/v1/alerts/groups GET endpoint (#1508 & #1525)
  • [CHANGE] Revert Alertmanager working directory changes in Docker image back to /alertmanager (#1435)
  • [CHANGE] Using the recommended label syntax for maintainer in Dockerfile (#1533)
  • [CHANGE] Change alertmanager_notifications_total to count attempted notifications, not only successful ones (#1578)
  • [CHANGE] Run as nobody inside container (#1586)
  • [CHANGE] Support w for weeks when creating silences, remove y for year (#1620)
  • [FEATURE] Introduce OpenAPI generated API v2 (#1352)
  • [FEATURE] Lookup parts in strings using regexp.MatchString in templates (#1452)
  • [FEATURE] Support image/thumb url in attachment in Slack notifier (#1506)
  • [FEATURE] Support custom TLS certificates for the email notifier (#1528)
  • [FEATURE] Add support for images and links in the PagerDuty notification config (#1559)
  • [FEATURE] Add support for grouping by all labels (#1588)
  • [FEATURE] [amtool] Add timeout support to amtool commands (#1471)
  • [FEATURE] [amtool] Added config routes tools for visualization and testing routes (#1511)
  • [FEATURE] [amtool] Support adding alerts using amtool (#1461)
  • [ENHANCEMENT] Add support for --log.format (#1658)
  • [ENHANCEMENT] Add CORS support to API v2 (#1667)
  • [ENHANCEMENT] Support HTML, URL title and custom sounds for Pushover (#1634)
  • [ENHANCEMENT] Update Alert compact view (#1698)
  • [ENHANCEMENT] Support adding custom fields to VictorOps notifications (#1420)
  • [ENHANCEMENT] Add help link in UI to Alertmanager documentation (#1522)
  • [ENHANCEMENT] Enforce HTTP or HTTPS URLs in Alertmanager config (#1567)
  • [ENHANCEMENT] Make OpsGenie API Key a templated string (#1594)
  • [ENHANCEMENT] Add name, value and SlackConfirmationField to action in Slack notifier (#1557)
  • [ENHANCEMENT] Show more alert information on silence form and silence view pages (#1601)
  • [ENHANCEMENT] Add cluster peers DNS refresh job (#1428)
  • [BUGFIX] Fix unmarshalling of secret URLs in config (#1663)
  • [BUGFIX] Do not write groupbyall and groupby when marshaling config (#1665)
  • [BUGFIX] Make a copy of firing alerts with EndsAt=0 when flushing (#1686)
  • [BUGFIX] Respect regex matchers when recreating silences in UI (#1697)
  • [BUGFIX] Change DefaultGlobalConfig to a function in Alertmanager configuration (#1656)
  • [BUGFIX] Fix email template typo in alert-warning style (#1421)
  • [BUGFIX] Fix silence redirect on silence creation UI page (#1548)
  • [BUGFIX] Add missing callback_id parameter in Slack notifier (#1592)
  • [BUGFIX] Throw error if no auth mechanism matches in email notifier (#1608)
  • [BUGFIX] Use quoted-printable transfer encoding for the email notifier (#1609)
  • [BUGFIX] Do not merge expired gossip messages (#1631)
  • [BUGFIX] Fix "PLAIN" auth during notification via smtp-over-tls on port 465 (#1591)
  • [BUGFIX] [amtool] Support for assuming first label is alertname in silence add and query (#1693)
  • [BUGFIX] [amtool] Support assuming first label is alertname in alert query with matchers (#1575)
  • [BUGFIX] [amtool] Fix config path check in amtool (#1538)
  • [BUGFIX] [amtool] Fix rfc3339 example texts (#1526)
  • [BUGFIX] [amtool] Fixed issue with loading path of a default configs (#1529)

[1] https://github.com/prometheus/alertmanager#api

0.15.3 / 2018-11-09

  • [BUGFIX] Fix alert merging supporting both empty and set EndsAt property for firing alerts send by Prometheus (#1611)

0.15.2 / 2018-08-14

  • [ENHANCEMENT] [amtool] Add support for stdin to check-config (#1431)
  • [ENHANCEMENT] Log PagerDuty v1 response on BadRequest (#1481)
  • [BUGFIX] Correctly encode query strings in notifiers (#1516)
  • [BUGFIX] Add cache control headers to the API responses to avoid IE caching (#1500)
  • [BUGFIX] Avoid listener blocking on unsubscribe (#1482)
  • [BUGFIX] Fix a bunch of unhandled errors (#1501)
  • [BUGFIX] Update PagerDuty API V2 to send full details on resolve (#1483)
  • [BUGFIX] Validate URLs at config load time (#1468)
  • [BUGFIX] Fix Settle() interval (#1478)
  • [BUGFIX] Fix email to be green if only none firing (#1475)
  • [BUGFIX] Handle errors in notify (#1474)
  • [BUGFIX] Fix templating of hipchat room id (#1463)

0.15.1 / 2018-07-10

  • [BUGFIX] Fix email template typo in alert-warning style (#1421)
  • [BUGFIX] Fix regression in Pager Duty config (#1455)
  • [BUGFIX] Catch templating errors in Wechat Notify (#1436)
  • [BUGFIX] Fail when no private address can be found for cluster (#1437)
  • [BUGFIX] Make sure we don't miss the first pushPull when joining cluster (#1456)
  • [BUGFIX] Fix concurrent read and write group error in dispatch (#1447)

0.15.0 / 2018-06-22

  • [CHANGE] [amtool] Update silence add and update flags (#1298)
  • [CHANGE] Replace deprecated InstrumentHandler() (#1302)
  • [CHANGE] Validate Slack field config and only allow the necessary input (#1334)
  • [CHANGE] Remove legacy alert ingest endpoint (#1362)
  • [CHANGE] Move to memberlist as underlying gossip protocol including cluster flag changes from --mesh.xxx to --cluster.xxx (#1232)
  • [CHANGE] Move Alertmanager working directory in Docker image to /etc/alertmanager (#1313)
  • [BUGFIX/CHANGE] The default group by is no labels. (#1287)
  • [FEATURE] [amtool] Filter alerts by receiver (#1402)
  • [FEATURE] Wait for mesh to settle before sending alerts (#1209)
  • [FEATURE] [amtool] Support basic auth in alertmanager url (#1279)
  • [FEATURE] Make HTTP clients used for integrations configurable
  • [ENHANCEMENT] Support receiving alerts with end time and zero start time
  • [ENHANCEMENT] Sort dispatched alerts by job+instance (#1234)
  • [ENHANCEMENT] Support alert query filters active and unprocessed (#1366)
  • [ENHANCEMENT] [amtool] Expose alert query flags --active and --unprocessed (#1370)
  • [ENHANCEMENT] Add Slack actions to notifications (#1355)
  • [BUGFIX] Register nflog snapShotSize metric
  • [BUGFIX] Sort alerts in correct order before flushing to notifiers (#1349)
  • [BUGFIX] Don't reset initial wait timer if flush is in-progress (#1301)
  • [BUGFIX] Fix resolved alerts still inhibiting (#1331)
  • [BUGFIX] Template wechat config fields (#1356)
  • [BUGFIX] Notify resolved alerts properly (#1408)
  • [BUGFIX] Fix parsing for label values with commas (#1395)
  • [BUGFIX] Hide sensitive Wechat configuration (#1253)
  • [BUGFIX] Prepopulate matchers when recreating a silence (#1270)
  • [BUGFIX] Fix wechat panic (#1293)
  • [BUGFIX] Allow empty matchers in silences/filtering (#1289)
  • [BUGFIX] Properly configure HTTP client for Wechat integration

0.14.0 / 2018-02-12

  • [ENHANCEMENT] [amtool] Silence update support dwy suffixes to expire flag (#1197)
  • [ENHANCEMENT] Allow templating PagerDuty receiver severity (#1214)
  • [ENHANCEMENT] Include receiver name in failed notifications log messages (#1207)
  • [ENHANCEMENT] Allow global opsgenie api key (#1208)
  • [ENHANCEMENT] Add mesh metrics (#1225)
  • [ENHANCEMENT] Add Class field to PagerDuty; add templating to PagerDuty-CEF fields (#1231)
  • [BUGFIX] Don't notify of resolved alerts if none were reported firing (#1198)
  • [BUGFIX] Notify only when new firing alerts are added (#1205)
  • [BUGFIX] [mesh] Fix pending connections never set to established (#1204)
  • [BUGFIX] Allow OpsGenie notifier to have empty team fields (#1224)
  • [BUGFIX] Don't count alerts with EndTime in the future as resolved (#1233)
  • [BUGFIX] Speed up re-rendering of Silence UI (#1235)
  • [BUGFIX] Forbid 0 value for group_interval and repeat_interval (#1230)
  • [BUGFIX] Fix WeChat agentid issue (#1229)

0.13.0 / 2018-01-12

  • [CHANGE] Switch cmd/alertmanager to kingpin (#974)
  • [CHANGE] [amtool] Switch amtool to kingpin (#976)
  • [CHANGE] [amtool] silence query: --expired flag only shows expired silences (#1190)
  • [CHANGE] Return config reload result from reload endpoint (#1180)
  • [FEATURE] UI silence form is populated from location bar (#1148)
  • [FEATURE] Add /-/healthy endpoint (#1159)
  • [ENHANCEMENT] Instrument and log snapshot sizes on maintenance (#1155)
  • [ENHANCEMENT] Make alertGC interval configurable (#1151)
  • [ENHANCEMENT] Display mesh connections in the Status page (#1164)
  • [BUGFIX] Template service keys for pagerduty notifier (#1182)
  • [BUGFIX] Fix expire buttons on the silences page (#1171)
  • [BUGFIX] Fix JavaScript error in MSIE due to endswith() usage (#1172)
  • [BUGFIX] Correctly format UI error output (#1167)

0.12.0 / 2017-12-15

  • [FEATURE] package amtool in docker container (#1127)
  • [FEATURE] Add notify support for Chinese User wechat (#1059)
  • [FEATURE] [amtool] Add a new silence import command (#1082)
  • [FEATURE] [amtool] Add new command to update silence (#1123)
  • [FEATURE] [amtool] Add ability to query for silences that will expire soon (#1120)
  • [ENHANCEMENT] Template source field in PagerDuty alert payload (#1117)
  • [ENHANCEMENT] Add footer field for slack messages (#1141)
  • [ENHANCEMENT] Add Slack additional "fields" to notifications (#1135)
  • [ENHANCEMENT] Adding check for webhook's URL formatting (#1129)
  • [ENHANCEMENT] Let the browser remember the creator of a silence (#1112)
  • [BUGFIX] Fix race in stopping inhibitor (#1118)
  • [BUGFIX] Fix browser UI when entering negative duration (#1132)

0.11.0 / 2017-11-16

  • [CHANGE] Make silence negative filtering consistent with alert filtering (#1095)
  • [CHANGE] Change HipChat and OpsGenie api config names (#1087)
  • [ENHANCEMENT] amtool: Allow 'd', 'w', 'y' time suffixes when creating silence (#1091)
  • [ENHANCEMENT] Support OpsGenie Priority field (#1094)
  • [BUGFIX] Fix UI when no silences are present (#1090)
  • [BUGFIX] Fix OpsGenie Teams field (#1101)
  • [BUGFIX] Fix OpsGenie Tags field (#1108)

0.10.0 / 2017-11-09

  • [CHANGE] Prevent inhibiting alerts in the source of the inhibition (#1017)
  • [ENHANCEMENT] Improve amtool check-config use and description text (#1016)
  • [ENHANCEMENT] Add metrics about current silences and alerts (#998)
  • [ENHANCEMENT] Sorted silences based on current status (#1015)
  • [ENHANCEMENT] Add metric of alertmanager position in mesh (#1024)
  • [ENHANCEMENT] Initialise notifications_total and notifications_failed_total (#1011)
  • [ENHANCEMENT] Allow selectable matchers on silence view (#1030)
  • [ENHANCEMENT] Allow template in victorops message_type field (#1038)
  • [ENHANCEMENT] Optionally hide inhibited alerts in API response (#1039)
  • [ENHANCEMENT] Toggle silenced and inhibited alerts in UI (#1049)
  • [ENHANCEMENT] Fix pushover limits (title, message, url) (#1055)
  • [ENHANCEMENT] Add limit to OpsGenie message (#1045)
  • [ENHANCEMENT] Upgrade OpsGenie notifier to v2 API. (#1061)
  • [ENHANCEMENT] Allow template in victorops routing_key field (#1083)
  • [ENHANCEMENT] Add support for PagerDuty API v2 (#1054)
  • [BUGFIX] Fix inhibit race (#1032)
  • [BUGFIX] Fix segfault on amtool (#1031)
  • [BUGFIX] Remove .WasInhibited and .WasSilenced fields of Alert type (#1026)
  • [BUGFIX] nflog: Fix Log() crash when gossip is nil (#1064)
  • [BUGFIX] Fix notifications for flapping alerts (#1071)
  • [BUGFIX] Fix shutdown crash with nil mesh router (#1077)
  • [BUGFIX] Fix negative matchers filtering (#1077)

0.9.1 / 2017-09-29

  • [BUGFIX] Fix -web.external-url regression in ui (#1008)
  • [BUGFIX] Fix multipart email implementation (#1009)

0.9.0 / 2017-09-28

  • [ENHANCEMENT] Add current time to webhook message (#909)
  • [ENHANCEMENT] Add link_names to slack notifier (#912)
  • [ENHANCEMENT] Make ui labels selectable/highlightable (#932)
  • [ENHANCEMENT] Make links in ui annotations selectable (#946)
  • [ENHANCEMENT] Expose the alert's "fingerprint" (unique identifier) through API (#786)
  • [ENHANCEMENT] Add README information for amtool (#939)
  • [ENHANCEMENT] Use user-set logging option consistently throughout alertmanager (#968)
  • [ENHANCEMENT] Sort alerts returned from API by their fingerprint (#969)
  • [ENHANCEMENT] Add edit/delete silence buttons on silence page view (#970)
  • [ENHANCEMENT] Add check-config subcommand to amtool (#978)
  • [ENHANCEMENT] Add email notification text content support (#934)
  • [ENHANCEMENT] Support passing binary name to make build target (#990)
  • [ENHANCEMENT] Show total no. of silenced alerts in preview (#994)
  • [ENHANCEMENT] Added confirmation dialog when expiring silences (#993)
  • [BUGFIX] Fix crash when no mesh router is configured (#919)
  • [BUGFIX] Render status page without mesh (#920)
  • [BUGFIX] Exit amtool subcommands with non-zero error code (#938)
  • [BUGFIX] Change mktemp invocation in makefile to work for macOS (#971)
  • [BUGFIX] Add a mutex to silences.go:gossipData (#984)
  • [BUGFIX] silences: avoid deadlock (#995)
  • [BUGFIX] Ignore expired silences OnGossip (#999)

0.8.0 / 2017-07-20

  • [FEATURE] Add ability to filter alerts by receiver in the UI (#890)
  • [FEATURE] Add User-Agent for webhook requests (#893)
  • [ENHANCEMENT] Add possibility to have a global victorops api_key (#897)
  • [ENHANCEMENT] Add EntityDisplayName and improve StateMessage for Victorops (#769)
  • [ENHANCEMENT] Omit empty config fields and show regex upon re-marshalling to elide secrets (#864)
  • [ENHANCEMENT] Parse API error messages in UI (#866)
  • [ENHANCEMENT] Enable sending mail via smtp port 465 (#704)
  • [BUGFIX] Prevent duplicate notifications by sorting matchers (#882)
  • [BUGFIX] Remove timeout for UI requests (#890)
  • [BUGFIX] Update config file location of CLI in flag usage text (#895)

0.7.1 / 2017-06-09

  • [BUGFIX] Fix filtering by label on Alert list and Silence list page

0.7.0 / 2017-06-08

  • [CHANGE] Rewrite UI from scratch improving UX
  • [CHANGE] Rename config to configYAML on api/v1/status
  • [FEATURE] Add ability to update a silence on api/v1/silences POST endpoint (See #765)
  • [FEATURE] Return alert status on api/v1/alerts GET endpoint
  • [FEATURE] Serve silence state on api/v1/silences GET endpoint
  • [FEATURE] Add ability to specify a route prefix
  • [FEATURE] Add option to disable AM listening on mesh port
  • [ENHANCEMENT] Add ability to specify filter string and silenced flag on api/v1/alerts GET endpoint
  • [ENHANCEMENT] Update cache-control to prevent caching for web assets in general.
  • [ENHANCEMENT] Serve web assets by alertmanager instead of external CDN (See #846)
  • [ENHANCEMENT] Elide secrets in alertmanager config (See #840)
  • [ENHANCEMENT] AMTool: Move config file to a more consistent location (See #843)
  • [BUGFIX] Enable builds for Solaris/Illumos
  • [BUGFIX] Load web assets based on url path (See #323)

0.6.2 / 2017-05-09

  • [BUGFIX] Correctly link to silences from alert again
  • [BUGFIX] Correctly hide silenced/show active alerts in UI again
  • [BUGFIX] Fix regression of alerts not being displayed until first processing
  • [BUGFIX] Fix internal usage of wrong lock for silence markers
  • [BUGFIX] Adapt amtool's API parsing to recent API changes
  • [BUGFIX] Correctly marshal regexes in config JSON response
  • [CHANGE] Anchor silence regex matchers to be consistent with Prometheus
  • [ENHANCEMENT] Error if root route is using continue keyword

0.6.1 / 2017-04-28

  • [BUGFIX] Fix incorrectly serialized hash for notification providers.
  • [ENHANCEMENT] Add processing status field to alerts.
  • [FEATURE] Add config hash metric.

0.6.0 / 2017-04-25

0.5.1 / 2016-11-24

  • [BUGFIX] Fix crash caused by race condition in silencing
  • [ENHANCEMENT] Improve logging of API errors
  • [ENHANCEMENT] Add metrics for the notification log

0.5.0 / 2016-11-01

This release requires a storage wipe. It contains fundamental internal changes that came with implementing the high availability mode.

  • [FEATURE] Alertmanager clustering for high availability
  • [FEATURE] Garbage collection of old silences and notification logs
  • [CHANGE] New storage format
  • [CHANGE] Stricter silence semantics for consistent historical view

0.4.2 / 2016-09-02

  • [BUGFIX] Fix broken regex checkbox in silence form
  • [BUGFIX] Simplify inconsistent silence update behavior

0.4.1 / 2016-08-31

  • [BUGFIX] Wait for silence query to finish instead of showing error
  • [BUGFIX] Fix sorting of silences
  • [BUGFIX] Provide visual feedback after creating a silence
  • [BUGFIX] Fix styling of silences
  • [ENHANCEMENT] Provide cleaner API silence interface

0.4.0 / 2016-08-23

  • [FEATURE] Silences are now paginated in the web ui
  • [CHANGE] Failure to start on unparsed flags

0.3.0 / 2016-07-07

  • [CHANGE] Alerts are purely in memory and no longer persistent across restarts
  • [FEATURE] Add SMTP LOGIN authentication mechanism

0.2.1 / 2016-06-23

  • [ENHANCEMENT] Allow inheritance of route receiver
  • [ENHANCEMENT] Add silence cache to silence provider
  • [BUGFIX] Fix HipChat room number in integration URL

0.2.0 / 2016-06-17

This release uses a new storage backend based on BoltDB. You have to backup and wipe your former storage path to run it.

  • [CHANGE] Use BoltDB as data store.
  • [CHANGE] Move SMTP authentification to configuration file
  • [FEATURE] add /-/reload HTTP endpoint
  • [FEATURE] Filter silenced alerts in web UI
  • [ENHANCEMENT] reduce inhibition computation complexity
  • [ENHANCEMENT] Add support for teams and tags in OpsGenie integration
  • [BUGFIX] Handle OpsGenie responses correctly
  • [BUGFIX] Fix Pushover queue length issue
  • [BUGFIX] STARTTLS before querying auth mechanism in email integration

0.1.1 / 2016-03-15

  • [BUGFIX] Fix global database lock issue
  • [ENHANCEMENT] Improve SQLite alerts index
  • [ENHANCEMENT] Enable debug endpoint

0.1.0 / 2016-02-23

This version is a full rewrite of the Alertmanager with a very different feature set. Thus, there is no meaningful changelog.

Changes with respect to 0.1.0-beta2:

  • [CHANGE] Expose same data structure to templates and webhook
  • [ENHANCEMENT] Show generator URL in default templates and web UI
  • [ENHANCEMENT] Support for Slack icon_emoji field
  • [ENHANCEMENT] Expose incident key to templates and webhook data
  • [ENHANCEMENT] Allow markdown in Slack 'text' field
  • [BUGFIX] Fixed database locking issue

0.1.0-beta2 / 2016-02-03

  • [BUGFIX] Properly set timeout for incoming alerts with fixed start time
  • [ENHANCEMENT] Send source field in OpsGenie integration
  • [ENHANCEMENT] Improved routing configuration validation
  • [FEATURE] Basic instrumentation added

0.1.0-beta1 / 2016-01-08

  • [BUGFIX] Send full alert group state on each update. Fixes erroneous resolved notifications.
  • [FEATURE] HipChat integration
  • [CHANGE] Slack integration no longer sends resolved notifications by default

0.1.0-beta0 / 2015-12-23

This version is a full rewrite of the Alertmanager with a very different feature set. Thus, there is no meaningful changelog.

0.0.4 / 2015-09-09

  • [BUGFIX] Fix version info string in startup message.
  • [BUGFIX] Fix Pushover notifications by setting the right priority level, as well as required retry and expiry intervals.
  • [FEATURE] Make it possible to link to individual alerts in the UI.
  • [FEATURE] Rearrange alert columns in UI and allow expanding more alert details.
  • [FEATURE] Add Amazon SNS notifications.
  • [FEATURE] Add OpsGenie Webhook notifications.
  • [FEATURE] Add -web.external-url flag to control the externally visible Alertmanager URL.
  • [FEATURE] Add runbook and alertmanager URLs to PagerDuty and email notifications.
  • [FEATURE] Add a GET API to /api/alerts which pulls JSON formatted AlertAggregates.
  • [ENHANCEMENT] Sort alerts consistently in web UI.
  • [ENHANCEMENT] Suggest to use email address as silence creator.
  • [ENHANCEMENT] Make Slack timeout configurable.
  • [ENHANCEMENT] Add channel name to error logging about Slack notifications.
  • [ENHANCEMENT] Refactoring and tests for Flowdock notifications.
  • [ENHANCEMENT] New Dockerfile using alpine-golang-make-onbuild base image.
  • [CLEANUP] Add Docker instructions and other cleanups in README.md.
  • [CLEANUP] Update Makefile.COMMON from prometheus/utils.

0.0.3 / 2015-06-10

  • [BUGFIX] Fix email template body writer being called with parameters in wrong order.

0.0.2 / 2015-06-09

  • [BUGFIX] Fixed silences.json permissions in Docker image.
  • [CHANGE] Changed case of API JSON properties to initial lower letter.
  • [CHANGE] Migrated logging to use http://github.com/prometheus/log.
  • [FEATURE] Flowdock notification support.
  • [FEATURE] Slack notification support.
  • [FEATURE] Generic webhook notification support.
  • [FEATURE] Support for "@"-mentions in HipChat notifications.
  • [FEATURE] Path prefix option to support reverse proxies.
  • [ENHANCEMENT] Improved web redirection and 404 behavior.
  • [CLEANUP] Updated compiled web assets from source.
  • [CLEANUP] Updated fsnotify package to its new source location.
  • [CLEANUP] Updates to README.md and AUTHORS.md.
  • [CLEANUP] Various smaller cleanups and improvements.