Releases: Netflix/dispatch
v20220119
This is the first release of 2022, which includes some enhancements and bug fixes. You can find more details below:
Enhancements:
- Allows to define database engine pool size and max overflow values (#1899, #1900) by @mvilanova
- Updates pinned version for scipy package (#1849) by @mvilanova
- Removes commander and liaison service columns from incident type table (#1830) by @mvilanova
- Makes the monaco editor load lazily reduces bundle size by 3x (#1825) by @kevgliss
Bug Fixes:
- Reverts to IncidentRead in IncidentPagination Pydantic model (#1907) by @mvilanova
- Replaces localhost with 127.0.0.1 in devServer vue.config.js (#1906) by @mvilanova
- Skips plugin create instance test until we have a fix (#1866) by @mvilanova
- Fix spelling error on feedback button (#1862) by @forestmonster
- Fixes schemathesis tests (#1847) by @mvilanova
- Don't send update notifications on closed incidents. (#1846) by @kevgliss
- Fixes typo in subscribe to incident messaging (#1845) by @mvilanova
- Fixes an issue were flow breaks when no group plugin exists (#1838) by @kevgliss
- Fixes a bug were settings couldn't be filled on plugin creation (#1837) by @kevgliss
- Makes project owner optional (#1836) by @kevgliss
- Removes duplicated Pydantic fields (#1831) by @mvilanova
- Removes status code check (#1824) by @kevgliss
- Fixes issue with the incident type dashboard not rendering (#1821, #1823) by @kevgliss
- Fixes an issue with missing reported at (#1817) by @kevgliss
- Fixes an issue with marking storage readonly when there is none (#1816) by @kevgliss
- Adds some activity for old incidents (#1815) by @kevgliss
Tests:
- Skips plugin create instance test until we have a fix (#1866) by @mvilanova
v20211116
The first release of November! This release contains quite a few fixes and some helpful enhancements, including move more settings from the configuration file to the UI.
Enhancements:
- Excludes fields not required for dashboards (#1814) by @kevgliss
- Removes some google drive specific options to the plugin instance (#1794) by @kevgliss
- Adds a subscribe button to incident notifications (#1793) by @kevgliss
- Adds UI elements for project settings (#1792) by @kevgliss
- Adds a participant message counter which is then used for more accurate cost calculations (#1783) by @kevgliss
- Adds the ability to mark tags types as mutually exclusive (#1782) by @kevgliss
- Adds ability to mark incidents readonly on incident close (#1780) by @kevgliss
- Moves more settings to projects and deprecates unneeded settings (#1773) by @kevgliss
- Makes written feedback required to ensure it can be actioned (#1772) by @mvilanova
- Removes some google drive specific options to the plugin instance (#1769) by @kevgliss
- Adds generic workflow plugin that calls a API endpoint to trigger a workflow (#1764) by @jtorvald
- Moves unneeded arrow dep (#1762) by @kevgliss
- Allowing for multiple tags to be set
<key>:<value>,<key1>:<value1>
(#1749) by @kevgliss - Improves logging in workflow scheduled jobs when plugin is not enabled (#1742) by @mvilanova
Bug Fixes:
- Allows for plugin secrets to be updated (#1811) by @kevgliss
- Fixes our ability to disabling downloading of incident document (#1808) by @kevgliss
- Fixes the subscribe to incident ui button (#1807) by @kevgliss
- Fixes issues with slack tagging and socket mode (#1806) by @kevgliss
- Fixing bug with incident cost calculation (#1804) by @kevgliss
- Fixes issue creating organizations (#1791) by @kevgliss
- Making socket mode optional in UI (#1779) by @kevgliss
- Throws a better error if no workflows are available (#1768) by @kevgliss
- Adds project information to documents (#1760) by @kevgliss
- Updating package-lock.json (#1746) by @kevgliss
- Improves get or create user function to avoid db integrity errors (#1743) by @mvilanova
- Changes weblink default to empty string (#1741) by @mvilanova
- Fixes bug where plugin enablement did not take project into consideration (#1738) by @kevgliss
Documentation:
Release v20211015
This is the first release of October!
This release migrates configuration settings for plugins from the .env file to the Web UI. It also includes a long list of other improvements and bug fixes. List of merged changes can be found below:
Enhancements:
- Improves help documentation for Slack app user id (#1727) by @mvilanova
- Improves incident review direct message sent on incident close (#1698) by @mvilanova
- Updates example configuration .env file (#1697) by @mvilanova
- Replaces incident cost type select with combobox (#1679) by @mvilanova
- Supports windows file path & env vars for CLI serve command (#1638) by @axellaurelut
- Adds Python 3.9 to setup.py (#1629) by @anukaal
- Moves plugin configuration from .env file to Web UI (#1619) by @kevgliss
Bug Fixes:
- Adds resolved liaison and scribe roles to incident resources (#1726) by @mvilanova
- Moves paging the commander to the incident creation flow (#1718) by @mvilanova
- Adds missing config kwarg to workflow modal handler and action functions (#1717, #1663) by @mvilanova, @kevgliss
- Adds missing service_id param to opsgenie plugin code (#1716) by @mvilanova
- Fixes issue when switching orgs with spaces in their names (#1711) by @mvilanova
- Saves app theme in localStorage (#1708) by @jtorvald
- Fixes commander resolution on incident creation (#1702) by @mvilanova
- Fixes database revision (#1696) by @mvilanova
- Combines date and time pickers in details tab (#1695) by @kevgliss
- Fixes issue with missing values during migration (#1689) by @kevgliss
- Fixing missing config parameter in Slack menu (#1686) by @kevgliss
- Ensure search expression is not null (#1685) by @kevgliss
- Do not send tactical report reminder on incident update if status has not changed (#1684) by @mvilanova
- Fixes workflow tests (#1678) by @kevgliss
- Respects commander when passed during incident creation (#1677) by @kevgliss
- Fixes issue with relying on decorator to provide slack config (#1676) by @kevgliss
- Fixes several issues with monitor (#1675, #1667, #1666, #1665) by @kevgliss
- Re-adds plugin combobox (#1662) by @kevgliss
- Adjusts incident task lookback (#1661) by @kevgliss
- Fixes issue with decorator stackoverflows (#1660) by @kevgliss
- Fixes issues with Jira configuration and plugin (#1658, #1657) by @kevgliss
- Fixes organization admin and manager permissions (#1648) by @mvilanova
- Allows all roles except member to see restricted incidents (#1645) by @mvilanova
- Fixes incident date filtering (#1644) by @mvilanova
- Fixes incident type plugin metadata UI (#1643) by @kevgliss
- Fixes issue with forecast filter (#1642) by @kevgliss
- Fixes template creation within incident types (#1640) by @kevgliss
- Fixes table name for incident_role_incident_priority in db migration (#1639) by @mnuck-fp
- Fixes build errors induced by move to slim base image (#1628) by @mnuck-fp
- Fixes incident tag creation (#1618) by @kevgliss
- Fixes an issue with service id confusion and tagging incident creation (#1617) by @kevgliss
Documentation:
- Updates description for incident visibility (#1656) by @mvilanova
Release v20210913
This is the first release of September!
Two new features to highlight:
This release adds the ability to specify evergreen notifications for services and notifications. Evergreen notifications are email reminders (typically once per quarter) that remind resource owners to keep their resources current. We now support evergreen notifications for Incident Templates, Runbooks, Services (e.g. pagerduty oncalls), and notifications (slack, email, etc.,).
Also in this release, we introduce the idea of "incident roles". In the past, incident types would define which on-call service would be mapped to the incident commander (e.g. all vulnerability incidents would be mapped to AppSec). With incident roles, we've introduced more flexibility allowing you to define who should be assigned the incident commander role (or the scribe or the liaison roles) based on an incident's type, priority, or even tags associated with it.
Enhancements:
- Adds better repr for our sqlalchemy objects (#1614) by @kevgliss
- Adds functionality to group release notes by label (#1611) by @kevgliss
- We do not resolve incident roles and page the commander for incidents opened as closed (#1610) by @mvilanova
- Removes tracking-only checkbox from incident reporting form (#1608) by @mvilanova
- Adding tagging via slack message events (#1587) by @kevgliss
- Enhancement/evergreen (#1584) by @kevgliss
- Adds logout functionality to UI (#1580) by @kevgliss
- Adds some UI documentation and tightens up table interface (#1575) by @kevgliss
- Removing un-needed lens (#1553) by @kevgliss
- Enhancement/participant role filters (#1540) by @kevgliss
- Addresses some sticky circular imports with our pydantic models (#1535) by @kevgliss
- Ensures that the update button is correctly aligned (#1534) by @kevgliss
- Allow build time VUE_APP variables (#1533) by @ymatsiuk
- Speeds up the responsiveness of cli commands (#1531) by @kevgliss
- Adding dependency labels (#1527) by @kevgliss
Bug Fixes:
- Ensures new incident roles match all priorities (#1616) by @kevgliss
- Fixes issue when setting the incident cost in the ticket (#1613) by @mvilanova
- Fixes an issue where incident tags could not be updated. (#1612) by @kevgliss
- Making primary properties optional (#1609) by @kevgliss
- Fixing an issue were multiple transactions could happen in the same session (#1606) by @kevgliss
- Fixes bug in how tactical reports are created via the UI. (#1604) by @kevgliss
- Allowing the default incident type and priorities to be used (#1599) by @kevgliss
- Fixing issue where FAQ wouldn't populate on pre-filled projects (#1596) by @kevgliss
- Fixing issue creating new roles (#1583) by @kevgliss
- Fixes an issue where an users password would be reset after a role change. (#1579) by @kevgliss
- Uses correct enum when setting resource type for executive report documents (#1568) by @mvilanova
- Fixes issue with trigger function on organization creation (#1567) by @mvilanova
- Fixes OrganizationSlug regex (#1565) by @mvilanova
- Renames label doc to documentation (#1562) by @mvilanova
- Fixes issue with global search (#1558) by @kevgliss
- Fixes issue where 'stable_at' wasn't being set from the UI. (#1552) by @kevgliss
- Ensuring that commands issued from outside of incident channels specify organization (#1551) by @kevgliss
- Fixes issue with the wrong description being saved for tasks. (#1546) by @kevgliss
- Installs the plugins before running scheduled tasks (#1544) by @mvilanova
- Makes id in ProjectRead optional (#1543) by @mvilanova
- Revert "Queries Project API if project parameter is included in URL" (#1542) by @mvilanova
- Queries Project API if project parameter is included in URL (#1541) by @mvilanova
- Fixes issue with submitting an incident with a visibility (#1537) by @kevgliss
- Fixes issues with the way that the plugin instance combo box was being used (#1532) by @kevgliss
- Bugfix/sample data columns (#1530) by @kevgliss
- Fixes an issue with term filters (#1528) by @kevgliss
- Syncing document terms was accessing the wrong attribute (#1526) by @kevgliss
Documentation:
Release v20210804.1
This is a point release that ensures that the example sample data is up to date.
Release v20210804
This is the first release of August!
This release is all about improvements and bug fixes. A list of merged changes can be found below:
Enhancements:
- Added many API tests CRUD tests and schema validations (#1516, #1506, #1503, #1503, #1501, $1497, #1495, #1490, #1482, #1480, #1477, #1476, #1475, #1473, #1472, #1471, #1468, #1467, #1466, #1464, #1463)
- We don't attempt to notify the user in the channel if the incident is closed (#1520) by @mvilanova
- Adds project name to daily incident report title (#1510) by @mvilanova
- Replaces jsonable_encoder with custom dict function and removes db_session.add() from update functions (#1496) by @mvilanova
- Adds rendered participants to incident submission form (#1483) by @kevgliss
- Creates a new 'DispatchEnum' (#1446) by @kevgliss
- Adds FAQ document link to incident submission form (#1448) by @kevgliss
- Allowing tag type to be specified in notification filters (#1447) by @kevgliss
- Fixing terms and descriptions (#1489) by @kevgliss
Bug Fixes:
- Fixes an issue with task syncing (#1514) by @kevgliss
- Takes project into account when fetching and creating individuals (#1507) by @mvilanova
- Fixes an issue where a hash char would stop the encoding of a CSV (#1459) by @kevgliss
- Unprocessable entity on any API request due to insufficient parameters (#1509) by @stefanm8
- Fixes issue with setting a custom filter date (#1481) by @kevgliss
- Fixes feedback table and inconsistent incident filtering (#1458) by @kevgliss
- Fixing issue where template documents were disappearing (#1451) by @kevgliss
- Makes sure we capture the whole day, regardless of the local time (#1450) by @kevgliss
Documentation:
Release v20210714
This is the first release of the month of July!
This release is all about improvements and bug fixes. List of merged changes can be found below:
Improvements:
- Do not send messages to the participant or channel if the incident is closed (#1437) by @mvilanova
- Allows tag sync plugins to create tag types dynamically (#1432) by @kevgliss
- Ensures incident task assignees are up to date (#1420) by @mvilanova
- Do not create a timeline event if the incident status has not changed (#1418) by @mvilanova
- Forces exact username matching when searching users in Jira (#1415) by @mvilanova
- Removes deprecated notify param (#1414) by @mvilanova
- Improves participant management related to tasks (#1405, #1425) by @mvilanova
- Improves dashboard detail (#1395) by @kevgliss
- Makes organization and role required to update a user's role (#1383) by @mvilanova
- Silences events from non-incident channels (#1378) by @kevgliss
- Only re-resolve teams and individuals when the incident status is active (#1389) by @mvilanova
- Allow admins to see all incidents (#1361) by @kevgliss
- Allowing reporter to be specified and respecting service enablement (#1373) by @kevgliss
- Removing organization from settings breadcrumbs (#1343) by @kevgliss
- Adding default slug (#1344) by @kevgliss
- Creates an empty document if no template is available. (#1335) by @kevgliss
- Ensures that settings links contain current query params (#1337) by @kevgliss
- Adding better PagerDuty message (#1330) by @kevgliss
- Adding timeslice (#1304) by @kevgliss
Bug Fixes:
- Fixes bug in task notification function (#1438) by @mvilanova
- Fixes FAQ and conversation enum references (#1434) by @kevgliss
- Fixes task source documents (#1433) by @kevgliss
- Fixes Slack buttons for resolving or re-opening tasks (#1431) by @kevgliss
- Fixes incident document creation (#1430) by @kevgliss
- Fixes document tasks (#1429) by @kevgliss
- Fixes document import (#1428) by @kevgliss
- Fixes TaskStatus import (#1419) by @mvilanova
- Replaces deprecated Binary symbol with LargeBinary (#1404) by @mvilanova
- Fixes issues with creating the incident reporter (#1393, #1392, #1391) by @kevgliss
- Fixes params for list my tasks (#1390) by @kevgliss
- Re-adds slack_client to send_ephemeral_message call (#1388) by @mvilanova
- Fixes issue with the restricted incidents filter (#1384) by @mvilanova
- Multiple fixes (#1382) by @kevgliss
- Do not throw an error if table does not exist when trying to drop it (#1381) by @mvilanova
- Fixes issue fetching default incident type (#1380) by @kevgliss
- Fixes issue with old block actions (#1379) by @kevgliss
- Fixes initial triggers (#1377) by @kevgliss
- Fixes bug with incident notifications (#1374) by @kevgliss
- Fixes tracking sheet (#1372) by @kevgliss
- Fixes plugin instance run (#1363) by @kevgliss
- Fixes task creation (#1362) by @kevgliss
- Fixes issue with workflow plugin instance (#1359) by @kevgliss
- Fixes an issue with workflows not referencing plugin instances (#1358) by @kevgliss
- Fixes issue with SSO user creation (#1357, #1352) by @kevgliss
- Fixing misc issues (#1346) by @kevgliss
- Fixing issue with how block actions are handled with multiple organizations (#1342) by @kevgliss
- Fixes tag sync issue (#1341) by @kevgliss
- Fixes issue with the tag recommender (#1340) by @kevgliss
- Fixes some scheduled tasks (#1339) by @kevgliss
- Fixes an issue with the handling of slack events. (#1338) by @kevgliss
- Fixes an issue with session pooling (#1336) by @kevgliss
- Allowing slack plugin to understand multiple organizations (#1332) by @kevgliss
- Fixes organization roles (#1329) by @kevgliss
- Adding exception logging (#1326) by @kevgliss
- Add switch between access_token and id_token (#1323) by @ymatsiuk
- Fixes issues with organizations (#1318, #1317, #1316) by @kevgliss
- Fixes a command issue and adds clarification (#1298) by @dilbwagsingh
- Sets the access token correctly for PKCE login flow. (#1296) by @kevgliss
- Fixes add participant timeline event description not showing role (#1289) by @mvilanova
- Fixes issue causing daily incident feedback report to not be sent (#1288) by @mvilanova
- Don't show tag project if project is specified (#1287) by @kevgliss
- Adds missing optional id in TagCreate Pydantic model (#1282) by @mvilanova
Documentation:
Release v20210603
This is the first release of June!
Features:
- Adds the ability to set a projects label color (#1151)
- Adds the ability to filter incidents by their associated tag types (via associated tags) (#1177, #1182)
- Adds the ability to filter incident table and incident export by reported at date window (#1265)
Improvements:
- Makes CSV export of incident data more reliable (correctly escaping incident descriptions) (#1152)
- Adds settings breadcrumbs to make it easier to switch between projects (#1153)
- Refactors slack update incident dialog to a modal and adds the ability to specify incident tags (#1175)
- Improves participant management during the incident/participant lifecycle (#1179)
- Removes deprecated plugin enabled kwarg (#1186)
- Alters when new tasks are created, we no longer automatically create new incident tasks if the incident is closed (#1199)
- Refactored github actions (#1221) Thanks @vj-codes !
- Improves how the
/dispatch-list-incidents
command handles projects (#1225) - Allows project roles to be assigned via the CLI (#1243)
- Don't attempt to send feedback to archived channels (#1244)
- Adds a constraint ensuring that tags must have a tag type associated (#1255)
Bug Fixes:
- Fixed an issue with a migration where only some engagement filters where created (#1164)
- Fixed an issue where you couldn't both search and filter incidents at the same time (#1178)
- Fixed an issue with documentation creation in the UI that would clear associated filters (#1188)
- Fixed an issue with how checkboxes were displayed in the incident priority UI (#1187)
- Sets service_id if a participant is reactivated (#1216)
- Fixed an issue where multiple extraneous participant roles were being created (#1222)
- Fixed an issue where participant engagement can be accidentally overridden (#1227)
- Fixed an issue there incident type visibility was not available to be updated via the Dispatch UI (#1254)
- Fixed an issue where incident visibility would become unset when modified by
/dispatch-update-incident
command. - Fixed an issue with the
dispatch plugin list
command (#1266)
Documentation:
Release v20210506
This is the first release of may and it's a big one!
With this release, we are now able to offer individual teams their own space to run their incidents. Per-project configuration of incident types, incident priorities, tags, notifications, plugins, etc, allows for multiple teams to use Dispatch in their own way.
This is a big change that requires extensive database schema manipulation and data migration. As always, before upgrading. backup your existing data!
Features:
- Adds organizations/projects for incident resources (#990, #1010, #1011, #1019, #1023, #1024, #1028, #1035, #1036, #1040, #1047, #1050)
- Adds the ability to select FAIR Form of Loss category for incident types (#979)
- Adds a helpful direct message to the new incident commander (#1046)
- Adds the ability to scope tags by tag type while filtering (e.g. "applications/" will list all tags with tag-type of "applications") (#1067)
- Adds the ability to bulk delete incidents via web UI (#1069)
- Adds the ability to filter incidents by their tags (#1106)
Improvements:
- Consolidates restricted visibility-based filtering (#995)
- Moved from ace to monaco code editor (#1012)
- Makes company field optional for individual and team in Web UI (#1064)
- Unified web UI selects/combobox to include "load more" option (#1062, #1076)
- Creating a new search filter will automatically add it to the focused notification (#1066)
- Adds default column to incident priority table (#1090)
- Adds more response messages to slack modals and commands (#1132)
- Converts engagement filters to search filters (#1070)
- Updates individual contact info if it exists (#1129)
- Lots and lots of dependency updates
Bug Fixes:
- Fixes bug where the incident role was not being displayed correctly when changed via the Web UI (#1002)
- Fixes missing validation prop that prevented new individuals from being created in the UI (#1032)
- Fixes issue for incident reporter being incorrectly reported via API (#1055)
- Fixes issue where reporter/commander could not be changed if there was no incident conversation (#1054)
Documentation:
- Reworked a large amount of the documentation (#1088)
Security
- Fixes URL sanitization to prevent XSS (#1126)
Release v20210319
This is the first release of March. The highlights of this release are a new flexible forecasting that allows you to forecast incidents based on incident type, incident priority or tag, and the ability to define and add new cost types/ forms of losses other than the default, computed response cost to incidents. Major changes in this release can be found below.
Features:
- Adds support for non-operational costs (#928, #947, #949, #952, #963, #964)
- Adds support for suggesting tags for a given incident based on existing tags (#934)
Improvements:
- Adds protections for restricted incident types restricted (#921)
- Ensures the mjml is installed correctly on the core image (#923)
- Ensures re-resolving services doesn't result in multiple engagements (#924)
- Silencing warnings until they are fixed upstream (#927)
- Updating configuration documentation RE: MJML_PATH (#929). Thanks @AlexaKelley!
- Adds column for liaison service in incident type table (#938)
- Allows for more flexible forecasting (#941)
- Forcing PostgreSQL v12 in docker-compose file (#942)
- Do not send incident report reminders if incident status hasn't changed (#948)
- Improves text and formatting of information review reminder (#950)
- Slack documentation improvements (#966). Thanks @klarrio-dlamb!
- Allows for individuals to have unique external IDs associated with them (#968)
- Allowing external id in nested views (#969)
Bug Fixes:
- Fixes API query param names in multiple view modules (#922)
- Fixes URL for example env (#931). Thanks @Cull-Methi!
- Fixes text in daily report context section (#933)
*Various minor spelling corrections (#936). Thanks @homebysix! - Disables nested validation observers when creating new or editing existing incident types (#939)
- Lots of dashboard fixes (#943)
- Check incident status before sending messages to conversation (#951)
- Adds missing incident deletion cascades (#965)
- Fixing issue with filtering forecast based on tags (#970)
Security:
- Ensure that an individual contact can't be hijacked (#926)