Point-Free is adopting SwiftPM traits across their Swift libraries to let users opt out of transitive dependencies they don't need. Using SwiftNavigation as a test bed, developers can now specify traits like `CasePaths` and `Perception` in Package.swift to avoid pulling in libraries like CustomDump, IssueReporting, and Sharing. The Dependencies library also supports traits to omit clock/Combine scheduler registrations and even Foundation/FoundationNetworking for Wasm and Android targets. Xcode provides a new UI for managing these traits. More libraries, including ComposableArchitecture 2.0, are getting the same treatment.
681 Impressions