Skip to content

Release: Merge back 3.0.1 into dev from: master-into-dev/3.0.1-3.1.0-dev#15037

Merged
Maffooch merged 12 commits into
devfrom
master-into-dev/3.0.1-3.1.0-dev
Jun 17, 2026
Merged

Release: Merge back 3.0.1 into dev from: master-into-dev/3.0.1-3.1.0-dev#15037
Maffooch merged 12 commits into
devfrom
master-into-dev/3.0.1-3.1.0-dev

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Release triggered by Maffooch

DefectDojo release bot and others added 11 commits June 15, 2026 22:37
…1.0-dev

Release: Merge back 3.0.0 into bugfix from: master-into-bugfix/3.0.0-3.1.0-dev
* update SAML documentation

* change hash code language

* update universal parser docs

* add default perms info

* update uparser docs
Removes [esbuild](https://github.com/evanw/esbuild). It's no longer used after updating ancestor dependency [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). These dependencies need to be updated together.


Removes `esbuild`

Updates `vite` from 7.3.2 to 8.0.16
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.0.16/packages/vite)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version:
  dependency-type: indirect
- dependency-name: vite
  dependency-version: 8.0.16
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…15023)

* fix(findings): resolve single-location filter against Location model

Filtering the findings list by a single location via ?endpoints=<id>
returned HTTP 404. ListFindings.add_breadcrumbs looked the id up against
the legacy Endpoint model with get_object_or_404, but the
Endpoint->Location migration leaves dojo_endpoint empty, so every such
link (generated by the Endpoints page in dojo/templates/dojo/url/list.html)
raised Http404 and 404'd the entire findings list.

Resolve the id against Location instead, mirroring
dojo.url.ui.views.process_endpoint_view. The findings filter already maps
the endpoints parameter to locations__location, so only the breadcrumb
lookup was stale.

Adds a regression test covering the 200 response, the "Vulnerable
Endpoints" breadcrumb label, and the preserved 404 for a missing location.

Authored by T. Walker - DefectDojo

* harden(findings): scope single-location breadcrumb lookup to authorized locations

Addresses the DryRun Security review on this PR. The breadcrumb resolved a
user-supplied location id via get_object_or_404 without permission scoping,
which could disclose the existence/URL of a location the user cannot access
(read-only, breadcrumb-only info disclosure).

Resolve the id through get_authorized_locations("view") so the lookup 404s
for both missing and unauthorized ids. The findings data itself was already
scoped via get_authorized_findings("view"); this closes the breadcrumb gap
and aligns the lookup with the project's location authorization model.

Adds a regression test asserting an unauthorized user receives 404.

Authored by T. Walker - DefectDojo

* fix(findings): gate single-location breadcrumb lookup on V3_FEATURE_LOCATIONS

The breadcrumb lookup in ListFindings.add_breadcrumbs resolved the single
`?endpoints=<id>` filter value against Location unconditionally. But the
findings `endpoints` filter itself is V3-gated (dojo/filters.py): under V3 it
resolves against Location, otherwise against the legacy Endpoint model. With
locations disabled (a supported rollback, DD_V3_FEATURE_LOCATIONS=False) the
Location table is empty, and the legacy Endpoints page still links to
open_findings/verified_findings with `?endpoints=<endpoint_id>`, so every valid
legacy endpoint id 404'd the findings list — trading the original V3 404 for a
legacy-mode one.

Resolve the id against the same model the filter used, keeping the authorization
scoping in both branches (get_authorized_locations under V3,
get_authorized_endpoints otherwise) so the breadcrumb still cannot disclose an
object the user may not view.

Add a legacy (skip_unless_v2) counterpart test class mirroring the V3 cases:
single-endpoint filter returns 200, sets the "Vulnerable Endpoints" breadcrumb,
and 404s for missing/unauthorized endpoint ids.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Cody Maffucci <46459665+Maffooch@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… point new-UI banner at 3.3.0 (#15024)

* fix: prevent 500 on org/product delete with deprecated endpoints under V3_FEATURE_LOCATIONS

Deleting a Product_Type/Product that still has legacy Endpoint rows returned a
500 when V3_FEATURE_LOCATIONS is enabled: Django's delete machinery hydrates the
cascade-related Endpoint rows via Model.from_db(), but Endpoint.__init__ raises
NotImplementedError under V3 unless _allow_v3_init is set.

Wrap the affected delete paths in the existing Endpoint.allow_endpoint_init()
context manager (the convention already used by delete_product):
- UI delete_product_type: the sync delete and the NestedObjects preview collect
- API ProductViewSet.destroy / ProductTypeViewSet.destroy (sync branch)
- the shared DeletePreviewModelMixin.delete_preview (covers all viewsets)

Add unittests/test_delete_with_endpoints_v3.py covering UI + API delete and
delete-preview for Product_Type, Product, Engagement, Test, and Finding under
V3_FEATURE_LOCATIONS=True with an Endpoint/Endpoint_Status in the tree.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix: update docstrings for clarity in TestDeleteWithEndpointsV3

* fix: point new-UI adoption banner at 3.3.0 release

The banner referenced the 2.62.0 release, which no longer exists after
the renumbering from the 2.x line to 3.x. Per the repo's release
milestones, the September 8th minor release is now 3.3.0, so update the
version string to match.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Release: Merge release into master from: release/3.0.1
@github-actions github-actions Bot added the release-management Automated release-train PR label Jun 17, 2026
@Maffooch Maffooch merged commit 0fce166 into dev Jun 17, 2026
150 checks passed
@Maffooch Maffooch deleted the master-into-dev/3.0.1-3.1.0-dev branch June 17, 2026 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants