From 0e55fc084f396bf096bb8e300ce14ed99a10f8ac Mon Sep 17 00:00:00 2001 From: cc Date: Wed, 15 Apr 2026 11:02:11 +0200 Subject: [PATCH] Show all minor versions for latest 2 major iOS/macOS releases In Major Releases view, always display all minor versions for the latest 2 major versions of iOS and macOS instead of just the latest build of each major version. --- src/components/oslist.tsx | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/components/oslist.tsx b/src/components/oslist.tsx index b5a0268..5e3aaf2 100644 --- a/src/components/oslist.tsx +++ b/src/components/oslist.tsx @@ -76,11 +76,30 @@ export default function OSList() { bucket.get(key)!.push(item); } }); - bucket.values().forEach((items) => { - items.sort((a, b) => compareVersion(b.version, a.version)); + // For iOS and mac, determine the latest 2 major versions + const isIOSOrMac = group.name === "iOS" || group.name === "mac"; + let latestTwoMajors = new Set(); + if (isIOSOrMac) { + const sortedMajors = Array.from(bucket.keys()) + .map(Number) + .sort((a, b) => b - a) + .slice(0, 2) + .map(String); + latestTwoMajors = new Set(sortedMajors); + } + + bucket.forEach((items, major) => { + items.sort((a, b) => compareVersion(b.version, a.version)); + + if (isIOSOrMac && latestTwoMajors.has(major)) { + // For latest 2 majors of iOS/macOS, show all minor versions + items.forEach((item) => set.add(item.build)); + } else { + // For older majors or other OS types, show only the latest const [first] = items; set.add(first?.build); - }); + } + }); } } setHighlights(set);