0.39.0 Migration Guide¶
Changes¶
- The buildpack
stackproperty has been split out of thebuildpacksplugin and into the two builder plugins that consume it. Previously a singlestackvalue set viabuildpacks:set-propertywas shared by both the herokuish and CNB (pack) builders, even though a herokuish stack image is not a valid CNB builder and vice versa. The herokuish stack is now managed viabuilder-herokuish:set <app> stack <value>(defaultgliderlabs/herokuish:latest-24), and the CNB builder is managed viabuilder-pack:set <app> stack <value>(defaultheroku/builder:24). Both support the--globalscope and exposestack,global-stack, andcomputed-stackkeys via their respective:reportcommands. - The
buildpacks:set-property stackcommand is deprecated but continues to work. It emits a deprecation warning and forwards the value to the appropriate builder: values referencing a herokuish image (the value containsherokuish) are written tobuilder-herokuish, and all other values are written tobuilder-pack. Unsetting (buildpacks:set-property <app> stack) clears the value on both builders. - The
--buildpacks-stack,--buildpacks-global-stack, and--buildpacks-computed-stackreport flags (and the correspondingstack,global-stack,computed-stackJSON keys) have been removed frombuildpacks:report. Usebuilder-herokuish:reportandbuilder-pack:reportinstead. Thebuildpacks:reportcommand continues to report the buildpackslist. - The internal
buildpack-stack-nameplugin trigger has been removed. Each builder now reads its ownstackproperty directly during the build. - Changing a builder's
stacknow clears that builder's build cache so the next deploy starts fresh. For herokuish this removes thecache-<app>Docker volume; for pack the nextpack buildruns with--clear-cache.
Stack property migrated to builder plugins¶
Existing stack values stored via buildpacks:set-property are migrated automatically the first time dokku runs the buildpacks plugin install step after the upgrade. Each per-app and global value is moved to builder-herokuish or builder-pack based on the same herokuish detection used by the deprecated command, and the old buildpacks value is removed. No manual action is required.
Going forward, configure the stack using the builder commands:
| Deprecated command | Replacement command |
|---|---|
dokku buildpacks:set-property <app> stack <herokuish-image> |
dokku builder-herokuish:set <app> stack <herokuish-image> |
dokku buildpacks:set-property <app> stack <cnb-builder> |
dokku builder-pack:set <app> stack <cnb-builder> |
dokku buildpacks:set-property --global stack <value> |
dokku builder-herokuish:set --global stack <value> / dokku builder-pack:set --global stack <value> |