<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DefectDojo Pro Changelog</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/</link><description>DefectDojo Pro Changelog</description><language>en</language><copyright>Copyright (c) 2020-2025 DefectDojo, Inc.</copyright><atom:link href="https://beta-docs.defectdojo.com/releases/pro/changelog/index.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Thu, 29 Oct 2026 00:00:00 +0000</lastBuildDate><item><title>October 29, 2026: v3.4.303</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-29-2026-v34303</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-29-2026-v34303</guid><pubDate>Thu, 29 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; A Finding&amp;rsquo;s FedRAMP Potential Agency Impact (PAIN) rating can be set, changed or cleared by hand: on &lt;strong&gt;Edit Finding&lt;/strong&gt;, in &lt;strong&gt;Bulk Edit&lt;/strong&gt;, and through &lt;code&gt;pain_rating&lt;/code&gt; on the Findings API, which also accepts it when a Finding is created. The Findings list gains a &lt;strong&gt;PAIN&lt;/strong&gt; column and a filter that offers &lt;strong&gt;Unrated&lt;/strong&gt;. Rating needs the new &lt;strong&gt;Rate Potential Agency Impact (PAIN)&lt;/strong&gt; permission, which every role that can edit Findings receives on upgrade. See &lt;a href="https://beta-docs.defectdojo.com/federal_compliance/pain_ratings/#rating-findings-by-hand"&gt;Potential Agency Impact (PAIN) Ratings&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; My Work is one &lt;strong&gt;Up Next&lt;/strong&gt; queue of everything waiting on you, grouped by deadline into Overdue, Due in 7 Days, Later, No Due Date and Waiting on Others: assigned Findings, reviews to claim or clear, Risk Acceptances about to expire, and remediation actions assigned to you. Each item has a next-step button that opens the matching form, and the queue shows as a list, a grid or a board. See &lt;a href="https://beta-docs.defectdojo.com/metrics_reports/dashboards/pro__my_work/"&gt;My Work&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Ask Sensei answers &amp;ldquo;what should I fix first?&amp;rdquo; with fixes rather than Findings: the Root Causes that clear the most, exploited ones first, each with a &lt;strong&gt;Fix With Sensei&lt;/strong&gt; button that shows the plan before Sensei opens pull requests. The panel can expand to full width or open as its own page, and a new conversation opens on a home view of what changed since your last visit and the top fixes. Ranked fixes need Root Cause Correlation. See &lt;a href="https://beta-docs.defectdojo.com/sensei/ask_sensei/#fixes-not-findings"&gt;Ask Sensei&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; Matching Configuration shows each tool&amp;rsquo;s default algorithm and hash fields, and &lt;strong&gt;Reset to Default&lt;/strong&gt; loads them into the form, to be saved through &lt;strong&gt;Review Impact&lt;/strong&gt; like any other matching change. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/finding_deduplication/pro__deduplication_tuning/#resetting-a-tool-to-its-default"&gt;Deduplication Tuning&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; On Organization, Asset, Engagement, Test and Finding blocks, the &lt;strong&gt;Fields&lt;/strong&gt; and &lt;strong&gt;Order By&lt;/strong&gt; pickers list their fields under the same headings as that list&amp;rsquo;s &lt;strong&gt;Add Filter&lt;/strong&gt;. See &lt;a href="https://beta-docs.defectdojo.com/metrics_reports/reports/report-builder/#blocks"&gt;Report Builder&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Navigation)&lt;/strong&gt; Each control in the sidebar footer has its own shape: &lt;strong&gt;What&amp;rsquo;s New&lt;/strong&gt; is one button naming the release and its unseen count, the Production/Sandbox switch is a full-width button, and the account row shows your username and email beside the alerts bell. &lt;strong&gt;Ask Sensei&lt;/strong&gt; moved into the search field as an &lt;strong&gt;Ask&lt;/strong&gt; button. See &lt;a href="https://beta-docs.defectdojo.com/navigation/pro__sidebar/#searching"&gt;The Sidebar Menu&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Settings)&lt;/strong&gt; When the running release has been revoked, users who can see the Version Manager get a banner with the reason and the release to upgrade to, and the Version Manager never offers a revoked release as the latest version. See &lt;a href="https://beta-docs.defectdojo.com/get_started/pro/onprem/upgrading/#revoked-releases"&gt;Revoked releases&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; The Findings API takes a &lt;code&gt;has_sla&lt;/code&gt; filter: &lt;code&gt;true&lt;/code&gt; keeps Findings that have an SLA date, &lt;code&gt;false&lt;/code&gt; keeps those without one.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; SLA status agrees on every page. Today is the viewer&amp;rsquo;s date, an open Finding due today is within SLA and reads &lt;strong&gt;Due Today&lt;/strong&gt;, and a mitigated Finding is judged by the date it was mitigated, so the Findings list, Finding Groups, the Insights counts and charts, and the &lt;strong&gt;Mitigated Within SLA&lt;/strong&gt; column put a Finding on the same side of its due date. An open Finding Group&amp;rsquo;s SLA comes from its open Findings only. An owner assignment completes when its Finding closes, so closed Findings no longer count as open work, and a closed Finding cannot be assigned. See &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/pro_hierarchy/priority_sla/#how-sla-days-are-counted"&gt;How SLA days are counted&lt;/a&gt; and &lt;a href="https://beta-docs.defectdojo.com/triage_findings/findings_workflows/pro__peer_review/#when-a-finding-closes"&gt;Peer Review &amp;amp; Claiming&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; &lt;strong&gt;Mark as Duplicate&lt;/strong&gt; in the Similar Findings menu refuses to mark an open Finding as a duplicate of a mitigated one, and shows one message with the reason. Consolidating historical churn no longer merges distinct Findings: it orders Findings by import instead of by timestamp, so backdated scan dates cannot chain Findings that were open at the same time, and it leaves out false positive, risk accepted and out of scope Findings. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/finding_deduplication/pro__similar_findings/#actions"&gt;Similar Findings&lt;/a&gt; and &lt;a href="https://beta-docs.defectdojo.com/triage_findings/finding_deduplication/pro__location_drift_matching/#consolidating-historical-churn"&gt;Location Drift Matching&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; &lt;strong&gt;Sort&lt;/strong&gt; offers custom fields on the Assets, Organizations, Engagements and Tests lists, as the Findings list already did, so the grid view can sort by them; multi-select custom fields are not offered on any list. A column filter that has not been applied yet is left alone when settings sync in the background. Toolbar icon buttons match the height of the fields beside them, toolbar labels give way to icons instead of overlapping on narrow windows, and a Tags cell shows the whole tags that fit and folds the rest into &lt;strong&gt;+N&lt;/strong&gt;. See &lt;a href="https://beta-docs.defectdojo.com/navigation/pro__table_customization/#sorting-columns"&gt;Customizing Tables&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Dashboards)&lt;/strong&gt; A dashboard tile&amp;rsquo;s header stays on one row with a readable title, while viewing and while editing, including beside a stale or failed freshness stamp. See &lt;a href="https://beta-docs.defectdojo.com/metrics_reports/dashboards/custom-dashboards/"&gt;Customizable Dashboards&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Sorting the Locations list by &lt;strong&gt;Status&lt;/strong&gt;, including in a Finding&amp;rsquo;s affected-locations view, works instead of failing to load. See &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/locations/pro__locations_overview/"&gt;Locations Overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; &lt;strong&gt;Reimport Scan&lt;/strong&gt; on a Test keeps &lt;strong&gt;Submit&lt;/strong&gt; disabled until the Test&amp;rsquo;s details load, so a quick submit no longer fails validation on fields that cannot be edited. See &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/engagements_tests/pro__tests/#reimporting-scan-results-ui"&gt;Tests&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Settings)&lt;/strong&gt; The Version Manager answers normally on a new instance&amp;rsquo;s first page load instead of returning a server error. See &lt;a href="https://beta-docs.defectdojo.com/get_started/pro/onprem/upgrading/"&gt;Upgrading DefectDojo Pro (On-Premise)&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>October 28, 2026: v3.4.302</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-28-2026-v34302</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-28-2026-v34302</guid><pubDate>Wed, 28 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(AI)&lt;/strong&gt; AI Guardrails checks every Claude Code prompt and tool call against a policy you control. A policy can block a prompt that holds personal data, redact secrets from file contents and command output before the model sees them, stop or ask about a risky command, or log a match. Developers get the policy through Claude Code&amp;rsquo;s managed settings, and each checked call is listed under &lt;strong&gt;Prompt Activity&lt;/strong&gt;. &lt;strong&gt;Create Starter Policy&lt;/strong&gt; on &lt;strong&gt;Settings &amp;gt; AI Guardrails&lt;/strong&gt; adds a baseline policy in monitor mode. Requires the &lt;strong&gt;AI Inventory and Governance&lt;/strong&gt; feature flag, off by default, and only superusers can see or change guardrails. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/findings_workflows/pro__ai_guardrails/"&gt;AI Guardrails for Claude Code&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Ingestion Health flags a Connector whose Syncs keep succeeding with zero Findings while it usually imports some. The Connector&amp;rsquo;s tile reads &lt;strong&gt;Returned 0 Findings Against a Baseline of &lt;em&gt;n&lt;/em&gt;&lt;/strong&gt;, where the baseline is the median Findings per Sync over the last 30 days, and a user who can edit the Connector can acknowledge it with a reason that stays on record. The next Sync that imports Findings clears it. Requires the &lt;strong&gt;Ingestion Health&lt;/strong&gt; feature flag, off by default. See &lt;a href="https://beta-docs.defectdojo.com/connectors/upstream/ingestion_health/"&gt;Ingestion Health&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; Every count card at the top of the Asset page shows what makes up its total, plus one figure for what needs attention, which turns amber or red above zero: open, closed and overdue Engagements; last scanned, imports in the last 30 days and new Findings for Tests; direct, indirect and past-SLA Findings; and vulnerable, not vulnerable and critical Endpoints or Locations. See &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/engagements_tests/pro__assets/#asset-view"&gt;Assets&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; &lt;strong&gt;Sort&lt;/strong&gt; in the filter bar takes any number of sort levels. Drag a level by its grip, or press Up or Down, to reorder it, and &lt;strong&gt;Reset to Default&lt;/strong&gt; clears the sort. On the Findings, Assets, Organizations, Engagements and Tests lists, the &lt;strong&gt;Columns&lt;/strong&gt; picker and &lt;strong&gt;Sort&lt;/strong&gt; list their fields under the same headings as &lt;strong&gt;Add Filter&lt;/strong&gt;. See &lt;a href="https://beta-docs.defectdojo.com/navigation/pro__table_customization/#filtering-with-the-filter-bar"&gt;Customizing Tables&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; Icons in the sidebar, top bar, breadcrumbs, table headers and buttons are drawn in a quieter tone than the labels beside them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Performance)&lt;/strong&gt; Opening a Finding no longer runs a query for each finding group in its Test, and API requests with &lt;code&gt;?prefetch=test&lt;/code&gt; load a Test&amp;rsquo;s finding groups and their Jira issues once.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; Switching a rule&amp;rsquo;s schedule from &lt;strong&gt;Single Run&lt;/strong&gt; to &lt;strong&gt;Repeated Run&lt;/strong&gt; starts it at the top of the hour, and the minute can no longer be cleared, so the rule saves instead of failing with an invalid cron expression. This applies to every schedule dialog. See &lt;a href="https://beta-docs.defectdojo.com/automation/rules_engine/scheduling/#repeated-run"&gt;Scheduling Rules&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; A report left &lt;strong&gt;Processing&lt;/strong&gt; past its time limit, for example because its worker stopped, is marked failed with the timed-out reason. In the template editor, a role with &lt;strong&gt;Report Template Add&lt;/strong&gt; but not Edit can preview a new block and see its chart keys. A template block entry with no block is refused with a 400 instead of a server error. See &lt;a href="https://beta-docs.defectdojo.com/metrics_reports/reports/report-builder/#generated-reports"&gt;Report Builder&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; Following a completed Locations migration, Findings in different files are no longer marked duplicates of each other. The upgrade recomputes the stored hashes; Findings already marked duplicate are not changed. Marking an open Finding as a duplicate of a mitigated one is refused, as automatic deduplication already does, &lt;strong&gt;Set as original&lt;/strong&gt; works on a duplicate that has lost its original, and deleting a single Finding no longer deadlocks with the duplicate cleanup. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/finding_deduplication/about_deduplication/"&gt;About Deduplication&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; Reimport no longer adds a newly reported host to a Finding marked false positive, out of scope or risk accepted for a different host. An import that loses its database connection names the database error and its SQLSTATE in the error response. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/finding_deduplication/about_deduplication/#reimport-deduplication"&gt;Reimport Deduplication&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; &lt;strong&gt;Add Finding From Template&lt;/strong&gt; fills the description, mitigation, impact, CVSS v3 vector and vulnerability IDs from the template, not only its title, severity, CWE and tags.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; An Asset&amp;rsquo;s &lt;strong&gt;Technologies&lt;/strong&gt; tab lists only that Asset&amp;rsquo;s technologies. See &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/engagements_tests/pro__assets/#asset-view"&gt;Assets&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Settings)&lt;/strong&gt; A new SLA configuration starts with the default day counts filled in, so it can be saved with only a name. See &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/pro_hierarchy/priority_sla/#working-with-slas"&gt;Assign Priority, Risk and SLAs&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Agent targets can be onboarded from the hub&amp;rsquo;s &lt;strong&gt;Add Accounts&lt;/strong&gt; menu, under &lt;strong&gt;Add Agent Targets&lt;/strong&gt;. The item is disabled with the reason when the license has no agent-target quota or the quota is used up. The menu&amp;rsquo;s connect-first items read &lt;strong&gt;Connect a Source-Control Provider First&lt;/strong&gt; and &lt;strong&gt;Connect a Cloud Provider First&lt;/strong&gt; in every language. See &lt;a href="https://beta-docs.defectdojo.com/sensei/ai_agent_redteam/#onboard-an-agent-target"&gt;AI Agent Red Teaming&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Licensing)&lt;/strong&gt; A replacement license can be saved on the License Manager page while the instance is over its license limit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; A filter being edited is no longer cleared when the table&amp;rsquo;s settings refresh in the background.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; The API token page shows the current key after the token is regenerated in another tab or reset by an administrator, and hides token controls when the instance has API tokens turned off. Concurrent requests for the OpenAPI schema no longer fail with a server error, and a request larger than the upload limits answers 413 instead of 500. See &lt;a href="https://beta-docs.defectdojo.com/automation/api/api-v2-docs/#token-management"&gt;DefectDojo API v2&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; On a multi-step create form, &lt;strong&gt;Next&lt;/strong&gt; is the main button until every step has been reached, and the held &lt;strong&gt;Submit&lt;/strong&gt; explains why it is disabled. A user, environment, or Asset platform, lifecycle or origin that cannot be deleted says how many records still refer to it and which kinds, instead of listing each one. A webhook receiver&amp;rsquo;s URL and secret buttons wrap at phone width.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Upgrade notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; On instances with a completed Locations migration, the upgrade recomputes deduplication hashes, which can lengthen the migration. &lt;code&gt;DD_REHASH_MIGRATION_WORKERS&lt;/code&gt; sets how many processes run it, up to four by default. See &lt;a href="https://beta-docs.defectdojo.com/get_started/pro/onprem/upgrading/"&gt;Upgrading DefectDojo Pro (On-Premise)&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>October 27, 2026: v3.4.301</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-27-2026-v34301</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-27-2026-v34301</guid><pubDate>Tue, 27 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; Each tab in a page layout&amp;rsquo;s tab group can be set to hide when it has nothing to show, so a record no longer opens on an empty tab. The option is on each tab row in the Tabs widget&amp;rsquo;s &lt;strong&gt;Configure Widget&lt;/strong&gt; dialog. Tiles on detail pages and dashboards now share the header band, title and spacing of the section cards around them. See &lt;a href="https://beta-docs.defectdojo.com/navigation/pro__page_layouts/#hiding-empty-tabs"&gt;Customizing Page Layouts&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Performance)&lt;/strong&gt; The dashboard priority histogram, Top-N records and Command Center tallies read less data. See &lt;a href="https://beta-docs.defectdojo.com/metrics_reports/dashboards/command-center/"&gt;Command Center&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(SSO)&lt;/strong&gt; Signing in through an OAuth or OIDC provider works again. In v3.4.300 these sign-ins returned a server error once a provider was chosen. SAML sign-in was not affected. See &lt;a href="https://beta-docs.defectdojo.com/admin/sso/"&gt;Single Sign-On&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; A background import that fails leaves its Test&amp;rsquo;s status at &lt;strong&gt;Failed&lt;/strong&gt; until the next import, instead of reporting &lt;strong&gt;Processed&lt;/strong&gt;, and the status reads &lt;strong&gt;Post Processing - Deduplication&lt;/strong&gt; while deduplication runs. See &lt;a href="https://beta-docs.defectdojo.com/automation/api/api-v2-docs/#background-import-responses-api-background_import"&gt;DefectDojo API v2&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; A report that reaches the time limit while drawing a chart, a widget or an image fails with the time-out reason, instead of staying &lt;strong&gt;Processing&lt;/strong&gt; or completing with a placeholder. A refused template save names the &lt;strong&gt;Template Blocks&lt;/strong&gt; and &lt;strong&gt;Theme&lt;/strong&gt; fields the way the form does. See &lt;a href="https://beta-docs.defectdojo.com/metrics_reports/reports/report-builder/"&gt;Report Builder&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Dashboards)&lt;/strong&gt; The Command Center finishes loading on large datasets, because a scheduled refresh waits for the previous load to finish. On the Insights pages, the filter bar keeps its own height and its &amp;ldquo;Some data may be hidden&amp;rdquo; warning stays in view. See &lt;a href="https://beta-docs.defectdojo.com/metrics_reports/dashboards/command-center/"&gt;Command Center&lt;/a&gt; and &lt;a href="https://beta-docs.defectdojo.com/metrics_reports/pro_metrics/pro__overview/"&gt;Pro Metrics Overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; A 400 response raised by a model or importer check reads as plain sentences. A delete blocked by other records answers 409 with how many records still refer to it and which kinds they are, instead of listing each one. See &lt;a href="https://beta-docs.defectdojo.com/automation/api/api-v2-docs/"&gt;DefectDojo API v2&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>October 26, 2026: v3.4.300</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-26-2026-v34300</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-26-2026-v34300</guid><pubDate>Mon, 26 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;&lt;strong&gt;NOTE: v3.4.300 was revoked: Signing in through an OAuth or OIDC provider returns a server error. SAML sign-in is not affected. Upgrade to &lt;a href="#october-27-2026-v34301"&gt;v3.4.301&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; A Finding&amp;rsquo;s &lt;strong&gt;Title&lt;/strong&gt;, &lt;strong&gt;Tags&lt;/strong&gt;, &lt;strong&gt;Severity&lt;/strong&gt;, &lt;strong&gt;Assignees&lt;/strong&gt;, &lt;strong&gt;Planned Remediation Date&lt;/strong&gt; and &lt;strong&gt;Description&lt;/strong&gt; can be changed on the Finding page itself, without opening the Edit Finding form. Changes are held until you save, several fields can be changed and saved together, and a change someone else made since the page loaded is never overwritten. The same in-place editing is on the Engagement and Asset pages. Requires the &lt;strong&gt;Inline Editing&lt;/strong&gt; feature flag, on by default. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/findings_workflows/editing_findings/#change-a-field-in-place"&gt;Editing Findings&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Notifications)&lt;/strong&gt; The bell in the sidebar footer opens a notification inbox: unread alerts grouped by the record they are about, with &lt;strong&gt;All&lt;/strong&gt;, &lt;strong&gt;Mentions&lt;/strong&gt;, &lt;strong&gt;Assigned&lt;/strong&gt;, &lt;strong&gt;Watching&lt;/strong&gt; and &lt;strong&gt;System&lt;/strong&gt; tabs, the option to mute a record, and read state carried to the Alerts Page. The counts refresh on their own, and &lt;strong&gt;Load Older&lt;/strong&gt; pages through the rest. The inbox is now generally available. See &lt;a href="https://beta-docs.defectdojo.com/admin/notifications/about_notifications/#notification-inbox-pro"&gt;About Notifications&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; Service users are API-only accounts with no email or password that never sign in, each holding one token shown once at creation, and authorized through memberships, groups and a global role on their own page. Requires the &lt;strong&gt;Service Users&lt;/strong&gt; feature flag, off by default. See &lt;a href="https://beta-docs.defectdojo.com/admin/user_management/pro__service_users/"&gt;Service Users&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; Each scan type can set how its Findings are grouped: as the parser produces them (the default), one Finding per location, or one Finding per vulnerability, where every location of a vulnerability becomes one Finding that stays open until each location is fixed. The location-based options need the &lt;strong&gt;Locations&lt;/strong&gt; feature. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/finding_deduplication/pro__deduplication_tuning/#grouping-what-counts-as-one-finding"&gt;Deduplication Tuning&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; Rules can be exported, imported and restored: move a set of rules between instances with a compatibility check, restore an earlier version of a rule, and manage rules through the API. See &lt;a href="https://beta-docs.defectdojo.com/automation/triage_engine/sharing_and_versions/"&gt;Sharing and Versions&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Unmanaged device discovery lists the devices your EDR sees on the network with no agent of their own, as CrowdStrike Falcon Discover and Microsoft Defender for Endpoint report them. Each device is a candidate and becomes neither an Asset nor a Finding on its own. Requires the &lt;strong&gt;Unmanaged Devices&lt;/strong&gt; feature flag, off by default, turned on per connection with &lt;strong&gt;Report Unmanaged Devices&lt;/strong&gt;. See &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/pro__unmanaged_devices/"&gt;Unmanaged Devices&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; A connector&amp;rsquo;s label can be renamed without re-homing its Engagements. See &lt;a href="https://beta-docs.defectdojo.com/connectors/upstream/add_edit/"&gt;Add or Edit Upstream Connectors&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; &lt;a href="https://beta-docs.defectdojo.com/connectors/toolreference/tenable_io/"&gt;Tenable&lt;/a&gt; groups records by asset and adds WAS scan-configuration grouping and a WAS tag filter, &lt;a href="https://beta-docs.defectdojo.com/connectors/toolreference/checkmarx_one/"&gt;Checkmarx One&lt;/a&gt; tags Findings with their triage state and exploitable path and carries their comments, &lt;a href="https://beta-docs.defectdojo.com/connectors/toolreference/qualys/"&gt;Qualys&lt;/a&gt; sets each Finding&amp;rsquo;s date from when it was first found, and &lt;a href="https://beta-docs.defectdojo.com/connectors/toolreference/wiz/"&gt;Wiz&lt;/a&gt; reports a runtime reachability verdict. Connector-owned tags and the triage comment stay current on reimport, and a connector whose filters match nothing shows a warning.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Jira)&lt;/strong&gt; Findings can be unlinked from Jira in a bulk edit. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/findings_workflows/pro__bulk_edit_findings/"&gt;Bulk Editing Findings&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; Rules can be scoped to hosts, IP addresses and CIDR networks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Dashboards)&lt;/strong&gt; The Count and Graph widgets can measure unique CWEs or unique vulnerability IDs instead of rows, such as unique CWEs by severity for one Asset, and roll the measure up across child Assets. See &lt;a href="https://beta-docs.defectdojo.com/metrics_reports/dashboards/custom-dashboards/"&gt;Customizable Dashboards&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; A new API exports an Asset and everything under it as a manifest plus an NDJSON stream. See &lt;a href="https://beta-docs.defectdojo.com/automation/api/product_export/"&gt;Product export&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Each location reference records the Test that reported it. See &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/locations/pro__locations_overview/"&gt;Locations Overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Navigation)&lt;/strong&gt; The sidebar footer has an account row and a single row of icon buttons (alerts, What&amp;rsquo;s New, Ask Sensei and the Production/Sandbox switch), and the account menu holds the language and light/dark choices. The What&amp;rsquo;s New panel remembers the release you have seen, per account, and &lt;strong&gt;Hide Walkthroughs&lt;/strong&gt; is on the lightbulb&amp;rsquo;s list. See &lt;a href="https://beta-docs.defectdojo.com/navigation/pro__sidebar/"&gt;The Sidebar Menu&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Settings)&lt;/strong&gt; The All Settings page is compacted into group cards. See &lt;a href="https://beta-docs.defectdojo.com/navigation/pro__sidebar/#all-settings"&gt;The Sidebar Menu&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Threat Intelligence)&lt;/strong&gt; A Finding&amp;rsquo;s Threat Intelligence tile shows pending enrichment and KEV status. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/finding_scoring/epss_kev/"&gt;EPSS / KEV&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Performance)&lt;/strong&gt; The Findings and Engagements lists no longer run a query per row, tag filters match with EXISTS instead of a DISTINCT join, bulk deletes and an import&amp;rsquo;s finding groups run as one set-based operation, import and reimport requests cost a fixed few queries, and dashboard tile counts, the import list and a user&amp;rsquo;s History tab read less. Connector configuration saves and deletes cost a fixed few queries.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; A Finding keeps its Locations when the Pro UI edit form is saved.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Risk Acceptance)&lt;/strong&gt; A Finding stays in a single risk acceptance when one is reinstated or approved, including under concurrent writes. Reinstating leaves out Findings accepted elsewhere since the expiry, and Jira is told after the change commits. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/findings_workflows/pro__risk_acceptance/"&gt;Risk Acceptances&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; Report failure reasons are translated, and a report that reaches the time limit says so. A template&amp;rsquo;s block ordering is checked when it is saved, with a missing sort field named under &lt;strong&gt;Order By&lt;/strong&gt;, the template editor is tidied, and &lt;strong&gt;Add Existing Block&lt;/strong&gt; follows the permission that saves the template. See &lt;a href="https://beta-docs.defectdojo.com/metrics_reports/reports/report-builder/"&gt;Report Builder&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; The import form&amp;rsquo;s help is corrected for Scan Date (the mitigated date), asynchronous import and a disabled Close Old Findings, and the &lt;strong&gt;Do Not Reactivate&lt;/strong&gt; option on reimport is explained. See &lt;a href="https://beta-docs.defectdojo.com/import_data/import_scan_files/pro__import_scan_ui/"&gt;Add Findings form&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Parsers)&lt;/strong&gt; The generic importer rejects a field value wider than its Finding column with a 400, instead of failing the import without a clear reason. See &lt;a href="https://beta-docs.defectdojo.com/supported_tools/parsers/file/generic/"&gt;Generic Findings Import&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; The GitHub connector resolves repositories by URL and owner/name instead of display name, Cycode accepts numeric project IDs, and Qualys WAS leaves an empty filter block out of searches that have no criteria. See &lt;a href="https://beta-docs.defectdojo.com/connectors/toolreference/github/"&gt;GitHub&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; A pasted repository access token no longer outranks the repository&amp;rsquo;s connection and can be replaced or removed, reachability scans fetch private Go modules from the same organization, and a fix is applied to every active code location of a Finding in one change. See &lt;a href="https://beta-docs.defectdojo.com/sensei/fixing_findings/"&gt;Fixing Findings with Sensei&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; The CRA scope widget counts every Finding in scope, and the CRA evidence pack&amp;rsquo;s support-period obligation reads each Asset&amp;rsquo;s &lt;strong&gt;Support Period End&lt;/strong&gt;. See &lt;a href="https://beta-docs.defectdojo.com/federal_compliance/cra_article14_reporting/"&gt;CRA Article 14 Reporting&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Permissions)&lt;/strong&gt; Group writes and the group edit page are offered only where the group role allows them, an empty group counts as 0 members, the &lt;strong&gt;Add File&lt;/strong&gt; action shows for users who can add files, and a page re-checks its per-record permissions when only the route&amp;rsquo;s parameters change.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Notifications)&lt;/strong&gt; Relabeled Organization and Asset links in notifications open their Pro UI pages.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; The message beside a 400 response&amp;rsquo;s field map reads as sentences.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; A failed save, delete or import shows one toast with the server&amp;rsquo;s reason, the user page&amp;rsquo;s Metadata and Contact cards stack on a phone, a keyboard-focused table row has a quieter outline, the Markdown source toggle lines up with the first line of text, the UI switches back to an offered language when the one on screen is not offered, and popovers show their line breaks as text.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Upgrade notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; A self-hosted instance can sign in to PostgreSQL with a cloud identity token instead of a password. See &lt;a href="https://beta-docs.defectdojo.com/get_started/pro/onprem/passwordless_database/"&gt;Passwordless Database Authentication&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; On shutdown, a running import is allowed to finish before the worker stops, and the import pool&amp;rsquo;s memory recycling is sized for the pool. See &lt;a href="https://beta-docs.defectdojo.com/get_started/pro/onprem/kubernetes/installing_on_kubernetes/"&gt;DefectDojo Pro Installation Guide (Kubernetes / Helm)&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; Operators can default Asset Identity on for new instances with &lt;code&gt;DD_ASSET_IDENTITY_DEFAULT_ON&lt;/code&gt;. See &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/engagements_tests/pro__assets/#turning-asset-identity-on-and-off"&gt;Assets&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; Databases from before 3.0 upgrade without failing or losing the default group. See &lt;a href="https://beta-docs.defectdojo.com/get_started/pro/onprem/upgrading/"&gt;Upgrading DefectDojo Pro (On-Premise)&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Helm)&lt;/strong&gt; The initializer runs with the media volume&amp;rsquo;s group. See &lt;a href="https://beta-docs.defectdojo.com/get_started/pro/onprem/kubernetes/installing_on_kubernetes/"&gt;DefectDojo Pro Installation Guide (Kubernetes / Helm)&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>October 22, 2026: v3.4.202</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-22-2026-v34202</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-22-2026-v34202</guid><pubDate>Thu, 22 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Navigation)&lt;/strong&gt; Every Pro UI page that has documentation shows a &lt;strong&gt;Documentation&lt;/strong&gt; button beside the breadcrumbs, which opens the matching docs page in a new tab. A page that belongs to a feature behind a flag links to that flag&amp;rsquo;s documentation. See &lt;a href="https://beta-docs.defectdojo.com/navigation/pro__walkthroughs/#the-documentation-link"&gt;The Documentation link&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; The VEX export offers OpenVEX next to CycloneDX, on the Asset page &lt;strong&gt;Export&lt;/strong&gt; dialog and in the API, so an SPDX SBOM can be paired with a matching VEX document. See &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/locations/pro__exporting_sboms_and_vex/#openvex"&gt;Exporting SBOMs and VEX&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; With Locations on, the Findings export dialog offers a &lt;strong&gt;Locations&lt;/strong&gt; field in place of Endpoints, and the Report Builder has a &lt;strong&gt;Locations&lt;/strong&gt; column, both listing each Finding&amp;rsquo;s Locations. Exports of lists whose filters are too long for a URL, such as a long pasted list, complete instead of failing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; Run Now is no longer offered for scan triggers, and asks for confirmation on a disabled rule. A rule&amp;rsquo;s schedule is shown to everyone who can view the rule, saving a rule sends only the fields you changed, and rule templates are written in your language when you adopt them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; The sidebar wordmark no longer runs under the collapse button, a sidebar row with a LEGACY badge is the same height as the rest, a locked filter chip has even padding, the Command Center stat cards keep their deltas and severity chips inside the card, and a walkthrough card stays clear of an open picker.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; With Locations on and location tracking off, a reimport keeps packages that share a CVE as separate Findings instead of merging them into one.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Dashboards)&lt;/strong&gt; Insights leaves Findings mitigated on or before their discovery date out of average time to remediation, matching the dashboard. Noise Reduction by Category counts each Finding once, so a reimported Finding is no longer counted as both Reimport Automation and Actionable Finding, in Insights and in Report Builder charts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; Quick Export from a Test&amp;rsquo;s Findings list works.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; The Asset user and reviewer pickers load instead of returning a server error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; When a new fix replaces an earlier one on the same pull request, the earlier fix is marked Superseded instead of PR Open, and impact counts include only the current fix.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; The users API accepts configuration permissions on writes and returns each user&amp;rsquo;s stored configuration permissions. Sending an empty list removes only configuration permissions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Licensing)&lt;/strong&gt; An instance over its license limit can still export, search lists, and load dashboards and report previews. Changes are refused as before.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Behavior changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; In Keyboard Triage, no key changes a Finding by itself. The keys that set severity and toggled Verified, Under Review, False Positive, and Out of Scope are removed, and &lt;strong&gt;n&lt;/strong&gt; opens the Add Note form. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/findings_workflows/pro__keyboard_triage/"&gt;Keyboard Triage&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Settings)&lt;/strong&gt; &lt;strong&gt;System Settings&lt;/strong&gt; no longer shows the &lt;strong&gt;Enable Remediation Advice&lt;/strong&gt; checkbox, which had no effect.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>October 21, 2026: v3.4.201</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-21-2026-v34201</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-21-2026-v34201</guid><pubDate>Wed, 21 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; Keyboard Triage walks a Findings list one Finding at a time. Open it with the &lt;strong&gt;Triage&lt;/strong&gt; button or the &lt;code&gt;t&lt;/code&gt; key on any Findings list, then set each Finding&amp;rsquo;s status from the keyboard. Requires the &lt;strong&gt;Keyboard Triage&lt;/strong&gt; feature flag, on by default. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/findings_workflows/pro__keyboard_triage/"&gt;Keyboard Triage&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Navigation)&lt;/strong&gt; The Pro UI has keyboard shortcuts. Press &lt;code&gt;?&lt;/code&gt; for the full list, and use &lt;code&gt;j&lt;/code&gt; and &lt;code&gt;k&lt;/code&gt; to move between rows on every list. See &lt;a href="https://beta-docs.defectdojo.com/navigation/pro__keyboard_shortcuts/"&gt;Keyboard Shortcuts&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Navigation)&lt;/strong&gt; A &lt;strong&gt;What&amp;rsquo;s New&lt;/strong&gt; button at the bottom of the sidebar opens the highlights of the release you are running. See &lt;a href="https://beta-docs.defectdojo.com/navigation/pro__sidebar/#whats-new"&gt;What&amp;rsquo;s New&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Qualys VMDR imports and the Qualys connector record each host&amp;rsquo;s name as a host Location, and host Locations are listed with the others.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(PSIRT)&lt;/strong&gt; The Linux Kernel CVEs advisory feed reads the kernel CVE team&amp;rsquo;s own repository. See &lt;a href="https://beta-docs.defectdojo.com/psirt/feeds/#linux-kernel-cves"&gt;Linux Kernel CVEs&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/pro_hierarchy/change_plans/"&gt;Change Plans&lt;/a&gt; and the &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/pro_hierarchy/finish_onboarding/"&gt;Needs Attention&lt;/a&gt; inbox are out of beta and on for every instance, and their feature flags no longer appear on the Feature Flags page. A change plan lists warnings next to its errors, shows the SLA configuration a criticality change maps to, and can be discarded, or rebuilt without the operations on Assets that are still recalculating.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; An import that names an Asset or Organization by a former name, or by the Organization an Asset was moved out of, lands in the current Asset instead of failing or creating a duplicate. Turn this off with the &lt;strong&gt;Imports Follow Renames and Moves&lt;/strong&gt; feature flag, on by default.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; A connector whose syncs keep importing nothing shows a &lt;strong&gt;Zero Results&lt;/strong&gt; chip on its tile and sends a Connector Health Warning, and the Triage Engine rules table shows when each scheduled rule runs next, with an &lt;strong&gt;Overdue&lt;/strong&gt; chip. ServiceNow PC hardware records become host Assets, and the Coverity connector accepts &lt;code&gt;http&lt;/code&gt; Coverity Connect URLs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; List filters too long to fit in a URL, such as a long pasted list, are sent in the request body and apply instead of failing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Performance)&lt;/strong&gt; Organization moves are batched and recalculate only what they changed, priority recalculation runs as one set-based update, and web workers share one warmed-up application, so containers start faster and use less memory.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; The Location map panels follow right-to-left languages and wrap long words, the Command Center flow ring blocks stay apart in Tamil, Telugu, and Japanese, and its first ring is labeled Processed instead of Ingested. An alert row expands to show its full title and description.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Risk Acceptance)&lt;/strong&gt; A Finding belongs to one risk acceptance at a time, and every new risk acceptance gets a default expiration date, including those created through the API.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; &lt;a href="https://beta-docs.defectdojo.com/federal_compliance/cra_article14_reporting/"&gt;CRA Article 14 reporting&lt;/a&gt; works with PSIRT turned off: statutory deadlines warn and breach, deadline notifications reach the users who can view the Asset, and a report can be started from the UI. &lt;strong&gt;New Severe Incident Report&lt;/strong&gt; is renamed &lt;strong&gt;New CRA Report&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Repository scans import into the Asset linked on the repository, and a scan run is marked partial when a scanner is skipped or not installed. Code scans no longer drop results when the scanner runs without a vendor login. Sensei rejects a fix that never touches the flagged code, keeps CRLF line endings, replaces an earlier fix when a Finding is remediated again, and builds pull request links from the public DefectDojo URL. Sensei spend prices current Claude models at list rates, links a fix&amp;rsquo;s usage to its run, and counts a resent usage report once. Threat modeling fits large designs into architecture extraction.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(SSO)&lt;/strong&gt; A changed OIDC endpoint in &lt;strong&gt;Settings &amp;gt; Tuner&lt;/strong&gt; applies at the next sign-in, without a restart.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; A rule&amp;rsquo;s trace follows an Asset run, a saved rule opens as saved, a new rule asks for its name before the first save, and the remaining &amp;ldquo;Rules Engine 2.0&amp;rdquo; text reads Triage Engine.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; Edit form pickers show the saved value, the filter bar chip names In List and Exclude filters, an empty exclude URL parameter leaves the column unfiltered, and the SLA and prioritization engine pickers lock while Findings recalculate.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Checkmarx One reads the CVE name when vulnerability details are present, and a protocol-relative endpoint keeps its host when Locations is off.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; Documentation links point at docs.defectdojo.com.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Security fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Hardening)&lt;/strong&gt; The container images ship refreshed CA trust stores that no longer trust the emSign root CAs, and the Orchestrator, connectors, MCP server, and Sensei scan engine are built on a Go release with security fixes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Behavior changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; Asset Identity is switched by the &lt;strong&gt;Asset Identity&lt;/strong&gt; feature flag, off by default, instead of the &lt;code&gt;DD_V3_ASSET_ALIASES&lt;/code&gt; deployment setting. Instances that set &lt;code&gt;DD_V3_ASSET_ALIASES&lt;/code&gt; to true keep it on. While the flag is off, connectors keep each record&amp;rsquo;s vendor identifier current, so turning it on later does not move records back. See &lt;a href="https://beta-docs.defectdojo.com/asset_modelling/engagements_tests/pro__assets/#asset-identity-aliases"&gt;Asset Identity&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Upgrade notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Compose)&lt;/strong&gt; A new install generates its own internal CA and service certificates instead of using the copies shipped in the bundle, and upgrades keep them. Existing installs still on the shipped copies get a warning from &lt;code&gt;certs status&lt;/code&gt;, &lt;code&gt;doctor&lt;/code&gt;, and the start preflight, and the new &lt;code&gt;certs rotate-internal&lt;/code&gt; command replaces them, backing up the old files first. See &lt;a href="https://beta-docs.defectdojo.com/get_started/pro/onprem/docker_compose/checking_a_deployment/"&gt;Checking a Deployment&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compose)&lt;/strong&gt; Sandbox mode pages load on self-hosted Compose installs, and containers no longer receive empty proxy variables when no forward proxy is set, so Sensei scans run every scanner.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Helm)&lt;/strong&gt; The uwsgi startup probe is on by default (&lt;code&gt;django.uwsgi.startupProbe.enabled&lt;/code&gt;), as a TCP check on the uwsgi port that allows 5 minutes to start, and the import pool gets the same probe. Setting &lt;code&gt;django.uwsgi.startupProbe.path&lt;/code&gt; keeps the earlier HTTP check.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>October 19, 2026: v3.4.200</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-19-2026-v34200</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-19-2026-v34200</guid><pubDate>Mon, 19 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; The Pro UI has in-app walkthroughs. A lightbulb in the lower right of every page lists the walkthroughs for that page: the App Tour, plus task walkthroughs for importing, triage, access, reports, admin setup, the Jira connector, and the Triage Engine. First-time users are offered the App Tour on Home. Requires the &lt;strong&gt;In-App Walkthroughs&lt;/strong&gt; feature flag, on by default. See &lt;a href="https://beta-docs.defectdojo.com/navigation/pro__walkthroughs/"&gt;In-App Walkthroughs&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; The Findings list has a grid view, a filter bar, and a Match Any mode. The Assets, Organizations, Engagements, and Tests lists get the same grid view and filter bar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; A new On Dedupe Match trigger decides what deduplication does with a match in another Asset: mark it a duplicate as before, or keep both Findings active with their own SLAs and link them. Two new actions, Copy Status from Matched Finding and Apply Status to Linked Findings, carry false positive, out of scope, and risk accepted decisions between linked Findings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; &lt;a href="https://beta-docs.defectdojo.com/connectors/toolreference/stackhawk/"&gt;StackHawk&lt;/a&gt; and &lt;a href="https://beta-docs.defectdojo.com/connectors/toolreference/qualys_totalappsec/"&gt;Qualys TotalAppSec&lt;/a&gt; connectors are available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Connectors set an Asset&amp;rsquo;s type from the vendor&amp;rsquo;s data when a record is mapped and on every sync, and Triage Engine rules can set it too. A type chosen by a person or a rule is never overwritten.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; Text column filters gain In List and Not in List modes, every multi-select column filter has an Include / Exclude switch, and the Asset and Organization pick-list filters accept a pasted list. Pressing Enter applies a column filter or the filter bar editor.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; A Finding&amp;rsquo;s risk is shown as a meter that marks its band, instead of a written level. The Findings list has an Owner (Team) column and filter, and the API can filter Findings by owner and assignee.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; Rules can use Asset metadata, custom fields, and contacts in notifications, and select fields support partial matching.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Wiz reports network exposure as asset exposure evidence, FOSSA syncs can be limited by issue category and by project label or title, and Qualys imports host tags and can group Assets by tag. Push to Connector is offered only when a connector covers the Finding, and says what each push sent.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; The reachability probe checks the addresses held in Locations, and superusers configure it under &lt;strong&gt;Settings &amp;gt; Reachability Probe&lt;/strong&gt;. See &lt;a href="https://beta-docs.defectdojo.com/triage_findings/finding_scoring/asset_exposure/"&gt;Asset Exposure&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; A rehash keeps going when a worker stops, and shows its progress.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Settings)&lt;/strong&gt; Every flag on the &lt;a href="https://beta-docs.defectdojo.com/admin/feature_flags/pro__feature_flags/"&gt;Feature Flags&lt;/a&gt; page links to its documentation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Performance)&lt;/strong&gt; The Pro UI loads its application state once and fetches only what changed as you navigate. The daily SLA run batches its notifications and loads its data up front, the asset page, Findings list, and Command Center no longer recount large Finding sets, list filters stay fast at scale, approved Sensei fix candidates are delivered in the background, and saving a Finding no longer runs one query per vulnerability id.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; Form checks show their messages in the app language, and errors the server returns appear under the field they name. Tags have readable contrast in light and dark themes, with corrected Medium and High colors, table column headers use the monospace label font, the asset hierarchy and Location map editors stack on phones, and a failed table preference save shows one toast.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; Merging Findings deletes each merged Finding on its own, so duplicates and Jira stay in sync, and the merge counts bulk-selected Findings. Users mentioned in a review request are notified, and review notes are cleared.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Jira)&lt;/strong&gt; Findings closed because a threat model superseded them are closed in Jira too.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; Imports and reimports no longer fail when Findings are deleted while they run, and vulnerability ids that are not strings are accepted.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; Excess duplicate deletion runs one at a time, so overlapping runs no longer deadlock, and it only waits for imports in the same database.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Parsers)&lt;/strong&gt; SARIF tags and OSV aliases supply CVE and GHSA ids.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Threat Intelligence)&lt;/strong&gt; A matched Finding gets KEV and EPSS data when a reimport adds its CVE.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Notifications)&lt;/strong&gt; The daily SLA run continues when one Finding fails.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Sensei no longer offers fixes for Findings with no file, and a GitHub 404 from a deleted App or a missing installation is explained. Fixes and the Bedrock connection test use the API Base URL set in AI Model Settings for Claude, OpenAI, and Bedrock. Reachability analysis on Go repositories completes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; An un-ignored mapped record returns to Good and syncs again, and a mapping save with duplicate values no longer fails. Snyk follows every results page, Cyberwatch reads live server data, and Cycode accepts one language or a list. The Jira sign-in flow for Downstream connectors says why it failed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(MCP)&lt;/strong&gt; Toolset selection works, and MCP server upgrades no longer interrupt &lt;code&gt;/mcp&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; Hand-entered POA&amp;amp;M items stay open across syncs and can carry a scheduled completion date, the POA&amp;amp;M artifacts API honors its snapshot and kind filters, and DAST connector scan types count as web application assessments.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; Every user who can view an Asset sees its Organization and contact names.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Old Endpoint list links keep their filters, &lt;strong&gt;New Location&lt;/strong&gt; and &lt;strong&gt;Add Existing&lt;/strong&gt; show only for users who can edit the Asset (and work for member Writers), the Location Map is translated, and the endpoint status API identifies endpoints by the id the endpoints API lists.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; A page&amp;rsquo;s pinned filter stays locked outside an OR group, child pages pin only the parent, and multi-select options apply on click without a search.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Permissions)&lt;/strong&gt; Group Owners and Maintainers can list and open the groups they belong to, and member errors are complete, translated sentences.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Settings)&lt;/strong&gt; The Pro UI loads on databases migrated from open source whose settings record is not the first row, and the Pro settings record is created only once.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; API v3 file uploads accept a title that another file already uses, and a title over 100 characters returns 400. The custom field values API filters by Asset. The admin error email for an unexpected API error includes the traceback.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; In the classic UI, multi-select filter fields render as searchable dropdowns.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Security fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Authorization)&lt;/strong&gt; Changing or removing an Owner on an Asset, Organization, or group requires permission to grant the Owner role. Downstream connector errors and ticket links show only Findings the user can view, deleting a mapping or connector requires edit access to the Assets it targets, and the Jira sign-in flow re-checks the user&amp;rsquo;s permission. Legacy Endpoint detail views check access through the Asset or Finding.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Behavior changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Navigation)&lt;/strong&gt; The classic sidebar and the Menu 2.0 toggle are removed, and every user gets the current &lt;a href="https://beta-docs.defectdojo.com/navigation/pro__sidebar/"&gt;sidebar&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; The Findings list opens with nine columns: Severity, Risk, Finding, Asset, Status, Age, SLA, Found By, and Tags. The rest are in the Columns picker. Saved table preferences keep their columns, and columns added after a preference was saved start hidden.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Upgrade notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; The initializer refuses to migrate without a valid license in &lt;code&gt;DD_LICENSE&lt;/code&gt;, the mounted license file, or the database. An expired license still passes. Please see &lt;a href="https://beta-docs.defectdojo.com/get_started/pro/onprem/upgrading/#the-initializer-needs-a-valid-license"&gt;the upgrade guide&lt;/a&gt; before upgrading.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; A fresh install loads a schema built for its release instead of running every migration, so the first start is much faster. Upgrades are unchanged. &lt;code&gt;DD_SCHEMA_DUMP_PATH&lt;/code&gt; overrides the schema file&amp;rsquo;s path, and an empty value turns this off.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Helm)&lt;/strong&gt; The Orchestrator TLS private key is kept only in its Secret and no longer copied into the ConfigMap. &lt;code&gt;mcp-server&lt;/code&gt; rolls out with no downtime, with a preStop wait set by &lt;code&gt;lifecycle.preStop.waitSeconds.mcpServer&lt;/code&gt;, nginx forwards the query string on &lt;code&gt;/mcp&lt;/code&gt;, and Django and Celery receive the Sensei Vertex project and region.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>October 14, 2026: v3.4.101</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-14-2026-v34101</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-14-2026-v34101</guid><pubDate>Wed, 14 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Ask Sensei from any page. Answers are built from live views of your data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; The EU regulatory assessment includes the CRA Annex I Part I requirements.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; Each table row fits on one line, with a density toggle, and list cells show the first value plus a +N count.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; The column picker uses the same checkboxes as the column filter.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; Every multi-step form uses the same stepper, with Submit available on every step.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Vendor logos on the Connections page are drawn at one size in the brand duotone.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; The app works better on phones: Dashboards 2.0 widgets and Home&amp;rsquo;s stat cards stack in one column, Home&amp;rsquo;s brief stays whole, and the app shell fits the screen (gutter, breadcrumb trail, rail height).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; FOSSA syncs complete on large organizations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; A scan target is verified again after its host changes, and the DAST targets list uses the same verification rule as launch.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; The import file pickers accept &lt;code&gt;.ckl&lt;/code&gt;, &lt;code&gt;.cklb&lt;/code&gt;, and &lt;code&gt;.jsonl&lt;/code&gt; files.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Settings)&lt;/strong&gt; A Tuner settings save applies in every worker on its next request, and Tool Configurations keep stored credentials on edit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; Numbers are formatted in the language picked in the app, the Jira project popover keeps its width, content after a table stays inside its card, removing a Dedupe Pool member moves into a row menu, and the compliance evidence mode no longer overlaps the Evidence button on narrow screens.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Security fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Authentication)&lt;/strong&gt; MFA and password reset rules apply to every sign-in path, exports require sign-in, and the generated admin password and Jira webhook secret no longer appear in logs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Authorization)&lt;/strong&gt; LDAP settings, the update check, reminder snoozes, Finding Groups, and Finding actions are checked against the user&amp;rsquo;s permissions. Only authorized users can grant group configuration permissions and owner-level roles. Edits and deletes of shared Locations are limited to the user&amp;rsquo;s Assets, and API requests can only reference records the user can access.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Hardening)&lt;/strong&gt; Connectors reuse a stored credential only when the host is unchanged, exports are hardened, and Markdown rendering is stricter. The licensing portal refuses the placeholder portal secret, and DefectDojo warns when the Sensei engine secret is a shipped default.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Upgrade notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; The Orchestrator is verified against its own CA when &lt;code&gt;REQUESTS_CA_BUNDLE&lt;/code&gt; is set, and the Helm chart includes the Orchestrator root CA in the combined CA bundle.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; The AI inventory catalogue, presets, and FedRAMP VDR data are included in the package.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; The &lt;code&gt;pro.W001&lt;/code&gt; system check hint now gives the manual secret step that works today.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>October 12, 2026: v3.4.100</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-12-2026-v34100</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-12-2026-v34100</guid><pubDate>Mon, 12 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Search)&lt;/strong&gt; Global Search (Cmd/Ctrl+K) is rebuilt as a palette with two modes: Search finds records by type (Findings, Assets, Organizations, Engagements, Tests, Locations), and Navigate jumps to any page in the sidebar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; 1,000 free Sensei fixes for every Pro instance from October 14 through November 13. Free fixes are used before your license quota and do not count toward pay-as-you-go spend.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Reachability analysis runs after default-branch scans and can be started from the asset menu. An import can now carry several reachability verdicts, each source goes stale on its own, and a reimport retracts verdicts that no longer apply.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; When the Model setting is blank, Sensei uses Claude Sonnet 5.5 and falls back to Sonnet 4.6, then 4.5.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(AI)&lt;/strong&gt; Amazon Bedrock is available as a provider for the in-app AI features.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; Posture scans count as configuration evidence, with PCI DSS Requirement 2. Security Hub and Wiz findings are tagged with the compliance requirements they map to, and Prowler compliance mappings are kept on cloud scan results.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; For findings that cite no security control, DefectDojo suggests control mappings for a person to confirm.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Threat Intelligence)&lt;/strong&gt; Findings and the Vulnerability Explorer show source ratings from the signed threat-intel bundle, and the finding&amp;rsquo;s evidence chip shows the date a CVE was added to CISA KEV.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Cloud resources are listed under Attack Surface.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Licensing)&lt;/strong&gt; View and delete the legacy endpoints that still count toward your license after the move to Locations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Air-Gapped)&lt;/strong&gt; The Airgapped instance flag, or the new &lt;code&gt;DD_AIRGAPPED&lt;/code&gt; setting, now stops every default outbound call: the version check, external tools, announcements, threat intel, and diagnostics.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deprecations)&lt;/strong&gt; Each deprecation is declared once, with its release calendar, and shown on every surface where it applies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; Tables show when their columns or filters have unsaved changes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Navigation)&lt;/strong&gt; Pinned sidebar entries are prefixed with their parent group.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; DefectDojo asks before copying, duplicating, or moving a record.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Security Hub ECR repository tags become asset tags for resource grouping.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(MCP)&lt;/strong&gt; The MCP server can render DefectDojo results as MCP Apps views.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; &lt;code&gt;locations&lt;/code&gt; is advertised as a prefetch option on findings and products.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; Pages work better on narrow screens and phones: detail page headers wrap, dialogs stay inside the viewport, the Permissions dialog fits, and Home and the connection tiles no longer scroll sideways.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; Labels and copy are reworded and title-cased consistently in all 27 languages, and forms, tables, and dialogs across the UI (including the Command Center, Report Builder, and Sensei pages) share one style.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(SSO)&lt;/strong&gt; When an identity provider&amp;rsquo;s certificate cannot be verified, sign-in shows an actionable message, and Validate Config names the CA bundle it checked against.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Performance)&lt;/strong&gt; Removed per-row queries from the tests, endpoints, locations, assets, engagements, and findings lists and from findings exports. Reimport closes old findings in bulk and looks up only the endpoints a report can match, the endpoint meta import is batched, notification cost stays flat as recipients grow, and prioritization rescores a product in a worker after import.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Login)&lt;/strong&gt; A failed SSO sign-in no longer loops on the auto-redirect, and the login page reports a login service that returns an unexpected response.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Finding tags sent by connectors are saved, &lt;code&gt;nb_occurrences&lt;/code&gt; maps onto the finding, a corrupt gzip chunk returns 400 instead of 500, and moved assets&amp;rsquo; records are no longer marked stale when their original organization is deleted. Discover and Sync say why a run was refused and refresh the records when it ends, and Push to Connector says whether anything was sent. Downstream connector controls follow Integration permissions instead of requiring a superuser.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Cyberwatch authenticates with HTTP basic auth, Cycode streams violation pages, and Snyk treats a missing &lt;code&gt;links&lt;/code&gt; object as the end of pagination.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; Security Hub connector findings match on their finding ARN, and the same CVE in two container images stays two findings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(VEX)&lt;/strong&gt; The asset VEX export never applies one host&amp;rsquo;s &lt;code&gt;not_affected&lt;/code&gt; to another host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Fixes that cannot succeed are refused up front, patch-mismatch evidence is kept, only fixable candidates are staged, and spend is recorded on failed fixes. Sensei targets refresh after a status sync, and Scan History is back.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; Import no longer overwrites a report&amp;rsquo;s scan date, and misleading import and reimport fields are corrected. A scan with a missing request or response in a request/response pair imports, and an orphaned location reference returns 400 instead of 500.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Parsers)&lt;/strong&gt; SonarQube REST API imports store the issue key as &lt;code&gt;unique_id_from_tool&lt;/code&gt;, and Qualys WAS honors the &lt;code&gt;QUALYS_WAS_WEAKNESS_IS_VULN&lt;/code&gt; and &lt;code&gt;QUALYS_WAS_UNIQUE_ID&lt;/code&gt; settings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Risk Acceptance)&lt;/strong&gt; The default expiration date applies to every new risk acceptance, the forms offer the engagement&amp;rsquo;s findings, and accepting risk stays fast on tables without statistics.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; The SLA of a finding due today is shown, and creating a finding group no longer returns 500 for non-superusers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; Organization users can open Generated Reports, report toasts link to the report, and a failed report shows why.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; New rules start disabled and Run Now runs them, and a rule with a disabled schedule says so instead of showing a next run.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Old Endpoint links redirect instead of returning 404.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Notifications)&lt;/strong&gt; Notification and Quick Action links point at pages that exist.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Permissions)&lt;/strong&gt; A refused member add shows the server&amp;rsquo;s reason, and the Owner role is offered only to users who can grant it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Settings)&lt;/strong&gt; The default group can be cleared, and Tool Configurations keep stored credentials when they are left blank on edit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; The SonarQube issue and transition endpoints are served from the right viewsets, and the API v2 Token page shows a refusal once and has a corrected Python sample.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Threat Intelligence)&lt;/strong&gt; EPSS and receipt links refresh on records whose score did not change.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Licensing)&lt;/strong&gt; A license date without a timezone is read as UTC instead of failing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; Actions the server would refuse are hidden, a failure shows one toast, PSIRT toasts no longer show error codes, the Regulatory Scope severity counts show in every language, and the Command Center respects reduced motion.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Security fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Authentication)&lt;/strong&gt; API token settings apply to API v3 token auth, HTTP Basic auth on the API follows the token endpoint&amp;rsquo;s account rules, the login rate limiter and account lockout are adjusted, account-recovery emails are limited per address, the report cover page requires a login, and changing a JIRA instance URL requires its password.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Authorization)&lt;/strong&gt; Object permissions are enforced on the questionnaire answer view, the API v3 import permission check, &lt;code&gt;delete_preview&lt;/code&gt; on configuration viewsets, notification recipients, Issue Tracker Assignments, and report selectors and endpoint counts for shared locations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Hardening)&lt;/strong&gt; The upload file type check covers parser-supplied attachments, three parser regular expressions are bounded, new system checks flag settings left at their shipped values, and the FIPS images apply Debian security updates.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Upgrade notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Compose)&lt;/strong&gt; The separate-db and containerized-db bundles now require per-install values for &lt;code&gt;DD_ORCH_SECRET&lt;/code&gt; and &lt;code&gt;DD_SENSEI_SHARED_SECRET&lt;/code&gt;. A current &lt;code&gt;dojo-compose-cli&lt;/code&gt; generates both. The bundles also ship upgrade notes that &lt;code&gt;dojo-compose-cli&lt;/code&gt; checks before an upgrade, and the first admin&amp;rsquo;s email is read from &lt;code&gt;DD_ADMIN_MAIL&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; uWSGI now uses harakiri to recycle wedged workers, configurable with &lt;code&gt;DD_UWSGI_HARAKIRI&lt;/code&gt; (Compose) or per uWSGI pool (Helm).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; A forward proxy and a private CA are honored by every container, &lt;code&gt;NO_PROXY&lt;/code&gt; has built-in defaults, and &lt;code&gt;/api/v2/health_check/light/&lt;/code&gt; answers 503 instead of 400 when it fails. Self-hosted defaults for diagnostics, the portal secret, and initializer exit codes are corrected.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Helm)&lt;/strong&gt; New values: an opt-in &lt;code&gt;dojo.migrationCheck&lt;/code&gt; gate that holds pods until migrations finish, &lt;code&gt;license.existingSecretKey&lt;/code&gt;, &lt;code&gt;ddorch.tls.existingSecret&lt;/code&gt; for GitOps and cert-manager, and GKE &lt;code&gt;django.service.loadBalancerSourceRanges&lt;/code&gt;, SSL policy, and Cloud Armor settings. The values templates ship inside the chart, and the OCI chart is the documented install source.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Helm)&lt;/strong&gt; The ddorch TLS private key is stored in a Secret instead of a ConfigMap, the webhook gateway has its own trust anchor, the mirror, proxy, and CA settings reach every workload, django pods roll without load-balancer errors, and &lt;code&gt;helm upgrade --reuse-values&lt;/code&gt; from 3.3.x renders.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>October 5, 2026: v3.4.0</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-5-2026-v340</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#october-5-2026-v340</guid><pubDate>Mon, 05 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; Webhook receivers let Jira and other tools send changes back to DefectDojo, and the Jira Downstream Connector gains two-way sync and Push Notes as Comments.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; AI steps: three new nodes in an AI section of the palette (Check for False Positive, Assess Exploitability, and Group by Fix) ask Sensei one fixed question about the findings that reach them and route each finding out of a named exit, so the AI proposes and a person decides.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; Asset actions gain computed destinations (set the organization, parent, or SLA configuration from a tag, attribute, or connector field with a mapping), connector record attributes are available in the asset envelope, and a new Add Membership node replaces the admin-only membership rules.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sandbox)&lt;/strong&gt; Sandbox Mode: a practice copy of DefectDojo Pro under &lt;code&gt;/sandbox/&lt;/code&gt;, on its own database and preloaded with sample data, with Reset and Wipe for superusers. Nothing done in the sandbox reaches production. Self-hosted instances turn it on with &lt;code&gt;DD_SANDBOX_ENABLED&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Support)&lt;/strong&gt; The new Support section in Settings searches the docs first, then lets you file feature, connector, bug, and feedback requests and vote on a public community board. It replaces the Contact Support menu entries and pages; old bookmarks redirect.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Remediation Center)&lt;/strong&gt; A new beta module (feature flag &lt;code&gt;remediation_center&lt;/code&gt;, off by default) that makes the remediation action the unit of work: open findings are grouped by the change that resolves them, one action per change per place, each with a due date, risk, owner, workflow status, and the findings it will close.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(AI Inventory)&lt;/strong&gt; A beta AI inventory (feature flag &lt;code&gt;ai_inventory&lt;/code&gt;, off by default, requires Locations): every scanned repository gets an inventory of its coding assistants, MCP servers, models, AI packages, AI service endpoints, agent skills, and provider keys. Governance policies mark each as authorized, unauthorized, or needs review, unauthorized components become findings, and each Asset exports a CycloneDX 1.6 AIBOM. The DefectDojo scanner detects the AI in a repository and uploads it as a CycloneDX inventory.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; A Needs Attention inbox under Assets lists assets still sitting in a connector&amp;rsquo;s default organization or missing the fields that priority and SLA run on, a What Drives Priority and SLA card appears on the asset page, and onboarding is complete when the inbox reads zero.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; Hierarchy change plans: bulk or AI-made reorganizations become a server-side plan with a dry-run diff that you review, apply as one change, and undo if needed. Plans can be built from JSON or a CSV upload.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; New Microsoft Azure and Google Cloud asset connectors, and a new Kenna Security (Cisco Vulnerability Management) connector.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; AWS Security Hub gains configurable asset grouping (by resource type or resource) with hierarchy parents, account parent records, OU and account-tag placement, AWS tags, and re-placing of existing assets. The same grouping and placement ladder comes to Microsoft Defender for Cloud, Prowler, Google Cloud SCC, and Lacework.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Re-mapping an already-mapped record to a different asset now moves its findings to the new asset by default, or closes them, instead of leaving them open and importing a duplicate set.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; Move or copy findings to another test, singly or in bulk.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; The finding tables gain an Exception Requested column and filter for findings sitting in a risk acceptance nobody has decided yet.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Correlation)&lt;/strong&gt; Fix with Sensei on Root Causes: the Root Cause dialog&amp;rsquo;s member table carries the Sensei column, so you can launch a fix for each finding in the cluster.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; The Location page returns, with the asset-scoped Metadata box, a Custom Fields card, and a Referenced By table of the assets that use the location. Cloud resource identifiers (AWS ARNs, GCP self-links, Azure resource ids) are decomposed into provider, account, region, service, and resource fields.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; Supporting files can be attached to regulatory obligations as evidence.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; Report Builder gains Location per Asset blocks and Asset and Organization name columns.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(PSIRT)&lt;/strong&gt; PSIRT is out of beta, the PSIRT API is available on &lt;code&gt;/api/v2/psirt/*&lt;/code&gt; with token authentication, and the MCP server gains a PSIRT toolset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(i18n)&lt;/strong&gt; Ten more languages: Polish, Ukrainian, Turkish, Indonesian, Filipino, Vietnamese, Thai, Korean, and Chinese (Simplified and Traditional).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; Findings can be ordered by priority.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Upgrade notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; Self-hosted Docker Compose deployments, and Helm deployments with &lt;code&gt;webhookGateway.enabled&lt;/code&gt;, run a new webhook gateway service in front of webhook receivers, with its own schema and database role inside DefectDojo&amp;rsquo;s database. Please see &lt;a href="https://beta-docs.defectdojo.com/releases/pro/webhook-gateway"&gt;additional instructions&lt;/a&gt; for more details.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Helm)&lt;/strong&gt; New chart values: &lt;code&gt;connectors.debug&lt;/code&gt; (default off), &lt;code&gt;connectors.vendorEgress&lt;/code&gt; (private-network blocking and allowed or denied CIDRs, default off), &lt;code&gt;dojo.obligationAttachmentMaxBytes&lt;/code&gt; (default 10 MB), and a &lt;code&gt;sandbox&lt;/code&gt; values block for Sandbox Mode. The Go service&amp;rsquo;s internal routes are kept off nginx and its rate-limit toggles are split. The dd-orch workers and integrators mount only the dd-orch root CA, and the django readiness probe now has to reach a uwsgi worker.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; The &lt;code&gt;pro.0001&lt;/code&gt; migration streams and bulk-creates its enhanced finding rows, so the first upgrade on a large instance completes in bounded memory.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>September 28, 2026: v3.3.300</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#september-28-2026-v33300</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#september-28-2026-v33300</guid><pubDate>Mon, 28 Sep 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(i18n)&lt;/strong&gt; The Pro UI is now multilingual, with 27 languages available including German, Japanese, French, Italian, Spanish, Dutch, Portuguese (Brazil), Russian, Hindi, Bengali, Marathi, Tamil, Telugu, Hebrew, Arabic, Persian, and Urdu. A new setting lets you choose the interface language.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Appearance)&lt;/strong&gt; DefectDojo&amp;rsquo;s 2026 rebrand ships with a new logo and brand colors, plus an Appearance page with theme presets and a color customizer.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; The Report Builder can export to CSV, Excel, and JSON. Reports gain template variables and per-finding / per-asset Triage Engine reports, and a new &lt;code&gt;/api/v2/report_schedules/&lt;/code&gt; endpoint schedules report generation. Generated reports also expose a plain-text sidecar and content endpoint.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Code to Cloud Locations arrive: container-image and connector-populated cloud-resource inventories, an image-to-repository link, suggested &lt;code&gt;deploys_to&lt;/code&gt; edges, and typed location items. Harbor and Trivy Operator connectors emit inventories, and the scanned image or resource is recorded on every finding.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; Exploit Maturity and Reachability are now manually editable, and Priority, Risk, and Risk Score are added to every findings export.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; The column picker gains select all / deselect all, and lazy list filters gain &amp;ldquo;select all matching.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(MFA)&lt;/strong&gt; Superusers can reset another user&amp;rsquo;s MFA.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(MCP)&lt;/strong&gt; The MCP server adds a Dashboards 2.0 toolset and dashboard support, and the reporting toolset is now customer-visible.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(SLA)&lt;/strong&gt; Two-stage regulatory deadlines for vulnerability response.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Risk Acceptance)&lt;/strong&gt; Filter the risk-acceptance list by host, and see the hosts an acceptance covers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; The GitLab connector gains an Exclude Archived Projects toggle for project discovery.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Dashboards)&lt;/strong&gt; The Command Center scene is refined with a dot grid, softer beams, a risk-colored actionable ring, and an automation bar. Dashboards 2.0 layouts add audit history, ETag / If-Match concurrency, and a widget-config JSON Schema.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Vulnerability Explorer)&lt;/strong&gt; Multi-value filters, null-last multi-column sorting, and a filter for every column.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; Numeric, score, and date columns sort descending first, with blanks last.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Sensei and AI Agent Red Teaming reach general availability (the BETA badge and the &lt;code&gt;agent_redteam&lt;/code&gt; feature flag are removed), and the Advisor&amp;rsquo;s cross-tool estimate now simulates dedupe within Dedupe Pool scope.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Each connector sync is metered with a single usage record, and NowSecure includes the app group in the product name.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Performance)&lt;/strong&gt; Audit-log Changes filters search the stored row JSON and count in the page query; report block filter tables load only when filters are added; and the nightly enrichment fan-out no longer depends on a shared connection.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Fixes across Aqua (token-exchange redirect handling and server-side branch discovery), Snyk (org enumeration and access validation via the REST API, and no longer fetching SCA issues from both the v1 and REST APIs), Cycode (pagination parameters), NowSecure (assessment-status decoding), and YesWeHack (endpoints built from the report scope). A sync that started under the license is allowed to finish before it blocks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; Bulk Edit keeps its popover open while picking a dropdown option and no longer clips the Risk Acceptance list, and filters no longer leak between the findings status pages.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; The Report Builder block modal recovers when field options fail to load, a duplicated report block preserves its chart date range and truncates the copy name, and report templates no longer try to load scripts nginx does not serve.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Parsers)&lt;/strong&gt; Crash fixes in the Aqua and Snyk parsers for None-field concatenation, and Generic Findings Import correctly reads CSV KEV/fix booleans, &lt;code&gt;CVSSV3_score&lt;/code&gt;, and empty cells.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; Matching Configuration loads every row when the server caps page size, and the duplicate-finding self-FK is row-locked so import dedup and duplicate deletion no longer fail at commit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; Reimport with &lt;code&gt;group_by&lt;/code&gt; no longer 500s on duplicate same-name finding groups, and scheme-less connector endpoints store their host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; The hierarchy link and gear no longer act on an unloaded asset, and the Asset/Location relationship is shown and editable on the dependency map.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(SLA)&lt;/strong&gt; SLA configurations governed by a deleted response policy are re-swept.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Permissions)&lt;/strong&gt; The permission cache is busted correctly on Pro membership, role, and group-member writes and on reassign-deletes, and user and group deletes no longer fail in the permission-cache receivers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(JIRA)&lt;/strong&gt; Select-list custom-field values are wrapped correctly, the authorized project queryset is ordered by id, and empty credentials no longer garble debug dumps.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(SSO/SCIM)&lt;/strong&gt; SAML keeps an uploaded metadata file across later saves, and SCIM routes mount under the configured URL prefix.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; The OS banner message decodes as UTF-8 and restores its list and paragraph styles, and filter-menu controls render in flow so Clear/Apply stays reachable.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Security fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Authorization)&lt;/strong&gt; Hardened authorization on the audit history page, the merge-finding action aligned with the object-level permission check, Location relation filters scoped to the caller&amp;rsquo;s products, and cross-organization asset-hierarchy edges refused on every write path.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Secrets)&lt;/strong&gt; Stored settings credentials are masked in the audit log, saved SSO, OIDC, and email secrets are no longer sent to the settings pages, and the stored LDAP bind password is reused only for the saved server and Bind DN.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(MFA)&lt;/strong&gt; TOTP codes are single-use, recovery codes use a CSPRNG, and MFA is enforced on the Vue API for session logins.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; The engine and CI endpoints are scoped to the caller&amp;rsquo;s objects, the LLM key is kept on its own endpoint with Vertex host validation and untrusted-prompt fencing, and only repository writers can trigger &lt;code&gt;/fix&lt;/code&gt; from a comment.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Behavior changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; The Tenable Scan &lt;code&gt;hash_code&lt;/code&gt; fields no longer include the description, changing how those findings deduplicate.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Upgrade notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Logging)&lt;/strong&gt; The default logging handler is now &lt;code&gt;gcp_json&lt;/code&gt;, and nginx logs carry a severity.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; Back up both databases before upgrading; a restore runbook is now linked from the on-prem docs.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>September 22, 2026: v3.3.200</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#september-22-2026-v33200</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#september-22-2026-v33200</guid><pubDate>Tue, 22 Sep 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; New regulatory scope foundation with an EU-seeded profile, plus EU regulatory control catalogs, EU regulatory assessments, and exportable EU evidence packs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; PCI DSS compliance pack: scope and scope inventory, patch-clock SLAs (6.3.3), targeted risk analyses (12.3.1), quarterly scan and ASV evidence, a vulnerability-management control catalog, and a PCI DSS evidence workbook.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; FDA cyber device packs: component support metadata, lifecycle metrics, SBOM export, and the Section 524B cyber device evidence pack.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; CRA Article 14 reporting interface.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; Certification control catalogs for ISO 27001, SOC 2, and NIS2, with a cross-framework evidence view.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; Framework presets for UK Cyber Essentials and the Australian Essential Eight.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(SLA)&lt;/strong&gt; Versioned vulnerability response policies, with a response-clock evaluation and incident escalation, plus a vulnerability response evidence API and export.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Dynamic Scanning (DAST): configure targets, verify ownership, launch scans, and meter usage for billing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; AI Agent Red Teaming, a new Sensei capability and engine mode for red-teaming AI agents.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Schedule hosted repository scans with attributed credentials, and track scan frequency with exportable cadence attestations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Tier Advisor projects your annual processing volume and recommends a tier.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Dashboards)&lt;/strong&gt; The Command Center dashboard scene, now the home page for every user.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(PSIRT)&lt;/strong&gt; CSAF 2.0 / VEX advisory export, backported to the 3.3.x line.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; EPSS and CISA KEV threat-intelligence fields are editable on the Add/Edit Finding form.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; Import-completion triggers, one per scan and one per group of scans.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Container scanners now emit the scanned image as an Image location.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Licensing)&lt;/strong&gt; New endpoint-status and location-finding audit pages, plus a location-metering health metric.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Aqua Supply Chain imports non-default branches via per-branch scan ids, and enriches Supply Chain findings with reachability verdicts and friendly category tags.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Microsoft Defender adds a device-group import allowlist.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Azure DevOps applies your custom field mappings to work items.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; The finding SLA row now shows the SLA expiration date.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Aqua warns when a configured branch imports nothing beyond the defaults, and a branched sync tags the default-branch engagement.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; Report chart blocks gain a Date Range window, and the Widget-block picker is populated.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Celery)&lt;/strong&gt; A finished task reports its peak memory when it nears the guard limit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Performance)&lt;/strong&gt; EPSS enrichment gates changes at display precision and streams the nightly projection; the Location Map authorizes once per request and counts root groups correctly; product-grade recalculation is debounced per product.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Fixes for slow validates (a WriteTimeout raised above the Django wait to stop TLS desync), Cycode auth split across its two hosts, a slow GitLab config save, NowSecure assessment-list 400s with surfaced HTTP errors, finding correlation on chunked syncs, single-label hosts in a Location URL, and Qualys finding title and vuln id aligned with the OSS parser.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; Matching Configuration lists every test type.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; Rule-graph nodes saved without positions are laid out, and v1 float conditions carry EPSS-precision decimals.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; A report keeps rendering when a saved column was renamed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; The POA&amp;amp;M sync no longer walks whole products on instances without a compliance profile.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Bulk-update popovers stay open while picking a status, and the created_at/updated_at and location_type/location_value API filters resolve correctly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; Scan retention is bounded so a large backlog cannot exceed the hard time limit, a scan import over the upload limit returns a clear 400, and a missing uploaded file returns 404 instead of 500.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Security)&lt;/strong&gt; Engineer metrics, and classic search and endpoint report reads of shared location tags, are scoped to the requester&amp;rsquo;s authorized findings; the API token follows the forced-password-reset state; the classic confirm dialogs harden text rendering.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; The v3 notes list and the auto-create import permission check route through the shared helpers, and go-api auth errors carry the DRF error code.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Parsers)&lt;/strong&gt; Nuclei deduplicates protocol-less URLs, govulncheck tolerates OSV entries without aliases, and crash bugs are fixed in the KICS, AppSpider, KubeHunter, Terrascan, TFSec, and ZAP parsers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; Finding-group list visibility is fixed for product members, and finding-group members stay inside the group&amp;rsquo;s test.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(i18n)&lt;/strong&gt; Dropped stray Russian text from the English &amp;ldquo;Search&amp;rdquo; strings.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Behavior changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Triage Engine)&lt;/strong&gt; Rules Engine 2.0 is renamed Triage Engine across the UI.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Upgrade notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(PSIRT)&lt;/strong&gt; The retired PSIRT 1.0 Advisory Engine sidecar is removed from the deployment and release verification. PSIRT 1.0 was removed in 3.3.0; migrate any remaining sidecar data with &lt;code&gt;psirt_import_legacy&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; A new &lt;code&gt;DD_V3_ASSET_VERSIONS&lt;/code&gt; chart value and compose environment variable enables per-source asset versions.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>September 14, 2026: v3.3.100</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#september-14-2026-v33100</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#september-14-2026-v33100</guid><pubDate>Mon, 14 Sep 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; Added Dedupe Pools: group the Assets that should deduplicate against each other, choose where their originals collect, preview what a membership change would link, and re-run deduplication over the Findings already in scope with Apply Now.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; The three deduplication tuning pages are now one Matching Configuration page: every tool listed once, with its same-tool, cross-tool and reimport matching side by side, and every change previewed before it is saved.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; New Palo Alto Cortex connector family, covering XDR, XSIAM, XSOAR, and Cloud.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Connector sync and discovery frequency is now configurable (6, 12, or 24 hours), with schedule times shown in your browser&amp;rsquo;s local time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Dashboards)&lt;/strong&gt; Collaborative shared dashboard layouts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Editor)&lt;/strong&gt; The markdown editor now stores images you paste or drop into any markdown field.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Google Vertex AI is available as an on-prem LLM provider.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Keyless and delegated cloud authentication for Prowler scans and Sensei CSPM, using cloud federation or Connect DefectDojo Cloud.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; Dashboards 2.0 widgets can now be reused as Report Builder blocks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Rules Engine 2.0)&lt;/strong&gt; Date condition fields support relative-date operators.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Federal)&lt;/strong&gt; FedRAMP VDR, PAIN, and KEV-cap SLA fields are exposed in the Pro UI and REST API.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Qualys)&lt;/strong&gt; Opt-in endpoint creation from host identity.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Dashboards)&lt;/strong&gt; Duplicate a dashboard tile from its edit-mode chrome.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; The Aqua Supply Chain Branch field accepts a comma-separated list and gains a per-branch deduplication toggle, and its placeholders now show the real default.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(SSO)&lt;/strong&gt; Auth settings show callback and ACS URLs inline, with richer help text and corrected field labels.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; The Threat Modeling and Advisor pages show the licensed per-run quotas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; JFrog scopes each nested child image to its own latest build; Dependency-Track paginates project findings so large projects aren&amp;rsquo;t truncated; YesWeHack maps every workflow state and falls back to the CVSS score for severity; GitHub Advanced Security 403 and 404 responses are treated as feature-disabled rather than token errors; a tool-reported finding status now survives a sync; and KEV/EPSS enrichment staging is isolated per connection to avoid concurrent-run collisions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; You can now request a review from yourself.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Rules Engine)&lt;/strong&gt; &amp;ldquo;Clear Filters&amp;rdquo; now clears a rule&amp;rsquo;s saved filters.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(SSO)&lt;/strong&gt; Unconfigured social-login backends return you to the login form instead of a 500.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; Each personnel picker gets its own users list.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; A stored inactive contact stays readable, a new contact can no longer be assigned to an inactive user, and the finding API&amp;rsquo;s SonarQube issue relation is read-only.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Dashboards)&lt;/strong&gt; The Top Root Causes widget is registered and receives its configuration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; GitHub App creation opens in a new tab, and the Targets &amp;ldquo;Last Scan&amp;rdquo; value aligns with the scan-run ledger while the Scan-now dialog stays responsive.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; Table columns size to fit their headers so filter and sort controls stay reachable, and the Upstream menu item is a plain link while Field Mappings is unreleased.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Questionnaires)&lt;/strong&gt; Corrected the share note on the general questionnaire list.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(JIRA)&lt;/strong&gt; Corrected the exception class the webhook lookups catch.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; Removed a duplicate vulnerability reference prefetch in the finding report.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Parsers)&lt;/strong&gt; bundler-audit resets advisory fields so warnings can&amp;rsquo;t inherit stale values.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; The endpoint rehash runs once per tool instead of once per finding.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Behavior changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; False-positive history now follows deduplication scope. A Finding is compared against the Assets it deduplicates with, so an Engagement that deduplicates within itself only replicates false positives inside that Engagement. An Asset in a Dedupe Pool replicates its false positives across the pool for same-tool matching. Instances using false-positive history across such Engagements see narrower replication than before. A pool may span Organizations, and both effects follow the pool: a duplicate mark or a replicated false positive originating in one Organization can change a Finding in another Organization that shares the pool.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; For an Asset in a Dedupe Pool, Global Component, Global Vulnerability ID and Global Locations matching is bounded to the pool rather than the whole instance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; The three deduplication pages move off the Tuner permissions onto four Dedupe Pool permissions (view, add, edit, delete). Roles that held the Tuner permissions are carried over for those pages: Tuner edit maps to all four, Tuner view to view only. The Tuner permissions themselves are unchanged and still gate the other 14 Tuner sections (SSO, LDAP, SCIM, email, MFA and the rest).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Rules)&lt;/strong&gt; A new asset rule action, Assign to Dedupe Pool, pools an Asset or removes the rows a rule created; it never moves an Asset another pool holds, and the rule owner needs the Dedupe Pool edit permission.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; The Asset page gains a Dedupe Pool panel showing which pool the Asset matches within, per kind, with the pool change, subtree pooling and untoggle available in place.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Audit Log)&lt;/strong&gt; Dedupe pools, their memberships and the per-tool matching rows are tracked in the audit log.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Upgrade notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; Pods may roll in either order relative to the migration. The upgrade copies the deduplication tuning into per-tool matching rows and retires the old tuning fields from the application, but leaves their columns in the database for this release. A pod still on the previous image keeps reading and writing those columns and behaves exactly as before until it is rolled; a pod on the new image reaches a database that has not migrated yet and matches without pools, reading the old tuning where it needs to, until the migration lands. The columns are removed by a later release, once no pod on the previous image can exist. Hold imports across the roll if you want no import to straddle the changeover; nothing fails if you do not.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; The migration is reversible. Rolling back to the previous node drops the new pool tables and restores the previous release&amp;rsquo;s view of the settings; the tuning columns never left. Take a database backup before upgrading anyway, as ordinary upgrade hygiene.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; The matching rows the upgrade seeds carry no audit log entry: the migration writes them before it installs their audit triggers. Audit history for Matching Configuration starts with the first change made after the upgrade; the seeded state itself is what the Tuner held, and is not recorded as an event.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; The first nightly identity check after the upgrade may send a system notification saying the cross-tool identity changed for some tools. Those tools had cross-tool hash fields configured but no algorithm; the previous release treated that as Hash code, and the upgrade records Hash code explicitly, so the identity definition moved while the stored hashes did not. The rehash the notification suggests (&lt;code&gt;manage.py identity_drift --kind cross_tool --rehash&lt;/code&gt;) is safe, recomputes the same values, and records the new baseline so the notice does not repeat.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deployment)&lt;/strong&gt; A new &lt;code&gt;DD_V3_ASSET_ALIASES&lt;/code&gt; chart value and compose environment variable enable per-source asset aliases; Sensei CSPM adds keyless and delegated cloud-auth boot gates.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>September 9, 2026: v3.3.0</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#september-9-2026-v330</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#september-9-2026-v330</guid><pubDate>Wed, 09 Sep 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Correlation)&lt;/strong&gt; Cross-domain finding correlation groups related findings into shared root causes. A finding&amp;rsquo;s page now lists its root causes, root-cause blast radius feeds finding prioritization, and a new Top Root Causes dashboard widget plus a Product breakdown show where risk concentrates. Root causes cover CVE, component, resource, and endpoint types, hide CVE causes a component already covers, and are readable through a public read-only Root Cause API.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(PSIRT)&lt;/strong&gt; PSIRT 2.0 is folded natively into DefectDojo Pro: native advisory feeds and a catalog, feed rules and rule templates, advisory-to-case conversion, and a dedicated PSIRT permission so an analyst does not need global maintainer.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Risk Acceptance)&lt;/strong&gt; Risk Acceptances 2.0 adds a reviewable lifecycle with a pending-review queue and a durable ledger. You can also choose to restore a finding to Verified when its risk acceptance expires.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; A rebuilt asset model adds asset versions with BOM snapshots and per-version SBOM/VEX export, per-source identity and aliases so connectors resolve assets by the vendor&amp;rsquo;s id, typed asset kinds, typed relationship edges that distinguish direct from indirect vulnerabilities, and asset exposure and deployment context (including live reachability probing and business-criticality sync from the CMDB).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Organizations)&lt;/strong&gt; Organizations can now be non-exclusive: an asset can belong to multiple organizations with union-of-grants RBAC, membership-aware organization filters on the asset and finding lists, and roles that can be granted across an entire organization type.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Dashboards)&lt;/strong&gt; Dashboards 2.0 expands into the DefectDojo Command Center, with a published security-posture score.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Endpoints continue their move to Locations: asset connectors can emit standalone location inventory, and a new Location Map draws an asset&amp;rsquo;s locations as derived trees per location type.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Navigation)&lt;/strong&gt; Menu 2.0 now covers the whole sidebar, including a Sensei + AI section, a full-height sidebar rail with pinned pages, and server-backed shell preferences.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Added Sensei Advisor, which recommends settings changes and offers one-click fixes for mechanical deduplication-hygiene issues, with per-run license quotas for threat modeling and Advisor. The Sensei engine now ships in the on-prem compose bundles.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; New Rapid7 InsightVM - Cloud Instance and Aqua Supply Chain connectors, plus a Wiz option to import Issues only. Connectors gain customer-defined field mappings (versioned and identity-safe, per scan type), a connector registry the UI reads from, per-record sync checkpoints so an interrupted sync resumes, and health notifications when a connector stops working or authenticates but sees no data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Universal Parser)&lt;/strong&gt; Universal Parser field mappings can now be edited from a dedicated screen, with an impact warning attached.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; Added DISA STIG checklist import (.ckl/.cklb) with a CCI to NIST 800-53 crosswalk.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Exporters)&lt;/strong&gt; Added a CycloneDX/SPDX SBOM and CycloneDX VEX export API, and the Pro UI now accepts .spdx files on import.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; Added API v3 (alpha) at &lt;code&gt;/api/v3-alpha/&lt;/code&gt; with slim references, expansion, RBAC sub-resources, and the Pro importer. Custom Fields are now available on the token-authenticated &lt;code&gt;/api/v2&lt;/code&gt; API.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Federal)&lt;/strong&gt; Added FIPS 140-3 image support (FedRAMP SC-13), PAIN-keyed FedRAMP VDR remediation deadlines, and a FedRAMP prioritization preset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Rules Engine 2.0)&lt;/strong&gt; Rules can now trigger on scan absence, draw from a rule-template gallery, assign an SLA configuration or Risk Priority to assets, and condition on exploit evidence, reachability, and asset exposure.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; Added a Location Count field on every entity and reorderable block fields in the Report Builder.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; Added checkbox bulk edit on the asset list (organization, SLA, engine, tags) and customer-editable platform, lifecycle, and origin dropdowns.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Integrations)&lt;/strong&gt; The Freshservice integration can push findings as ITIL Incidents or Problems per mapping, and MCP finding tools gained tag filtering.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Audit Log)&lt;/strong&gt; System Settings changes are now recorded in the audit log.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; The JFrog, Tenable.io WAS, and Tenable VM connectors now stream findings per page instead of holding a whole sync in memory, and connectors report data-visibility warnings at config-test time. The Location URL is pre-filled for single-host tools.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; A first pass of accessibility and readability foundations: a visible focus ring, AA-contrast muted text, a System theme option, comfortable reading line-height, and shared type tokens. Toggleable panels now expand from a click anywhere on the header, and locked dropdowns gained a copy button.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; Finding identity is now recorded in a signature ledger, versioned and bridged across formula changes, with a scheduled drift check that reports what moved; reimport can match on identity signatures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Notifications)&lt;/strong&gt; Notifications now fan out to every organization an asset belongs to.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; Report charts export as PNG so labels survive PDF rendering.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; Import and reimport bulk-create new findings, reducing per-finding overhead on large scans.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Wiz now imports findings from tenants that use no Projects, the Microsoft Defender connector no longer fails a good sync during spool cleanup, and connector product descriptions are capped at the column limit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Licensing)&lt;/strong&gt; A usage block now answers with 402 rather than a throttle status, and license enforcement no longer blocks authentication.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; Scan severities are accepted case-insensitively, &lt;code&gt;.spdx&lt;/code&gt; files are accepted for import, concurrent imports no longer race on scan-directory creation, and edited tests keep their scan type so reimport matching survives.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Parsers)&lt;/strong&gt; Fortify now marks only suppressed FPR findings as false positive, Anchore Grype parses the CISA KEV date, and Xeol and Checkmarx One finding identity is deterministic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; The Components list no longer renders an empty body while its paginator counts every row, ECharts resolves theme tokens to concrete colors, and the New Issue Tracker Assignment dialog no longer closes when going full-screen.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Notable changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; The classic Bootstrap UI and the classic report engine have been retired; Menu 2.0 and the Pro Vue UI are now standard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Operations)&lt;/strong&gt; The maintenance window feature has been removed.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>August 31, 2026: v3.2.400</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#august-31-2026-v32400</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#august-31-2026-v32400</guid><pubDate>Mon, 31 Aug 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Added a generic fix flow: you can now associate a repository with a finding inline, and a gap-closing wizard walks you through anything else Sensei needs before it can generate a fix. Finding file paths are also resolved against the repository tree before the fix is generated, so fixes land in the right file.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Scan-and-fix now includes a scanner for AI agent skills (Skillspector).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Engagements)&lt;/strong&gt; Added engagement checklists to the Pro UI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Rules Engine 2.0)&lt;/strong&gt; Rules can now be conditioned on KEV (Known Exploited Vulnerabilities) listing and exploit evidence.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Navigation)&lt;/strong&gt; Added a searchable menu palette over the sidebar, opened with Cmd/Ctrl+K.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Correlation)&lt;/strong&gt; The Root Cause view now has a Root Cause Organization column, asset and organization filters, and per-organization drill-in.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Exporters)&lt;/strong&gt; The UI SBOM export now offers SPDX alongside CycloneDX.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Custom Fields)&lt;/strong&gt; Custom fields now render on the entity create and edit forms, and are configured like any other form field.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; The Wiz, Microsoft Defender for Cloud, and CrowdStrike connectors now stream findings page by page rather than holding a whole sync in memory, so large syncs are faster and lighter.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>August 24, 2026: v3.2.300</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#august-24-2026-v32300</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#august-24-2026-v32300</guid><pubDate>Mon, 24 Aug 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Custom Fields)&lt;/strong&gt; Added typed Custom Fields: define your own fields across seven datatypes and attach them to six entity types. Custom field values are tracked in the audit log, and Rules Engine 2.0 rules can read and write them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Rules Engine 2.0)&lt;/strong&gt; Rules can now work with Assets end to end, and a new asset provenance widget on the asset page layout shows which rule produced an asset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Asset Hierarchy)&lt;/strong&gt; Rebuilt the Asset Hierarchy page on the Rules Engine 2.0 editor shell.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; The GitHub Advanced Security connector can now import repository issues as a fourth finding family, under the new &lt;strong&gt;GitHub: Issues&lt;/strong&gt; scan type. Pre-existing mappings are backfilled with the new subtype automatically.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; The OpenVAS / Greenbone connector now supports GMP over SSH as a transport.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; The deduplication identity ledger is now enabled by default.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; The Action1 connector now consolidates findings per organization, with machines recorded as endpoints, and each connector tile now counts only actively syncing records as mapped and surfaces unmapped records directly on the tile.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; The component and code backfills now run in batches, and stale-run reaping was moved off the poll, making the data-migration suite faster and lighter.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Operations)&lt;/strong&gt; DefectDojo now reports when a Celery task is routed to a queue that no worker consumes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; The scan-and-fix release image is smaller, with scanner installs split into per-ecosystem layers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(MCP)&lt;/strong&gt; The Pro MCP server now reports its version (with commit hash) via a CLI option.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; The POA&amp;amp;M scheduled completion date is now derived from the finding&amp;rsquo;s SLA.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; The Risk Acceptance name is now offered as a finding report column.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Jira)&lt;/strong&gt; The custom fields JSON limit was raised from 200 to 1000.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>August 18, 2026: v3.2.201</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#august-18-2026-v32201</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#august-18-2026-v32201</guid><pubDate>Tue, 18 Aug 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Page Layouts)&lt;/strong&gt; The Risk Acceptance view page now uses a customizable widget grid, like the other View pages.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Added Amazon Bedrock as an on-prem LLM connection.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; The data-migration suite on the Feature Flags page can now be cancelled while a backfill is running. Cancelling stops the run at the next batch boundary and keeps everything migrated so far, so re-running the item resumes and converges on the same result. A run whose worker is lost is now detected and marked failed on its own, so a stuck suite becomes runnable again instead of blocking every item.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Endpoints)&lt;/strong&gt; Endpoints are now deprecated in favour of Locations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Menu)&lt;/strong&gt; Classic-menu users are now warned that Menu 2.0 becomes the standard in 3.3.0.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(CSPM)&lt;/strong&gt; Cloud Security Posture Management is now gated on the Sensei license rather than a separate feature flag.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; Scan-and-fix scanner parallelism is now configurable, via &lt;code&gt;--max-parallel&lt;/code&gt; / &lt;code&gt;MAX_PARALLEL&lt;/code&gt; (and &lt;code&gt;sensei.maxParallel&lt;/code&gt; in Helm).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Authorization)&lt;/strong&gt; Import and reimport preview targets are now scoped to the caller&amp;rsquo;s permissions, POA&amp;amp;M item findings are validated against the record&amp;rsquo;s own product, and questionnaire expiration and question-set editing are checked against the response route and the questionnaire change permission.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Risk Acceptance)&lt;/strong&gt; A companion-less risk acceptance is now counted correctly, as active and as non-global, when filtering.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; Report graph blocks that no browser captured are now drawn instead of failing silently, and the BETA badge that Menu 2.0 re-added after GA is gone.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Licensing)&lt;/strong&gt; License enforcement no longer blocks authentication.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; The Action1 connector derives severity from the CVSS score when no severity bucket is usable, and a chunked sync now records one Import History row per sync.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; The endpoints-to-locations backfill now reports distinct locations and per-endpoint failures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Dedupe)&lt;/strong&gt; Finding post-processing now retries on a transient DB deadlock.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(UI)&lt;/strong&gt; The Advisor now renders with PrimeVue, and PSIRT and Field Mappings are nested correctly in the legacy sidebar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Threat Model)&lt;/strong&gt; The schema-repair loop no longer deletes the prompt it is repairing.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>August 17, 2026: v3.2.200</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#august-17-2026-v32200</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#august-17-2026-v32200</guid><pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(CSPM)&lt;/strong&gt; Added Cloud Security Posture Management: connect AWS, Azure, and GCP cloud accounts, run posture scans against them, and apply reversible direct remediation to the misconfigurations that are found.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Asset Exposure)&lt;/strong&gt; Added asset exposure reporting from Wiz, Shodan, and Censys, and from CrowdStrike Spotlight (which reports only the exposure it can prove).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Registered the Aikido Security, Jit, and Cycode connectors.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Finding Templates)&lt;/strong&gt; You can now apply a finding template to a Finding, and turn a Finding into a template, directly from the Vue UI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Form Configuration)&lt;/strong&gt; Added admin-controlled Form Configuration for the Vue create and edit forms, so an administrator can decide which fields appear.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Added a DB-backed Locations toggle, with a data-migration suite to move existing data over.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; You can now export the asset and organization inventory as CSV.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; Quick Export now names its output from the current context, and you can apply a report template to an export.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; Added a filterable Review Claimant column to the findings list.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Rules Engine)&lt;/strong&gt; Rules Engine permissions now split into View / Add / Edit / Delete for finer RBAC.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Feature Flags)&lt;/strong&gt; Promoted nine feature flags off the menu, turned five more on by default, and moved Feature Flags out of System into its own settings location.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Layouts)&lt;/strong&gt; Layout customization can now be restricted to admin-designated defaults.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Qualys)&lt;/strong&gt; The Qualys connector now accepts a &lt;strong&gt;Host Tags&lt;/strong&gt; filter that scopes discovery to hosts carrying the Qualys asset tags you name. The filter is sent to Qualys, so out-of-scope hosts are never downloaded. It applies to the detection download as well as the host listing, so a narrowed scope also shortens each Sync. Tag names are matched exactly, because Qualys supports no wildcards on tag names. Leave the field blank to keep discovering every host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(JFrog)&lt;/strong&gt; The JFrog connector now surfaces a pending status.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Jira)&lt;/strong&gt; The Jira connector now accepts service accounts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; The count of Findings a tool submitted is now recorded before deduplication runs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; The finding serializer now exposes a flat &lt;code&gt;test_type_name&lt;/code&gt; field.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(MCP)&lt;/strong&gt; Finding and asset Location retrieval is now consolidated into single REST calls.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Authorization)&lt;/strong&gt; Location data, DojoMeta visibility, and the &lt;code&gt;/api/v2/location/&lt;/code&gt; endpoint are now scoped to the requesting user&amp;rsquo;s products and RBAC rather than superusers only; every routed connector endpoint is named in the permission allow-list; the user edit form authorization was hardened; Tool Configuration credentials are kept out of the edit form; and the private-note visibility rule is now applied in the note UI views.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Export)&lt;/strong&gt; Spreadsheet formulas can no longer execute out of an exported file (CSV/formula injection).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(SSO)&lt;/strong&gt; SAML2 routes now answer 404 when SAML is disabled.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; The Priority filter and override inputs now accept decimal values.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Assets)&lt;/strong&gt; A PATCH without a &lt;code&gt;parent&lt;/code&gt; field no longer orphans the asset, and auto-creating the same asset name concurrently no longer returns a 500.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Importers)&lt;/strong&gt; Bulk finding deletes, tag-count updates, and async cascade deletes now retry on transient DB conflicts and are ordered so concurrent imports and deletes cannot deadlock.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; The Action1 connector tolerates non-numeric sentinels in quoted numeric fields, and the Microsoft Defender connector retries a transient 5xx/429 on a single export page instead of failing the whole export.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Parsers)&lt;/strong&gt; Fixed a Trivy Scan crash from an uninitialized &lt;code&gt;resource_name&lt;/code&gt;, and reset Scout Suite parser state so a report parses to the same findings twice.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Notes)&lt;/strong&gt; A partial note PATCH now keeps the note body and no longer writes a null NoteHistory entry.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; Reports no longer fetch unrenderable columns, report cells are now bounded, and a block&amp;rsquo;s Order By is applied through the filterset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables &amp;amp; UI)&lt;/strong&gt; Clipped table cell text now wraps, the empty band below short pages is gone, the viewport row cap no longer oscillates and stalls a table, and the severity bar chart is positioned correctly in the open findings chart.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Page Grid)&lt;/strong&gt; A widget&amp;rsquo;s Title and Icon now follow its Records choice.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Jira)&lt;/strong&gt; Fixed the Jira migration.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>August 10, 2026: v3.2.100</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#august-10-2026-v32100</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#august-10-2026-v32100</guid><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;&lt;strong&gt;NOTE: The classic report engine (Report Builder, Report Templates and Generated Reports) will be removed in 3.3.0 on September 8, 2026.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;New features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(VEX)&lt;/strong&gt; Added CycloneDX SBOM / VEX / VDR export and import, as a round trip: a document exported from DefectDojo can be imported back into DefectDojo. The raw CycloneDX VEX analysis is now preserved on parsed Findings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(SCIM)&lt;/strong&gt; Added SCIM 2.0 provisioning. Your identity provider can now create, update and deactivate DefectDojo users and manage groups directly, rather than DefectDojo only learning about a user when that user first signs in. Deactivating a user over SCIM also deletes that user&amp;rsquo;s API tokens. SCIM is configured under &lt;strong&gt;Connect &amp;gt; Authorization&lt;/strong&gt;, alongside your login providers, and is tagged &lt;strong&gt;Provisioning&lt;/strong&gt; to distinguish it from the providers that put a button on the login page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Downstream Connectors)&lt;/strong&gt; Added Messaging Connectors (beta), which send alerts to Slack, Microsoft Teams, email, or an Amazon SNS topic. Alerts are routed by Rules Engine 2.0: a rule decides when to send, which Findings qualify, and which connection and destination the message goes to. Requires the &lt;strong&gt;Messaging Connectors&lt;/strong&gt; and &lt;strong&gt;Rules Engine 2.0&lt;/strong&gt; feature flags.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reporting)&lt;/strong&gt; Reporting is now generally available, and no longer carries the BETA label.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Reports)&lt;/strong&gt; Both the classic Report Builder and the new Report Builder now offer a one-click migration of your existing report templates. The migration works with the Reporting feature flag off, so you can move on your own schedule. Reports you have already generated are finished files and stay downloadable until removal.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Page Layouts)&lt;/strong&gt; The five View pages now use customizable widget grids, so you can arrange each page&amp;rsquo;s widgets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tables)&lt;/strong&gt; Table columns can now be resized, and the widths you set are saved to your table preferences. List tables also render a per-column loading skeleton while data is loading.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Registered the Tenable Web App Scanning and Rapid7 InsightVM connectors, along with six connectors that had shipped without a registration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Sensei)&lt;/strong&gt; A provider can now hold several connections rather than one, and setup is scoped to the connection you are working in. Add Repositories now opens on the repository step. Semgrep scans run under a memory cap and recover across a hard kill (OOM).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Risk Acceptance)&lt;/strong&gt; Added Expire and Reinstate to the risk acceptance menu, and as API actions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Rules Engine 2.0)&lt;/strong&gt; A Rules Engine 2.0 rule can now be given its own schedule. Enabling the feature flag now warns that a worker restart is required before it takes effect.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Added &lt;code&gt;migrate_locations_to_endpoints&lt;/code&gt;, the reverse of the endpoint-to-location conversion.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; A connector request now requires a usable credential and a base URL, so a request cannot be submitted with details that will not connect.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Snyk)&lt;/strong&gt; Snyk reachability is now rendered as the raw values Snyk reports, rather than a derived yes/no.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Performance)&lt;/strong&gt; Notes are now serialized a page at a time without re-filtering the page, and deduplication no longer lowercases the hash input on every Finding purely to log it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Dashboards)&lt;/strong&gt; The two Group By selects now focus their filter automatically when opened.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>August 4, 2026: v3.2.0</title><link>https://beta-docs.defectdojo.com/releases/pro/changelog/#august-4-2026-v320</link><guid>https://beta-docs.defectdojo.com/releases/pro/changelog/#august-4-2026-v320</guid><pubDate>Tue, 04 Aug 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;&lt;strong&gt;NOTE: We have deprecated API-based pull parsers, Tool Type/Tool Configuration, and dbbackup, with end-of-life scheduled for 3.5.0.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This release added many entries to the Feature Flags list: features that can be opted into.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(Review Claiming)&lt;/strong&gt; Let a requested reviewer claim a Finding review so the other eligible reviewers can see it is being handled. Once claimed, only the claimer or the requester can clear the review.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Work Assignment)&lt;/strong&gt; Assign Findings and Risk Acceptances to individual people, alongside the existing group Owners, and give each person a My Work queue of what they are responsible for.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Priority)&lt;/strong&gt; Added a threat-intel risk floor, which is based on whether a Finding has EPSS, KEV or other exploitability. Only takes effect if Threat Intelligence Enrichment is enabled.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Rules Engine 2.0)&lt;/strong&gt; Build automation rules as visual node graphs that react to Finding events, with per-run traces and a delivery outbox.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Threat Intelligence Enrichment)&lt;/strong&gt; Threat Intelligence reached general availability, with signed threat-intel bundles, downgrade hysteresis, and new list and dashboard surfaces.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Menu 2.0)&lt;/strong&gt; Reorganized the Settings menu behind Menu 2.0, with a new All Settings hub.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Compliance)&lt;/strong&gt; The federal compliance pack: FedRAMP POA&amp;amp;M ledger and ConMon deliverables, CMMC Level 2 assessments, and control coverage.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;(API)&lt;/strong&gt; DefectDojo REST API can now produce reports as HTML, CSV, and Excel, not just JSON. Use the &lt;code&gt;/generate_report/&lt;/code&gt; endpoint path, e.g. &lt;code&gt;api/v2/findings/generate_report/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Performance)&lt;/strong&gt; Improved the performance of Celery/Async tasks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Deduplication)&lt;/strong&gt; Added set-based deduplication that matches Findings on their full set of vulnerability IDs and CWEs, including partial/subset matches, alongside a new global vulnerability-ID deduplication algorithm and &lt;code&gt;global_locations&lt;/code&gt; cross-product deduplication on shared locations. False-positive history now honors the same vulnerability-ID/CWE set-match tokens, false-positive-history candidate filtering is now pluggable, and deduplication now produces a stable &amp;ldquo;original&amp;rdquo; finding regardless of scan-import order.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Findings)&lt;/strong&gt; Findings can now carry multiple CWEs across the API, the Vue UI, and the universal parser. Vulnerability IDs are normalized into a first-class Vulnerability entity with ordered references, per-vulnerability KEV/EPSS enrichment columns, and vulnerability aliases. Added a copy-finding action with an auto-detected vulnerability-ID type.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Locations)&lt;/strong&gt; Location drift matching keeps a finding tracked as its locations change across reimports.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Enrichment)&lt;/strong&gt; Added a two-stage KEV/EPSS pipeline that projects the worst score per vulnerability onto Findings, plus bulk cloud-enrichment reads and import-time enrichment.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; Added one-button migration from classic Jira to Downstream Connectors. Connector syncs now keep branch tags current on the Findings they report, and the public &lt;code&gt;/assign_product&lt;/code&gt; endpoint can map Findings-type records again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Connectors)&lt;/strong&gt; JFrog now scopes artifact-mode Findings to each artifact&amp;rsquo;s latest build.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Notes)&lt;/strong&gt; Notes now support Markdown.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(Tools)&lt;/strong&gt; Added SPDX, CSAF 2.0, and OpenVEX interchange-format parsers and a Promptfoo (LLM eval and red-teaming) parser.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>