Skip to content

Latest commit

 

History

History
746 lines (636 loc) · 44.3 KB

CHANGELOG.md

File metadata and controls

746 lines (636 loc) · 44.3 KB

0.27.0 / 2024-02-28

  • [CHANGE] Discord Integration: Enforce max length in message. #3597
  • [CHANGE] API: Removal of all api/v1/ endpoints. These endpoints now log and return a deprecation message and respond with a status code of 410. #2970
  • [FEATURE] UTF-8 Support: Introduction of support for any UTF-8 character as part of label names and matchers. Please read more below. #3453, #3483, #3567, #3570
  • [FEATURE] Metrics: Introduced the experimental feature flag --enable-feature=receiver-name-in-metrics to include the receiver name in the following metrics: #3045
    • alertmanager_notifications_total
    • alertmanager_notifications_failed_totall
    • alertmanager_notification_requests_total
    • alertmanager_notification_requests_failed_total
    • alertmanager_notification_latency_seconds
  • [FEATURE] Metrics: Introduced a new gauge named alertmanager_inhibition_rules that counts the number of configured inhibition rules. #3681
  • [FEATURE] Metrics: Introduced a new counter named alertmanager_alerts_supressed_total that tracks muted alerts, it contains a reason label to indicate the source of the mute. #3565
  • [ENHANCEMENT] Discord Integration: Introduced support for webhook_url_file. #3555
  • [ENHANCEMENT] Microsoft Teams Integration: Introduced support for webhook_url_file. #3555
  • [ENHANCEMENT] Microsoft Teams Integration: Add support for summary. #3616
  • [ENHANCEMENT] Metrics: Notification metrics now support two new values for the label reason, contextCanceled and contextDeadlineExceeded. #3631
  • [ENHANCEMENT] Email Integration: Contents of auth_password_file are now trimmed of prefixed and suffixed whitespace. #3680
  • [BUGFIX] amtool: Fixes the error scheme required for webhook url when using amtool with --alertmanager.url. #3509
  • [BUGFIX] Mixin: Fix AlertmanagerFailedToSendAlerts, AlertmanagerClusterFailedToSendAlerts, and AlertmanagerClusterFailedToSendAlerts to make sure they ignore the reason label. #3599

Removal of API v1

The Alertmanager v1 API has been deprecated since January 2019 with the release of Alertmanager v0.16.0. With the release of version 0.27.0 it is now removed. A successful HTTP request to any of the v1 endpoints will log and return a deprecation message while responding with a status code of 410. Please ensure you switch to the v2 equivalent endpoint in your integrations before upgrading.

Alertmanager support for all UTF-8 characters in matchers and label names

Starting with Alertmanager v0.27.0, we have a new parser for matchers that has a number of backwards incompatible changes. While most matchers will be forward-compatible, some will not. Alertmanager is operating a transition period where it supports both UTF-8 and classic matchers, so it's entirely safe to upgrade without any additional configuration. With that said, we recommend the following:

  • If this is a new Alertmanager installation, we recommend enabling UTF-8 strict mode before creating an Alertmanager configuration file. You can enable strict mode with alertmanager --config.file=config.yml --enable-feature="utf8-strict-mode".

  • If this is an existing Alertmanager installation, we recommend running the Alertmanager in the default mode called fallback mode before enabling UTF-8 strict mode. In this mode, Alertmanager will log a warning if you need to make any changes to your configuration file before UTF-8 strict mode can be enabled. Alertmanager will make UTF-8 strict mode the default in the next two versions, so it's important to transition as soon as possible.

Irrespective of whether an Alertmanager installation is a new or existing installation, you can also use amtool to validate that an Alertmanager configuration file is compatible with UTF-8 strict mode before enabling it in Alertmanager server by running amtool check-config config.yml and inspecting the log messages.

Should you encounter any problems, you can run the Alertmanager with just the classic parser enabled by running alertmanager --config.file=config.yml --enable-feature="classic-mode". If so, please submit a bug report via GitHub issues.

