Skip to content

Fix the Relationships description in the v2.1.0 notes - #93

Merged
Mx-Iris merged 1 commit into
mainfrom
docs/relationships-scope
Aug 12, 2026
Merged

Fix the Relationships description in the v2.1.0 notes#93
Mx-Iris merged 1 commit into
mainfrom
docs/relationships-scope

Conversation

@Mx-Iris

@Mx-Iris Mx-Iris commented Aug 12, 2026

Copy link
Copy Markdown
Member

The v2.1.0 release notes describe the Relationships tab as listing inbound
references (who uses this type) and outbound references (what this type
depends on)
. It resolves neither.

RuntimeRelationships carries exactly two collections:

public struct RuntimeRelationships: Hashable, Sendable, Codable {
    public let subclasses: [RuntimeObject]
    public let conformingTypes: [RuntimeObject]
}

and RuntimeRelationshipsResolver.relationships(for:) fills them for four
kinds only — ObjC/Swift class and ObjC/Swift protocol. A class gets its direct
subclasses, a protocol gets its conforming types, anything else returns
.empty. There is no reference analysis anywhere in that path.

The wording originates in the v2.1.0-beta.2 notes and was copied forward
through v2.1.0-RC.1 into this release without being checked against the
implementation.

Rewritten to the two lookups that exist, plus the two properties of the result
a user will actually notice: the union runs over every indexed image rather
than the target's defining image, and images still waiting on background
indexing contribute nothing, so the list fills in as indexing catches up.

The same wrong sentence is still in Changelogs/v2.1.0-beta.2.md and
Changelogs/v2.1.0-RC.1.md, along with the GitHub Release notes those two
tags published. Left alone here — this PR covers the current stable release.

The tab was described as listing inbound and outbound references — who uses
a type and what it depends on. It resolves neither. `RuntimeRelationships`
carries exactly two collections, `subclasses` and `conformingTypes`, and the
resolver fills them for four kinds only: a class gets its direct subclasses,
a protocol gets its conforming types, and everything else returns `.empty`.

The wording dates back to the beta.2 notes and was copied forward through
RC.1 into this release unchecked. Replaced with the two lookups that exist,
plus the two properties of the result users will notice: it unions across
every indexed image rather than the defining one, and images still waiting
on background indexing contribute nothing.
Copilot AI lite review requested due to automatic review settings August 12, 2026 09:58
@Mx-Iris
Mx-Iris merged commit 43ca692 into main Aug 12, 2026
@Mx-Iris
Mx-Iris deleted the docs/relationships-scope branch August 12, 2026 09:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the v2.1.0 release notes to accurately describe what the Inspector → Relationships tab actually computes in Runtime Viewer (subclasses for classes, conformers for protocols), correcting prior wording that implied inbound/outbound reference analysis.

Changes:

  • Fixes the Highlights bullet to reflect the implemented relationships data.
  • Rewrites the “Inspector → Relationships” section to describe the real lookups and their user-visible behavior (cross-image union + gradual fill-in during background indexing).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants