Alertmanager 0.24.0 → 0.30.0
8 releases · 1 breaking change · 2 security fixes · 0 advisories fixed
2security1breaking1deprecated68feature49fix
Breaking changes
- breaking [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 in 0.27.0
Security changes
- security [SECURITY] Fix stored XSS via the /api/v1/alerts endpoint in the Alertmanager UI. in 0.26.0
- security [SECURITY] Fix stored XSS via the /api/v1/alerts endpoint in the Alertmanager UI (CVE-2023-40577). in 0.25.1
Deprecations
- deprecated [BUGFIX] Fix version in APIv1 deprecation notice. #3815 in 0.28.0
Every release in between
feature[CHANGE] Don't allow calling qids with an empty ids list. #4707
feature[FEATURE] Add mattermost integration. #4090
feature[FEATURE] Add saturday to the first day of the week options. #4473
feature[FEATURE] Add templating functions for working with urls. #4625
feature[FEATURE] cluster: Allow persistent peer names. #4636
feature[FEATURE] dispatch: Add start delay. #4704
feature[FEATURE] provider: Add subscriber channel metrics. #4630
feature[FEATURE] template: Add tojson function. #4773
feature[FEATURE] Add api http metrics. #4162
feature[FEATURE] Add distributed tracing support. #4745
feature[FEATURE] Add names to inhibit rules. #4628
feature[FEATURE] Add timeout option for pagerduty notifier. #4354
feature[FEATURE] Add timeout option for slack notifier. #4355
feature[FEATURE] Allow nested details fields in pagerduty. #3944
feature[FEATURE] Implement phantom_threading to group email alerts into threads. #4623
other[FEATURE] gc: Report errors, but remove erroneous silences and continue. #4724
other[FEATURE] jira: Template customfields. #4029
feature[FEATURE] jira: Allow configuring issue update via parameter. #4621
other[FEATURE] Slack app support. #4211
feature[ENHANCEMENT] Add comment about smtp plain authentication. #4741
feature[ENHANCEMENT] Add documentation about high availability. #4708
feature[ENHANCEMENT] Add documentation for client_allowed_sans. #4706
other[ENHANCEMENT] Improve logging around webhook dispatch failure. #4511
feature[ENHANCEMENT] Compile silence matchers when the silence is added. #4695
other[ENHANCEMENT] Fix 's/client/alerts_api/g' broken link in 0.29. #4718
other[ENHANCEMENT] Fix rocketchat_config docs. #4767
other[ENHANCEMENT] Fix: was renamed. #4729
other[ENHANCEMENT] Improve inhibition performance. #4607
other[ENHANCEMENT] Loadsnapshot: update matcher index properly while not holding lock. #4714
other[ENHANCEMENT] Logging improvements. #4113
other[ENHANCEMENT] Move query locking back into private query function. #4694
feature[ENHANCEMENT] Optimize the new inhibitor implementation for ~2.5x performance improvement. #4668
other[ENHANCEMENT] Reduce the time dispatch.group holds the mutex. #4670
other[ENHANCEMENT] Use b.loop() to simplify the code and improve performance. #4642
other[ENHANCEMENT] Remove duplicate slice during silences query. #4696
fix[BUGFIX] Add new behavior to avoid races on config reload. #4705
fix[BUGFIX] config: Fix duplicate header detection for all case variants. #2810
fix[BUGFIX] marker: Stop state leakage from aggregation groups. #4438
fix[BUGFIX] Fix pprof debug endpoints not working with --web.route-prefix. #4698
fix[BUGFIX] Set context timeout for resolvepeers. #4343
+2 more items in the release notesfeature[FEATURE] Add incident.io notifier. #4372
feature[FEATURE] Add monospace message formatting. #4362
feature[FEATURE] Add ability to customize interval for maintenance to run. #4541
other[ENHANCEMENT] Update Jira notifier to support both Jira cloud API v3 and Jira datacenter API v2. #4542
other[ENHANCEMENT] Increase mixin rate intervals for alert FailedToSendAlerts. #4206
other[ENHANCEMENT] Make /alertmanager group writable in docker image. #4469
fix[BUGFIX] Fix logged notification count on error in notify. #4323
fix[BUGFIX] Fix docker image permissions path. #4288
fix[BUGFIX] Fix error handling in template rendering for Telegram. #4353
fix[BUGFIX] Fix duplicate other in error messages for config. #4366
fix[BUGFIX] Fix logic that considers an alert reopened in Jira. #4478
fix[BUGFIX] Fix Jira issue count #4615
other[ENHANCEMENT] Improved performance of inhibition rules when using Equal labels. #4119
other[ENHANCEMENT] Improve the documentation on escaping in UTF-8 matchers. #4157
other[ENHANCEMENT] Update alertmanager_config_hash metric help to document the hash is not cryptographically strong. #4210
fix[BUGFIX] Fix panic in amtool when using --verbose. #4218
fix[BUGFIX] Fix templating of channel field for Rocket.Chat. #4220
fix[BUGFIX] Fix rocketchat_configs written as rocket_configs in docs. #4217
fix[BUGFIX] Fix usage for --enable-feature flag. #4214
fix[BUGFIX] Trim whitespace from OpsGenie API Key. #4195
fix[BUGFIX] Fix Jira project template not rendered when searching for existing issues. #4291
fix[BUGFIX] Fix subtle bug in JSON/YAML encoding of inhibition rules that would cause Equal labels to be omitted. #4292
fix[BUGFIX] Fix header for slack_configs in docs. #4247
fix[BUGFIX] Fix weight and wrap of Microsoft Teams notifications. #4222
fix[BUGFIX] Fix format of YAML examples in configuration.md. #4207
other[CHANGE] Templating errors in the SNS integration now return an error. #3531 #3879
other[CHANGE] Adopt log/slog, drop go-kit/log #4089
feature[FEATURE] Add a new Microsoft Teams integration based on Flows #4024
feature[FEATURE] Add a new Rocket.Chat integration #3600
feature[FEATURE] Add a new Jira integration #3590 #3931
feature[FEATURE] Add support for GOMEMLIMIT, enable it via the feature flag --enable-feature=auto-gomemlimit. #3895
feature[FEATURE] Add support for GOMAXPROCS, enable it via the feature flag --enable-feature=auto-gomaxprocs. #3837
feature[FEATURE] Add support for limits of silences including the maximum number of active and pending silences, and the maximum size per silence (in bytes). You can use the flags --silences.max-silences and --silences.max-silence-size-bytes to set them accordingly #3852 #3862 #3866 #3885 #3886 #3877
other[FEATURE] Muted alerts now show whether they are suppressed or not in both the /api/v2/alerts endpoint and the Alertmanager UI. #3793 #3797 #3792
feature[ENHANCEMENT] Add support for content, username and avatar_url in the Discord integration. content and username also support templating. #4007
feature[ENHANCEMENT] Only invalidate the silences cache if a new silence is created or an existing silence replaced - should improve latency on both GET api/v2/alerts and POST api/v2/alerts API endpoint. #3961
feature[ENHANCEMENT] Add image source label to Dockerfile. To get changelogs shown when using Renovate #4062
other[ENHANCEMENT] Build using go 1.23 #4071
other[ENHANCEMENT] Support setting a global SMTP TLS configuration. #3732
feature[ENHANCEMENT] The setting room_id in the WebEx integration can now be templated to allow for dynamic room IDs. #3801
other[ENHANCEMENT] Enable setting message_thread_id for the Telegram integration. #3638
other[ENHANCEMENT] Support the since and humanizeDuration functions to templates. This means users can now format time to more human-readable text. #3863
other[ENHANCEMENT] Support the date and tz functions to templates. This means users can now format time in a specified format and also change the timezone to their specific locale. #3812
other[ENHANCEMENT] Latency metrics now support native histograms. #3737
feature[ENHANCEMENT] Add full width to adaptive card for msteamsv2 #4135
feature[ENHANCEMENT] Add timeout option for webhook notifier. #4137
feature[ENHANCEMENT] Update config to allow showing secret values when marshaled #4158
other[ENHANCEMENT] Enable templating for Jira project and issue_type #4159
fix[BUGFIX] Fix the SMTP integration not correctly closing an SMTP submission, which may lead to unsuccessful dispatches being marked as successful. #4006
fix[BUGFIX] The ParseMode option is now set explicitly in the Telegram integration. If we don't HTML tags had not been parsed by default. #4027
fix[BUGFIX] Fix a memory leak that was caused by updates silences continuously. #3930
fix[BUGFIX] Fix hiding secret URLs when the URL is incorrect. #3887
fix[BUGFIX] Fix a race condition in the alerts - it was more of a hypothetical race condition that could have occurred in the alert reception pipeline. #3648
fix[BUGFIX] Fix a race condition in the alert delivery pipeline that would cause a firing alert that was delivered earlier to be deleted from the aggregation group when instead it should have been delivered again. #3826
deprecated[BUGFIX] Fix version in APIv1 deprecation notice. #3815
fix[BUGFIX] Fix crash errors when using url_file in the Webhook integration. #3800
fix[BUGFIX] fix Route.ID() returns conflicting IDs. #3803
fix[BUGFIX] Fix deadlock on the alerts memory store. #3715
fix[BUGFIX] Fix amtool template render when using the default values. #3725
fix[BUGFIX] Fix webhook_url_file for both the Discord and Microsoft Teams integrations. #3728 #3745
fix[BUGFIX] Fix wechat api link #4084
fix[BUGFIX] Fix build info metric #4166
fix[BUGFIX] Fix UTF-8 not allowed in Equal field for inhibition rules #4177
other[CHANGE] Discord Integration: Enforce max length in message. #3597
breaking[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[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[FEATURE] Metrics: Introduced the experimental feature flag --enable-feature=receiver-name-in-metrics to include the receiver name in the following metrics: #3045
otheralertmanager_notifications_total
otheralertmanager_notifications_failed_totall
otheralertmanager_notification_requests_total
otheralertmanager_notification_requests_failed_total
otheralertmanager_notification_latency_seconds
feature[FEATURE] Metrics: Introduced a new gauge named alertmanager_inhibition_rules that counts the number of configured inhibition rules. #3681
feature[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
feature[ENHANCEMENT] Discord Integration: Introduced support for webhook_url_file. #3555
feature[ENHANCEMENT] Microsoft Teams Integration: Introduced support for webhook_url_file. #3555
feature[ENHANCEMENT] Microsoft Teams Integration: Add support for summary. #3616
feature[ENHANCEMENT] Metrics: Notification metrics now support two new values for the label reason, contextCanceled and contextDeadlineExceeded. #3631
other[ENHANCEMENT] Email Integration: Contents of auth_password_file are now trimmed of prefixed and suffixed whitespace. #3680
fix[BUGFIX] amtool: Fixes the error scheme required for webhook url when using amtool with --alertmanager.url. #3509
fix[BUGFIX] Mixin: Fix AlertmanagerFailedToSendAlerts, AlertmanagerClusterFailedToSendAlerts, and AlertmanagerClusterFailedToSendAlerts to make sure they ignore the reason label. #3599
featureIf 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".
otherIf 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…
security[SECURITY] Fix stored XSS via the /api/v1/alerts endpoint in the Alertmanager UI.
other[CHANGE] Telegram Integration: api_url is now optional. #2981
other[CHANGE] Telegram Integration: ParseMode default is now HTML instead of MarkdownV2. #2981
other[CHANGE] Webhook Integration: url is now marked as a secret. It will no longer show up in the logs as clear-text. #3228
feature[CHANGE] Metrics: New label reason for alertmanager_notifications_failed_total metric to indicate the type of error of the alert delivery. #3094 #3307
feature[FEATURE] Clustering: New flag --cluster.label, to help to block any traffic that is not meant for the cluster. #3354
feature[FEATURE] Integrations: Add Microsoft Teams as a supported integration. #3324
other[ENHANCEMENT] Telegram Integration: Support bot_token_file for loading this secret from a file. #3226
other[ENHANCEMENT] Webhook Integration: Support url_file for loading this secret from a file. #3223
other[ENHANCEMENT] Webhook Integration: Leading and trailing white space is now removed for the contents of url_file. #3363
other[ENHANCEMENT] Pushover Integration: Support options device and sound (sound was previously supported but undocumented). #3318
other[ENHANCEMENT] Pushover Integration: Support user_key_file and token_file for loading this secret from a file. #3200
other[ENHANCEMENT] Slack Integration: Support errors wrapped in successful (HTTP status code 200) responses. #3121
feature[ENHANCEMENT] API: Add CORS and Cache-Control HTTP headers to all version 2 API routes. #3195
other[ENHANCEMENT] UI: Receiver name is now visible as part of the alerts page. #3289
other[ENHANCEMENT] Templating: Better default text when using {{ .Annotations }} and {{ .Labels }}. #3256
feature[ENHANCEMENT] Templating: Introduced a new function trimSpace which removes leading and trailing white spaces. #3223
other[ENHANCEMENT] CLI: amtool silence query now supports the --id flag to query an individual silence. #3241
feature[ENHANCEMENT] Metrics: Introduced alertmanager_nflog_maintenance_total and alertmanager_nflog_maintenance_errors_total to monitor maintenance of the notification log. #3286
feature[ENHANCEMENT] Metrics: Introduced alertmanager_silences_maintenance_total and alertmanager_silences_maintenance_errors_total to monitor maintenance of silences. #3285
other[ENHANCEMENT] Logging: Log GroupKey and alerts on alert delivery when using debug mode. #3438
fix[BUGFIX] Configuration: Empty list of receivers and inhibit_rules would cause the alertmanager to crash. #3209
fix[BUGFIX] Templating: Fixed a race condition when using the title function. It is now race-safe. #3278
fix[BUGFIX] API: Fixed duplicate receiver names in the api/v2/receivers API endpoint. #3338
fix[BUGFIX] API: Attempting to delete a silence now returns the correct status code, 404 instead of 500. #3352
fix[BUGFIX] Clustering: Fixes a panic when tls_client_config is empty. #3443
security[SECURITY] Fix stored XSS via the /api/v1/alerts endpoint in the Alertmanager UI (CVE-2023-40577).
other[CHANGE] Change the default parse_mode value from MarkdownV2 to HTML for Telegram. #2981
other[CHANGE] Make api_url field optional for Telegram. #2981
other[CHANGE] Use CanonicalMIMEHeaderKey instead of TitleCasing for email headers. #3080
other[CHANGE] Reduce the number of notification logs broadcasted between peers by expiring them after (2 * repeat interval). #2982
feature[FEATURE] Add proxy_url support for OAuth2 in HTTP client configuration. #3010
other[FEATURE] Reload TLS certificate and key from disk when updated. #3168
feature[FEATURE] Add Discord integration. #2948
feature[FEATURE] Add Webex integration. #3132
feature[ENHANCEMENT] Add --web.systemd-socket flag to systemd socket activation listeners instead of port listeners (Linux only). #3140
feature[ENHANCEMENT] Add enable_http2 support in HTTP client configuration. #3010
feature[ENHANCEMENT] Add min_version support to select the minimum TLS version in HTTP client configuration. #3010
feature[ENHANCEMENT] Add max_version support to select the maximum TLS version in HTTP client configuration. #3168
other[ENHANCEMENT] Emit warning logs when truncating messages in notifications. #3145
feature[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
other[ENHANCEMENT] Support HEAD method for the /-/healty and /-/ready endpoints. #3039
other[ENHANCEMENT] Truncate messages with the … ellipsis character instead of the 3-dots string .... #3072
feature[ENHANCEMENT] Add support for reading global and local SMTP passwords from files. #3038
feature[ENHANCEMENT] Add Location support to time intervals. #2782
feature[ENHANCEMENT] UI: Add 'Link' button to alerts in list. #2880
feature[ENHANCEMENT] Add the source field to the PagerDuty configuration. #3106
feature[ENHANCEMENT] Add support for reading PagerDuty routing and service keys from files. #3107
other[ENHANCEMENT] Log response details when notifications fail for Webhooks, Pushover and VictorOps. #3103
feature[ENHANCEMENT] UI: Allow to choose the first day of the week as Sunday or Monday. #3093
feature[ENHANCEMENT] Add support for reading VictorOps API key from file. #3111
other[ENHANCEMENT] Support templating for Opsgenie's responder type. #3060
fix[BUGFIX] Fail configuration loading if api_key and api_key_file are defined at the same time. #2910
fix[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
fix[BUGFIX] Trim contents of Slack API URLs when reading from files. #2929
fix[BUGFIX] amtool: Avoid panic when the label value matcher is empty. #2968
fix[BUGFIX] Fail configuration loading if api_url is empty for OpsGenie. #2910
fix[BUGFIX] Fix email template for resolved notifications. #3166
fix[BUGFIX] Use the HTML template engine when the parse mode is HTML for Telegram. #3183