Hive Hive
Sign in

CLI 4.201.0-canary.14

Metadata
Source
GitHub
Version
4.201.0-canary.14
Published
Jun 19, 2026 · 08:06 UTC
Repository
tuist/tuist
Update

This canary improves caching reliability and fixes several generation, dependency, and testing edge cases.

Caching and artifacts

  • Library targets, including static and dynamic libraries, can now be cached as binary XCFrameworks through the module cache alongside frameworks. Swift module directories and public headers are preserved on restore.
  • Cache warming no longer parses Xcode activity logs for per-target build duration, removing a failure point when logs are missing or unparseable.
  • The Bazel credential helper now refreshes your access token 60 seconds before it expires and reports an earlier expiry to Bazel, preventing mid-build UNAUTHENTICATED bursts during long remote-cache builds.

Generation and dependencies

  • Very large dependency graphs no longer crash tuist generate from stack overflow. Recursive graph traversals are now iterative across circular dependency linting, cycle detection, topological sort, module map generation, and static product linting.
  • Swift Package Manager dependencies that use newer warning-control APIs, such as treatAllWarnings, treatWarning, and enableWarning, now load correctly and map to matching Xcode build flags.
  • tuist inspect dependencies now detects implicit imports of modules exposed by SwiftPM binary XCFramework targets, and treats declared XCFramework dependencies as explicit for canImport checks.
  • Restored SwiftPM artifact extraction now uses the correct SwiftPM artifact scratch path.

Testing and distribution

  • Suite-granularity test sharding now selects Swift Testing suites by passing -only-testing identifiers to xcodebuild instead of mutating the .xctestrun, which previously skipped Swift Testing tests silently.
  • Suite shard destination resolution now respects the selected test plan, so multi-plan schemes resolve the correct concrete simulator destination for iOS shards.
  • SwifterPM resolution now streams SwiftPM output, and extracted archives no longer pick stale __MACOSX shadow bundles over real frameworks.