Skip to content

BP-2603: Release notes (2026-05-26)#291

Merged
jeff-matthews merged 24 commits into
release/v9.2.0from
BP-2603-release-notes
May 22, 2026
Merged

BP-2603: Release notes (2026-05-26)#291
jeff-matthews merged 24 commits into
release/v9.2.0from
BP-2603-release-notes

Conversation

@jeff-matthews
Copy link
Copy Markdown
Contributor

@jeff-matthews jeff-matthews commented May 20, 2026

Purpose

This pull request (PR) adds release notes for the May 6, 2026 release to the release integration branch, which includes:

  • BloodHound v9.2.0
  • SharpHound v2.13.0

No release for:

  • AzureHound
  • OpenHound

Staging

Summary by CodeRabbit

  • Documentation
    • Expanded Cypher query documentation with newly supported functions (nodes, relationships, startNode, endNode, head, tail) and clauses (WITH, ORDER BY, SKIP, LIMIT, UNWIND).
    • Added reserved prefix warnings: custom node and edge kinds cannot use the tag_ prefix (case-insensitive).
    • Updated schema validation to require at least one element in object kinds arrays.
    • Added release notes for version 9.2.0 documenting BloodHound enhancements and fixes.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 20, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 276ae849-f298-4bbc-ada3-daa3269ee690

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

This PR updates documentation for BloodHound v9.2.0 release, introducing OpenGraph reserved prefix validation rules (tag_ prefix restrictions for nodes and edges), documenting expanded Cypher language features (WITH, UNWIND, pagination, and list/path functions), and adding comprehensive release notes with enhancement and fixed-issue tracking for BloodHound, SharpHound, and AzureHound.

Changes

BloodHound v9.2.0 Documentation

Layer / File(s) Summary
OpenGraph reserved prefix validation and schema updates
docs/snippets/opengraph/reserved-prefix.mdx, docs/opengraph/developer/edges.mdx, docs/opengraph/developer/nodes.mdx, docs/opengraph/developer/graph-definition.mdx, docs/assets/opengraph/opengraph-node.json
Introduces case-insensitive reserved prefix (tag_) validation for OpenGraph node and edge kinds. Updates JSON schema to require at least one kind entry (minItems: 1). Adds troubleshooting guidance explaining upload rejection when kinds use the reserved prefix. Updates graph-definition warning text and node/edge documentation with ReservedPrefixWarning component callouts. Extends schema examples with environmentid and collected properties.
Cypher feature documentation expansion
docs/analyze-data/explore/cypher-supported.mdx, docs/snippets/cypher-mutations.mdx
Documents newly supported Cypher clauses: WITH for multi-part query composition, UNWIND for expanding lists into rows, and ORDER BY/SKIP/LIMIT for result pagination. Adds documentation for path/list inspection functions (nodes, relationships, startNode, endNode, head, tail). Removes "Pattern Lookup Functions" defect entry and "Unwind Expressions" from unsupported constructs list. Updates mutation clause documentation with configuration guidance via reusable CypherMutationsNote snippet.
v9.2.0 release notes and navigation
docs/resources/release-notes/2026-05-26.mdx, docs/resources/release-notes/summary.mdx, docs/docs.json
Adds new 2026-05-26 release notes page documenting BloodHound enhancements (Entity Panel Eligible Roles, search result node selection, Cypher and OpenGraph features), fixed issues grouped by module (Analysis, API, Cypher, UI, Access Control), and tool-specific fixes for SharpHound and AzureHound. Updates release summary page with new release entry and removes prior announcements section. Updates docs.json navigation to feature the new release at top-level and archive the prior 2026-04-13 entry under Archive → 2026.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

  • SpecterOps/bloodhound-docs#278: Updates release-notes navigation in docs/docs.json and extends docs/resources/release-notes/summary.mdx with new release entries.

Suggested labels

opengraph

Suggested reviewers

  • slokie-so

Poem

🐰 A doc refresh for the springtime release,
With OpenGraph rules bringing order and peace,
Cypher clauses bloom, new functions take flight,
v9.2.0 shines—documentation done right! 📚✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'BP-2603: Release notes (2026-05-26)' directly describes the primary change: adding release notes for a specific date. It aligns with the main objective documented in the PR description.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch BP-2603-release-notes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jeff-matthews jeff-matthews self-assigned this May 20, 2026
@jeff-matthews
Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 20, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
docs/analyze-data/explore/cypher-supported.mdx (1)

531-583: 💤 Low value

Optional: Consider varying sentence structure for improved readability.

The static analysis tool notes that multiple function descriptions begin with "Returns..." While this repetitive structure is acceptable and even helpful in technical reference documentation for quick scanning, you could optionally vary the phrasing if preferred.

Alternative phrasing examples
  • nodes: "Extracts all nodes from a matched path in order."
  • relationships: "Extracts the relationship list from a path in order."
  • startNode: "Gets the source node of a relationship."
  • endNode: "Gets the target node of a relationship."

