Skip to content

Conversation

@mshehan
Copy link

@mshehan mshehan commented Jul 7, 2025

TL;DR

Update Swift Package Manager configuration to Swift 5.0 and fix compatibility issues.

What changed?

  • Updated Swift tools version from 4.2 to 5.0
  • Added platform requirements (iOS 12+, tvOS 12+, macOS 10.13+)
  • Added test target to Package.swift
  • Fixed Swift 5 compatibility issues:
    • Added @retroactive to Equatable conformance
    • Updated string index handling from encodedOffset to utf16Offset
    • Updated Transport initializer parameter naming for readability

How to test?

  1. Build the package with Swift 5.0 or newer
  2. Run the test suite to verify all tests pass
  3. Verify the library works correctly on iOS 12+, tvOS 12+, and macOS 10.13+

Why make this change?

Swift 5.0 introduced ABI stability and several language changes that required updates to the codebase. This change ensures compatibility with modern Swift versions while maintaining support for specific platform versions. The addition of the test target in Package.swift also improves the development experience by making tests directly accessible through SPM.

Copy link
Author

mshehan commented Jul 7, 2025

This stack of pull requests is managed by Graphite. Learn more about stacking.

@mshehan mshehan requested a review from gregjlee July 7, 2025 23:50
@mshehan mshehan self-assigned this Jul 7, 2025
@mshehan mshehan added the chore label Jul 7, 2025 — with Graphite App
@mshehan mshehan marked this pull request as ready for review July 7, 2025 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants