New Features
- Bundle dependency graph — visualize your bundle's dependency tree with the new
porter explain --dependenciescommand (#3512) - Multi-environment config — manage configs for multiple environments using named contexts; switch between dev, staging, and prod without editing config files (#3547)
- Config commands — inspect and edit your Porter config directly with
porter config showandporter config edit(#3544) - Installation ID templating — reference the installation ID in templates via
{{ installation.id }}or thePORTER_INSTALLATION_IDenv var (#3549) - Persistent parameter shorthand — shorter syntax for declaring persistent parameters (#3574)
- Context-scoped secret resolution — secrets are now resolved using the selected context, preventing accidental cross-environment leakage (#3561)
Improvements
- Skip redundant builds —
porter buildis now a no-op when the bundle is already up-to-date (#3517) - Exec mixin script paths — local scripts can now be referenced without the
./prefix (#3522) - Smaller bundles — reduced bundle image size (#3488)
- File conflict validation — Porter now detects and reports conflicts between porter.yaml file and directory entries at build time (#3539)
Internal
- Upgraded to Go 1.25
- Migrated image handling from
craneandimage-relocationtogo-containerregistry - Migrated from
docker/dockertomoby/moby - Updated OpenTelemetry and gRPC dependencies
- CI pipelines skip on documentation-only changes
Community
- Welcome @dgannon991 as a new maintainer!
All Changes
- Added myself as a maintainer (#3514)
- Update to Go 1.24.11 (#3516)
- Upgrade dependencies (#3524)
- Skip build when bundle is up-to-date (#3517)
- View bundle dependency graph (#3512)
- Allow exec mixin to run local scripts without ./ prefix (#3522)
- Replace crane with go-containerregistry remote package (#3515)
- Replace image-relocation library with go-containerregistry (#3529)
- Update otelexporter dependencies (#3526)
- Update Dockerfile syntax to docker/dockerfile:1 (#3534)
- Skip CI pipelines for documentation-only changes (#3538)
- Validate porter file/dir conflicts (#3539)
- Pass in context to cnab-go Run() (#3253)
- Optimize bundle size (#3488)
- Add porter config show/edit commands (#3544)
- Bump Go to 1.24.13 (#3548)
- Add installation.id template var and PORTER_INSTALLATION_ID env var (#3549)
- Update OpenTelemetry dependencies (#3550)
- Update dependencies (#3552)
- Multi-environment config via named contexts (#3547)
- Only v-prefix tags with at least a major and minor version (#3554)
- Bumped to go1.25 (#3566)
- Add glossary page (#3573)
- Migrate away from docker/docker to moby/moby (#3559)
- Add best practice for bundle image refs (#3575)
- Add persistent parameter shorthand (#3574)
- Scope secret resolution to selected context (#3561)
- Cancel community meeting until further notice (#3537)
- Dependency updates (#3519, #3520, #3521, #3545, #3556, #3557, #3562, #3563, #3567, #3570, #3576, #3578, #3580, #3581)
Full Changelog: v1.4.0...v1.5.0