0.26.0 / 2023-08-23

  • [SECURITY] Fix stored XSS via the /api/v1/alerts endpoint in the Alertmanager UI. CVE-2023-40577
  • [CHANGE] Telegram Integration: api_url is now optional. #2981
  • [CHANGE] Telegram Integration: ParseMode default is now HTML instead of MarkdownV2. #2981
  • [CHANGE] Webhook Integration: url is now marked as a secret. It will no longer show up in the logs as clear-text. #3228
  • [CHANGE] Metrics: New label reason for alertmanager_notifications_failed_total metric to indicate the type of error of the alert delivery. #3094 #3307
  • [FEATURE] Clustering: New flag --cluster.label, to help to block any traffic that is not meant for the cluster. #3354
  • [FEATURE] Integrations: Add Microsoft Teams as a supported integration. #3324
  • [ENHANCEMENT] Telegram Integration: Support bot_token_file for loading this secret from a file. #3226
  • [ENHANCEMENT] Webhook Integration: Support url_file for loading this secret from a file. #3223
  • [ENHANCEMENT] Webhook Integration: Leading and trailing white space is now removed for the contents of url_file. #3363
  • [ENHANCEMENT] Pushover Integration: Support options device and sound (sound was previously supported but undocumented). #3318
  • [ENHANCEMENT] Pushover Integration: Support user_key_file and token_file for loading this secret from a file. #3200
  • [ENHANCEMENT] Slack Integration: Support errors wrapped in successful (HTTP status code 200) responses. #3121
  • [ENHANCEMENT] API: Add CORS and Cache-Control HTTP headers to all version 2 API routes. #3195
  • [ENHANCEMENT] UI: Receiver name is now visible as part of the alerts page. #3289
  • [ENHANCEMENT] Templating: Better default text when using {{ .Annotations }} and {{ .Labels }}. #3256
  • [ENHANCEMENT] Templating: Introduced a new function trimSpace which removes leading and trailing white spaces. #3223
  • [ENHANCEMENT] CLI: amtool silence query now supports the --id flag to query an individual silence. #3241
  • [ENHANCEMENT] Metrics: Introduced alertmanager_nflog_maintenance_total and alertmanager_nflog_maintenance_errors_total to monitor maintenance of the notification log. #3286
  • [ENHANCEMENT] Metrics: Introduced alertmanager_silences_maintenance_total and alertmanager_silences_maintenance_errors_total to monitor maintenance of silences. #3285
  • [ENHANCEMENT] Logging: Log GroupKey and alerts on alert delivery when using debug mode. #3438
  • [BUGFIX] Configuration: Empty list of receivers and inhibit_rules would cause the alertmanager to crash. #3209
  • [BUGFIX] Templating: Fixed a race condition when using the title function. It is now race-safe. #3278
  • [BUGFIX] API: Fixed duplicate receiver names in the api/v2/receivers API endpoint. #3338
  • [BUGFIX] API: Attempting to delete a silence now returns the correct status code, 404 instead of 500. #3352
  • [BUGFIX] Clustering: Fixes a panic when tls_client_config is empty. #3443
  • [BUGFIX] Fix stored XSS via the /api/v1/alerts endpoint in the Alertmanager UI.

0.25.0 / 2022-12-22

  • [CHANGE] Change the default parse_mode value from MarkdownV2 to HTML for Telegram. #2981
  • [CHANGE] Make api_url field optional for Telegram. #2981
  • [CHANGE] Use CanonicalMIMEHeaderKey instead of TitleCasing for email headers. #3080
  • [CHANGE] Reduce the number of notification logs broadcasted between peers by expiring them after (2 * repeat interval). #2982
  • [FEATURE] Add proxy_url support for OAuth2 in HTTP client configuration. #3010
  • [FEATURE] Reload TLS certificate and key from disk when updated. #3168
  • [FEATURE] Add Discord integration. #2948
  • [FEATURE] Add Webex integration. #3132
  • [ENHANCEMENT] Add --web.systemd-socket flag to systemd socket activation listeners instead of port listeners (Linux only). #3140
  • [ENHANCEMENT] Add enable_http2 support in HTTP client configuration. #3010
  • [ENHANCEMENT] Add min_version support to select the minimum TLS version in HTTP client configuration. #3010
  • [ENHANCEMENT] Add max_version support to select the maximum TLS version in HTTP client configuration. #3168
  • [ENHANCEMENT] Emit warning logs when truncating messages in notifications. #3145
  • [ENHANCEMENT] Add --data.maintenance-interval flag to define the interval between the garbage collection and snapshotting to disk of the silences and the notification logs. #2849
  • [ENHANCEMENT] Support HEAD method for the /-/healty and /-/ready endpoints. #3039
  • [ENHANCEMENT] Truncate messages with the ellipsis character instead of the 3-dots string .... #3072
  • [ENHANCEMENT] Add support for reading global and local SMTP passwords from files. #3038
  • [ENHANCEMENT] Add Location support to time intervals. #2782
  • [ENHANCEMENT] UI: Add 'Link' button to alerts in list. #2880
  • [ENHANCEMENT] Add the source field to the PagerDuty configuration. #3106
  • [ENHANCEMENT] Add support for reading PagerDuty routing and service keys from files. #3107
  • [ENHANCEMENT] Log response details when notifications fail for Webhooks, Pushover and VictorOps. #3103
  • [ENHANCEMENT] UI: Allow to choose the first day of the week as Sunday or Monday. #3093
  • [ENHANCEMENT] Add support for reading VictorOps API key from file. #3111
  • [ENHANCEMENT] Support templating for Opsgenie's responder type. #3060
  • [BUGFIX] Fail configuration loading if api_key and api_key_file are defined at the same time. #2910
  • [BUGFIX] Fix the alertmanager_alerts metric to avoid counting resolved alerts as active. Also added a new alertmanager_marked_alerts metric that retain the old behavior. #2943
  • [BUGFIX] Trim contents of Slack API URLs when reading from files. #2929
  • [BUGFIX] amtool: Avoid panic when the label value matcher is empty. #2968
  • [BUGFIX] Fail configuration loading if api_url is empty for OpsGenie. #2910
  • [BUGFIX] Fix email template for resolved notifications. #3166
  • [BUGFIX] Use the HTML template engine when the parse mode is HTML for Telegram. #3183

0.24.0 / 2022-03-24

  • [CHANGE] Add the /api/v2 prefix to all endpoints in the OpenAPI specification and generated client code. #2696
  • [CHANGE] Remove the github.com/prometheus/alertmanager/client Go package. #2763
  • [FEATURE] Add --cluster.tls-config experimental flag to secure cluster traffic via mutual TLS. #2237
  • [FEATURE] Add support for active time intervals. Active and mute time intervals should be defined via time_intervals rather than mute_time_intervals (the latter is deprecated but it will be supported until v1.0). #2779
  • [FEATURE] Add Telegram integration. #2827
  • [ENHANCEMENT] Add update_alerts field to the OpsGenie configuration to update message and description when sending alerts. #2519
  • [ENHANCEMENT] Add --cluster.allow-insecure-public-advertise-address-discovery feature flag to enable discovery and use of public IP addresses for clustering. #2719
  • [ENHANCEMENT] Add entity and actions fields to the OpsGenie configuration. #2753
  • [ENHANCEMENT] Add opsgenie_api_key_file field to the global configuration. #2728
  • [ENHANCEMENT] Add support for teams responders to the OpsGenie configuration. #2685
  • [ENHANCEMENT] Add the User-Agent header to all notification requests. #2730
  • [ENHANCEMENT] Re-enable HTTP/2. #2720
  • [ENHANCEMENT] web: Add support for security-related HTTP headers. #2759
  • [ENHANCEMENT] amtool: Allow filtering of silences by createdBy author. #2718
  • [ENHANCEMENT] amtool: add --http.config.file flag to configure HTTP settings. #2764
  • [BUGFIX] Fix HTTP client configuration for the SNS receiver. #2706
  • [BUGFIX] Fix unclosed file descriptor after reading the silences snapshot file. #2710
  • [BUGFIX] Fix field names for mute_time_intervals in JSON marshaling. #2765
  • [BUGFIX] Ensure that the root route doesn't have any matchers. #2780
  • [BUGFIX] Truncate the message's title to 1024 chars to avoid hitting Slack limits. #2774
  • [BUGFIX] Fix the default HTML email template (email.default.html) to match with the canonical source. #2798
  • [BUGFIX] Detect SNS FIFO topic based on the rendered value. #2819
  • [BUGFIX] Avoid deleting and recreating a silence when an update is possible. #2816
  • [BUGFIX] api/v2: Return 200 OK when deleting an expired silence. #2817
  • [BUGFIX] amtool: Fix the silence's end date when adding a silence. The end date is (start date + duration) while it used to be (current time + duration). The new behavior is consistent with the update operation. #2741

