You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
from dojo.models import Announcement, UserAnnouncement, Dojo_User
28
28
announcement, created = Announcement.objects.get_or_create(id=1)
29
-
announcement.message = '<a href="https://defectdojo.com/contact" target="_blank">Cloud and On-Premise Subscriptions Now Available! Click here for more details</a>'
29
+
announcement.message = '<a href="https://cloud.defectdojo.com/accounts/onboarding/plg_step_1" target="_blank">DefectDojo Pro Cloud and On-Premise Subscriptions Now Available! Create an account to try Pro for free!</a>'
Copy file name to clipboardExpand all lines: docs/content/en/changelog/changelog.md
+60-12Lines changed: 60 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -8,12 +8,66 @@ Here are the release notes for **DefectDojo Pro (Cloud Version)**. These release
8
8
9
9
For Open Source release notes, please see the [Releases page on GitHub](https://github.com/DefectDojo/django-DefectDojo/releases), or alternatively consult the Open Source [upgrade notes](/en/open_source/upgrading/upgrading_guide/).
10
10
11
+
12
+
## May 2025: v2.46
13
+
14
+
### ⚠️ Tag Format Change
15
+
16
+
As of version 2.46.0, Tags can no longer contain the following characters:
17
+
- Commas (,)
18
+
- Quotations (both single ' and double ")
19
+
- Spaces
20
+
21
+
To ensure a smooth transition, an automatic migration will be applied to existing tags as follows:
22
+
- Commas → Replaced with hyphens (-)
23
+
- Quotations (single and double) → Removed
24
+
- Spaces → Replaced with underscores (_)
25
+
Examples
26
+
- example,tag → example-tag
27
+
- 'SingleQuoted' → SingleQuoted
28
+
- "DoubleQuoted" → DoubleQuoted
29
+
- space separated tag → space_separated_tag
30
+
31
+
This update improves consistency, enhances DefectDojo's search capabilities, and aligns with best practices for tag formatting.
32
+
33
+
We recommend reviewing your current tags to ensure they align with the new format. Following the deployment of these new behaviors, requests sent to the API or through the UI with any of the violations listed above will result in an error, with the details of the error raised in the response.
34
+
35
+
### May 19, 2025: v2.46.3
36
+
37
+
-**(Calendar)** New filters have been added to Calendar view: Unassigned Lead, and Engagement/Test Type.
38
+
-**(Dashboard)** Added Finding Status filter for Dashboard tiles.
39
+
-**(Engagements)** A repository URI can be added to an Engagement via **Edit Engagement > Optional Fields > Repo**. If this field is set, Findings under that Engagement will automatically generate clickable links to the source code if File Path is set on the Finding. See [docs](/en/working_with_findings/organizing_engagements_tests/source-code-repositories/) for more details.
40
+
-**(Findings)** Added "Jira Issue URL" column to the CSV export of Finding tables.
41
+
-**(Metrics)** Priority Dashboard has been added to Metrics, to display your organization's risk profile at a glance.
42
+

43
+
-**(Universal Parser)** Added a 'SOC Alerts' flag to Universal Parser, to indicate whether the Findings from the parser originate from a Security Operations Center.
44
+
45
+
### May 12, 2025: v2.46.2
46
+
47
+
-**(Findings)** Component Name and Version have been added to the metadata table on a Finding View.
48
+
-**(Metrics)** Pro Insights Dashboards can now be filtered by Tag.
49
+
-**(Users)** The Users table can now be exported as a .csv file.
50
+
51
+
### May 7, 2025: v2.46.1
52
+
53
+
Hotfix release - no significant feature changes.
54
+
55
+
### May 5, 2025: v2.46.0
56
+
57
+
58
+
-**(Import)** Mitigated timestamp in reports are no longer ignored/overwritten on Reimport.
59
+
-**(Tools)** Fortify Webinspect has been added as a supported tool.
60
+
-**(Tools)** Added JSON as a supported tool for Immuniweb.
61
+
-**(Tools)** Nessus (Tenable) parser now handles additional fields.
62
+
-**(Tools)** Wiz parser now handles additional fields and unique_id_from_tool.
63
+
64
+
11
65
## Apr 2025: v2.45
12
66
13
67
### Apr 28, 2025: v2.45.3
14
68
15
-
-**(Tools)** Fortify parser can now assign False Positive status to Findings according to the audit.xml file.
16
69
-**(Import)** Reimporting a scan can now handle special statuses assigned by a tool. Now, if a Finding was initially imported as Active, but the status was changed to False Positive, Out Of Scope or Risk Accepted by a subsequent report, that status will now be respected and applied to the Finding by Reimport.
70
+
-**(Tools)** Fortify parser can now assign False Positive status to Findings according to the audit.xml file.
17
71
18
72
### Apr 22, 2025: v2.45.2
19
73
@@ -35,35 +89,29 @@ For Open Source release notes, please see the [Releases page on GitHub](https://
35
89
36
90
## Mar 2025: v2.44
37
91
38
-
### Mar 31, 2025: v2.44.4
92
+
####Mar 31, 2025: v2.44.4
39
93
40
94
-**(Pro UI)** Group and Configuration permissions can now be assigned quickly from a User page. For more information, see [DefectDojo Pro Permissions](/en/customize_dojo/user_management/pro_permissions_overhaul/).
41
95
42
-
### Mar 24, 2025: v2.44.3
96
+
####Mar 24, 2025: v2.44.3
43
97
44
98
-**(Import)** Generic Findings Import will now parse tags in the JSON payload when Async Import is enabled.
45
99
46
-
### Mar 17, 2025: v2.44.2
100
+
####Mar 17, 2025: v2.44.2
47
101
48
102
-**(Pro UI)** Added a new method to quickly assign permissions to Products or Product Types. See our [Pro Permissions](/en/customize_dojo/user_management/pro_permissions_overhaul/) for more details.
49
103
50
104

51
105
52
-
### Mar 10, 2025: v2.44.1
106
+
####Mar 10, 2025: v2.44.1
53
107
54
108
-**(Pro UI)** Added a field in the View Engagement page which allows a user to navigate to the linked Jira Epic, if one exists.
55
109
-**(Universal Parser)** XML is now a supported file type for Universal Parser.
56
110
-**(SSO)** SSO can now be set up with any kind of [OIDC Configuration](https://auth0.com/docs/authenticate/protocols/openid-connect-protocol). See OIDC Settings in the Pro UI:
57
111
58
112

59
113
60
-
### Mar 3, 2025: v2.44.0
61
-
62
-
-**(Pro UI)** Breadcrumbs have been overhauled to better represent the context each page exists in. Breadcrumbs will now include filtering and query parameters. The titles of tables now better represent their context, for example when looking at the Engagements list for a particular Product, the view will be titled {Product Name} Engagements, rather than All Engagements as before.
63
-
64
-
## Mar 2025: v2.44
65
-
66
-
### Mar 3, 2025: v2.44.0
114
+
#### Mar 3, 2025: v2.44.0
67
115
68
116
-**(Pro UI)** Breadcrumbs have been overhauled to better represent the context each page exists in. Breadcrumbs will now include filtering and query parameters. The titles of tables now better represent their context, for example when looking at the Engagements list for a particular Product, the view will be titled {Product Name} Engagements, rather than All Engagements as before.
Sample AnchoreCTL Policies Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/anchorectl_policies).
|`unittests/scans/<parser_dir>/{many_vulns,no_vuln,one_vuln}.json` | Sample files containing meaningful data for unit tests. The minimal set.
38
38
|`unittests/tools/test_<parser_name>_parser.py` | Unit tests of the parser.
39
39
|`dojo/settings/settings.dist.py` | If you want to use a modern hashcode based deduplication algorithm
40
-
|`docs/content/en/connecting_your_tools/parsers/<file/api>/<parser_file>.md` | Documentation, what kind of file format is required and how it should be obtained
41
-
40
+
|`docs/content/en/connecting_your_tools/parsers/<file/api>/<parser_file>.md` | Documentation, what kind of file format is required and how it should be obtained
41
+
42
42
43
43
## Factory contract
44
44
@@ -57,6 +57,7 @@ Parsers are loaded dynamicaly with a factory pattern. To have your parser loaded
57
57
3.`def get_description_for_scan_types(self, scan_type):` This function return a string used to provide some text in the UI (long description)
58
58
4.`def get_findings(self, file, test)` This function return a list of findings
59
59
6. If your parser have more than 1 scan_type (for detailled mode) you **MUST** implement `def set_mode(self, mode)` method
60
+
7. The parser instance is re-used over all imports performed for this scan_type, so do not store any data at class level
60
61
61
62
Example:
62
63
@@ -145,7 +146,7 @@ Very bad example:
145
146
Various file formats are handled through libraries. In order to keep DefectDojo slim and also don't extend the attack surface, keep the number of libraries used minimal and take other parsers as an example.
146
147
147
148
#### defusedXML in favour of lxml
148
-
As xml is by default an unsecure format, the information parsed from various xml output has to be parsed in a secure way. Within an evaluation, we determined that defusedXML is the library which we will use in the future to parse xml files in parsers as this library is rated more secure. Thus, we will only accept PRs with the defusedxml library.
149
+
As xml is by default an unsecure format, the information parsed from various xml output has to be parsed in a secure way. Within an evaluation, we determined that defusedXML is the library which we will use in the future to parse xml files in parsers as this library is rated more secure. Thus, we will only accept PRs with the defusedxml library.
149
150
150
151
### Not all attributes are mandatory
151
152
@@ -232,7 +233,8 @@ Bad example (DIY):
232
233
233
234
By default a new parser uses the 'legacy' deduplication algorithm documented at https://documentation.defectdojo.com/usage/features/#deduplication-algorithms
234
235
235
-
Please use a pre-defined deduplication algorithm where applicable.
236
+
Please use a pre-defined deduplication algorithm where applicable. When using the `unique_id_from_tool` or `vuln_id_from_tool` fields in the hash code configuration, it's important that these are uqniue for the finding and constant over time across subsequent scans. If this is not the case, the values can still be useful to set on the finding model without using them for deduplication.
237
+
The values must be coming from the report directly and must not be something that is calculated by the parser internally.
236
238
237
239
## Unit tests
238
240
@@ -366,4 +368,3 @@ Please add a new .md file in [`docs/content/en/connecting_your_tools/parsers`] w
366
368
* A link to the scanner itself - (e.g. GitHub or vendor link)
367
369
368
370
Here is an example of a completed Parser documentation page: [https://github.com/DefectDojo/django-DefectDojo/blob/master/docs/content/en/connecting_your_tools/parsers/file/acunetix.md](https://github.com/DefectDojo/django-DefectDojo/blob/master/docs/content/en/connecting_your_tools/parsers/file/acunetix.md)
Copy file name to clipboardExpand all lines: docs/content/en/working_with_findings/organizing_engagements_tests/source-code-repositories.md
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,8 @@ Certain tools (particularly SAST tools) will include the associated file name an
10
10
## Setting the repository in the Engagement and Test
11
11
12
12
### Engagement
13
-
While editing the Engagement, users can set the URL of the specific SCM repo.
13
+
14
+
While editing the Engagement, users can set the URL of the specific Source Code Management repo. **(In the Pro UI, this field can be set under Edit Engagement > Optional Fields > Repo)**.
14
15
15
16
For an Interactive Engagement, it needs to be a URL that specifies the branch:
16
17
- for GitHub - like https://github.com/DefectDojo/django-DefectDojo/tree/dev
0 commit comments