Please consult the Upgrade notes in the documentation for specific instructions for this release, and general upgrade instructions. Below is an automatically generated list of all PRs merged since the previous release.
Changes since 3.5.102
- docs(dedupe): describe the Duplicates tab's cluster view on the Similar Findings page @blakeaowens (#16853)
- docs(pro): describe the Locations table's tile on the Finding page @blakeaowens (#16857)
- fix(import): resolve the import target the same way in the permission check and the import @svader0 (#16873)
- fix(notifications): send "added" notifications after the creating transaction commits @Maffooch (#16822)
- docs(pro): dashboard tile title bar and Section Break behavior @blakeaowens (#16868)
- docs(pro): describe the My Work widget as one queue with row steps @blakeaowens (#16864)
- docs(pro): note the Scan Cadence widget lists never-scanned products @blakeaowens (#16866)
- docs(dashboards): describe chart order and colors for the Pro chart widgets @blakeaowens (#16865)
- docs: title-case the Airgapped Instance feature flag name @svader0 (#16742)
- docs(psirt): describe the redesigned PSIRT Exposure widget and where its links go @blakeaowens (#16863)
- docs(changelog): mark revoked DefectDojo Pro releases @defectdojo-release-tracker[bot] (#16824)
- docs(pro): describe what the Scan Cadence dashboard widget shows @blakeaowens (#16859)
- docs(pro): manage Organization members and groups from the page's widgets @blakeaowens (#16854)
- docs(pro): document whole-asset standing risk acceptances @blakeaowens (#16846)
- docs(findings): name where the first request/response pair is added @blakeaowens (#16851)
- docs(questionnaires): link, answer and share engagement questionnaires in the Pro UI @blakeaowens (#16844)
- docs(prioritization): describe custom field priority factors @blakeaowens (#16847)
- docs(pro): describe the Request / Response Pairs rows on the Finding page @blakeaowens (#16849)
- docs(pro): note that a Field widget is at least two rows tall @blakeaowens (#16850)
- docs(pro): describe the Findings table's tile on the Test page @blakeaowens (#16840)
- docs(deduplication): say the Matching Policy panel links to its configuration @blakeaowens (#16839)
- docs(import): describe the Import History timeline on the Test page @blakeaowens (#16837)
- docs(connectors): document the Azure DevOps mapping's Work Item Type @Maffooch (#16838)
- docs: share dashboards, page layouts and table views with Groups @blakeaowens (#16797)
- docs(engagements): describe the Finding Severity by Test panel @blakeaowens (#16830)
- docs(findings): find attached files in the Files tab and add them there @blakeaowens (#16829)
- docs(notes): say where a note's markdown source lives @blakeaowens (#16833)
- docs(remediation-center): explain how upgrade actions group findings by product @Maffooch (#16828)
- docs(pro): describe the Finding Groups table's tile on the Test page @blakeaowens (#16831)
- docs(engagements): describe the redesigned checklist panel @blakeaowens (#16832)
- docs(pro): describe the Tests table's tile on the Engagement page @blakeaowens (#16827)
- docs(findings): document the SLA Status filter and the due-soon window @blakeaowens (#16816)
- docs(groups): document group-owned receivers, notification webhooks, connectors, ticket templates and the group API token @blakeaowens (#16786)
- docs(ui): describe the grouped CSV export, rules engine and widget field pickers @blakeaowens (#16813)
- fix(celery): give the outer task its cache back after a nested foreground task @Maffooch (#16821)
- fix(importers): do not load already-closed findings for the reimport close pass @Maffooch (#16798)
- fix(locations): new importer references follow the finding's status @Maffooch (#16800)
- docs(custom-fields): document computed custom fields and rule formulas @blakeaowens (#16759)
- docs(triage-engine): document the Merge Findings node @blakeaowens (#16819)
- docs(insights): describe the test type and test type category filters @blakeaowens (#16814)
- docs(notifications): say where to set notifications for one asset in the Pro UI @blakeaowens (#16812)
- docs(login-settings): describe the warning before a session ends @blakeaowens (#16817)
- docs(page-layouts): say a narrowed simple table keeps the height its rows need @blakeaowens (#16815)
- docs(triage-engine): say which matching passes the import and reimport previews count @blakeaowens (#16809)
- docs(risk-acceptance): say approving a request leaves out findings closed while it waited @blakeaowens (#16811)
- docs(changelog): add DefectDojo Pro 3.5.102 release notes @Maffooch (#16820)
- fix(findings): match a lifecycle value that contains a comma, in quotes @blakeaowens (#16790)
- docs(rules-engine): say the Set a Field pickers list the instance's own options @blakeaowens (#16806)
- docs(risk-acceptance): say acceptances from before 3.3.0 get their finding records on upgrade @blakeaowens (#16808)
- docs(rules-engine): say a rule close mitigates the finding's endpoints @blakeaowens (#16802)
🚩 Changes to settings.dist.py / local_settings.py
- fix(importers): run imports and reimports into one test one at a time @Maffooch (#16843)
- Add Early Light parser @devGregA (#16674)
🚩 Database migration
- fix(jira): let a Jira project turn off SLA notification comments @Maffooch (#16799)
- perf(auditlog): give the history index builds the memory and workers to build fast @Maffooch (#16823)
- perf(tags): index UPPER(name) on every tag table so adding a tag stops reading the whole table @Maffooch (#16801)
🚀 New importers
🚀 General features and enhancements
- perf(reimport): batch the finding group JIRA lookups in process_groups_for_all_findings @Maffooch (#16869)
🚀 API features and enhancements
🐛 Bug Fixes
- fix(reimport): keep false-positive history to its host and never close a still-reported suppressed finding @blakeaowens (#16848)
- fix(api): import the Jira and note viewset modules without a circular import @Maffooch (#16841)
- fix(jira): let a Jira project turn off SLA notification comments @Maffooch (#16799)