0.23.0 / 2021-08-25

  • [FEATURE] Add AWS SNS receiver. #2615
  • [FEATURE] amtool: add new template render command. #2538
  • [ENHANCEMENT] amtool: Add ability to skip TLS verification for amtool. #2663
  • [ENHANCEMENT] amtool: Detect version drift and warn users. #2672
  • [BUGFIX] Time-based muting: Ensure time interval comparisons are in UTC. #2648
  • [BUGFIX] amtool: Fix empty isEqual when talking to incompatible alertmanager. #2668

0.22.2 / 2021-06-01

  • [BUGFIX] Include pending silences for future muting decisions. #2590

0.22.1 / 2021-05-27

This release addresses a regression in the API v1 that was introduced in 0.22.0. Matchers in silences created with the API v1 could be considered negative matchers. This affects users using amtool prior to v0.17.0.

  • [BUGFIX] API v1: Decode matchers without isEqual are positive matchers. #2603

0.22.0 / 2021-05-21

  • [CHANGE] Amtool and Alertmanager binaries help now prints to stdout. #2505
  • [CHANGE] Use path relative to the configuration file for certificates and password files. #2502
  • [CHANGE] Display Silence and Alert dates in ISO8601 format. #2363
  • [FEATURE] Add date picker to silence form views. #2262
  • [FEATURE] Add support for negative matchers. #2434 #2460 and many more.
  • [FEATURE] Add time-based muting to routing tree. #2393
  • [FEATURE] Support TLS and basic authentication on the web server. #2446
  • [FEATURE] Add OAuth 2.0 client support in HTTP client. #2560
  • [ENHANCEMENT] Add composite durations in the configuration (e.g. 2h20m). #2353
  • [ENHANCEMENT] Add follow_redirect option to disable following redirects. #2551
  • [ENHANCEMENT] Add metric for permanently failed notifications. #2383
  • [ENHANCEMENT] Add support for custom authorization scheme. #2499
  • [ENHANCEMENT] Add support for not following HTTP redirects. #2499
  • [ENHANCEMENT] Add support to set the Slack URL from a file. #2534
  • [ENHANCEMENT] amtool: Add alert status to extended and simple output. #2324
  • [ENHANCEMENT] Do not omit false booleans in the configuration page. #2317
  • [ENHANCEMENT] OpsGenie: Propagate labels to Opsgenie details. #2276
  • [ENHANCEMENT] PagerDuty: Filter out empty images and links. #2379
  • [ENHANCEMENT] WeChat: add markdown support. #2309
  • [BUGFIX] Fix a possible deadlock on shutdown. #2558
  • [BUGFIX] UI: Fix extended printing of regex sign. #2445
  • [BUGFIX] UI: Fix the favicon when using a path prefix. #2392
  • [BUGFIX] Make filter labels consistent with Prometheus. #2403
  • [BUGFIX] alertmanager_config_last_reload_successful takes templating failures into account. #2373
  • [BUGFIX] amtool: avoid nil dereference in silence update. #2427
  • [BUGFIX] VictorOps: Catch routing_key templating errors. #2467

0.21.0 / 2020-06-16

This release removes the HipChat integration as it is discontinued by Atlassian on June 30th 2020.

  • [CHANGE] [HipChat] Remove HipChat integration as it is end-of-life. #2282
  • [CHANGE] [amtool] Remove default assignment of environment variables. #2161
  • [CHANGE] [PagerDuty] Enforce 512KB event size limit. #2225
  • [ENHANCEMENT] [amtool] Add cluster command to show cluster and peer statuses. #2256
  • [ENHANCEMENT] Add redirection from / to the routes prefix when it isn't empty. #2235
  • [ENHANCEMENT] [Webhook] Add max_alerts option to limit the number of alerts included in the payload. #2274
  • [ENHANCEMENT] Improve logs for API v2, notifications and clustering. #2177 #2188 #2260 #2261 #2273
  • [BUGFIX] Fix child routes not inheriting their parent route's grouping when group_by: [...]. #2154
  • [BUGFIX] [UI] Fix the receiver selector in the Alerts page when the receiver name contains regular expression metacharacters such as +. #2090
  • [BUGFIX] Fix error message about start and end time validation. #2173
  • [BUGFIX] Fix a potential race condition in dispatcher. #2208
  • [BUGFIX] [API v2] Return an empty array of peers when the clustering is disabled. #2203
  • [BUGFIX] Fix the registration of alertmanager_dispatcher_aggregation_groups and alertmanager_dispatcher_alert_processing_duration_seconds metrics. #2200
  • [BUGFIX] Always retry notifications with back-off. #2290

0.20.0 / 2019-12-11

  • [CHANGE] Check that at least one silence matcher matches a non-empty string. #2081
  • [ENHANCEMENT] [pagerduty] Check that PagerDuty keys aren't empty. #2085
  • [ENHANCEMENT] [template] Add the stringSlice function. #2101
  • [ENHANCEMENT] Add alertmanager_dispatcher_aggregation_groups and alertmanager_dispatcher_alert_processing_duration_seconds metrics. #2113
  • [ENHANCEMENT] Log unused receivers. #2114
  • [ENHANCEMENT] Add alertmanager_receivers metric. #2114
  • [ENHANCEMENT] Add alertmanager_integrations metric. #2117
  • [ENHANCEMENT] [email] Add Message-Id Header to outgoing emails. #2057
  • [BUGFIX] Don't garbage-collect alerts from the store. #2040
  • [BUGFIX] [ui] Disable the grammarly plugin on all textareas. #2061
  • [BUGFIX] [config] Forbid nil regexp matchers. #2083
  • [BUGFIX] [ui] Fix Silences UI when several filters are applied. #2075

Contributors:

  • @CharlesJUDITH
  • @NotAFile
  • @Pger-Y
  • @TheMeier
  • @johncming
  • @n33pm
  • @ntk148v
  • @oddlittlebird
  • @perlun
  • @qoops-1
  • @roidelapluie
  • @simonpasquier
  • @stephenreddek
  • @sylr
  • @vrischmann

0.19.0 / 2019-09-03

  • [CHANGE] Reject invalid external URLs at startup. #1960
  • [CHANGE] Add Fingerprint to template data. #1945
  • [CHANGE] Check Smarthost validity at config loading. #1957
  • [ENHANCEMENT] Improve error messages for email receiver. #1953
  • [ENHANCEMENT] Log error messages from OpsGenie API. #1965
  • [ENHANCEMENT] Add the ability to configure Slack markdown field. #1967
  • [ENHANCEMENT] Log warning when repeat_interval > retention. #1993
  • [ENHANCEMENT] Add alertmanager_cluster_enabled metric. #1973
  • [ENHANCEMENT] [ui] Recreate silence with previous comment. #1927
  • [BUGFIX] [ui] Fix /api/v2/alerts/groups endpoint with similar alert groups. #1964
  • [BUGFIX] Allow slashes in receivers. #2011
  • [BUGFIX] [ui] Fix expand/collapse button with identical alert groups. #2012

