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.
- 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.
- Migration of case thread to dedicated channel: users can now migrate a threaded alert case into a dedicated case channel.
- 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.
- 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.
- Improved search filter editor: admins can now edit the search filter json directly in Dispatch.
Big thanks to @Ant0wan for their contributions!
Security Fixes:
- Only use sanitized jPaths (#5299) by @metroid-samus
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. (#5220) by @metroid-samus
- Do not overwrite the title, incident priority, and incident type fields during case escalation. (#5219) by @metroid-samus
- Correcting import for Session (#5211) by @whitdog47
- Fix a condition where default was execting when it shouldn't (#5194) by @kevgliss
- fix(case): link case to incident immediately in common_escalate_flow (#5186) by @wssheldon
- Run the incident cost calculation every hour to reduce rounding error. (#5179) by @metroid-samus
- Sort priorities and severities by view_order (#5169) by @whitdog47
- Fixes selection ordering and includes project when filtering (#5166) by @whitdog47
- Fixing role formatting for timeline event (#5159) by @whitdog47
- Hide cost column from Case table if experimental features are disabled. (#5158) by @metroid-samus
- Fixing participant role type in mapping function (#5157) by @whitdog47
- Case cost model is an experimental feature. (#5156) by @metroid-samus
- Check role before reassigning (#5152) by @whitdog47
- refactor(plugin/aws): single threaded consume, call rollback (#5144) by @wssheldon
- Fixes plugin instance call to fetch events. (#5139) by @metroid-samus
- Delete unused code and fix logging. (#5138) by @metroid-samus
- fix(plugin/aws): catch integrity error and log warning (#5133) by @wssheldon
- fix(plugins): aws consume plugin transaction management (#5131) by @wssheldon
- Modifying max limit (#5115) by @whitdog47
- Adding some better error handling to sqs consume (#5113) by @kevgliss
- Removes subqueries to ensure pagination works (#5105) by @whitdog47
- Truncate the case resolution reason text due to Slack limit (#5093) by @whitdog47
- Allow scribes to create a timeline event (#5092) by @whitdog47
- Adding handler for join case from case notification (#5088) by @whitdog47
- Disables tabs in incident edit until populated (#5075) by @whitdog47
- Removes requirement for lifecycle field (#5066) by @whitdog47
- bugfix(case/slack): added_by reason none check on participant.added_by (#5047) by @wssheldon
- Moving Slack button update to after case escalation flow (#5046) by @whitdog47
Documentation:
- Adds comments to docker-compose.yml file to change default passwords (#5324) by @mvilanova