Releases: Netflix/dispatch
v20230201
Hi Dispatch users!
This is the first release of 2023! It's been a while since our last release but there are lots of improvements that we are really excited about. Take a look as always let us know if you find any issues!
Highlights:
Migration to the Slack Bolt client - This migration was much more difficult than anticipated with a lot of edge cases and the fixing of behaviors. This migration should put us in a better place going forward and allow us to iterate and add features to our Slack integration at a greater speed going forward. It improves the UI/UX experience for some Slack slash commands where their output is being displayed in Slack modals vs ephemeral messages.
As part of the bolt migration, we've taken the opportunity of modifying some commands (/dispatch-list-incidents, and /dispatch-list-participants) to use modals for their output instead of cluttering up the incident conversation channel.
Case Notifications - This release contains the ability for cases to create Slack notifications for all new cases, allowing for the management of these cases from within slack. We currently only support a case notification channel on a per-case-type basis. A future release will include the ability to enroll additional individuals and teams similar to how they are included in incidents.
Dashboard Performance - Improvements have been made to limit the amount of data that bulk endpoints such as /incidents and /cases return. This should drastically improve the performance of those endpoints and the dashboards that use those endpoints.
Project Defaults - We now set reasonable default resources for new projects. Having default incident types, incident priorities, case types, case priorities, etc., allows new projects to get off the group more quickly. These are just hardcoded for now, but were interested in getting back if project templates would be useful to you. For an example see here.
Enhancements:
- Add slack conversation_id to participant model so we don't need expensive API calls (#2910) by @wssheldon
- Adds custom error message for expired trigger ids (#2909) by @wssheldon
- instantly acknowledge /command and /event requests from slack (#2907) by @wssheldon
- Removes email from list participants Slack modal (#2894) by @mvilanova
- Replaces hyphen with vertical bar as conversation topic separator (#2891) by @mvilanova
- Adds task button handler and modal draw function, support front-end tasks (#2887) by @wssheldon
- Adds handlers for incident join and subscribe button click events (#2863) by @mvilanova
- Creates default incident and case type on new project creation (#2860) by @mvilanova
- Adds env var to disable registration (#2840) by @vindex10
- Initializes default project on new organization creation (#2818) by @mvilanova
- Adds support for bookmarking incident resources in Slack conversations (#2799) by @wssheldon
- Improves incident endpoint performance (#2788) by @kevgliss
- Bolt bookmarks (#2784) by @wssheldon
- Page case assignee (#2778) by @wssheldon
- Raw signals (#2776) by @kevgliss
- Slack bolt (#2767) by @kevgliss
- Deprecates unused relationship to incidents in service data model (#2759) by @mvilanova
- Returns incident types ordered by name and severities and priorities ordered by viewing order (#2750) by @mvilanova
Bug Fixes:
- Fixes a few issues with project deletion (#2918) by @kevgliss
- Github repo and org/user can have dashes (#2911) by @wssheldon
- Adds protections for when a conversation or tactical group does not exist (#2901) by @mvilanova
- Fix none error when conversation plugin is not enabled (#2898) by @Cinojose
- Fixes issues with conversation creation, incident creation and search filter creation. (#2895) by @kevgliss
- Makes SearchFilter creator optional (#2893) by @mvilanova
- Add task button handler and modal draw function, support front-end tasks (#2887) by @wssheldon
- Adding case configuration (#2883) by @kevgliss
- Fixes an issue with how the daily notifications where being created (#2839) by @kevgliss
- Adding incidents ref'd to cases (#2835) by @kevgliss
- Adding read minimal duplicates and related (#2830) by @kevgliss
- Organization switch reloads to old route (#2829) by @vindex10
- Adding read minimal to duplicates (#2828) by @kevgliss
- Fixes issues with ingestion (#2819) by @kevgliss
- Fixing issue with raw signal data (#2817) by @kevgliss
- Only require workflow_id (#2815) by @kevgliss
- Adding success state (#2814) by @kevgliss
- Individual name is wrongly resolved (#2807) by @vindex10
- Gmail plugin fails when there are no threads with mailer daemon (#2805) by @vindex10
- Checks for auth token on app refresh (#2793) by @vindex10
- Fixes id mapping (#2786) by @kevgliss
- Fixes raw signal ingestion (#2785) by @kevgliss
- Making the settings navbar more reliable (#2777) by @kevgliss
- v-select not setting initial select correctly (#2770) by @kevgliss
- Fixes and improves incident close reminders (#2758) by @mvilanova
Tests:
- testing/case-tests (#2921) by @wssheldon
Documentation:
- Update command helper messages from ephemeral message to modal (#2897) by @wssheldon
Kevin, Marc, Will
v20221207
Hi Dispatch users!
This is the first release of the month of December and last one of 2022. This release includes new features to speed up the process of creating and setting up projects, support for Github codespaces, and enhancements and bug fixes through the application.
Thanks for your continuous support, and happy holidays and best wishes for 2023!
Breaking Changes:
- With this release, we have migrated all frontend envvars to use the VITE build system. Due to this, all previous envvars prefixed with
VUE_
should be migrated to aVITE_
prefix.
Enhancements:
- Adds support for creating default configuration settings for projects on project creation (#2729) by @mvilanova
- Returns incident types ordered by name and severities and priorities ordered by viewing order (#2750) by @mvilanova
- Improves to incident edit permissions (#2747) by @mvilanova
- Changes participant welcome message language to make it inclusive of all types of incidents (#2744, #2748) by @mvilanova
- Improves Slack direct message language to incident commander (#2743) by @mvilanova
- Upgrades Python base and development requirements (#2740, #2739) by @mvilanova
- Updates list of Slack commands that require a role to be run (#2738) by @mvilanova
- Adds support for GitHub codespaces (#2686, #2697) by @kevgliss
Bug Fixes:
- Checks if incident participant is a task assignee not owner before allowing them to leave the incident conversation (#2737) by @mvilanova
- Forces a page refresh for non basic auth providers (#2733) by @kevgliss
- Replaces localhost with 127.0.0.1 in Vite config to resolve connection issue with Node and Vite (#2731) by @mvilanova
- Removes PWA and its manifest (#2728, #2736) by @kevgliss
- Fixes issue where calls to the
/settings
endpoint fails due to being called before SSO / PKCE libraries are initialized. (#2723, #2724, #2725) by @kevgliss - Fixes an issue with the core dispatch ticket plugin (#2712) by @kevgliss
- Updates commander or reporter on incident update only if needed (#2703) by @mvilanova
- Removes references to severity for incident report in Slack (#2695, #2698, #2699) by @kevgliss
- Fixes data export feature (#2688) by @mvilanova
v20221110
Hi Dispatch users!
We've been busy working on Dispatch since the last release in September and this release comes with a ton of new useful features, improvements, and bug fixes across the app. Here are some that are worth highlighting:
- Allowing to define and set incident severities to represent the measured impact resulting from an incident.
- Allowing to assign a new participant role called Observer to improve accuracy of incident cost calculation. Incident participants that get resolved via engagement filters and added to the incident on incident creation or modification will be assigned this role. Time spent on this role won't be counted against incident cost. Individuals with this role will get the role converted to Participant if they send 10 or more messages to the incident channel.
- Allowing to view signal instances associated with a case.
- Ability to report cases via intake form at https://dispatch.example.net/default/cases/report.
- Allowing to configure client settings via an API call.
Give it a try and let us know what you think. Thanks to all community members for your continuous help and support!
Enhancements:
- Shortens task notifications text and converts notifications to ephemeral to reduce noise in incident channels (#2679) by @mvilanova
- Forces the user to specify the incident project (#2673) by @kevgliss
- Don't attempt to sync triggers automatically on database upgrade (#2666) by @kevgliss
- Allows to configure client settings via an API call (#2664) by @kevgliss
- Adds a settings filter for project settings (#2659) by @kevgliss
- Disables Run Workflow option if incident is closed or case is escalated or closed (#2655) by @mvilanova
- Renames moderate severity to medium severity (#2654) by @mvilanova
- Moves signal definitions to its own settings section (#2653) by @mvilanova
- Allows to view signal instances associated with a case (#2643) by @kevgliss
- Uses vite to build the frontend (#2637) by @kevgliss
- Adds section for commander paged in the incident report receipt card (#2636) by @mvilanova
- Announces when participants are assigned the observer role in the incident channel (#2634) by @mvilanova
- Improves participant role's activity (#2633) by @mvilanova
- Enhancements to signal deduplication (#2631) by @kevgliss
- Adds support for a new incident observer participant role (#2625) by @mvilanova
- Pre-fills mapped incident type in case type in escalate case form (#2619) by @mvilanova
- Disables escalate option and button when case is escalated or closed (#2618) by @mvilanova
- Reorganizes UI Panel (#2609) by @mvilanova
- Adds support for incident severity (#2608) by @mvilanova
- Allows for tasks to be specifically excluded (useful for scheduling signals) (#2589) by @kevgliss
- Adds support for visibility in SearchFilter (#2587) by @jneelamekam
- Shortens total response hours widget label (#2565) by @mvilanova
- Hides escalate option and button if case is already escalated or closed (#2564) by @mvilanova
- Deprecates relationship between task and ticket (#2563) by @mvilanova
- Enhances case management workflows (#2550) by @kevgliss
- Allows to load more than five incident types (#2548) by @mvilanova
- Shows related cases in the incident details tab (#2546) by @mvilanova
- Allows to load more tag types (#2545) by @mvilanova
- Improves logging configuration (#2544) by @mvilanova
- Enhances the case escalation modal (#2541) by @kevgliss
- Enable case types in one project to be mapped to incident types in any project (#2540) by @mvilanova
- Adds case reporting support (#2536) by @kevgliss
Bug Fixes:
- Fixes validation that allowed multiple FAQs to be defined (#2681) by @kevgliss
- Adds correct resource type when FAQs are created (#2680) by @kevgliss
- Adds a case cascade to signal instances to allow for the deletion of cases (#2678) by @kevgliss
- Updates the node version included in the docker file (#2677) by @kevgliss
- Ensures we only show enabled incident types (#2670) by @kevgliss
- Removed resource weblink resource validation as web link is not necessarily a URL (#2669) by @kevgliss
- Active cases and incidents respect project filter query argument (#2668) by @kevgliss
- Allow for 100% sampling rate (#2667) by @kevgliss
- Ensures that filtering is only enabled for project settings subMenu's and not others (#2665) by @kevgliss
- Adds missing incident severity to daily incidents report (#2663) by @mvilanova
- Sorted tasks by creation date (#2658) by @jneelamekam
- Closes db sessions when we're done with them to prevent having idle sessions (#2650) by @kevgliss
- Check incident visibility before allowing individuals to join or subscribe to an incident (#2649) by @mvilanova
- Always ensure there is a fingerprint for each signal (#2641, #2642) by @kevgliss
- Fixing import and database revision branches (#2640) by @kevgliss
- Sorted PD Schedule names (#2635) by @jneelamekam
- Vue sentry fix (#2632) by @kevgliss
- Disables dropping search triggers and functions (#2613) by @mvilanova
- Fixes null values in case reporting form and allows for url updating and copying URL to clipboard (#2576) by @kevgliss
- Sets the triage_at time when case is escalated via UI modal (#2568) by @mvilanova
- Uses the 'simple' dictionary to provide better search consistency (#2559) by @kevgliss
Documentation:
v20220915
Hi Dispatch users!
This is the first release of the month of September. This release includes lots of improvements and bug fixes and initial support for creating and managing cases. For cases, we're only creating a ticket, group, storage, and document if their respective plugins are enabled. Cases have different statuses than incidents, and when moved to an escalated status, an incident will be created and mapped to the case if the case's type is mapped to an incident type. Give it a try and let us know what you think. Thanks to all community members for your continuous help and support!
Features:
- Case Management (#2512, #2504, #2503, #2499, #2482, #2481, #2456, #2446, #2428, #2427, #2426, #2425, #2417, #2414, #2403, #2498, #2470, #2454, #2453, #2452, #2429, #2404) by @mvilanova
Enhancements:
- Improves incidents dashboard (#2517) by @mvilanova
- Renames and reorders columns in the Feedback table (#2511) by @mvilanova
- Adds header-based auth plugin (#2494) by @filippog
- Truncates incident description and resolution when they're too long (#2458) by @mvilanova
- Always upper log_level before logging config (#2440) by @filippog
- Re-organizes categories in the project settings panel (#2402) by @mvilanova
- Reverts to using logger for logging incident cost updates to reduce number of events in the incident timeline (#2393) by @mvilanova
- Disables other empty swaggers for container apps (#2521) by @kevgliss
Bug Fixes:
- UI table layouts (#2501) by @kevgliss
- Adds missing Vue template for project in the feedback table (#2505) by @mvilanova
- Allows setting breadcrumbs to utilize the whole width before collapsing (#2506) by @kevgliss
- Checks if commander has a relationship to an oncall service before attempting to page (#2493) by @mvilanova
- Uses a different Jira issue template for incidents opened as closed (#2473) by @mvilanova
- Sets response model to None for all delete endpoints to address breaking changes in FastAPI v0.80.0 (#2472) by @mvilanova
- Sets a default resolution if not provided on case or incident creation (#2469) by @mvilanova
- Fixes issue during the creation of incident collaboration documents (#2455) by @mvilanova
- Fixes doc creation issue if template is None (#2443) by @3c-un-str
- Wrap gmail.send in try/except due to tenacity.RetryError (#2430) by @3c-un-str
- Do not process events generated by Slackbot (#2421) by @mvilanova
- Adds protections to prevent hitting char limits in SaaS integrations (#2420) by @mvilanova
- slack_menu empty tag list fix; uvloop support. (#2419) by @3c-un-str
- Copy over incident_costs, terms & duplicates before updating incident from Slack (#2410) by @3c-un-str
Documentation:
- Adds documentation for case and updates other documents (#2525, #2526, #2527) by @mvilanova
v20220801
Hi Dispatch users!
This is the first release of the month of August. This release includes improvements and bug fixes in the Web UI, backend, and documentation. Thanks to all community members for your continuous help and support!
Enhancements:
- Response cost scheduler and calculation enhancements (#2381) by @mvilanova
- Improves the new/ edit project UI component (#2380) by @mvilanova
- Improves incident priority docstrings and error messages (#2367) by @mvilanova
- Adds noqa to evergreen scheduled job import (#2345) by @mvilanova
- Improves debugging messages in term scheduled job (#2339) by @mvilanova
- Removes undefined and unused feature label (#2333) by @mvilanova
- Adds tests label to enforce labels github workflow (#2332) by @mvilanova
- Moves tag description after name and adds URI to tag table (#2330) by @mvilanova
Bug Fixes:
- Increases incident task sync loopback to 10 minutes (#2368) by @mvilanova
- Fixes bugs impacting filtering users by organization and getting users' organization role (#2336) by @mvilanova
- Fixes bug preventing the creation of new incident priorities if a color is specified (#2391) by @mvilanova
Tests:
- Disables schemathesis tests until we have time to fix them (#2331) by @mvilanova
Documentation:
- Fixes typos in document paths and adds documentation for tag and tag type (#2329) by @mvilanova
v20220706
Hi Dispatch users!
This is the first release of the month of July. In this release, we fixed and improved evergreen reminders, added support for fetching and applying users' default projects for filtering purposes when custom authentication providers are used, squashed other bugs, and improved our documentation. Thanks again to all community members for your help!
Enhancements:
- Load user settings for filtering purposes regardless of the auth provider used (#2226, #2316, #2316, #2317,#2324,#2318) by @mvilanova
- Logs a warning if ticket plugin is not enabled on ticket creation (#2291) by @mvilanova
Bug Fixes:
- Flips the order in which we delete triggers and their associated functions (#2304) by @mvilanova
- Fixes and improves evergreen reminders (#2303) by @mvilanova
- Always return all incidents to ensure cost for all incidents is calculated (#2255) by @mvilanova
Documentation:
- Updates incident type documentation (#2292) by @mvilanova
- Fixes broken documentation TOC (#2278) by @mvilanova
v20220607
Hi Dispatch users!
This is the first release of the month of June. This release is packed with bug fixes (thanks to all the community users who reported them!), language improvements in the incident intake form and the ability for the app to apply users' default projects to all data filters across the app when basic authentication is used.
Enhancements:
- Improves intake form language (#2228) by @mvilanova
- Uses users' default projects for incident filtering purposes (#2210) by @mvilanova
- Requires Python 3.9 or greater and updates its requirements (#2250, #2251, #2207) by @mvilanova
Bug Fixes:
- Always return all incidents when querying the database (#2255) by @mvilanova
- Prevents overwriting the participant's oncall service when different roles are mapped to different oncall services and a participant has multiple roles (#2254) by @mvilanova
- Fixes organization banners (#2248) by @mvilanova
- Fixes an issue causing organization name to not being correctly extracted from request parameters (#2247) by @mvilanova
- Fixes an issue impacting the ability to create new projects (#2246) by @mvilanova
- Fixes ability to change user's role (#2242) by @mvilanova
- Reverts to using hybrid property for incident total cost calculation (#2233) by @mvilanova
- Populates contact information in daily feedback report emails (#2225) by @mvilanova
- Saves document template description in the database on document creation (#2224) by @mvilanova
- Fixes resource foreign keys in incident table (#2221) by @mvilanova
- Makes model_cls param optional (#2215) by @mvilanova
- Fixes badspec exception (#2214) by @mvilanova
v20220504
Hi Dispatch users!
This is a small release with some enhancements and bug fixes.
Happy responding!
Enhancements:
- Do not interact with conversations if they are archived (#2188) by @mvilanova
- Only update the cost of active and stable incidents (#2182) by @mvilanova
Bug Fixes:
- Checks if participant.individual exists before accessing it (#2187) by @mvilanova
- Only use markdown for new incident participant message when participant weblink exists (#2174) by @mvilanova
v20220428
Hi Dispatch users!
This release is mostly about enhancing and fixing bugs in the Web UI. You can now set custom colors to incident priorities and click on and see more information about tags in the Web UI. List of enhancements, bug fixes, and documentation improvements can be found below.
Enhancements:
- Allows to set custom colors to incident priorities for dashboarding purposes (#2151, #2157) by @mvilanova
- Updates executive report template text (#2149) by @mvilanova
- Uses the simple search dictionary for incident type search (#2121) by @mvilanova
- Hovering over a tag name shows its description and clicking on it opens its URI (#2107) by @mvilanova
Bug Fixes:
- Dedupes resolved incident roles emails (#2173) by @mvilanova
- Adds required keyword-only argument to incident_create_flow call (#2170) by @mvilanova
Documentation:
- Updates installation document (#2168) by @mvilanova
- Updates Slack documentation (#2109, #2113, #2114) by @mvilanova
- Updates the incident templates doc (#2108) by @mvilanova
v20220322
Hi Dispatch users!
This is the second release of the month of March. This release is mostly about enhancing and fixing bugs in the Web UI. It also includes ground work to allow Dispatch members to set default settings that will later be used for filtering across the UI such as default projects. List of enhancements and bug fixes below.
Enhancements:
- Adds a protection for when we send the feedback direct message to all participants. (#2090) by @mvilanova
- Moves owner permission check for user update to function logic. (#2089) by @mvilanova
- Adds support for multi year charts and turns off animations to help performance. (#2087) by @kevgliss
- Adds support for setting default projects in member settings. (#2083) by @mvilanova
- Allows the primary navigation bar to be minimized. (#2074) by @kevgliss
- Changes default time range to current month plus full previous month. (#2072) by @mvilanova
- Enhances the data source UI. (#2071) by @kevgliss
- Return projects and incident types sorted by name desc. (#2061) by @mvilanova
- Adds resolution to incident close review notification. (#2058) by @mvilanova
- Improves title of dashboard filter dialogs. (#2053) by @mvilanova
Bug Fixes:
- Uses the simple search dictionary for fulltext search. (#2093) by @kevgliss
- Fixes a few issues with the incident dashboard drilldown table. (#2088) by @kevgliss
- Fixes a typo such that aggregate correctly gets reset. (#2086) by @kevgliss
- Fixes issue with comboboxes not displaying multiple items with the same name. (#2084) by @kevgliss
- Makes default time range timezone aware. (#2075) by @mvilanova
- Bugfix/data status (#2073) by @kevgliss
- Making source required for query creation. (#2068) by @kevgliss
- Fixing selects, making them searchable. (#2067) by @kevgliss
- Fixing map to filter. (#2066) by @kevgliss
- Fixes incident forecast and makes sure url params are respected in dashboard. (#2062) by @kevgliss
- Fixes issue with incident task creation. (#2060) by @mvilanova
- Fixes bug in task dashboard (#2054) by @kevgliss