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.1.301
- fix(findings): clear review state when a finding is closed or reopened @devGregA (#15394)
- add additional scanner protocols to whitelist @paulOsinski (#15416)
- update fortify parsers to parse cwe @paulOsinski (#15409)
- ci: make ruff a hard gate for the unit-tests workflow chain @Maffooch (#15410)
- Apply login rate limiter to the API token auth endpoint @svader0 (#15415)
- fix: add missing return after exception in GitHub issue handlers @lxcxjxhx (#15391)
- Seed the search language facet from the authorized queryset @svader0 (#15387)
- refactor(reimport): extract get_original_findings as an override point; guard debug renders @devGregA (#15398)
- docs(connectors): Intigriti connector reference @devGregA (#15286)
- docs(connectors): HCL AppScan connector reference @devGregA (#15312)
- docs(connectors): document the YesWeHack connector @devGregA (#15288)
- docs: Checkmarx One connector — branch handling + Track Scanned Branches @devGregA (#15358)
- docs(connectors): Harbor setup @devGregA (#15272)
- docs(connectors): MobSF connector reference @devGregA (#15330)
- docs(connectors): Lacework / FortiCNAPP connector reference @devGregA (#15339)
- docs(connectors): Socket.dev connector reference @devGregA (#15340)
- docs(connectors): Bright Security connector reference @devGregA (#15341)
- docs(connectors): Fortify connector reference @devGregA (#15329)
- docs(connectors): Escape connector reference @devGregA (#15342)
- docs(connectors): Deepfence ThreatMapper connector reference @devGregA (#15337)
- docs(integrations): add ServiceNow SecOps / Vulnerability Response integrator @devGregA (#15278)
- docs(connectors): Fairwinds Insights connector reference @devGregA (#15343)
🚩 Changes to settings.dist.py / local_settings.py
🚀 API features and enhancements
🐛 Bug Fixes
- fix(reimport): skip close-old candidates whose finding row was deleted mid-reimport @Maffooch (#15408)
- fix(jira): stop assuming push_to_jira returns a tuple @Maffooch (#15411)
- fix(api): return 409 instead of 500 on a unique-constraint violation @Maffooch (#15407)