Skip to content

Releases: Netflix/dispatch

v20241220

21 Dec 00:12
0ce6d80
Compare
Choose a tag to compare

Hi Dispatch users!

This is the last release of 2024. As we wrap up the year, we want to take a moment to express our heartfelt gratitude to our community, contributors, and users. This update introduces a variety of new features, alongside numerous bug fixes and enhancements, as we continue to improve the stability of Dispatch. Explore some of the highlights and the complete details below.

  • Primary Branch Name Update: We have updated our primary branch name from "master" to "main," aligning with modern naming conventions.

  • Project Display Name Customization: Projects can now have a display name separate from their key, allowing for customization in the user interface without breaking existing API calls.

  • Export of Incident/Case Tags: Users can now export incident and case tags, improving data management and reporting capabilities.

  • Incident Reports Tab: A new "Reports" tab for incidents includes a list of tactical reports and, if enabled, the genAI-produced incident summary when the incident closes. We hope this provides users with quick access to key information.

  • MFA Challenge in Case Threads: Users can now be MFA challenged within case threads.

  • Incident Title in Ticket Names: Admins can now set the default ticket plug-in to use the incident title in the incident ticket name.

A big thank you to all our contributors for their invaluable support and collaboration, including @roblambell, @bashbreakpoint, @rialg, and @nimaxin.