0.18.0 / 2019-07-08

  • [CHANGE] Remove quantile labels from Summary metrics. #1921
  • [CHANGE] [OpsGenie] Move from the deprecated teams field in the configuration to responders. #1863
  • [CHANGE] [ui] Collapse alert groups on the initial view. #1876
  • [CHANGE] [Wechat] Set the default API secret to blank. #1888
  • [CHANGE/BUGFIX] [PagerDuty] Fix embedding of images, the text field in the configuration has been renamed to href. #1931
  • [ENHANCEMENT] Use persistent HTTP clients. #1904
  • [ENHANCEMENT] Add alertmanager_cluster_alive_messages_total, alertmanager_cluster_peer_info and alertmanager_cluster_pings_seconds metrics. #1941
  • [ENHANCEMENT] [api] Add missing metrics for API v2. #1902
  • [ENHANCEMENT] [Slack] Log error message on retry errors. #1655
  • [ENHANCEMENT] [ui] Allow to create silences from the alerts filter bar. #1911
  • [ENHANCEMENT] [ui] Enable auto resize the textarea fields. #1893
  • [BUGFIX] [amtool] Use scheme, authentication and base path from the URL if present. #1892 #1940
  • [BUGFIX] [amtool] Support filtering alerts by receiver. #1915
  • [BUGFIX] [api] Fix /api/v2/alerts with multiple receivers. #1948
  • [BUGFIX] [PagerDuty] Truncate description to 1024 chars for PagerDuty v1. #1922
  • [BUGFIX] [ui] Add filtering based off of "active" query param. #1879

0.17.0 / 2019-05-02

This release includes changes to amtool which are not fully backwards compatible with the previous amtool version (#1798) related to backup and import of silences. If a backup of silences is created using a previous version of amtool (v0.16.1 or earlier), it is possible that not all silences can be correctly imported using a later version of amtool.

Additionally, the groups endpoint that was dropped from api v1 has been added to api v2. The default for viewing alerts in the UI now consumes from this endpoint and displays alerts grouped according to the groups defined in the running configuration. Custom grouping is still supported.

This release has added two new flags that may need to be tweaked. For people running with a lot of concurrent requests, consider increasing the value of --web.get-concurrency. An increase in 503 errors indicates that the request rate is exceeding the number of currently available workers. The other new flag, --web.timeout, limits the time a request is allowed to run. The default behavior is to not use a timeout.

  • [CHANGE] Modify the self-inhibition prevention semantics (#1873)
  • [CHANGE] Make api/v2/status.cluster.{name,peers} properties optional for Alertmanager with disabled clustering (#1728)
  • [FEATURE] Add groups endpoint to v2 api (#1791)
  • [FEATURE] Optional timeout for HTTP requests (#1743)
  • [ENHANCEMENT] Set HTTP headers to prevent asset caching (#1817)
  • [ENHANCEMENT] API returns current silenced/inhibited state of alerts (#1733)
  • [ENHANCEMENT] Configurable concurrency limit for GET requests (#1743)
  • [ENHANCEMENT] Pushover notifier: support HTML, URL title and custom sounds (#1634)
  • [ENHANCEMENT] Support adding custom fields to VictorOps notifications (#1420)
  • [ENHANCEMENT] Migrate amtool CLI to API v2 (#1798)
  • [ENHANCEMENT][ui] Default alert list view grouped by configured alert groups (#1864)
  • [ENHANCEMENT][ui] Remove superfluous inhibited/silenced text, show inhibited status (#1698, #1862)
  • [ENHANCEMENT][ui] Silence preview now shows already-muted alerts (#1776)
  • [ENHANCEMENT][ui] Sort silences from api/v2 similarly to api/v1 (#1786)
  • [BUGFIX] Trim PagerDuty message summary to 1024 chars (#1701)
  • [BUGFIX] Add fix for race causing alerts to be dropped (#1843)
  • [BUGFIX][ui] Correctly construct filter query string for api (#1869)
  • [BUGFIX][ui] Do not display GroupByAll and GroupBy in marshaled config (#1665)
  • [BUGFIX][ui] Respect regex setting when creating silences (#1697)

0.16.2 / 2019-04-03

Updating to v0.16.2 is recommended for all users using the Slack, Pagerduty, Hipchat, Wechat, VictorOps and Pushover notifier, as connection errors could leak secrets embedded in the notifier's URL to stdout.

  • [BUGFIX] Redact notifier URL from logs to not leak secrets embedded in the URL (#1822, #1825)
  • [BUGFIX] Allow sending of unauthenticated SMTP requests when smtp_auth_username is not supplied (#1739)

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 unmarshaling 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-marshaling 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 authentication 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.