Skip to content

0.3.0

Latest

Choose a tag to compare

@btctcn btctcn released this 08 Sep 14:15
a766f23

Highlights

  • Real Swift 6 escape-hatch detection with a genuine SE-0337 severity downgrade (#118, #119, #153): @unchecked Sendable, nonisolated(unsafe), and @preconcurrency (declaration/conformance/import) are now surfaced as their own escapeHatches findings, and a real @preconcurrency softening — on a callee's own declaration, up its class hierarchy, or via a @preconcurrency import — downgrades that edge's risk for real (structuralRisk/severityRationale keep the "why" traceable). .uncheckedSendable's own mutable-stored-property detection is real too, walking a type's members and superclass chain.
  • --platform <name> flag (#147) for a modern multiplatform Xcode scheme offering several simultaneously-valid Simulator destinations (iOS + visionOS on one scheme, confirmed against a real app); compiler-argument resolution for Xcode projects generalized beyond iOS Simulator to the other three real Simulator SDK families — tvOS/watchOS/visionOS (#141), verified against four independent real corpora.
  • Real #if <name> custom build-condition evaluation (#134), replacing a hardcoded true; a real #if targetEnvironment(macCatalyst) misclassification fixed (#146).
  • Total sourcekitd unavailability is now a hard failure instead of a silent, incomplete report (#143); SwiftPM compiler-argument resolution's own run-to-run non-determinism fixed with a real-file-count-scaled retry (#149).
  • Several further real declaration/USR-matching and stderr-noise correctness fixes (#133, #136, #138, #144, #145).

Full changelog

0.2.1...0.3.0