Enhancements:

  • fix: updating main branch name (#5645) by @whitdog47
  • fix(case): close escalated case when associated incident is closed (#5618) by @whitdog47
  • feat(ui): allow project to have a display name separate from its key (#5616) by @whitdog47
  • Allow export of incident/case tags (#5613) by @metroid-samus
  • feat(ui): adds button to go to legacy edit pane (#5605) by @whitdog47
  • feat(aws sqs plugin): adds exception handling for ResourceClosedError errors (#5601) by @mvilanova
  • feat(dispatch-aws-plugin): better logging (#5594) by @mvilanova
  • feat(signal processing): adds better logging for troubleshooting purposes (#5592) by @mvilanova
  • chore(ci): test docker build on pull request (#5588) by @roblambell
  • feat(ui): add incident summary to Reports tab (#5582) by @whitdog47
  • feat(auth): aws application load balancer plugin (#5581) by @roblambell
  • feat(ui): show message if no tactical reports (#5576) by @whitdog47
  • feat(ticket): update ticket metadata on change of incident type (#5575) by @whitdog47
  • feat(mfa): change mfa prompt link to button (#5565) by @whitdog47
  • Add tags and tickets fields to get cases request (#5564) by @metroid-samus
  • feat(slack): add users to threaded case on mention (#5530) by @whitdog47
  • feat(dispatch aws plugin): adds support for decompressing zlib compressed signals (#5523) by @mvilanova
  • feat(slack): remove signal text from manual mfa engage and add user to channel (#5506) by @whitdog47
  • feat(slack plugin): improve user experience when resolving cases via Slack (#5485) by @mvilanova
  • Removes ability to delete signal definitions in Web UI (#5484) by @mvilanova
  • ui(case): fix misaligned instance selector (#5473) by @wssheldon
  • ui: remove 'incident participant' string from report tab (#5470) by @wssheldon
  • feat(scheduler): keep participant list in sync (#5460) by @whitdog47
  • feat(ui): add dedicated status tab for can report in incident edit sheet (#5459) by @wssheldon
  • tests(incident): Increase test coverage for report flows and incident severity service. (#5453) by @metroid-samus
  • feat(case): add ability to MFA challenge user in case thread (#5450) by @whitdog47
  • ui(mfa): dont require button click to validate mfa, do automatically (#5448) by @wssheldon
  • enhancement(ui): allow multiple assignee and participants (#5443) by @whitdog47
  • Enables usage of welcome message template for creating case ephemeral welcome messages (#5439) by @metroid-samus
  • chore(slack): update mfa fail messages to not reference specific providers (#5437) by @wssheldon
  • enhancement(slack): adding slash command and button to manually engage user for mfa prompt (#5429) by @whitdog47
  • feat(slack): add signal snooze channel notification for visibility (#5421) by @wssheldon
  • feat(genai): elevates GenAI feature to its own service library (#5416) by @mvilanova
  • feat(case): update conversation on case auto close (#5412) by @mvilanova
  • feat(case type): adds support for auto closing cases (#5409) by @mvilanova
  • feat(incident): Show the last update time of response costs in the UI (#5408) by @metroid-samus
  • feat(ticket): allows incident title in ticket name (#5397) by @whitdog47
  • feat(case): add case feedback daily email (#5395) by @whitdog47
  • chore(node): Upgrade to node lts (#5394) by @bashbreakpoint
  • Speeds up case resolution (#5384) by @mvilanova
  • Handles JSONDecodeError exception when parsing GenAI JSON string (#5359) by @mvilanova
  • feat(case): adding case feedback (#5356) by @whitdog47
  • feat(jira): add Dispatch link in Jira ticket (#5352) by @whitdog47

Bug Fixes:

Read more

v20241011

11 Oct 17:55
5bbb0b1
Compare
Choose a tag to compare

Hi Dispatch users!

This is the third release of 2024. This release comes with many new features as well as bug fixes and improvements. See below for some highlights and the full list.

  1. Expanded use of GenAI: if enabled, users can see a summary of analysis for alert cases including historical context and a weekly summary of closed incidents.
  2. Migration of case thread to dedicated channel: users can now migrate a threaded alert case into a dedicated case channel.
  3. Cost model improvements: new joiners to an incident (whether through adding themselves or by another or by auto-engagement) come in as an observer and are promoted to a participant on their third interaction in the conversation. This updates the cost model as observers do not count towards the incident cost. Exceptions include the incident commander, reporter, and other dedicated roles.
  4. Improved case type selector: when reporting a case, the case types are now sorted by the on-call service name presented as headers in the selector.
  5. Improved search filter editor: admins can now edit the search filter json directly in Dispatch.

Big thanks to @Ant0wan for their contributions!

Security Fixes:

Enhancements:

  • Improves warning text when there are no users to engage (#5314) by @mvilanova
  • Display GenAI analysis in the case page in the Web UI (#5301) by @mvilanova
  • Stores GenAI case analysis in JSON format in the database while preserving format on the Slack side (#5300) by @mvilanova
  • feat(ui/ux): add oncall service name to oncall shift feedback table (#5298) by @whitdog47
  • feat(GenAI): only include Slack user messages in historical context (#5296) by @mvilanova
  • feat(slack): Expose create case slash command (#5295) by @bashbreakpoint
  • Allows to update a signal engagement (#5293) by @mvilanova
  • Improves error handling, logging, and messaging in Slack plugin (#5288) by @mvilanova
  • Adds a command to perform signals testing to the CLI (#5285) by @mvilanova
  • Improves messaging in case threaded alert message (#5284) by @mvilanova
  • Uses a representative sample of related cases for the GenAI analysis (#5283) by @mvilanova
  • Improves the messaging and error handling in the Dispatch Slack plugin (#5282) by @mvilanova
  • Adds pyrightconfig.json to gitignore (#5278) by @mvilanova
  • Updates pre-commit hooks versions and fixes typos and formatting (#5277) by @mvilanova
  • Enhances Slack Case Handling and Messaging for Improved Clarity and User Interaction (#5267) by @mvilanova
  • update(ci): version bumps (#5266) by @Ant0wan
  • feat(ui/ux): adds incident report card text customizations to project settings (#5259) by @whitdog47
  • ux/fix(slack): move snooze mfa to new mfa, add emoji to case message,… (#5242) by @wssheldon
  • Enable users to create tasks from Slack (#5240) by @metroid-samus
  • enhancement(slack): update assignee if case type changes (#5239) by @wssheldon
  • feat(genai): add llm case summary and historical summary to slack plugin (#5237) by @wssheldon
  • Adds a new genai field to signal definition model to store the prompt (#5232) by @mvilanova
  • Adds genai fields to signal definition model (#5229) by @mvilanova
  • Updates AI plugin (#5227) by @mvilanova
  • Enable users to migrate a Case thread to a Case dedicated channel. (#5207) by @metroid-samus
  • Adding additional oncall metrics (#5204) by @whitdog47
  • ux(slack): improve case report modal type to assignee and oncall resolution (#5197) by @wssheldon
  • Restrict select incident severities to active incidents only (#5185) by @whitdog47
  • Adds project to comboboxes in dashboard filters (#5183) by @whitdog47
  • feat(mfa/plugin): add dispatch mfa plugin (#5175) by @wssheldon
  • feat(plugins/aws): check for dupe instance id (#5174) by @wssheldon
  • Add new joiners as observers and promote to participant on activity in channel (#5160) by @whitdog47
  • Case cost model - frontend (#5140) by @metroid-samus
  • Asks user to type database hostname and name before asking for confirmation to drop database (#5132) by @mvilanova
  • Adding project setting to allow visibility selection of incident command (#5129) by @ashleytolbert
  • enhancement(cli/consume): improve thread exception handling in cli consumer (#5118) by @wssheldon
  • refactor(plugins/aws): error handling, logging, types, and early returns (#5117) by @wssheldon
  • Refact(signals)/create instance (#5114) by @kevgliss
  • Create AI-generated weekly summary (#5074) by @whitdog47
  • Organize case select by oncall team (#5065) by @whitdog47
  • Makes lifecycle v-text field readonly (#5039) by @mvilanova
  • Adds detection lifecyle to signal model (#5037) by @mvilanova
  • Adding structured data (#5034) by @jschroth
  • Add logging for case status transitions (#5032) by @jschroth
  • Enable users to view and update existing search filter expressions (#5003) by @metroid-samus

Bug Fixes:

  • Update Docker images from Buster to Bullseye. (#5326) by @forestmonster
  • Fixing case and incident form fill from url (#5323) by @kevgliss
  • fix(scheduler): weekly reports should run weekly (#5317) by @whitdog47
  • fix(ui/ux): use the custom incident severity color and the custom priority and severity colors for cases (#5303) by @whitdog47
  • Use the incident priority colors. (#5302) by @metroid-samus
  • Fixes get_signal_engagement_by_name call in signals create module and several type annotations (#5292) by @mvilanova
  • fix(slack): don't use snooze ack, refactor engagement ack to generalized mfa ack (#5291) by @wssheldon
  • Updates case.signal_thread_ts after creating the alerts section (#5290) by @mvilanova
  • Show GenAI signal analysis errors in Slack message. (#5287) by @metroid-samus
  • If an error is already handled and logged, do not re-log that same error. (#5286) by @metroid-samus
  • Undoes changes made by typos pre-commit hook (#5279) by @mvilanova
  • Creates the modal immediately after invocation. Update the modal with the task fields after. (#5276) by @metroid-samus
  • fix(scheduler): use ast instead of json library to load string data (#5275) by @whitdog47
  • fix(scheduler): adapting weekly summary to new ai parameters (#5268) by @whitdog47
  • fix(scheduler): correcting import for datetime (#5261) by @whitdog47
  • fix(ui): ensure empty details doesn't throw error (#5246) by @whitdog47
  • fix(scheduler): use correct metadata indexing (#5245) by @whitdog47
  • Fixes access to local variable 'thread_conversation_weblink' (#5244) by @metroid-samus
  • ux/fix(slack): move snooze mfa to new mfa, add emoji to case message,… (#5242) by @wssheldon
  • fix(scheduler): corrects endpoint for weekly summary (#5238) by @whitdog47
  • Fixes calls to get incident participants. ...
Read more

v20240731

31 Jul 18:55
fc9e028
Compare
Choose a tag to compare

This release contains the following changes:

Security Fixes:

  • Sandbox Jinja message templates (#5002)

Bug Fixes:

  • Adds session context manager (#4819)
  • Fixes participant announcement message (#4826)
  • Update Duo plugin to perform preauth (#4794)
  • Handle conflict error in Google group member removal. (#4821)
  • Ensure channel renames are to lower case (#4831)
  • Don't pass email to Case Table UI (#4844)
  • Adds check for capabilities in device list (#4848)
  • Only allow one participant in filter form (#4742)
  • Do not update channel topic if channel has threaded conversations (#4855)
  • Ensure attorney form schema is non-empty (#4850)
  • Adds TimeoutError handling (#4856)
  • Use send_success_modal pattern on case escalation, resolve early close exception (#4861)
  • Explicitly add incident particpants, rename conversation flow to be explicit (#4862)
  • Check for incident member before re-adding (#4863)
  • Reporter is optional on update flow, reporter can be None (#4866)
  • Adds additional checks to the "self_join" feature to include other places where we create self join buttons (#4865)
  • Silence slack sdk errors (#4877)
  • Case participants added to incidents should be participant role not observer (#4881)
  • Ensure participant updates are commited to db. (#4883)
  • Adds additional bot check. (#4884)
  • Enables removal of signal filters from signal definition. (#4885)
  • Fixes bug that would not allow setting item metadata for plugins added to case and incident types. (#4879)
  • Ensure all middleware sessions are closed (#4882)
  • Fixes handling message db connections (#4886)
  • Ensure that previous case members are added to incident tactical group when escalating (#4887)
  • Fixes get_session() contextmgr usage in consume_signals() (#4888)
  • Update slack_wait_strategy return type hint (#4893)
  • Don't retry adding users if they are already in the channel. (#4906)
  • Adds Slack error code skip retry (#4912)
  • Skip retries for defined SlackAPIErrorCode (#4913)
  • Don't update channel topic on assignee role change for thread cases (#4930)
  • no __contains__ on StrEnum until 3.12 (#4933)
  • Updates case resources whenever a case thread is updated via Slack UI. (#4937)
  • Only update signal message if case conversation is not None (#4939)
  • Turns off unfurling links and adds conversation link to help tips (#4938)
  • Do not overwrite incident description field with original case description during case escalation (#4949)
  • Fixes issue where ephemeral welcome message was sent every time someone is @ mentioned (#4966)
  • Revert process_signals() to the previous version while keeping new functions (#4980)
  • Removes ability to reassign task to another incident (#4981)
  • Fixes issue with join case button (#5001)
  • Only allow case escalation on case page, not edit sheet (#5007)
  • Do not show escalate status option in the Slack update case dialog (#5008)
  • Fixes case escalation dialog's load states (#5021)

Enhancements:

  • Allow user to keep typing date time in PreciseDateTimePicker (#4814)
  • Adds custom description to new incident Slack channels (#4830)
  • Set owner column as optional when exporting timeline (#4849)
  • Update Duo plugin code (#4860)
  • Adding incident cost to the attorney review form (#4864)
  • Adds gzip compression to HTTP responses (#4709)
  • Improve our slack api error handling and backoff (#4878)
  • Create case costs, case cost types, and case cost models (#4899)
  • Simplifies slack make_call tenacity strategies (#4904)
  • Adds self-join button and api to cases (#4907)
  • Adds notifications to dedicated channel cases (#4916)
  • Adds form scoring based on scoring schema (#4958)
  • Provides option of an alternative folder structure (#4908)
  • Adds tags to runbooks (#4998)

-- Avery, David, Jason, Kevin, Marc, Mike, Will

First release of 2024

06 Jun 02:09
f6e439e
Compare
Choose a tag to compare

Hi Dispatch users!

This is the first release of 2024. This release comes with a ton of new features and lots of bug fixes and improvements. See below for some highlights and the full list.

  1. Update to Vue 3: We have updated to the latest version of Vue for improved performance, better support, and enhanced features.
  2. Full-width Case page: We've introduced a new full-width Case page which can be found under "View" from the Case table. Please be aware that this page is currently under development, and the original page can still be accessed under the "Edit" menu option. We welcome your feedback and suggestions on this update.
  3. Activity-based cost models: This feature introduces customizable cost models, allowing users to estimate incident response costs based on their unique organization’s workflow, tools, and participant activity. This update provides plugin-based tracking, effort assignment for each tracked activity, and incident cost calculation based on the cost model and effort assignment.
  4. Custom incident forms: Custom forms inside Dispatch allow admins to develop any number of assessments that can be completed for each incident, such as for legal assessment. Additionally, this improvement includes a mechanism for attorney notification, assessment evaluation and status.
  5. Enhanced incident timeline entry and exporting: This change allows the incident commander to add custom events to the timeline and introduces more powerful filtering of timeline events. Moreover, a new export feature allows the timeline to be exported directly into the incident or post-incident document(s).
  6. All new tag selector component: This new tag selector component allows for searching by tag name, has collapsable/expandable tag type sections, allows for required tag types, and enforces exclusivity. Tags are now shown as removable color chips with tag type icons. A clipboard copy button allows users to easily copy the tag list in the legacy format.
  7. Dedicated case channels: When created from the UI or through the conversation tool (e.g., Slack), cases now default to creating a separate private, dedicated channel.

Big thanks to @Meandmybadself, @KaelWD, @mattayes, and @zetxek for their contributions!

Enhancements:

Read more

v20230817c

19 Sep 22:21
7220394
Compare
Choose a tag to compare

Hi Dispatch users!

This is the first release of the month of August. This release comes with some new features and lots of bug fixes and improvements. One enhancement that is particularly noteworthy is a copyable URL to your global search results.

Big thanks to @aidn-tommy for their contribution!

Enhancements:

  • Checks if the incident tactical group exists before adding it to the case storage (#3707) by @mvilanova
  • Enhancement/adding case resolution to thread (#3691) by @whitdog47
  • Add the Dispatch UI bookmark to incident channel (#3680) by @whitdog47
  • Adds support for opening access and marking incident review documents as readonly (#3679) by @mvilanova
  • Add ability to turn off daily reports (#3664) by @whitdog47
  • Adding ability to report incident from shortcut (#3655) by @whitdog47
  • Adds ability to expand case attributes via the api (#3653) by @kevgliss
  • Allow a signal definition to be referenced by it's external id (#3646) by @kevgliss
  • Allows users to conduct global search via the URL (#3633) by @whitdog47
  • Adds triage button (#3632) by @kevgliss
  • Refactors pagination fields and allows cases to be expanded. (#3631) by @kevgliss
  • Shows version in help dialog and toast for full version info (#3618) by @whitdog47
  • Support for PagerDuty EU (#3605) by @aidn-tommy
  • Autofill the tactical report's action section with opened tasks (#3554) by @metroid-samus

Bug Fixes:

  • Fixes issue with case escalation dialog (#3706) by @mvilanova
  • Do not add the incident's tactical email as a member of the case storage if it doesn't exist (#3705) by @mvilanova
  • Fixes issue with adding a participant to an incident conversation from an escalated case (#3704) by @mvilanova
  • Adds missing pagination-related fields to users endpoint (#3698) by @mvilanova
  • Removes error message for malformed JWT tokens (#3695) by @kevgliss
  • Checking for manual snooze on report reminder before sending regularly scheduled one (#3690) by @whitdog47
  • Fixes an issue where some filter fields did not have the correct model set (#3681) by @kevgliss
  • Fixes issues with old signal.get (#3671) by @kevgliss
  • Putting a cap on the number of threads a scheduler can create (#3669) by @kevgliss
  • Disambiguates between incident threads, case threads, and incident messages (#3663) by @wssheldon
  • Use the correct filter (#3662) by @kevgliss
  • Fix banned threads by checking for case_id is not null in middleware (#3661) by @wssheldon
  • Allows the signal api to process an external id (#3656) by @kevgliss
  • Fixes issue with new signal filters clobbering old values. (#3654) by @kevgliss
  • Bugfix/conversation UI (#3652) by @kevgliss
  • Missing db_session (#3648) by @kevgliss
  • Moving avatar URL template to configuration file (#3647) by @whitdog47
  • Fixes bug were case conversation is not returned by api (#3643) by @kevgliss
  • Replaces avatar URL with correct format (#3642) by @whitdog47
  • Fixes a bug were triage at was being overridden (#3641) by @kevgliss
  • Uses a scoped session for scheduler objects. (#3634) by @kevgliss
  • Fixing issue where global search wouldn't return restricted visibility incidents (#3630) by @whitdog47
  • Allows searching by incident number for Jira-created incident names (#3628) by @whitdog47
  • Enabled assignee updating via case modal (#3625) by @kevgliss
  • Handle missing MFA user in Snooze auth flow (#3622) by @wssheldon
  • Fixing wrong var name in import (#3619) by @whitdog47
  • Fixes error when plugin table failed to load if one had a configuration error (#3608) by @whitdog47
  • Fetch SignalInstance UUID from raw key in update_signal_instance (#3604) by @wssheldon

-- Avery, David, Kevin, Marc, Will

v20230606

06 Jun 17:15
cb14bab
Compare
Choose a tag to compare

Hi Dispatch users!

This is the first release of the month of June, This release comes with new features and lots of improvements. One enhancement that is particularly noteworthy is an improvement to the way we manage search filters; we now provide a distinct UI in the project settings in order to help manage these filters at a higher level.

Enhancements:

  • Allows pre-population of the incident title, description, and tags in the incident intake form by including them in the URL path. (#3444) by @metroid-samus
  • Adds timer decorator to scheduled job functions (#3427) by @mvilanova
  • Improves alert text in search filter UI table (#3424) by @mvilanova
  • Uses colors to visually differentiate between used and unused filters in search filter table (#3423) by @mvilanova
  • Build incident tag models once a day (#3422) by @mvilanova
  • Increases items per page to 25 in incidents table (#3413) by @mvilanova
  • Adds a new permissions class for editing and deleting search filters (#3412) by @mvilanova
  • Adds a new project settings section for managing search filters (#3398) by @mvilanova
  • Adds the ability to create users via the UI (#3397) by @kevgliss
  • Reducing the amount of data returned by the signal instance api (#3390) by @kevgliss
  • Allow customizing notification templates per project (#3369) by @vindex10
  • Optimize ORM usage, db_session instantiation, and tuning (#3365) by @wssheldon

Bug Fixes:

Documentation:

v20230505

05 May 17:12
985dde6
Compare
Choose a tag to compare

Hi Dispatch users!

This is the first release of the month of May. This release comes with new features and lots of improvements and fixes across the app to provide a better UI/UX experience and continue to keep things running smoothly and reliably.

Enhancements:

  • Improves task syncing scheduled job (#3356) by @mvilanova
  • Improves incident auto-tagger scheduled job (#3355) by @mvilanova
  • Adds project and organization name to warning messages (#3352) by @mvilanova
  • Adds variant to case message if there's a signal instance (#3351) by @wssheldon
  • Downgrades error levels and improves some logic (#3340) by @mvilanova
  • Adds 250/minute rate limit to SignalInstance POST API endpoint using slowapi (#3338) by @wssheldon
  • Optimizes signal ingestion pipeline and creates perf-test CLI util (#3337) by @wssheldon
  • Conditional creation of case resources for perf improvement on signal ingest (#3331) by @wssheldon
  • Adds a default 1 hour window deduplication check on signal filter flow (#3329) by @wssheldon
  • Add custom items-per-page to Signal and Case tables (#3312) by @wssheldon
  • Changes related_case_count conditional to 1 for first seen (#3305) by @wssheldon
  • Converts snooze filter MFA to use last_mfa_time and other cleanup (#3293) by @wssheldon
  • Adds CLI to register a user from the command line (#3292) by @kevgliss
  • Aggregates signal instance messages in Case thread (#3290) by @wssheldon
  • Allowing signals to override case types and case priorities (#3289) by @kevgliss
  • Uses email_validator in SignalEngagement flow instead of regular expression (#3286) by @wssheldon
  • Automatically engage users in Signal data with Signal Engagements and confirm behavior (#3274) by @wssheldon
  • Makes entities optional for snoozing (#3273) by @kevgliss
  • Adds bulk closed resolution (#3258) by @kevgliss

Bug Fixes:

  • Fixes issue when querying all workflow running instances (#3359) by @mvilanova
  • Disables tag recommendations in TagFilterAutoComplete UI component (#3357) by @mvilanova
  • Fixes typo in signal edit sheet (#3350) by @wssheldon
  • Filters out Slack events from USLACKBOT (#3345) by @mvilanova
  • Handles cases where the Email Display setting is unchecked in Slack Admin settings (#3344) by @wssheldon
  • Resolves ruff B017 in test_signal_flow.py (#3342) by @wssheldon
  • Handles missing user in after hours message (#3341) by @wssheldon
  • Limits entity select to 100 and only show entities for signal (#3339) by @wssheldon
  • Changes signal not enabled log from warning to info (#3330) by @wssheldon
  • Fixes breaking changes impacting incident ban threads feature (#3321) by @mvilanova
  • Fixes relative (days) time option for snooze filter creation in Slack plugin (#3313) by @wssheldon
  • Fixes a bug in case reporting slack shortcut (#3297) by @kevgliss
  • Fixes incorrect attribute lookup for signal.id and 24 char blockkit limit (#3288) by @wssheldon
  • Ensures looped in users are in the channel (#3272) by @kevgliss
  • Aligns ui with the defaults in slack close. (#3271) by @kevgliss
  • Fixes an issue were the entity type dialog wasn't closing (#3270) by @kevgliss
  • Adds more granularity to the relative dates (#3269) by @kevgliss
  • Limits the number of instances we hope to processes within the 1 min window. (#3267) by @kevgliss
  • Re-orders case creation check so signals are still associated with existing cases (#3266) by @kevgliss
  • Resolves bug on Case Escalate button when incident_type not set for Case (#3263) by @wssheldon
  • Fixes the engage-oncall command when page checkbox is not selected (#3262) by @wssheldon
  • Allowes for case type select with typeahead (#3257) by @kevgliss
  • Adds missing search triggers (#3256) by @kevgliss
  • For larger sheets with ensure that they are not hidden (#3255) by @kevgliss
  • Fixes issue with mini width when submenu is displayed (#3254) by @kevgliss
  • Bugfix signal case (#3253) by @kevgliss

v20230409

10 Apr 18:23
a87b295
Compare
Choose a tag to compare

Hi Dispatch users!

This is the first release of the month of April. The following are some enhancements we think are worth highlighting:

  • We moved our documentation to https://netflix.github.io/dispatch/ and migrated to Docusaurus in the process (There is still quite a bit of polish left to do but feedback is welcome!).
  • The Entities tab on the Case page will now group distinct entities across all signal instances that have been aggregated in a case
  • A Filter Action column was added to the Signal Instance table to provide better visibility into what Signals were deduplicated or snoozed via a Signal Filter

Thanks to @Phazz for their contributions!

Enhancements:

  • Add footer and pagination to summary tables to fix global search (#3247) by @wssheldon
  • Minor improvements to tag scheduler (#3244) by @mvilanova
  • add a button to visit a case in the case popover (#3241) by @wssheldon
  • Add Filter Action column to SignalInstance table (#3226) by @wssheldon
  • Adds new command for bulk PR merging and improves release notes command (#3225) by @mvilanova
  • Addresses some techdebt and improves Slack plugin service module (#3209) by @mvilanova
  • Improvements to tag recommender logging (#3208) by @mvilanova
  • Remove unnecessary * parameter in views, create CommonParameters and CurrentIncident Annotated types (#3200) by @wssheldon
  • Use Annotated types for FastAPI db_session, get_current_user parameter (#3192) by @wssheldon
  • Pins cryptography and bumps some package versions (#3173) by @mvilanova
  • Allowing for signal case override (#3168) by @kevgliss
  • add .pre-commit.config.yaml for black, ruff, and pytest (#3162) by @wssheldon
  • Updates more Python requirements (#3161) by @mvilanova
  • Adds openai Python requirement and updates others (#3160) by @mvilanova
  • Adds plugin for OpenAI's Generative Artificial Intelligence platform (#3159) by @mvilanova
  • Minor improvements to case and signal slack messages (#3157) by @kevgliss
  • improve no entity error message and return early after modal open (#3151) by @wssheldon
  • Adds more detailed error messages and codes to base permissions (#3148) by @mvilanova
  • Adds flow method for signal instance creation (#3131) by @kevgliss
  • Auto-run workflows associated with Signals and auto-parameterize with Entity Type values (#3128) by @wssheldon
  • move components.d.ts to .gitignore (#3126) by @wssheldon
  • Adds event handler to ignore not configured Slack reactions (#3124) by @mvilanova
  • Associate Signals w/ Workflows and add UI elements to bind them in Definition and run in Instance tab (#3116) by @wssheldon
  • Improve scheduler shutdown procedure during deployments. (#3115) by @kevgliss
  • Add case popover/dialog to entity tab correlation card (#3106) by @wssheldon
  • FormData argument is redundant in _create_snooze_filter function (#3104) by @wssheldon
  • only show Correlation context element if there are entities in message (#3100) by @wssheldon

Bug Fixes:

  • Show correct cases in Case Dialog on Entity Card (#3245) by @wssheldon
  • Group entities and display a counter in the card (#3243) by @wssheldon
  • Fixes an potential race condition when multiple signals were sent at the same time. (#3239) by @kevgliss
  • Only show entities for the subject Signal type on snooze button Slack modal (#3234) by @wssheldon
  • Fixes issue where the model would not save. (#3227) by @kevgliss
  • Fixing case creation logic (#3224) by @kevgliss
  • Fixing issue with filter actions (#3210) by @kevgliss
  • Fixes an issue where filter action was not being saved (#3201) by @kevgliss
  • Fixes a bug where the case type was not being correctly looked up (#3194) by @kevgliss
  • Change input width of resolution reason to span entire Case edit sheet (#3191) by @kevgliss
  • Fixing an issue with case creation (#3190) by @kevgliss
  • Fixing publish path (#3186) by @kevgliss
  • Fixing publish action (#3185) by @kevgliss
  • Fixing an issue with case creation (#3184) by @kevgliss
  • Fixes error with creating signal definition workflows (#3183) by @kevgliss
  • Adds missing project id to document flow (#3178) by @kevgliss
  • Fixes bug in oncall service paging via Slack command (#3177) by @mvilanova
  • Ensure case assignee always gets looped in (#3172) by @kevgliss
  • Adds email individual search (#3167) by @kevgliss
  • improve no entity error message and return early after modal open (#3151) by @wssheldon
  • Fixing an issue with case group add (#3150) by @kevgliss
  • add support for errors in threads (#3149) by @wssheldon
  • display an error message if no entities are found on a signal when snoozing (#3146) by @wssheldon
  • Fixes an issue with select missing project scope (#3140) by @kevgliss
  • Returns empty list if Google group has no members (#3132) by @mvilanova
  • Fixes call to update external ticket on incident role change (#3127) by @mvilanova
  • Adds util function to deslug and capitalize a resource type string and fixes name for incident review document Slack bookmark name (#3125) by @mvilanova
  • Fixes issue with timeline event Slack-based reaction by using a listener matcher (#3121) by @mvilanova
  • Upgrade Python to 3.11.2 in Dockerfile and setup.py (#3120) by @wssheldon
  • name_or_raise for workflow doesn't require project_id (#3119) by @wssheldon
  • Providing better user input on long signals. (#3113) by @kevgliss
  • Updates case document when the case is moved to escalated or closed status (#3109) by @mvilanova
  • Minor fixes to case participant slack plugin (#3105) by @kevgliss
  • Adding the resolution reason to the resolve modal and adding a label (#3103) by @kevgliss

Tech Debt:

  • Removes more dead code from Slack plugin (#3218) by @mvilanova
  • Addresses some techdebt and improves Slack plugin service module (#3209) by @mvilanova
  • FormData argument is redundant in _create_snooze_filter function (#3104) by @wssheldon

Tests:

Documentation:

v20230309

10 Mar 20:17
a1d6a41
Compare
Choose a tag to compare

Hi Dispatch users!

This is the first release of the month of March. The following are some enhancements we think are worth highlighting:

  • External incident resources created via plugins such as Jira issues, Google groups, drive folders, and documents, etc. will be deleted when an incident is deleted to help with keeping things clean in SaaS products. This has been the case for cases since support for them was released.
  • Visibility and a description for it has been included in incident welcome messages to ensure expectations are communicated to all incident participants.
  • Incident report at and stable at times can be included in incident document templates.
  • A new muti-factor authentication (MFA) plugin type adds support for additional multi-factor authentication checks within the application and ships with support for Duo.
  • Signals can be snoozed directly from Slack and optionally requires multi-factor authentication using the new MFA plugin.
  • The entity type creation dialog includes a playground editor that highlights sample signals with valid matches in real time.
  • You can search findings in the Entity tab with a relative date range picker.

Thanks to @nshefeek and @Cinojose for their contributions!

Enhancements:

  • Adds support for deleting external incident-related resources (#3084) by @mvilanova
  • Add snooze button to signal instance message in Slack plugin and add Case/Signal subject enum (#3073) by @wssheldon
  • Modifies CLI drop database to handle the case where the database doesn't exist (#3064) by @nshefeek
  • Adds signal entities to case notifications and support for viewing raw signal data (#3062) by @kevgliss
  • Improves the signal filter UI (#3052) by @kevgliss
  • Enhances searchable variant (#3051) by @kevgliss
  • Adds a new Slack slash command /dispatch-list-signals and allows creation of snooze filter w/ MFA (#3050) by @wssheldon
  • Adds the ability for signal definitions to be disabled (#3042) by @kevgliss
  • Enhances the entity create playground (#3041) by @kevgliss
  • Creates a new plugin for Duo that provides on-demand MFA across Dispatch (#3035) by @wssheldon
  • Adds support for incident report at and stable at timestamps in documents (#3030) by @Cinojose
  • Allows tags to have external IDs (#3028) by @kevgliss
  • Adds incident visibility to welcome messages (#3019) by @jneelamekam
  • Adds Entity Type create dialog and Entity Type playground editor (#3008) by @wssheldon
  • Speeds up installation of plugins on database initialization (#3007) by @mvilanova
  • Adds a relative date chip group to entity tab (#3001) by @wssheldon

Bug Fixes:

  • Removes entities from signal instance table (#3088) by @wssheldon
  • Adds ondelete cascades to foreign keys in the participant and case tables to allow project deletion (#3082) by @mvilanova
  • Removing all references to raw data (#3075, #3076) by @kevgliss
  • Checks for entity types when we create a signal (#3074) by @wssheldon
  • Bugfixes to signal instance raw (#3072) by @kevgliss
  • Resolves conversation is None exception (#3071) by @wssheldon
  • Fixes an incorrect enum (#3070) by @kevgliss
  • Waits for selected signal data before rendering signal tab (#3069) by @wssheldon
  • Waits for prop data before rendering Entity Tab data (#3068) by @wssheldon
  • Fixes bug where signal sheet save button is disabled on entity dialog open (#3067) by @wssheldon
  • Correctly pass response data back after saving entity type to display as chip in combobox (#3061) by @wssheldon
  • Fixes issues with case messaging (#3060) by @kevgliss
  • Enhances signal definition UI (#3059) by @kevgliss
  • Converts timestamps to strings before passing them to the document plugin (#3053) by @mvilanova
  • Ensures all case and incident priorities and severities are returned for rendering dashboard charts (#3048) by @mvilanova
  • Fixes issue with global search (#3047) by @kevgliss
  • Fixes pagination (#3046) by @kevgliss
  • Fixes an issue with the generation of signal API Documentation (#3045) by @kevgliss
  • Adds protection to prevent the creation of duplicate tasks (#3043) by @mvilanova
  • Adds and initializes default project during database initialization to allow user registration (#3006) by @mvilanova
  • Fixing associated signal tables (#2999) by @kevgliss

Tech Debt:

  • Refactors incident flows and adds more resource-based flow modules (#3063) by @mvilanova

Tests:

Documentation:

v20230215

15 Feb 20:02
55fe565
Compare
Choose a tag to compare

Hi Dispatch users!

This is the second release of the year and month of February, which includes new features, enhancements, and bug fixes.

Highlights:

  • We added support for creating custom entity types and associating them with signal definitions in Dispatch. Users can create custom entity types using regular expressions and key-value pairs to automatically extract an entity from signal data upon ingestion. Finally, a new "Entity" tab has been added to the Case view that displays entities associated with the case and provides additional enrichment such as how many times an entity has been seen across different signals and cases.
  • We added support for handing off cases and incidents in bulk, and a new task tab in incident details, so you can quickly view all tasks associated with an incident.
  • We also added an Atlassian Confluence storage and document plugin. Thanks @Cinojose!

Enhancements:

  • Adds tab for incident tasks in incident details view (#2989) by @mvilanova
  • Resets incident priority to default priority when incident is marked as stable (#2986) by @mvilanova
  • Adds support for handing off cases and incidents in bulk (#2984, #2985) by @mvilanova
  • Adds base concept of entities to signals (#2977) by @wssheldon
  • Adds support for specifying an entity type key/field without a pattern (#2988) by @wssheldon
  • Adds Atlassian Confluence storage and document plugin (#2940) by @Cinojose
  • Bookmarks Incident Review document in the conversation after its creation (#2937) by @mvilanova

Bug Fixes:

  • Fixes issue with all bulk actions and removes dupe duplicates in IncidentRead Pydantic model (#2997) by @mvilanova
  • Temporarily disables calls to the Dispatch document resolver plugin until we figure out what's wrong with it (#2968) by @mvilanova
  • Direct add participants and allow for new participants via messages. (#2952) by @kevgliss
  • Migrate case assignees to participants who aren't individuals (#2951) by @wssheldon
  • Allow cases to be re-assigned after addition of participant model (#2949) by @wssheldon
  • Updates entity tab to display a card for no entities and fix typo in route (#2987) by @wssheldon
  • Fixes bug in Signal schema (#2948) by @kevgliss
  • Adds a query param that expands incident pagination to return the fully populated object (#2938) by @kevgliss
  • Removes minimal models from pagination endpoints (#2932, #2933) by @kevgliss
  • Fixes an issue with the search menu not being rendered correctly (#2930) by @kevgliss
  • Fixes issue where tags list expected a project field (#2929) by @kevgliss
  • Fixes issue when selects have null values (#2927) by @kevgliss
  • Re-adds added by and added reason to list participants modal (#2924) by @mvilanova
  • Better error handling when creating executive reports via Slack plugin (#2923) by @mvilanova
  • Adds participant base data (#2922) by @kevgliss
  • Fixes signal slack message (#2920) by @kevgliss

Tech Debt:

Tests:

  • Adds timers to func calls in add_or_reactivate_participant (#2967) by @wssheldon
  • Only display active roles in CaseParticipantsTab component, add Vitest, and unit test(s) (#2960) by @wssheldon
  • Refactor E2E tests to use Page Object Model (POM), fixtures, and add additional tests (#2945) by @wssheldon
  • tests/end-to-end-test-for-report-submission-using-playwright-in-ci (#2936) by @wssheldon
  • testing/case-tests (#2921) by @wssheldon