However, the current consistent phrasing is perfectly acceptable for reference documentation.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/analyze-data/explore/cypher-supported.mdx` around lines 531 - 583, The
descriptions for functions nodes, relationships, startNode, endNode, head, and
tail all start with the same "Returns..." phrasing; optionally vary these to
improve readability by rewording each sentence (e.g., "Extracts all nodes from a
matched path" for nodes, "Gets the source node of a relationship" for startNode,
etc.) while preserving the examples and technical meaning; update the text
around the function names nodes, relationships, startNode, endNode, head, and
tail to use varied verb choices and maintain consistent tense and brevity across
entries.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/analyze-data/explore/cypher-supported.mdx`:
- Around line 127-131: The ORDER BY example currently uses UNWIND before UNWIND
is documented; replace the UNWIND-based snippet (WITH [2, 3, 1, 5, 4] AS list /
UNWIND list AS num / RETURN num / ORDER BY num DESC) with a simpler example that
doesn't rely on UNWIND, e.g. a cypher query using MATCH such as MATCH (u:User) /
RETURN u.name / ORDER BY u.name DESC / LIMIT 10, or alternatively move the
UNWIND section earlier so UNWIND is introduced before the "Result Ordering and
Pagination" section; update the example in the file to use the
MATCH/RETURN/ORDER BY/LIMIT form if you choose the first option.

In `@docs/resources/release-notes/summary.mdx`:
- Line 36: Remove the duplicated word in the release notes row that currently
reads "the the reserved `tag_` prefix" and change it to "the reserved `tag_`
prefix" so the sentence reads correctly in the OpenGraph table entry (the string
containing "the the reserved `tag_` prefix" should be updated).

In `@docs/snippets/cypher-mutations.mdx`:
- Around line 1-3: Update the configuration link anchor in
docs/snippets/cypher-mutations.mdx by changing the fragment identifier from
`#enable_cypher_mutations` to `#enable-cypher-mutations` in the BloodHound
configuration file link so it matches the hyphenated anchor style used elsewhere
(e.g., `/manage-bloodhound/bh-config#enable-cypher-mutations`) and replace the
existing `enable_cypher_mutations` anchor occurrence accordingly.

---

Nitpick comments:
In `@docs/analyze-data/explore/cypher-supported.mdx`:
- Around line 531-583: The descriptions for functions nodes, relationships,
startNode, endNode, head, and tail all start with the same "Returns..."
phrasing; optionally vary these to improve readability by rewording each
sentence (e.g., "Extracts all nodes from a matched path" for nodes, "Gets the
source node of a relationship" for startNode, etc.) while preserving the
examples and technical meaning; update the text around the function names nodes,
relationships, startNode, endNode, head, and tail to use varied verb choices and
maintain consistent tense and brevity across entries.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f00c82cb-ec1f-4777-92c7-42558007befa

📥 Commits

Reviewing files that changed from the base of the PR and between 64f5cb6 and 77e5a7f.

⛔ Files ignored due to path filters (3)
  • docs/images/release_notes/9_2_0/eligible-roles.png is excluded by !**/*.png
  • docs/images/release_notes/9_2_0/exposure-tooltip.png is excluded by !**/*.png
  • docs/images/release_notes/9_2_0/search-selection.gif is excluded by !**/*.gif
📒 Files selected for processing (10)
  • docs/analyze-data/explore/cypher-supported.mdx
  • docs/assets/opengraph/opengraph-node.json
  • docs/docs.json
  • docs/opengraph/developer/edges.mdx
  • docs/opengraph/developer/graph-definition.mdx
  • docs/opengraph/developer/nodes.mdx
  • docs/resources/release-notes/2026-05-26.mdx
  • docs/resources/release-notes/summary.mdx
  • docs/snippets/cypher-mutations.mdx
  • docs/snippets/opengraph/reserved-prefix.mdx

Comment thread docs/analyze-data/explore/cypher-supported.mdx Outdated
Comment thread docs/resources/release-notes/summary.mdx Outdated
Comment thread docs/snippets/cypher-mutations.mdx
Copy link
Copy Markdown
Contributor

@StephenHinck StephenHinck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left several comments for review/update

Comment thread docs/resources/release-notes/summary.mdx Outdated
Comment thread docs/resources/release-notes/summary.mdx Outdated
Comment thread docs/resources/release-notes/summary.mdx Outdated
Comment thread docs/resources/release-notes/2026-05-26.mdx Outdated
Comment thread docs/resources/release-notes/2026-05-26.mdx Outdated
Comment thread docs/resources/release-notes/2026-05-26.mdx
Comment thread docs/resources/release-notes/2026-05-26.mdx Outdated
Co-authored-by: Stephen Hinck <shinck@specterops.io>
Copy link
Copy Markdown
Contributor

@StephenHinck StephenHinck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, SHIP IT

@jeff-matthews jeff-matthews merged commit 52ed803 into release/v9.2.0 May 22, 2026
3 checks passed
@jeff-matthews jeff-matthews deleted the BP-2603-release-notes branch May 22, 2026 17:34
@github-actions github-actions Bot locked and limited conversation to collaborators May 22, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants