Skip to content

Fix for RadiantKit#141

Merged
leogdion merged 4 commits intomainfrom
subrepo
Jan 7, 2026
Merged

Fix for RadiantKit#141
leogdion merged 4 commits intomainfrom
subrepo

Conversation

@leogdion
Copy link
Copy Markdown
Member

@leogdion leogdion commented Jan 7, 2026

Summary by CodeRabbit

  • Chores

    • Updated minimum platform requirements across all Apple platforms (macOS, iOS, watchOS, tvOS, visionOS, macCatalyst).
    • Updated dependencies to newer versions for improved compatibility and stability.
  • Documentation

    • Updated README with current deployment target requirements.

✏️ Tip: You can customize this high-level summary in your review settings.

leogdion and others added 4 commits January 6, 2026 12:22
Raises minimum platform versions to align with RadiantKit dependency requirements: macOS 15, iOS 18, watchOS 11, tvOS 18, visionOS 2, and macCatalyst 18. Updates both code and documentation for consistency.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jan 7, 2026

📝 Walkthrough

Walkthrough

This PR updates minimum deployment targets across the project and dependencies. macOS jumps from 14+ to 15+, iOS from 17 to 18, watchOS from 10 to 11, tvOS from 17 to 18, visionOS from 1 to 2, and macCatalyst from 15 to 18. RadiantKit dependency updates to 1.0.0-beta.5 and swift-argument-parser to 1.7.0. Documentation is updated accordingly.

Changes

Cohort / File(s) Summary
Documentation & Requirements
CLAUDE.md, README.md
Updated platform requirement documentation to reflect new minimum versions: macOS 15+, iOS 18+, watchOS 11+, tvOS 18+, visionOS 2+.
Dependency Manifest
Package.resolved, Package/Sources/Dependencies/RadiantKit.swift
Updated RadiantKit from 1.0.0-beta.4 to 1.0.0-beta.5; swift-argument-parser from 1.6.2 to 1.7.0; originHash regenerated in lock file.
Platform Configuration
Package.swift, Package/Sources/Platforms/WWDC2023.swift
Bumped WWDC2023 platform versions: macOS .v12→.v15, iOS .v15→.v18, watchOS .v8→.v11, tvOS .v15→.v18, visionOS .v1→.v2, macCatalyst .v15→.v18.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Possibly related PRs

  • v2.2.1 beta.2 #116: Modifies dependency versions and updates platform/CI targets in a similar dependency and manifest update pattern.

Poem

🐰 Versions hop and platforms rise,
Beta bumps beneath the skies,
From Fourteen up to Fifteen we go,
Dependencies in steady flow! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Title check ⚠️ Warning The title 'Fix for RadiantKit' is misleading; the changeset primarily updates platform minimum versions across multiple files and dependencies, with only one file (RadiantKit.swift) being a RadiantKit-specific dependency bump. Use a more accurate title like 'Update minimum platform versions and dependencies' or 'Bump platform targets and RadiantKit to beta.5' to reflect the full scope of changes.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e515399 and bf9e259.

📒 Files selected for processing (6)
  • CLAUDE.md
  • Package.resolved
  • Package.swift
  • Package/Sources/Dependencies/RadiantKit.swift
  • Package/Sources/Platforms/WWDC2023.swift
  • README.md
🧰 Additional context used
📓 Path-based instructions (3)
Package/Sources/**/*.swift

📄 CodeRabbit inference engine (CLAUDE.md)

Package/Sources/**/*.swift: Always regenerate Package.swift after editing files in Package/Sources/ using ./Scripts/package.sh
Use result builders (@ProductsBuilder, @DependencyBuilder) for declarative syntax in Package definition files
Define products and targets in Package/Sources/ using the custom Package builder pattern, then regenerate Package.swift

Files:

  • Package/Sources/Platforms/WWDC2023.swift
  • Package/Sources/Dependencies/RadiantKit.swift
**/*.swift

📄 CodeRabbit inference engine (CLAUDE.md)

**/*.swift: Use async/await for all I/O operations, including VM operations (start, pause, stop), configuration retrieval, and image loading
Ensure all public types conform to Sendable protocol for thread safety
Use protocol-based design with associated types for abstraction and extensibility
Use typed errors following Swift conventions (VMSystemError, MachineError, LibraryError, BuilderError, BookmarkError)
Use the Builder pattern for complex object creation, particularly for machine and configuration building
Extend core types with features following Swift conventions using extensions (e.g., Machine, MachineSystem extensions)
Include comprehensive doc comments on all public APIs following DocC standards
Support Swift 6.0+ with strict concurrency checking enabled and use modern Swift features (noncopyable generics, variadic generics)
Use conditional compilation where necessary to support multiple platforms (macOS, iOS, watchOS, tvOS, Linux)
Use lazy loading for configuration and metadata to improve performance

Files:

  • Package/Sources/Platforms/WWDC2023.swift
  • Package.swift
  • Package/Sources/Dependencies/RadiantKit.swift
Package.swift

📄 CodeRabbit inference engine (CLAUDE.md)

Package.swift: Do not edit Package.swift directly; it is generated from source files in Package/ directory
Maintain minimum deployment targets: macOS 14+, iOS/watchOS/tvOS as applicable, Linux (Ubuntu 20.04+)

Files:

  • Package.swift
🧠 Learnings (12)
📓 Common learnings
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to Package.swift : Maintain minimum deployment targets: macOS 14+, iOS/watchOS/tvOS as applicable, Linux (Ubuntu 20.04+)
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Build on multiple Swift versions (6.0, 6.1, 6.2, nightly) and multiple Xcode versions to ensure compatibility
📚 Learning: 2025-12-19T17:23:57.462Z
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to Package.swift : Maintain minimum deployment targets: macOS 14+, iOS/watchOS/tvOS as applicable, Linux (Ubuntu 20.04+)

Applied to files:

  • CLAUDE.md
  • README.md
  • Package/Sources/Platforms/WWDC2023.swift
  • Package.swift
📚 Learning: 2025-12-19T17:23:57.462Z
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to **/*.swift : Support Swift 6.0+ with strict concurrency checking enabled and use modern Swift features (noncopyable generics, variadic generics)

Applied to files:

  • CLAUDE.md
  • README.md
  • Package.swift
📚 Learning: 2025-12-19T17:23:57.462Z
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Build on multiple Swift versions (6.0, 6.1, 6.2, nightly) and multiple Xcode versions to ensure compatibility

Applied to files:

  • CLAUDE.md
  • README.md
  • Package/Sources/Platforms/WWDC2023.swift
  • Package.swift
📚 Learning: 2025-12-19T17:23:57.462Z
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to **/*.swift : Use conditional compilation where necessary to support multiple platforms (macOS, iOS, watchOS, tvOS, Linux)

Applied to files:

  • CLAUDE.md
  • README.md
  • Package/Sources/Platforms/WWDC2023.swift
  • Package.swift
📚 Learning: 2025-12-19T17:23:57.462Z
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to Package.swift : Do not edit Package.swift directly; it is generated from source files in Package/ directory

Applied to files:

  • CLAUDE.md
  • Package/Sources/Platforms/WWDC2023.swift
  • Package.swift
  • Package/Sources/Dependencies/RadiantKit.swift
  • Package.resolved
📚 Learning: 2025-12-19T17:23:57.462Z
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to Package/Sources/**/*.swift : Define products and targets in Package/Sources/ using the custom Package builder pattern, then regenerate Package.swift

Applied to files:

  • CLAUDE.md
  • Package.swift
📚 Learning: 2025-12-19T17:23:57.462Z
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to Sources/BushelMacOSCore/**/*.swift : Implement platform-specific logic through protocol conformances (e.g., MacOSVirtualization for MachineSystem, MacOSRelease for version management)

Applied to files:

  • CLAUDE.md
  • README.md
  • Package/Sources/Platforms/WWDC2023.swift
  • Package.swift
📚 Learning: 2025-12-19T17:23:57.462Z
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to **/*.swift : Use protocol-based design with associated types for abstraction and extensibility

Applied to files:

  • CLAUDE.md
📚 Learning: 2025-12-19T17:23:57.462Z
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to **/*.swift : Use the Builder pattern for complex object creation, particularly for machine and configuration building

Applied to files:

  • CLAUDE.md
📚 Learning: 2025-12-19T17:23:57.462Z
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Generate and validate documentation using swift package generate-documentation with appropriate platform and hosting settings

Applied to files:

  • CLAUDE.md
📚 Learning: 2025-12-19T17:23:57.462Z
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to Package/Sources/**/*.swift : Use result builders (ProductsBuilder, DependencyBuilder) for declarative syntax in Package definition files

Applied to files:

  • Package/Sources/Dependencies/RadiantKit.swift
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: claude-review
  • GitHub Check: Build on macOS (macos-15, /Applications/Xcode_16.4.app)
  • GitHub Check: Build on macOS (ios, macos-15, /Applications/Xcode_26.0.app, iPhone Air, 26.0.1, true)
  • GitHub Check: Build on macOS (visionos, macos-15, /Applications/Xcode_26.0.app, Apple Vision Pro, 26.0, true)
  • GitHub Check: Build on macOS (ios, macos-15, /Applications/Xcode_16.4.app, iPhone 16, 18.5)
  • GitHub Check: Analyze (swift)
🔇 Additional comments (6)
CLAUDE.md (1)

17-17: Documentation update aligns with code changes.

The macOS deployment target documentation update from 14+ to 15+ is consistent with the platform target changes throughout the PR. However, ensure this increase is necessary, as noted in the README.md review comment.

Based on learnings, verify this change is required before finalizing.

README.md (1)

56-56: RadiantKit 1.0.0-beta.5 does not appear to exist in this PR, and the deployment target increases are already defined in the codebase.

The current Package.swift contains RadiantKit at version "1.0.0-beta.4", not beta.5. Additionally, web searches indicate RadiantKit 1.0.0-beta.5 is not publicly available. The deployment targets shown in README.md (iOS 18, watchOS 11, tvOS 18, macOS 15) already match the WWDC2023 platform definitions in the codebase.

The apparent conflict with learnings suggesting "macOS 14+" is resolved by CLAUDE.md, the project's official guidance document, which explicitly specifies "macOS 15+ deployment target" as a requirement.

Likely an incorrect or invalid review comment.

Package/Sources/Platforms/WWDC2023.swift (1)

34-39: and

Package.resolved (1)

2-2: RadiantKit 1.0.0-beta.5 dependency version cannot be publicly verified.

swift-argument-parser 1.7.0 is confirmed to exist (released Dec 17, 2025), but RadiantKit 1.0.0-beta.5 could not be found on GitHub. The dependency is referenced in Package.resolved with revision a65d6721b6b396f0503a3876ddab3f2399b21d4e, but no publicly accessible release tag or GitHub release exists for this version. Verify that RadiantKit 1.0.0-beta.5 is properly published and accessible before merging.

Package/Sources/Dependencies/RadiantKit.swift (1)

32-32: RadiantKit 1.0.0-beta.5 is compatible with the dependency specification.

RadiantKit 1.0.0-beta.5 exists and supports macOS 12 (not macOS 15), iOS 18, tvOS 18, and watchOS 11. The higher platform targets introduced in this PR (macOS 15+) are not driven by RadiantKit's requirements; the dependency is compatible with a wider range of platforms. The version update from 1.0.0-beta.4 to 1.0.0-beta.5 proceeds without platform compatibility concerns.

Package.swift (1)

3228-3236: Regenerate Package.swift to sync RadiantKit version from beta.4 to beta.5.

The source file Package/Sources/Dependencies/RadiantKit.swift specifies 1.0.0-beta.5, but Package.swift still shows 1.0.0-beta.4. Since Package.swift is generated from the Package/ source files, it needs to be regenerated using:

./Scripts/package.sh .

The platform version bumps to macOS 15+, iOS 18, watchOS 11, tvOS 18, and visionOS 2 are intentional and already documented in CLAUDE.md as the new minimum deployment targets.

⛔ Skipped due to learnings
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to Package.swift : Do not edit Package.swift directly; it is generated from source files in Package/ directory
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to Package.swift : Maintain minimum deployment targets: macOS 14+, iOS/watchOS/tvOS as applicable, Linux (Ubuntu 20.04+)
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to Package/Sources/**/*.swift : Always regenerate Package.swift after editing files in Package/Sources/ using ./Scripts/package.sh
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to Package/Sources/**/*.swift : Define products and targets in Package/Sources/ using the custom Package builder pattern, then regenerate Package.swift
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Build on multiple Swift versions (6.0, 6.1, 6.2, nightly) and multiple Xcode versions to ensure compatibility
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to Sources/BushelMacOSCore/**/*.swift : Implement platform-specific logic through protocol conformances (e.g., MacOSVirtualization for MachineSystem, MacOSRelease for version management)
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to **/*.swift : Use conditional compilation where necessary to support multiple platforms (macOS, iOS, watchOS, tvOS, Linux)
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Generate and validate documentation using swift package generate-documentation with appropriate platform and hosting settings
Learnt from: CR
Repo: brightdigit/BushelKit PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-19T17:23:57.462Z
Learning: Applies to Package/Sources/**/*.swift : Use result builders (ProductsBuilder, DependencyBuilder) for declarative syntax in Package definition files

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.

@claude
Copy link
Copy Markdown

claude bot commented Jan 7, 2026

Code Review for PR #141: Fix for RadiantKit

Summary

This PR updates the RadiantKit dependency from 1.0.0-beta.4 to 1.0.0-beta.5 and updates platform deployment targets from legacy versions to modern ones. The changes also include updating swift-argument-parser from 1.6.2 to 1.7.0.

✅ Strengths

  1. Consistent Updates: The PR correctly updates the dependency version in both the package source file (Package/Sources/Dependencies/RadiantKit.swift) and regenerates Package.swift, following the project's pattern of generated package files.

  2. Documentation Alignment: Updates to CLAUDE.md and README.md correctly reflect the new minimum deployment target (macOS 15+).

  3. Proper Platform Versioning: The platform updates align all Apple platforms to their latest major versions (iOS 18, watchOS 11, tvOS 18, visionOS 2, macOS 15).

  4. CI Passing: Ubuntu builds and several macOS builds have successfully completed, indicating the changes compile correctly.

⚠️ Concerns & Issues

1. Semantic Naming Mismatch ⚠️

The struct WWDC2023 (Package/Sources/Platforms/WWDC2023.swift:32) now defines platform versions from 2024-2025 releases:

  • macOS 15 (Sequoia) - Released September 2024
  • iOS 18 - Released September 2024
  • visionOS 2 - Released September 2024
  • watchOS 11 - Released September 2024

Issue: The name WWDC2023 is misleading as these are WWDC 2024/2025 platform versions.

Recommendation:

  • Rename WWDC2023 to WWDC2024 or LatestPlatforms to accurately reflect the deployment targets
  • Or create a new WWDC2024 struct and migrate to it
  • Update the reference in Package/Sources/Index.swift:72

2. Missing Context in PR Description ℹ️

The PR body is empty, which makes it difficult to understand:

  • Why was RadiantKit updated? (Bug fix? New features? Breaking changes?)
  • Why were platform targets raised from v12/v15 to v15/v18?
  • Were there any breaking changes in RadiantKit beta.5 that required the platform bump?

Recommendation: Add a description explaining:

## Changes
- Update RadiantKit from 1.0.0-beta.4 to 1.0.0-beta.5
- Raise minimum deployment targets to modern platform versions
- Update swift-argument-parser to 1.7.0

## Reason
[Why was this update necessary? What does RadiantKit beta.5 fix or add?]

## Breaking Changes
[Does this affect users on older OS versions?]

3. Breaking Change for Users 🔴

Raising the minimum deployment target from:

  • macOS 12 → macOS 15
  • iOS 15 → iOS 18
  • watchOS 8 → watchOS 11

This is a major breaking change that:

  • Drops support for macOS Monterey (12), Ventura (13), and Sonoma (14)
  • Drops support for iOS 15, 16, and 17
  • May affect users who cannot upgrade their OS

Recommendation:

  • Document this as a breaking change in the PR description
  • Consider if this is intentional or if RadiantKit beta.5 actually requires these versions
  • If not required by dependencies, consider maintaining backward compatibility
  • Update the project's changelog/release notes to highlight this breaking change

4. Test Coverage ℹ️

No test files were modified in this PR.

Question:

  • Are there integration tests that verify RadiantKit functionality?
  • Should tests be updated to verify compatibility with the new dependency version?

📋 Recommendations

  1. High Priority: Rename WWDC2023 to accurately reflect the platform versions (e.g., WWDC2024 or ModernPlatforms)

  2. High Priority: Add PR description explaining the rationale for both the dependency update and platform target changes

  3. Medium Priority: Verify that RadiantKit beta.5 actually requires macOS 15+ (or if lower versions can still be supported)

  4. Medium Priority: Document this as a breaking change if the deployment target increase is intentional

  5. Low Priority: Consider adding a changelog entry or migration guide for users affected by the deployment target increase

🔒 Security & Performance

  • ✅ No security concerns identified
  • ✅ No performance concerns identified
  • ✅ Dependency updates from reputable sources (brightdigit/RadiantKit, apple/swift-argument-parser)

📝 Code Quality

  • ✅ Code follows project conventions
  • ✅ Properly regenerated Package.swift from source files
  • ✅ Consistent formatting and style
  • ⚠️ Semantic naming issue with WWDC2023

Overall Assessment: The technical implementation is sound, but the PR would benefit from better documentation and addressing the semantic naming concern. The platform target increase should be explicitly justified.

@leogdion leogdion merged commit 1b3e8d8 into main Jan 7, 2026
23 checks passed
@leogdion leogdion deleted the subrepo branch January 7, 2026 21:03
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.

1 participant