Skip to content

Commit 8791a9a

Browse files
authored
Merge pull request #12272 from DefectDojo/master-into-bugfix/2.45.2-2.46.0-dev
Release: Merge back 2.45.2 into bugfix from: master-into-bugfix/2.45.2-2.46.0-dev
2 parents c0c434e + ab294e7 commit 8791a9a

File tree

242 files changed

+1685
-1323
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

242 files changed

+1685
-1323
lines changed

.github/workflows/gh-pages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
extended: true
2020

2121
- name: Setup Node
22-
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
22+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
2323
with:
2424
node-version: '22.14.0'
2525

.github/workflows/validate_docs_build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
extended: true
1717

1818
- name: Setup Node
19-
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
19+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
2020
with:
2121
node-version: '22.14.0'
2222

docs/content/en/open_source/contributing/how-to-write-a-parser.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ $ docker compose build --build-arg uid=1000
3737
|`unittests/scans/<parser_dir>/{many_vulns,no_vuln,one_vuln}.json` | Sample files containing meaningful data for unit tests. The minimal set.
3838
|`unittests/tools/test_<parser_name>_parser.py` | Unit tests of the parser.
3939
|`dojo/settings/settings.dist.py` | If you want to use a modern hashcode based deduplication algorithm
40-
|`doc/content/en/integrations/parsers/<file/api>/<parser_file>.md` | Documentation, what kind of file format is required and how it should be obtained
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+
4142

4243
## Factory contract
4344

@@ -50,7 +51,7 @@ Parsers are loaded dynamicaly with a factory pattern. To have your parser loaded
5051
3. The name of this class **MUST** be the Python module name without underscores and with `Parser` suffix.
5152
- ex: `dojo.tools.my_tool.parser.MyToolParser`
5253
4. This class **MUST** have an empty constructor or no constructor
53-
5. This class **MUST** implement 3 methods:
54+
5. This class **MUST** implement 4 methods:
5455
1. `def get_scan_types(self)` This function return a list of all the *scan_type* supported by your parser. This identifiers are used internally. Your parser can support more than one *scan_type*. For example some parsers use different identifier to modify the behavior of the parser (aggregate, filter, etc...)
5556
2. `def get_label_for_scan_types(self, scan_type):` This function return a string used to provide some text in the UI (short label)
5657
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)
@@ -357,7 +358,7 @@ If you want to take a look at previous parsers that are now part of DefectDojo,
357358

358359
## Update the import page documentation
359360

360-
Please add a new .md file in [`docs/content/en/integrations/parsers`] with the details of your new parser. Include the following content headings:
361+
Please add a new .md file in [`docs/content/en/connecting_your_tools/parsers`] with the details of your new parser. Include the following content headings:
361362

362363
* Acceptable File Type(s) - please include how to generate this type of file from the related tool, as some tools have multiple methods or require specific commands.
363364
* An example unit test block, if applicable.
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
---
2+
title: 'Upgrading to DefectDojo Version 2.46.x'
3+
toc_hide: true
4+
weight: -20250407
5+
description: Tag Formatting Changes + Import Payload Changes
6+
---
7+
8+
### Tag Formatting Update
9+
10+
Tags can no longer contain the following characters:
11+
12+
- **Commas (,)**
13+
- **Quotations** (both single `'` and double `"`)
14+
- **Spaces**
15+
16+
#### Automatic Migration
17+
18+
To ensure a smooth transition, an automatic migration will be applied to existing tags as follows:
19+
20+
- **Commas** → Replaced with **hyphens (`-`)**
21+
- **Quotations** (single and double) → **Removed**
22+
- **Spaces** → Replaced with **underscores (`_`)**
23+
24+
#### Examples
25+
26+
- `example,tag``example-tag`
27+
- `'SingleQuoted'``SingleQuoted`
28+
- `"DoubleQuoted"``DoubleQuoted`
29+
- `space separated tag``space_separated_tag`
30+
31+
#### Why This Change?
32+
33+
This update improves consistency, enhances search capabilities, and aligns with best practices for tag formatting.
34+
35+
#### Recommended Actions
36+
37+
We recommend reviewing your current tags, specifically CI/CD processes before upgrading to ensure they align with the new format. Performing a database backup is also suggested as this migration cannot be reverted.
38+
39+
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.
40+
41+
---
42+
43+
### Asynchronous Import deprecation in 2.47.0
44+
45+
Please note that asynchronous import is already deprecated and will be removed in version 2.47.0. If you haven't migrated from this feature yet, we recommend doing so.
46+
47+
### Import / Reimport Statistics Delta
48+
49+
Following a successful import or reimport, a JSON blob for `statistics` is generated to provide the differential of finding activity.
50+
There was a section in the `delta` JSON blob that referred to a key labeled `left untouched`. This value does not comply with REST
51+
norms, and has been renamed to `untouched`. Here is a before and after to make it clear:
52+
53+
Before:
54+
55+
"statistics": {
56+
"before": {},
57+
"delta": {
58+
"created": {},
59+
"closed": {},
60+
"reactivated": {},
61+
"left untouched": {}
62+
},
63+
"after": {}
64+
}
65+
66+
After:
67+
68+
"statistics": {
69+
"before": {},
70+
"delta": {
71+
"created": {},
72+
"closed": {},
73+
"reactivated": {},
74+
"untouched": {}
75+
},
76+
"after": {}
77+
}
78+
79+
---
80+
81+
Check the [Release Notes](https://github.com/DefectDojo/django-DefectDojo/releases/tag/2.46.0) for the contents of the release.

0 commit comments

Comments
 (0)