diff --git a/CHANGELOG.md b/CHANGELOG.md
index 15216716..71d66d62 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,9 +1,14 @@
# Changelog
All notable changes to this project will be documented in this file.
+## v1.21.0 - Unreleased
+
+### Improvements
+- Increase "Success / Failure Keywords" field lengths to 200
+
## v1.20.0 - 2020-04-22
-## Improvements
+### Improvements
- Django 3.2
- Rename VictorOps -> Splunk On-Call
- Implement email body decoding in the "Ping Details" dialog
@@ -13,7 +18,7 @@ All notable changes to this project will be documented in this file.
- Replace details_url with cloaked_url in email and chat notifications
- In the "My Projects" page, show projects with failing checks first
-## Bug Fixes
+### Bug Fixes
- Fix downtime summary to handle months when the check didn't exist yet (#472)
- Relax cron expression validation: accept all expressions that croniter accepts
- Fix sendalerts to clear Profile.next_nag_date if all checks up
@@ -23,7 +28,7 @@ All notable changes to this project will be documented in this file.
## v1.19.0 - 2021-02-03
-## Improvements
+### Improvements
- Add tighter parameter checks in hc.front.views.serve_doc
- Update OpsGenie instructions (#450)
- Update the email notification template to include more check and last ping details
@@ -35,14 +40,14 @@ All notable changes to this project will be documented in this file.
- Add rate limiting for Pushover notifications (6 notifications / user / minute)
- Add support for disabling specific integration types (#471)
-## Bug Fixes
+### Bug Fixes
- Fix unwanted HTML escaping in SMS and WhatsApp notifications
- Fix a crash when adding an integration for an empty Trello account
- Change icon CSS class prefix to 'ic-' to work around Fanboy's filter list
## v1.18.0 - 2020-12-09
-## Improvements
+### Improvements
- Add a tooltip to the 'confirmation link' label (#436)
- Update API to allow specifying channels by names (#440)
- When saving a phone number, remove any invisible unicode characers
@@ -59,12 +64,12 @@ All notable changes to this project will be documented in this file.
- Implement header-based authentication (#457)
- Add a "Lost password?" link with instructions in the Sign In page
-## Bug Fixes
+### Bug Fixes
- Fix db field overflow when copying a check with a long name
## v1.17.0 - 2020-10-14
-## Improvements
+### Improvements
- Django 3.1
- Handle status callbacks from Twilio, show delivery failures in Integrations
- Removing unused /api/v1/notifications/{uuid}/bounce endpoint
@@ -74,7 +79,7 @@ All notable changes to this project will be documented in this file.
- Read-only team members
- API support for setting the allowed HTTP methods for making ping requests
-## Bug Fixes
+### Bug Fixes
- Handle excessively long email addresses in the signup form
- Handle excessively long email addresses in the team member invite form
- Don't allow duplicate team memberships
diff --git a/hc/api/migrations/0077_auto_20210506_0755.py b/hc/api/migrations/0077_auto_20210506_0755.py
new file mode 100644
index 00000000..89ffcbcd
--- /dev/null
+++ b/hc/api/migrations/0077_auto_20210506_0755.py
@@ -0,0 +1,28 @@
+# Generated by Django 3.2.1 on 2021-05-06 07:55
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('api', '0076_auto_20201128_0951'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='channel',
+ name='kind',
+ field=models.CharField(choices=[('email', 'Email'), ('webhook', 'Webhook'), ('hipchat', 'HipChat'), ('slack', 'Slack'), ('pd', 'PagerDuty'), ('pagertree', 'PagerTree'), ('pagerteam', 'Pager Team'), ('po', 'Pushover'), ('pushbullet', 'Pushbullet'), ('opsgenie', 'Opsgenie'), ('victorops', 'Splunk On-Call'), ('discord', 'Discord'), ('telegram', 'Telegram'), ('sms', 'SMS'), ('zendesk', 'Zendesk'), ('trello', 'Trello'), ('matrix', 'Matrix'), ('whatsapp', 'WhatsApp'), ('apprise', 'Apprise'), ('mattermost', 'Mattermost'), ('msteams', 'Microsoft Teams'), ('shell', 'Shell Command'), ('zulip', 'Zulip'), ('spike', 'Spike'), ('call', 'Phone Call'), ('linenotify', 'LINE Notify'), ('signal', 'Signal')], max_length=20),
+ ),
+ migrations.AlterField(
+ model_name='check',
+ name='subject',
+ field=models.CharField(blank=True, max_length=200),
+ ),
+ migrations.AlterField(
+ model_name='check',
+ name='subject_fail',
+ field=models.CharField(blank=True, max_length=200),
+ ),
+ ]
diff --git a/hc/api/models.py b/hc/api/models.py
index 7feb3210..e831489f 100644
--- a/hc/api/models.py
+++ b/hc/api/models.py
@@ -78,8 +78,8 @@ class Check(models.Model):
grace = models.DurationField(default=DEFAULT_GRACE)
schedule = models.CharField(max_length=100, default="* * * * *")
tz = models.CharField(max_length=36, default="UTC")
- subject = models.CharField(max_length=100, blank=True)
- subject_fail = models.CharField(max_length=100, blank=True)
+ subject = models.CharField(max_length=200, blank=True)
+ subject_fail = models.CharField(max_length=200, blank=True)
methods = models.CharField(max_length=30, blank=True)
manual_resume = models.BooleanField(default=False)
diff --git a/hc/front/forms.py b/hc/front/forms.py
index 3b7a93e0..106ef930 100644
--- a/hc/front/forms.py
+++ b/hc/front/forms.py
@@ -64,8 +64,8 @@ class NameTagsForm(forms.Form):
class FilteringRulesForm(forms.Form):
filter_by_subject = forms.ChoiceField(choices=(("no", "no"), ("yes", "yes")))
- subject = forms.CharField(required=False, max_length=100)
- subject_fail = forms.CharField(required=False, max_length=100)
+ subject = forms.CharField(required=False, max_length=200)
+ subject_fail = forms.CharField(required=False, max_length=200)
methods = forms.ChoiceField(required=False, choices=(("", "Any"), ("POST", "POST")))
manual_resume = forms.BooleanField(required=False)
diff --git a/templates/front/filtering_rules_modal.html b/templates/front/filtering_rules_modal.html
index 3e068fda..8e0c2484 100644
--- a/templates/front/filtering_rules_modal.html
+++ b/templates/front/filtering_rules_modal.html
@@ -67,7 +67,7 @@
@@ -85,7 +85,7 @@