Skip to content

v1.6.0

Latest

Choose a tag to compare

@kichristensen kichristensen released this 08 Jul 07:25
c273540

New Features

  • MCP serverporter mcp starts an MCP server over stdio so AI coding assistants (Claude Code, Cursor, VS Code Copilot, etc.) can explain bundles, list installations, and drive Porter with natural language (#3577)
  • File sources (experimental) — declare files in porter.yaml to have Porter download HTTP/HTTPS files automatically during porter build, instead of pre-placing them in the bundle directory (#3614)
  • Dependency version ranges — new dependencies.version-strategy setting (exact, max-patch, ...) controls how Porter picks a version when a dependency declares a semver range instead of a pinned tag (#3572)

Improvements

  • Graceful shutdown — Ctrl+C during install/upgrade/uninstall now forwards SIGTERM to the running bundle step (30s grace period before SIGKILL), so outputs written during cleanup are still captured (#3603)
  • porter explain shows injected params — parameters sourced from a prior run's output are now shown with an (injected) marker instead of being hidden (#3604)
  • Param set precedence fixed — parameter sets now correctly override a persisted --param value on upgrade, instead of the old value silently winning (#3600)
  • Errors printed once — error messages no longer repeat once per call-stack layer (#3592)
  • Correct --no-lint hint — autobuild lint failures now point to the right command instead of a flag that doesn't exist on install/upgrade/invoke/uninstall/publish (#3620)
  • Fix porter publish --archive for bundles built with Docker 29.x's containerd image store, whose invocation image layout can be an OCI image index rather than a plain manifest (#3618)
  • Fix blank parameters in porter installation runs list output (#3622)
  • Fix porter-state corruption — custom actions declared with modifies: false (e.g. dry-run) no longer silently overwrite the installation's state when they produce outputs (#3582)

Internal

  • Updated Go to 1.26.4
  • Added a .dockerignore documentation page for bundles
  • Documented the existing CLEANUP_CONTAINERS env var
  • Dependency updates across Go modules and GitHub Actions

All Changes

  • Resolve dependency version ranges (#3572)
  • Add MCP server (#3577)
  • Skip porter-state for modifies: false custom actions (#3582)
  • Print errors once, not per span level (#3592)
  • Update Go to 1.25.10 (#3593)
  • Add .dockerignore page for bundles (#3594)
  • Param sets override persisted --param values on upgrade (#3600)
  • Forward SIGTERM to bundle steps for graceful shutdown (#3603)
  • Show params with sources in porter explain output (#3604)
  • Add file-sources experimental feature for downloading files during porter build (#3614)
  • Support OCI index invocation images (#3618)
  • Correct --no-lint hint on autobuild lint errors (#3620)
  • Document CLEANUP_CONTAINERS setting (#3621)
  • Nil run parameters in list output (#3622)
  • Dependency updates (#3583, #3584, #3585, #3586, #3587, #3588, #3589, #3591, #3597, #3606, #3608, #3610, #3611, #3613, #3616, #3617, #3619)

Full Changelog: v1.5.0...v1.6.0