Highlights
- SwiftPM projects:
sources.include/excludeare now resolved against
SwiftPM's own live build graph on everyplan, instead of a static
snapshot written once byinit/setup. Previously, a target whose
Package.swiftdeclared an explicitsources:allow-list narrower than
its own directory could get a mutant generated in a file that was never
actually compiled — every one of those mutants then failed
buildProductIdenticalToBaselineduringrun, discovered only after
paying for the build.init/setupnow writesources.include: ["**"]
by default, meaning "no additional narrowing on top of SwiftPM's real
compiled set"; a real glob still narrows further, exactly as before. dry-run: a missing structured test report (a known SwiftPM
non-parallel-mode limitation, not a failure) is now its own clearly
separated warning line, instead of being folded into the
Dry run passed (...)message where it read as a minor caveat on good
news rather than a real reporting gap. Exit code unchanged.- The corrupt-lock error (
.mutantkit/run-locks/*.lockunreadable,
correctly refused rather than silently reclaimed) now names the exact,
properly-quotedrmcommand to run once you've confirmed no run is
active — previously it explained the refusal but not the recovery step. - Homebrew:
brew install juntaki/mutantkit/mutantkitnow installs from a
precompiled bottle instead of building from source. This fixes a real
install failure some users hit ("Your Xcode ... is too outdated") caused
by Homebrew's generic source-build preflight, not by any actual Xcode
requirement of this formula's own (it only copies files). - Added a project logo to the README.
Upgrade impact
For SwiftPM projects, a mutantkit.yml written by setup before this
release still works unchanged (a directory-shaped sources.include keeps
its old, literal meaning). Re-running setup on such a project will now
write sources.include: ["**"] instead, moving that project onto the
live-resolved behavior above.
Breaking changes
None.
What's Changed
- plan: resolve SwiftPM sources.include live from SwiftPM's build graph instead of a static config snapshot by @juntaki in #60
- dry-run/lock: separate the structured-results warning, name the lock recovery step; add README logo by @juntaki in #61
- Release-Notes: add v1.0.3 by @juntaki in #62
Full Changelog: v1.0.2...v1.0.3