Migrating to v0.57.0

Before: historical release instructions

Historical release snapshot. For the current command surface, follow the latest migration and unreleased changes.

The tool cache moves under SPARKWING_HOMESection anchor link

sparkwing.ToolCacheDir returned a path under the OS temporary directory and now returns one under SPARKWING_HOME, so a cache survives a shell that resets TMPDIR. The first run after upgrading rebuilds each tool's cache. Nothing reads the old directories and nothing reclaims the new ones; remove either by hand.

ToolCacheDir panics where the Sparkwing home cannot be resolved, a case the OS temporary directory did not have. Set SPARKWING_HOME to a writable directory where the default does not resolve.

The pipeline linter reaches furtherSection anchor link

sparkwing pipeline lint follows a Plan body one level into a package-level function it calls, so I/O a Plan delegates is reported rather than missed. A method on the pipeline is not followed. It also treats a sparkwing/services call inside Plan as plan-time I/O, as it already did for sparkwing/docker and sparkwing/git.

Neither rule changes what a pipeline does. Both can report a pipeline that this release does not otherwise change, which is the point: the work belongs in a Job or Step body, where it runs at dispatch.