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 2.50.0
- Refactor vulnerability ID and endpoint retrieval in Finding model @Maffooch (#13324)
- upgrade notes: explain performance improvements 2.51 @valentijnscholten (#13287)
- twistlock: defend against compliances being null @valentijnscholten (#13318)
- bugfix search results: enable bulk adding of tags and notes @valentijnscholten (#13297)
- ui import: allow providing test title @valentijnscholten (#13299)
- [docs] Pro changelog oct 3 @paulOsinski (#13315)
- Add CVSS details extraction to AWS Inspector2 parser @Maffooch (#13305)
- GitHub chores: Automatically close issues labelled as
pending-closure
@valentijnscholten (#13298) - requested review: add data to notification title @valentijnscholten (#13284)
- Reduce and optimize number of product grading calls using a
Chord
@valentijnscholten (#12914) - 🐛 Fix tenable CWE #13245 @manuel-sommer (#13252)
- Bug Fix: improve Kiuwan SCA parser to support multi component findings @mwager (#12753)
- Added Line Field for SonarQube Scan and SonarQube Scan Detailed Scan Types @Jino-T (#13256)
- [docs] update changelog 2.50.3 @paulOsinski (#13269)
- Add an Engagement's branch_tag in Jira Epic's description @Jino-T (#13270)
- product grade logging fix @valentijnscholten (#13268)
- Fix duplicated tags (everywhere) @fopina (#13250)
- feat(helm): Add docs for more variables @kiblik (#13224)
- jira webhook: add comment detection test @valentijnscholten (#13232)
- Refactor warning handling for blackduck import @Maffooch (#13229)
- do not build/start unused services in unit test docker compose files @fopina (#13220)
- feat(helm): Make API test more verbose @kiblik (#13208)
- 🎉 Add fix_available information to blackduck binary analysis parser @manuel-sommer (#13236)
- make sonarqube hotspots sync work @dshafranskiy-r7 (#13206)
- debug toolbar: disable by default @valentijnscholten (#13227)
- k8s-tests: bump k8s and minukube @valentijnscholten (#13231)
- fix(helm): apiVersion overrides not needed in tests @kiblik (#13207)
- fix(helm): Update annotations during releasing @kiblik (#13197)
- Tags: Remove duplicates in edit forms @Maffooch (#13228)
- feat(helm): Add ArtifactHub Linter @kiblik (#13199)
- [docs] changelog 2.50.2, minor changes @paulOsinski (#13226)
- bulk edit: update under_review flag @valentijnscholten (#13179)
- ⬆️ Bump ruff from 0.13.0 to 0.13.1 @manuel-sommer (#13223)
- Unit Tests: Ignore deprecation Warning from BlackDuck pypi package @Maffooch (#13225)
- dockerfiles: drop wheels from layers @fopina (#13209)
- 🎉 Add fix_available information to blackduck component risk #12633 @manuel-sommer (#13201)
- fix(helm): Empty string values propagated as strings (not as null) @kiblik (#13200)
- feat(helm): Better explanation for failing GHA @kiblik (#13198)
- feat(helm): Trigger update of Helm docs when version is changed @kiblik (#13191)
- 💄 Update Wazuh v4.8 @manuel-sommer (#13184)
- fix(helm): Set correct icon link @kiblik (#13195)
- debugtoolbar: fix for requirements-dev.txt @valentijnscholten (#13183)
- Fix naive datetime warnings/errors @valentijnscholten (#13170)
- feat(helm): Improve docs, add schema @kiblik (#12984)
- product grade: only update product if grade has changed @valentijnscholten (#13123)
- Github Vulnerability Parser: Update docs to generate correct schema @Maffooch (#13166)
- [docs] Changelog 2.50.1 @paulOsinski (#13167)
- bulk edit: add None check on JIRA sync check @valentijnscholten (#13168)
- Generic parser update @mykhailo-sindieiev (#13139)
- 🎉 Add fix_available information to jfrogondemand #12633 @manuel-sommer (#13124)
- 🎉 Add fix_available information to wpscan #12633 @manuel-sommer (#13153)
- fortify fpr_parser: allow optional fields to be optional @fopina (#13160)
- fix(helm): Drop bitnami repo reference @kiblik (#13125)
- 🎉 Add fix_available information to mend #12633 @manuel-sommer (#13142)
- [docs] add new opensource page @paulOsinski (#13151)
- Update to Django 5.1.12 @valentijnscholten (#13148)
- fix(helm): uwsgi tuning @kiblik (#13146)
- docker: remove dev dependencies from release images @valentijnscholten (#13095)
- fix default order to finding_groups @LeoOMaia (#13127)
- 🐛 Fix finding_group view @manuel-sommer (#13119)
- ruff fixes @valentijnscholten (#13122)
- feat: improve Helm chart @fernandezcuesta (#12691)
- 🎉 Add fix_available information to jfrog xray unified parser #12633 @manuel-sommer (#13105)
- 🎉 Add fix_available information to jfrog @manuel-sommer (#13115)
- 🐛 Implement Wazuh v4.8 @manuel-sommer (#12739)
- semgrep pro parser @valentijnscholten (#12848)
- Update changelog 2.50 @paulOsinski (#13121)
- Update the Qualys Hacker Guardian parser to be compatible with larger CSV files @Jino-T (#13120)
- fix(product): Drop import_scan_results_prod @kiblik (#13041)
- uwsgi: default to 4 processes x 4 threads @valentijnscholten (#13080)
- Import performance: reduce number of
finding.save()
calls @valentijnscholten (#12900) - 🎉 Add fix_available information to aqua parser #12633 @manuel-sommer (#13106)
- System settings: correct page title/breadcrumbs @valentijnscholten (#13083)
- fix(docker): Docker Debian upgrade to Trixie @kiblik (#13054)
- 🎉 Add fix_available to KrakenDAudit @manuel-sommer (#13055)
🚩 Changes to settings.dist.py
/ local_settings.py
- Update default audit log type to django-auditlog @Maffooch (#13321)
- make SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL configurable @valentijnscholten (#13301)
- Auditlog: Add django-pghistory as audit log (optional for now) @valentijnscholten (#13169)
- performance optimization: add tags in bulk @valentijnscholten (#13285)
- Snyk Issue Api Scan "sca" import implementation @dshafranskiy-r7 (#13263)
- Introduce text labels for v3 @dogboat (#13155)
- GitHub Secrets Detection Report Parser @Logicmn (#13286)
- Add AWS security bulletins to vulnid @manuel-sommer (#13272)
- Import history optimize @valentijnscholten (#13182)
- OpenVAS parser improvments @jostaub (#13214)
- Drop django-tagging as dependency @fopina (#13216)
- NN vulnid @manuel-sommer (#13180)
- watson: perform async index updates @valentijnscholten (#13152)
- Ruff: Add PLC1901 @manuel-sommer (#13157)
- feat(social): Add SOCIAL_AUTH_OIDC_LOGIN_BUTTON_TEXT @kiblik (#13150)
- Allow enabling Django Debug Toolbar via env variable @valentijnscholten (#12921)
- 🎉 Add OXAS-ADV- vulnid @manuel-sommer (#13129)
- 🎉 add VAR vulnid @manuel-sommer (#13096)
- Ruff: Preparation for G004 @manuel-sommer (#13076)
🚩 Database migration
- Auditlog: Add django-pghistory as audit log (optional for now) @valentijnscholten (#13169)
- Drop django-tagging as dependency @fopina (#13216)
🚀 API features and enhancements
- finding api: fix hash_code for vulnerability_ids @valentijnscholten (#13304)
- enhance/normalize EDITABLE_MITIGATED_DATA handling @valentijnscholten (#13303)
- Introduce text labels for v3 @dogboat (#13155)
- close finding: sync api and ui behaviour @valentijnscholten (#13230)
- make close_old_findings tooltip clearer when service is not set @fopina (#13211)
- Ruff: Add PLC0415 @manuel-sommer (#13156)
- Ruff: Preparation for G004 @manuel-sommer (#13076)
- Password Reset: Disable for SSO users @Maffooch (#13079)
🖌 Updates in UI
- findings list: support ordering by more fields @valentijnscholten (#13300)
- Auditlog: Add django-pghistory as audit log (optional for now) @valentijnscholten (#13169)
- Similar Findings: Restrict to Product Scope @Maffooch (#13271)
- Introduce text labels for v3 @dogboat (#13155)
- feat(finding list): Add planned_remediation_version @kiblik (#13261)
- Ruff: Add PLC1901 @manuel-sommer (#13157)
- Ruff: Add PLC0415 @manuel-sommer (#13156)
- feat(social): Add SOCIAL_AUTH_OIDC_LOGIN_BUTTON_TEXT @kiblik (#13150)
- Rename duplicate 'Dashboard' to 'Finding Groups' @testaccount90009 (#13140)
- 🎉 Add number of fix_available information to test view @manuel-sommer (#13109)
- msteams: Support Power Automate Workflows via Adaptive Card format @valentijnscholten (#13082)
🔧 Improved code quality with linters
- ⬆️ Bump ruff from 0.13.1 to 0.13.2 @manuel-sommer (#13267)
- Ruff: Add SIM115 @manuel-sommer (#13219)
- Ruff: Add PLC1901 to dojo/models @manuel-sommer (#13178)
- Ruff: Add PLC0415 to dojo/models @manuel-sommer (#13165)
- Ruff: Add PLC1901 @manuel-sommer (#13157)
- Ruff: Add PLC0415 @manuel-sommer (#13156)
- feat(docker): Use Python 3.12 in docker images @kiblik (#10473)
- Ruff: Add PLW @manuel-sommer (#13104)
- Ruff: Add PLW0603 @manuel-sommer (#13097)
🧰 Maintenance
- Update redis Docker tag from 7.2.10 to v7.2.11 (docker-compose.yml) @renovate (#13320)
- Update actions/stale action from v10.0.0 to v10.1.0 (.github/workflows/close-stale.yml) @renovate (#13317)
- Update softprops/action-gh-release action from v2.3.3 to v2.3.4 (.github/workflows/release-x-manual-helm-chart.yml) @renovate (#13316)
- ⬆️ Bump boto3 from 1.40.43 to 1.40.44 @dependabot (#13308)
- Update dependency vite from 7.1.8 to v7.1.9 (docs/package.json) @renovate (#13306)
- Update postgres:18.0-alpine Docker digest from 18.0 to 18.0-alpine (docker-compose.yml) @renovate (#13302)
- ⬆️ Bump boto3 from 1.40.42 to 1.40.43 @dependabot (#13295)
- Update dependency vite from 7.1.7 to v7.1.8 (docs/package.json) @renovate (#13294)
- Update postgres:18.0-alpine Docker digest from 18.0 to 18.0-alpine (docker-compose.yml) @renovate (#13291)
- ⬆️ Bump boto3 from 1.40.41 to 1.40.42 @dependabot (#13288)
- ⬆️ Bump drf-spectacular-sidecar from 2025.9.1 to 2025.10.1 @dependabot (#13289)
- ⬆️ Bump cryptography from 46.0.1 to 46.0.2 @dependabot (#13290)
- Update docker/login-action action from v3.5.0 to v3.6.0 (.github/workflows/release-x-manual-tag-as-latest.yml) @renovate (#13274)
- ⬆️ Bump python-gitlab from 6.3.0 to 6.4.0 @dependabot (#13278)
- ⬆️ Bump openapitools/openapi-generator-cli from v7.15.0 to v7.16.0 @dependabot (#13279)
- Update postgres:18.0-alpine Docker digest from 18.0 to 18.0-alpine (docker-compose.yml) @renovate (#13282)
- ⬆️ Bump boto3 from 1.40.39 to 1.40.41 @dependabot (#13283)
- chore(deps): update postgres docker tag from 17.6 to v18 (docker-compose.yml) @renovate (#13262)
- ⬆️ Bump boto3 from 1.40.37 to 1.40.39 @dependabot (#13265)
- chore(deps): update dependency node from 22.19.0 to v22.20.0 (.github/workflows/validate_docs_build.yml) @renovate (#13257)
- ⬆️ Bump pyyaml from 6.0.2 to 6.0.3 @dependabot (#13264)
- ⬆️ Bump pycurl from 7.45.6 to 7.45.7 @dependabot (#13258)
- chore(deps): update node.js from v22.19.0 to v22.20.0 (docs/package.json) @renovate (#13255)
- chore(deps): update actions/cache action from v4.2.4 to v4.3.0 (.github/workflows/validate_docs_build.yml) @renovate (#13254)
- ⬆️ Bump boto3 from 1.40.36 to 1.40.37 @dependabot (#13253)
- Update postgres:17.6-alpine Docker digest from 17.6 to 17.6-alpine (docker-compose.yml) @renovate (#13251)
- ⬆️ Bump boto3 from 1.40.34 to 1.40.36 @dependabot (#13246)
- fix(deps): update dependency @docsearch/css from 4.0.1 to v4.1.0 (docs/package.json) @renovate (#13243)
- chore(deps): update dependency vite from 7.1.6 to v7.1.7 (docs/package.json) @renovate (#13233)
- ⬆️ Bump lxml from 6.0.1 to 6.0.2 @dependabot (#13235)
- fix(deps): update dependency @docsearch/js from 4.0.1 to v4.1.0 (docs/package.json) @renovate (#13244)
- chore(deps): update dependency vite from 7.1.5 to v7.1.6 (docs/package.json) @renovate (#13212)
- ⬆️ Bump boto3 from 1.40.33 to 1.40.34 @dependabot (#13221)
- ⬆️ Bump cryptography from 45.0.7 to 46.0.1 @dependabot (#13204)
- ⬆️ Bump boto3 from 1.40.32 to 1.40.33 @dependabot (#13213)
- ⬆️ Bump pyopenssl from 25.2.0 to 25.3.0 @dependabot (#13202)
- chore(deps): update azure/setup-helm action from v4.3.0 to v4.3.1 (.github/workflows/test-helm-chart.yml) @renovate (#13186)
- chore(deps): update losisin/helm-values-schema-json-action action from v2.0.4 to v2.3.0 (.github/workflows/test-helm-chart.yml) @renovate (#13188)
- chore(deps): update actions/checkout action from v4.2.2 to v5 (.github/workflows/test-helm-chart.yml) @renovate (#13189)
- ⬆️ Bump boto3 from 1.40.31 to 1.40.32 @dependabot (#13203)
- ⬆️ Bump boto3 from 1.40.30 to 1.40.31 @dependabot (#13185)
- fix(deps): update dependency @tabler/icons from 3.34.1 to v3.35.0 (docs/package.json) @renovate (#13181)
- fix(deps): update dependency @docsearch/css from 3.9.0 to v4 (docs/package.json) @renovate (#13176)
- fix(deps): update dependency @docsearch/js from 3.9.0 to v4 (docs/package.json) @renovate (#13177)
- Bump pyopenssl from 25.1.0 to 25.2.0 @dependabot (#13171)
- Bump boto3 from 1.40.29 to 1.40.30 @dependabot (#13172)
- Bump boto3 from 1.40.27 to 1.40.29 @dependabot (#13164)
- Bump ruff from 0.12.12 to 0.13.0 @dependabot (#13159)
- chore(deps): update dependency django-test-migrations from 1.4.0 to v1.5.0 (requirements-dev.txt) @renovate (#13154)
- Bump boto3 from 1.40.25 to 1.40.27 @dependabot (#13149)
- Bump datatables.net-buttons-bs from 3.2.4 to 3.2.5 in /components @dependabot (#13144)
- Bump vite from 7.1.3 to 7.1.5 in /docs @dependabot (#13147)
- Update postgres:17.6-alpine Docker digest from 17.6 to 17.6-alpine (docker-compose.yml) @renovate (#13141)
- Bump datatables.net from 2.3.3 to 2.3.4 in /components @dependabot (#13145)
- Update softprops/action-gh-release action from v2.3.2 to v2.3.3 (.github/workflows/release-x-manual-helm-chart.yml) @renovate (#13128)
- Update dependency vite from 7.1.4 to v7.1.5 (docs/package.json) @renovate (#13130)
- Update mikefarah/yq action from v4.47.1 to v4.47.2 (.github/workflows/release-x-manual-helm-chart.yml) @renovate (#13131)
- Bump boto3 from 1.40.24 to 1.40.25 @dependabot (#13132)
- Bump psycopg[c] from 3.2.9 to 3.2.10 @dependabot (#13133)
- chore(deps): update actions/github-script action from v7.1.0 to v8 (.github/workflows/release-3-master-into-dev.yml) @renovate (#13112)
- Bump pygithub from 2.7.0 to 2.8.1 @dependabot (#13100)
- Bump markdown from 3.8.2 to 3.9 @dependabot (#13118)
- Bump ruff from 0.12.11 to 0.12.12 @dependabot (#13117)
- Bump boto3 from 1.40.23 to 1.40.24 @dependabot (#13116)
- chore(deps): update actions/labeler action from v6.0.0 to v6.0.1 (.github/workflows/pr-labeler.yml) @renovate (#13113)
- chore(deps): update actions/github-script action from v7.0.1 to v7.1.0 (.github/workflows/release-3-master-into-dev.yml) @renovate (#13111)
- Bump boto3 from 1.40.21 to 1.40.23 @dependabot (#13110)
- chore(deps): update actions/stale action from v9.1.0 to v10 (.github/workflows/close-stale.yml) @renovate (#13108)
- chore(deps): update actions/setup-python action from v5.6.0 to v6 (.github/workflows/test-helm-chart.yml) @renovate (#13107)
- chore(deps): update actions/setup-node action from v4.4.0 to v5 (.github/workflows/validate_docs_build.yml) @renovate (#13103)
- Update actions/labeler action from v5.0.0 to v6 (.github/workflows/pr-labeler.yml) @renovate (#13102)
- chore(deps): update dependency vite from 7.1.3 to v7.1.4 (docs/package.json) @renovate (#13085)
- Bump boto3 from 1.40.20 to 1.40.21 @dependabot (#13086)
- Bump django-dbbackup from 4.3.0 to 5.0.0 @dependabot (#13087)
- Bump cryptography from 45.0.6 to 45.0.7 @dependabot (#13088)
- Bump drf-spectacular-sidecar from 2025.8.1 to 2025.9.1 @dependabot (#13089)