From 67ff7be02902c1d6259edb8f05aeb6c78a7d8041 Mon Sep 17 00:00:00 2001 From: Mx-Iris Date: Wed, 12 Aug 2026 17:57:45 +0800 Subject: [PATCH] docs(release): describe what Relationships actually resolves MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- Changelogs/v2.1.0.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/Changelogs/v2.1.0.md b/Changelogs/v2.1.0.md index 6a0fcccb..5fdf21ac 100644 --- a/Changelogs/v2.1.0.md +++ b/Changelogs/v2.1.0.md @@ -20,7 +20,7 @@ release-candidate users too, not only to those coming from 2.0.x. - **Multi-tab content navigation** with a window tab bar and per-tab history - **Generic type specialization** — inspect Swift generics with concrete arguments filled in - **Background indexing** — the sidebar is ready when you click into it, not seconds later -- **Inspector → Relationships** — see who references a type, and what a type depends on +- **Inspector → Relationships** — a class's subclasses and a protocol's conforming types, gathered across every indexed binary - **Batch export** interfaces for multiple images in one pass - **Theme settings** with a data-driven color model and a built-in Xcode preset - **Jump to Definition** for Swift type references @@ -48,9 +48,21 @@ interface alongside the original unspecialized form. silently producing garbage. #### Inspector → Relationships -A new **Relationships** tab sits between *Hierarchy* and *Specialization*. It -lists inbound references (who uses this type) and outbound references (what -this type depends on), drawn across every binary the document has loaded. +A new **Relationships** tab sits between *Hierarchy* and *Specialization*, +answering the question a single interface listing cannot: what else in the +loaded binaries builds on this type. + +- Select a **class** and it lists that class's direct subclasses. +- Select a **protocol** and it lists the types that conform to it. + +Both are unioned across every indexed image rather than looked up in the image +that defines the target, so a subclass or conformer living in a different +binary still shows up. Images that are loaded but not yet indexed contribute +nothing, so the list fills in as background indexing catches up. + +Objective-C and Swift classes and protocols are covered, including classes +bridged between the two. Other kinds — structs, enums, categories — have no +relationships to show. #### Jump to Definition for Swift types Command-click a Swift type reference in the content view to navigate to its