Tracecat

Changelog

Every new feature, improvement, and fix in Tracecat. Release notes pulled directly from GitHub.

Release activity from June 2024 to September 2026. Each cell is one month. Cell intensity shows the number of commits pushed that month. Select a month to filter the release list.

Select a month to browse its releases.

August 2026

1 release, 175 items shipped

1.0.0-beta.51

Breaking changes

  • refactor(engine): Make Action Gateway mandatory (#3075)

Security

  • docs(audit): Add audit log documentation (#3036)
  • feat(audit): Expand audit log coverage (#3082)
  • fix(audit): Ensure valid payloads and resource attribution (#3143)
  • fix(api): Scope workflow execution definitions (#2952)
  • fix(mcp): Unblock OpenCode OAuth + clearer org-resolution errors (#2990)
  • build(deps): Bump patched security dependencies (#3054)
  • fix(agents): Constrain nested action execution (#3072)
  • build(deps): Patch deps (#3085)
  • fix(mcp): Drop force flag from sync_custom_registry tool (#3138)
  • fix(engine): Terminate action process groups (#3159)
  • build(deps): Patch dependabot alerts (#3192)
  • feat(integrations): Add GitHub REST YAML template catalog (#3193)
  • feat(integrations): Add GitLab REST YAML template catalog (#3194)
  • feat(integrations): Add MISP security integration (#3198)
  • fix(api): Mark session cookie Secure when public API uses HTTPS (#3201)

Case management

  • feat(ui): Agent mention autocomplete in case comment composer (#3211)
  • feat(cases): Parse and persist case comment mentions (#3213)
  • fix(cases): Async case duration sync (#2781)
  • fix(ui): Cap bulk case action request concurrency (#3091)
  • perf(ui): Defer case linked-row hydration to tables tab (#3093)
  • feat(cases): Add batch case update and delete endpoints (#3097)
  • perf(cases): Avoid unused relationship loads in case metrics (#3157)
  • perf(cases): Defer case number allocation (#3171)
  • feat(cases): Add include_payload param to cases search (#2926)
  • feat(cases): Paste images inline in case description and comments (#2962)
  • feat(cases): Add payload copy button (#3090)
  • feat(cases): Add team scoped agent session reads (#3204)
  • fix(cases): Render Mermaid diagrams in case descriptions (#2934)
  • fix(cases): Serialize attachment quota checks per case (#3019)
  • fix(ui): Improve linked rows empty state (#3096)

Tables

  • fix(tables): Return 409 when creating a unique index on duplicate values (#2965)
  • fix(tables): Surface lookup errors (#3124)

Agents

  • feat(integrations): Support optional oauth_resource override for mcp (#3081)
  • fix(integrations): Support mcp resource content blocks (#3105)
  • perf(agents): Move first-prompt auto-title off the request path (#3062)
  • perf(agents): Prioritize interactive turns on the shared agent queue (#3064)
  • fix(agents): Hydrate stdio MCP env secrets for subagent configs (#2945)
  • fix(agents): Harden MCP bridge discovery against silent tool loss (#2946)
  • fix(agents): Size MCP scope token TTL to turn and re-mint on resume (#2947)
  • fix(agents): Emit terminal stream END only after finalize_turn (#3120)
  • fix(agents): Stream replay hardening (#2897)
  • feat(api): Configure versioned resource resolution (#2905)
  • fix(agents): Batch agent approvals (#2916)
  • feat(agents): Workflow draft authoring tools and MCP refactor (#2920)
  • feat(agents): Built-in workspace-chat skills for workflow authoring (#2921)
  • feat(agents): Preserve last error (#2929)
  • feat(agents): Chat interrupts (#2930)
  • fix(agents): Make preset deletion a soft delete (#2931)
  • feat(agents): Add Claude Sonnet 5 to platform catalog (#2935)
  • fix(ui): Include pending approval as streamable status (#2983)
  • feat(ui): Show provider and hover card on agent tool chips (#2984)
  • feat(infra): Add global soft-delete query filter (#2998)
  • feat(agents): Expand skill soft delete to deleted_at (#2999)
  • feat(agents): Add stable skill slugs with live uniqueness (#3001)
  • refactor(agents): Resolve skill identifiers by id then live slug (#3003)
  • feat(agents): Add pinned_version_id columns and pin API (#3004)
  • feat(agents): Make preset skill bindings head-only (#3005)
  • revert(agents): Remove resource version pinning (#3014)
  • fix(agents): Remove duplicate token remint (#3030)
  • feat(agents): Add GPT-5.6 platform catalog models (#3031)
  • fix(agents): Align subagent tool input with execution (#3033)
  • fix(agents): Improve stdio MCP probe timeouts (#3071)
  • fix(agents): Surface stream idle timeouts (#3076)
  • feat(agents): Mistral provider (#3108)
  • fix(agents): Exclude run_python from agent tools (#3115)
  • fix(integrations): Correlate agent preset catalog IDs (#3117)
  • feat(agents): Expose catalog IDs for custom models in UI and API (#3122)
  • fix(agents): Workflow execution tools (#3150)
  • fix(agents): Preserve NUL session history (#3156)
  • fix(agents): Enable deferred tool loading in the Claude runtime (#3163)
  • fix(agents): Sanitize preset command values (#3196)
  • refactor(engine): Remove obsolete PydanticAI plugin (#3203)

Tracecat MCP

  • chore(mcp): Pin stdio catalog integrations (#3053)
  • docs(mcp): Recommend batched DB writes (#2995)
  • fix(mcp): Point Google Cloud SecOps docs link at the SecOps server (#3029)
  • fix(ui): Correct Okta private key placeholder (#3055)
  • fix(mcp): Support multi-replica sessions (#3151)

Core actions

  • refactor(integrations): Adopt ctx facade over get_context() (#2885)
  • feat(integrations): Add Scanner YAML templates (#3037)
  • feat(integrations): Add Elastic API templates (#3176)

Integrations

  • perf(integrations): Batch GitHub export writes to avoid rate limits (#3073)
  • perf(integrations): Deduplicate manifests in batch queries (#3169)
  • feat(integrations): Add GitLab workspace sync (#2925)
  • fix(integrations): Register refresh_token grant and request offline_a… (#3069)
  • chore(integrations): Add workspace export diagnostics (#3058)
  • feat(integrations): Add Google Security Command Center integration (#3046)
  • feat(integrations): Restore okta mcp (#2918)
  • feat(integrations): Okta sdk tools (#2919)
  • feat(integrations): Add Slack canvas templates (#2927)
  • feat(integrations): Freshservice mcp and actions (#2938)
  • fix(integrations): Cap slack paginated results at limit (#2948)
  • fix(integrations): Add caps to cloudflare and google api pagination (#2953)
  • feat(integrations): Test stdio mcp connections (#2959)
  • fix(integrations): Make views.update hash an optional input (#2974)
  • feat(integrations): Add SentinelOne PowerQuery and MCP templates (#2994)
  • fix(integrations): Correct alertmedia search_users input schema (#3021)
  • fix(integrations): FOR UPDATE lock during oauth refresh flow (#3047)
  • fix(ui): Prevent repeated MCP failure toast on refresh (#3048)
  • feat(integrations): Add SentinelOne alert lifecycle actions (#3049)
  • fix(integrations): Correct SentinelOne template contracts (#3084)
  • fix(integrations): Stop forwarding inbound auth to user MCP servers (#3132)
  • fix(integrations): Unblock catalog MCP OAuth setup (#3165)
  • feat(integrations): Add OpenSearch threat hunting actions (#3197)
  • feat(integrations): Expand Sublime investigation actions (#3199)
  • test(integrations): Drop third-party contract tests (#3205)

Engine

  • feat(engine): Add workspace sync export (#2859)
  • feat(engine): Expose concurrency controls in deployments (#3153)
  • chore(engine): Remove experimental pool backend (#3167)
  • fix(engine): Mark pool backend experimental, auto selects ephemeral (#3146)
  • feat(engine): Expose Temporal worker concurrency tuning env knobs (#2917)
  • perf(engine): Build loop regions in a single pass (#2928)
  • fix(engine): Offload secret masking (#3102)
  • fix(infra): Wire pool timeout and per-service application_name (#3134)
  • fix(engine): Resolve top-level action results in subflow trigger_inputs inside scatter (#2951)
  • fix(infra): Isolate bypass-RLS sessions on a dedicated pool (#3141)

API

  • docs(api): Fix Okta SAML audience restriction (#3079)
  • feat(api): Allow admins to delete unused platform registry versions (#2960)
  • feat(ui): Add sidebar organization switcher (#3027)
  • fix(api): Make tier dialogs scrollable (#2969)
  • fix(rbac): Allow org service accounts to manage settings (#3056)
  • test(api): Cover successful router dispatch (#3110)
  • refactor(rbac): Centralize grant scope validation (#3222)

User interface

  • feat(ui): Redesign commit selector dropdown (#2883)
  • feat(ui): Add dark mode across the app (#2963)
  • feat(ui): Add missing tool integration icons (#2985)
  • feat(ui): Add folder breadcrumbs to workflow and agent details (#2991)
  • feat(ui): Persist workspace panel preferences (#2992)
  • feat(ui): Rename workflows from the dashboard and builder (#3083)
  • fix(ui): Remove duplicate skills row divider (#2922)
  • fix(ui): Keyboard selection and dismiss dead-state in tag combobox (#2937)
  • fix(ui): Center column type label in table create dialog (#2941)
  • fix(ui): Make CSV import preview header opaque (#2942)
  • fix(ui): Reset table delete confirmation input on close (#2944)
  • fix(ui): Keep chat tool chips on one row with +N overflow (#2954)
  • fix(ui): Align chat composer footer controls (#2955)
  • fix(ui): Show tool limit message in chat tools picker (#2956)
  • fix(ui): Prevent builder panel tabs and content clipping at narrow widths (#2958)
  • fix(ui): Reset insert-row form when the dialog closes (#2964)
  • fix(ui): Improve MCP connection option dark mode (#2982)
  • fix(ui): Add pointer cursor to clickable table rows (#3000)
  • fix(ui): Report delete errors and gate bulk delete by scope (#3002)
  • fix(ui): Remove stacked bottom padding in action inspector panel (#3013)
  • fix(ui): Avoid inherited edges when duplicating actions (#3016)
  • fix(ui): Improve expression highlight contrast (#3043)
  • fix(ui): Remove Workspace sidebar slide animation (#3044)
  • fix(ui): Use pointer cursor on workflow execution rows (#3070)
  • fix(ui): Keep pull actions visible after preview (#3086)
  • fix(ui): Use pointer cursor on dropdown menu items (#3089)
  • fix(ui): Keep dialogs within viewport (#3095)
  • fix(ui): Show all workflow run payload streams (#3114)
  • fix(ui): Keep pull actions visible for large previews (#3118)
  • fix(ui): Render workspace sync toast as external link (#3123)
  • fix(ui): Calibrate notification banners for dark mode (#3127)
  • fix(ui): Keep settings modal content within dialog width (#3209)
  • test(ui): Polyfill ResizeObserver in jsdom setup (#2961)
  • refactor(ui): Extract shared tooltip line helper (#3223)

Infrastructure

  • docs(infra): Consolidate TLS and certificate guidance for self-hosting (#2950)
  • docs(infra): Explain Helm application updates (#3155)
  • perf(infra): Add workflow_definition lookup index (#2957)
  • chore(infra): Remove unused entrypoint.sh migration wrapper (#3147)
  • ci: Pin ruff to pyproject version in lint workflow (#3121)
  • chore(infra): Remove Kubernetes submodule (#3109)

Observability

  • fix(logging): Simplify workflow execution logs (#3067)

Documentation

  • docs: Add AI security architecture (#3158)
  • docs: Overhaul security, isolation, and audit log documentation (#3166)
  • docs: Add API reference and reorganize core actions (#3032)
  • docs: Discourage untyped dictionaries (#3068)
  • docs: Clarify case Markdown and agent MCP support (#3087)
  • docs: Prefer dataclass slots and typed attribute access (#3103)
  • docs: Prefer frozen slotted dataclass over NamedTuple (#3160)
  • docs: Require LOC breakdown table in PR bodies (#3161)
  • docs: Add secrets and OAuth info to http section (#3206)

Performance

  • test(build): Add postgres scatter capacity harness (#3140)

Dependencies

  • build(deps): Pin Python dependency versions (#3175)
View changes on GitHub