Snapcraft 8.3.1

Snaps are containerised software packages that are simple to create and install. They auto-update and are safe to run. And because they bundle their dependencies, they work on all major Linux systems without modification.

Tags snaps linux packaging distribution python cpp
License GNU GPLv3
State stable

Recent Releases

8.3.109 Jul 2024 18:25 minor feature: lt;h2 gt;Core lt;/h2 gt;. lt;h3 gt;Bases lt;/h3 gt;. lt;h4 gt; lt;code gt;core24 lt;/code gt; lt;/h4 gt;. lt;ul gt;. lt;li gt;Support lt;code gt;all lt;/code gt; as a target with lt;code gt;build-for: all lt;/code gt; lt;/li gt;. lt;li gt;Ensure Craft Providers provider (LXD or Multipass) is available before launching a build environment lt;/li gt;. lt;li gt;Improve presentation of lt;code gt;snapcraft.yaml lt;/code gt; model errors lt;/li gt;. lt;/ul gt;. lt;h3 gt;Metadata lt;/h3 gt;. lt;ul gt;. lt;li gt;Validate that lt;code gt;update_contact lt;/code gt;, lt;code gt;donation lt;/code gt;, lt;code gt;vcs-browser lt;/code gt;, lt;code gt;tracker lt;/code gt;, and lt;code gt;homepage lt;/code gt; fields adopted from an appstream metadata file are valid URLs or email addresses lt;/li gt;. lt;li gt;Ensure that lt;code gt;contact lt;/code gt;, lt;code gt;donation lt;/code gt;, lt;code gt;source-code lt;/code gt;, lt;code gt; lt;/code gt;, and lt;code gt;website lt;/code gt; fields in a lt;code gt;snapcraft.yaml lt;/code gt; take priority over appstream metadata lt;/li gt;. lt;/ul gt;. lt;h2 gt;Remote build lt;/h2 gt;. lt;ul gt;. lt;li gt;Allow building core22 snaps with lt;code gt;build-for: all lt;/code gt; lt;/li gt;. lt;li gt;Support reading Launchpad credentials from the previous location. lt;ul gt;. lt;li gt;If launchpad credentials do not exist in the new location ( lt;code gt; XDG_DATA_DIR/snapcraft/launchpad-credentials lt;/code gt;) introduced in lt;a href="https://github.com/canonical/snapcraft/releases/tag/8.2.0" gt;8.2.0 lt;/a gt;, then load credentials from the previous location ( lt;code gt; XDG_DATA_DIR/snapcraft/provider/launchpad/credentials lt;/code gt;) and emit a deprecation notice lt;/li gt;. lt;li gt;This behavior applies to the new and legacy remote builders lt;/li gt;. lt;/ul gt;. lt;/li gt;. lt;li gt;Require lt;code gt;core20 lt;/code gt; snaps to use the legacy remote builder lt;/li gt;. lt;/ul gt;. lt;h2 gt;Documentation
8.3.028 Jun 2024 22:45 minor feature: lt;h2 gt;Core lt;/h2 gt;. lt;h3 gt;Bases lt;/h3 gt;. lt;p gt;a where snaps using bases lt;code gt;core22-desktop lt;/code gt; and lt;code gt;core24-desktop lt;/code gt; could not be built. lt;/p gt;. lt;h4 gt;Core22 lt;/h4 gt;. lt;p gt;Warns when multiple snaps are going to be built in destructive mode because it may cause unexpected behavior. lt;/p gt;. lt;h3 gt;Plugins lt;/h3 gt;. lt;h4 gt;Flutter lt;/h4 gt;. lt;p gt;Adds lt;code gt;curl lt;/code gt; as a build-package for lt;code gt;flutter lt;/code gt; parts. lt;/p gt;. lt;h4 gt;ROS 2 Jazzy lt;/h4 gt;. lt;p gt;Adds support for the new ROS 2 Jazzy extension which lets you snap ROS 2 applications on lt;code gt;core24 lt;/code gt;. Similar to ROS 2 Humble for lt;code gt;core22 lt;/code gt;, content-sharing is supported. For more information, see lt;a href="https://snapcraft.io/docs/ros2-jazzy-extension" rel="nofollow" gt;https://snapcraft.io/docs/ros2-jazzy-extension lt;/a gt; and lt;a href="https://snapcraft.io/docs/ros2-jazzy-content-extension" rel="nofollow" gt;https://snapcraft.io/docs/ros2-jazzy-content-extension lt;/a gt;. lt;/p gt;. lt;h4 gt;List plugins lt;/h4 gt;. lt;p gt;a where lt;code gt;snapcraft list-plugins lt;/code gt; would fail to run in a core24 project directory. lt;/p gt;. lt;p gt;Updates lt;code gt;snapcraft list-plugins lt;/code gt; to show a list of lt;code gt;core24 lt;/code gt; plugins instead of lt;code gt;core22 lt;/code gt; plugins when not in a project directory. lt;/p gt;. lt;h3 gt;Extensions lt;/h3 gt;. lt;h4 gt;Gnome lt;/h4 gt;. lt;p gt;The lt;code gt;gnome lt;/code gt; extension is now stable for lt;code gt;core24 lt;/code gt; and integrates with the lt;code gt;gpu-2404 lt;/code gt; SDK. See lt;a href="https://mir-server.io/docs/the-gpu-2404-snap-interface#heading--consuming-the-interface" rel="nofollow" gt;here lt;/a gt; for more information. lt;/p gt;. lt;p gt; lt;code gt;GI_TYPELIB_PATH lt;/code gt; and lt;code gt;XDG_DATA_DIRS lt;/code gt; paths in the Gnome ex
8.2.1222 Jun 2024 13:25 minor feature: lt;h2 gt;Core lt;/h2 gt;. lt;p gt;an where core24 snaps would stage python packages already included in the lt;code gt;core24 lt;/code gt; base snap lt;/p gt;. lt;h2 gt;Store lt;/h2 gt;. lt;p gt;an where store-related error messages would be presented as an internal Snapcraft error. lt;/p gt;. lt;p gt;Additionally, keyring errors now suggest a resolution and link to documentation lt;/p gt;. lt;h2 gt;Documentation lt;/h2 gt;. lt;p gt;Snapcraft's version in the lt;a href="https://canonical-snapcraft.readthedocs-hosted.com/en/latest/?badge=latest" rel="nofollow" gt;readthedocs lt;/a gt; documentation. lt;/p gt;. lt;h2 gt;What's Changed lt;/h2 gt;. lt;ul gt;. lt;li gt;build(docs): version in rtd builds by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tigarmo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tigarmo" gt;@tigarmo lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2362240482" data-permission-text="Title is private" data-url="https://github.com/canonical/snapcraft//4864" data-hovercard-type="pull_request" data-hovercard-url="/canonical/snapcraft/pull/4864/hovercard" href="https://github.com/canonical/snapcraft/pull/4864" gt;#4864 lt;/a gt; lt;/li gt;. lt;li gt;(cli): properly capture store errors by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sergiusens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sergiusens" gt;@sergiusens lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2360880665" data-permission-text="Title is private" data-url="https://github.com/canonical/snapcraft//4863" data-hovercard-type="pull_request" data-hovercard-url="/canonical/snapcraft/pull/4863/hovercard" href="https://github.com/canonical/snapcraft/pull/4863" gt;#4863 lt;/a gt; lt;/li
8.2.1114 Jun 2024 10:05 minor feature: lt;h2 gt;Core lt;/h2 gt;. lt;h3 gt;Plugins lt;/h3 gt;. lt;h4 gt;Dotnet lt;/h4 gt;. lt;p gt;a regression where the dotnet plugin could not be used for core22 snaps. lt;/p gt;. lt;h2 gt;What's Changed lt;/h2 gt;. lt;ul gt;. lt;li gt;: re-register dotnet for core22 by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mr-cal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mr-cal" gt;@mr-cal lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2336694684" data-permission-text="Title is private" data-url="https://github.com/canonical/snapcraft//4841" data-hovercard-type="pull_request" data-hovercard-url="/canonical/snapcraft/pull/4841/hovercard" href="https://github.com/canonical/snapcraft/pull/4841" gt;#4841 lt;/a gt; lt;/li gt;. lt;/ul gt;. lt;p gt; lt;strong gt;Full Changelog lt;/strong gt;: lt;a class="commit-link" href="https://github.com/canonical/snapcraft/compare/8.2.10...8.2.11" gt; lt;tt gt;8.2.10...8.2.11 lt;/tt gt; lt;/a gt; lt;/p gt;.
8.2.1004 Jun 2024 17:05 minor feature: lt;p gt;This hotrelease addresses many with the new remote builder. lt;/p gt;. lt;h2 gt;Remote builder lt;/h2 gt;. lt;p gt;The new remote builder now: lt;/p gt;. lt;ul gt;. lt;li gt;accept comma-separated architectures via lt;code gt;snapcraft remote-build --build-for amp;lt;arch1 amp;gt;, amp;lt;arch2 amp;gt;... lt;/code gt; lt;/li gt;. lt;li gt;handle core22 architectures in a snapcraft.yaml lt;/li gt;. lt;li gt;produce correctly-named log files lt;/li gt;. lt;li gt;retry Launchpad API calls with an exponential backoff ( lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2328552082" data-permission-text="Title is private" data-url="https://github.com/canonical/craft-application//355" data-hovercard-type="pull_request" data-hovercard-url="/canonical/craft-application/pull/355/hovercard" href="https://github.com/canonical/craft-application/pull/355" gt;canonical/craft-application#355 lt;/a gt;) lt;/li gt;. lt;li gt;fail if they do not create any artifacts lt;/li gt;. lt;/ul gt;. lt;h2 gt;What's Changed lt;/h2 gt;. lt;ul gt;. lt;li gt;(remote-build): fail if no artifacts are created by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lengau/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lengau" gt;@lengau lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2323478749" data-permission-text="Title is private" data-url="https://github.com/canonical/snapcraft//4826" data-hovercard-type="pull_request" data-hovercard-url="/canonical/snapcraft/pull/4826/hovercard" href="https://github.com/canonical/snapcraft/pull/4826" gt;#4826 lt;/a gt; lt;/li gt;. lt;li gt;build(deps): bump craft-application to 2.8.0 by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mr-cal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="ht
8.2.929 May 2024 17:45 minor feature: lt;h2 gt;What's Changed lt;/h2 gt;. lt;ul gt;. lt;li gt;Multiple for the kde-neon-6 extension to allow for web processes to work correctly. lt;/li gt;. lt;li gt;Expose libplas and liblapack in the kde-neon-6 extension provided by the kf6-core22 -sdk snap lt;/li gt;. lt;/ul gt;. lt;p gt; lt;strong gt;Full Changelog lt;/strong gt;: lt;a class="commit-link" href="https://github.com/canonical/snapcraft/compare/8.2.8...8.2.9" gt; lt;tt gt;8.2.8...8.2.9 lt;/tt gt; lt;/a gt; lt;/p gt;.
8.2.818 May 2024 07:05 minor feature: lt;h2 gt;Core lt;/h2 gt;. lt;p gt;This release a behavior with patchelf for lt;code gt;core24 lt;/code gt; snaps and temporarily disables the dotnet plugin for lt;code gt;core24 lt;/code gt; snaps. lt;/p gt;. lt;h3 gt;core24 lt;/h3 gt;. lt;p gt;Patchelf behavior has been corrected so shared libraries from the host system are not loaded for lt;code gt;core24 lt;/code gt; snaps with classic confinement. This is done with lt;code gt;patchelf --no-default-lib lt;/code gt; when lt;a href="https://snapcraft.io/docs/how-to-classic" rel="nofollow" gt;patchelf is enabled lt;/a gt;. lt;/p gt;. lt;h3 gt;Plugins lt;/h3 gt;. lt;h4 gt;dotnet lt;/h4 gt;. lt;p gt;The lt;a href="https://snapcraft.io/docs/dotnet-plugin" rel="nofollow" gt;dotnet plugin lt;/a gt; for core24 is being redesigned and has been temporarily disabled until the rewrite is complete. lt;/p gt;. lt;h2 gt;What's Changed lt;/h2 gt;. lt;ul gt;. lt;li gt;tests: flutter spread test by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mr-cal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mr-cal" gt;@mr-cal lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2297841300" data-permission-text="Title is private" data-url="https://github.com/canonical/snapcraft//4808" data-hovercard-type="pull_request" data-hovercard-url="/canonical/snapcraft/pull/4808/hovercard" href="https://github.com/canonical/snapcraft/pull/4808" gt;#4808 lt;/a gt; lt;/li gt;. lt;li gt;do not load system libraries for classic core24 snaps, bump craft-parts, unregister dotnet by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mr-cal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mr-cal" gt;@mr-cal lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="22997143
8.2.710 May 2024 19:45 minor feature: lt;h2 gt;Core lt;/h2 gt;. lt;p gt; lt;code gt;apps. amp;lt;app-name amp;gt;.refresh-mode lt;/code gt; in a lt;code gt;snapcraft.yaml lt;/code gt; can accept the value lt;code gt;ignore-running lt;/code gt;. lt;/p gt;. lt;h2 gt;Remote build lt;/h2 gt;. lt;p gt;a regression where remote-build would fail to parse some lt;code gt;architectures lt;/code gt; definitions. lt;/p gt;. lt;h2 gt;What's Changed lt;/h2 gt;. lt;ul gt;. lt;li gt;feat: add refresh-mode value 'ignore-running' by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mr-cal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mr-cal" gt;@mr-cal lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2287708580" data-permission-text="Title is private" data-url="https://github.com/canonical/snapcraft//4800" data-hovercard-type="pull_request" data-hovercard-url="/canonical/snapcraft/pull/4800/hovercard" href="https://github.com/canonical/snapcraft/pull/4800" gt;#4800 lt;/a gt; lt;/li gt;. lt;li gt;(remote-build): don't fail with certain archs by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lengau/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lengau" gt;@lengau lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2284302581" data-permission-text="Title is private" data-url="https://github.com/canonical/snapcraft//4793" data-hovercard-type="pull_request" data-hovercard-url="/canonical/snapcraft/pull/4793/hovercard" href="https://github.com/canonical/snapcraft/pull/4793" gt;#4793 lt;/a gt; lt;/li gt;. lt;/ul gt;. lt;p gt; lt;strong gt;Full Changelog lt;/strong gt;: lt;a class="commit-link" href="https://github.com/canonical/snapcraft/compare/8.2.6...8.2.7" gt; lt;tt gt;8.2.6...8.2.7 lt;/tt gt; lt;/a gt; lt;/p gt;.
8.2.406 May 2024 12:05 minor feature: lt;h2 gt;What's Changed lt;/h2 gt;. lt;ul gt;. lt;li gt;: set CRYPTOGRAPHY_OPENSSL_NO_LEGACY by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mr-cal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mr-cal" gt;@mr-cal lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2276574531" data-permission-text="Title is private" data-url="https://github.com/canonical/snapcraft//4784" data-hovercard-type="pull_request" data-hovercard-url="/canonical/snapcraft/pull/4784/hovercard" href="https://github.com/canonical/snapcraft/pull/4784" gt;#4784 lt;/a gt; lt;/li gt;. lt;/ul gt;. lt;p gt; lt;strong gt;Full Changelog lt;/strong gt;: lt;a class="commit-link" href="https://github.com/canonical/snapcraft/compare/8.2.3...8.2.4" gt; lt;tt gt;8.2.3...8.2.4 lt;/tt gt; lt;/a gt; lt;/p gt;.
8.2.302 May 2024 18:45 minor feature: lt;h2 gt;Core lt;/h2 gt;. lt;p gt;Snapcraft 8.2.3 with evaluating project variables. lt;/p gt;. lt;h3 gt;Core24 lt;/h3 gt;. lt;ul gt;. lt;li gt;Project variables are now evaluated after extensions are applied lt;/li gt;. lt;li gt;Project variables for the build-for architecture are now correct lt;/li gt;. lt;/ul gt;. lt;h2 gt;Known lt;/h2 gt;. lt;ul gt;. lt;li gt; lt;code gt;snapcraft pack amp;lt;directory amp;gt; lt;/code gt; does not work lt;/li gt;. lt;li gt;Project variables lt;code gt;CRAFT_PROJECT_NAME lt;/code gt; and lt;code gt;CRAFT_PROJECT_VERSION lt;/code gt; are not evaluated in core24 ( lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2261240659" data-permission-text="Title is private" data-url="https://github.com/canonical/craft-application//320" data-hovercard-type="" data-hovercard-url="/canonical/craft-application//320/hovercard" href="https://github.com/canonical/craft-application//320" gt;canonical/craft-application#320 lt;/a gt;). lt;/li gt;. lt;li gt;New remote-build fails with some architecture definitions lt;/li gt;. lt;li gt;New remote-build returns log files that truncates snap name in file name lt;/li gt;. lt;li gt;New remote build does not fail if launchpad fails to create artifacts lt;/li gt;. lt;/ul gt;. lt;h2 gt;What's Changed lt;/h2 gt;. lt;ul gt;. lt;li gt;tests(spread): drop check for specific files in ppa tests by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mr-cal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mr-cal" gt;@mr-cal lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2272243494" data-permission-text="Title is private" data-url="https://github.com/canonical/snapcraft//4772" data-hovercard-type="pull_request" data-hovercard-url="/canonical/snapcraft/pull/4772/hovercard" href="https://github.com/canonical/snapcraft/pull/4772" gt;#4772 l
8.2.202 May 2024 08:45 minor feature: lt;h2 gt;Core lt;/h2 gt;. lt;h3 gt;core24 lt;/h3 gt;. lt;p gt;Snapcraft 8.2.2 two regressions with advanced grammar in core24 snaps: lt;/p gt;. lt;ul gt;. lt;li gt;Advanced grammar could not be used in root-level part keywords lt;code gt;build-packages lt;/code gt; and lt;code gt;build-snaps lt;/code gt; lt;/li gt;. lt;li gt;Advanced grammar could not be combined with other data lt;/li gt;. lt;/ul gt;. lt;h2 gt;Known lt;/h2 gt;. lt;ul gt;. lt;li gt;Project variables lt;code gt;CRAFT_PROJECT_NAME lt;/code gt; and lt;code gt;CRAFT_PROJECT_VERSION lt;/code gt; are not evaluated in core24 ( lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2261240659" data-permission-text="Title is private" data-url="https://github.com/canonical/craft-application//320" data-hovercard-type="" data-hovercard-url="/canonical/craft-application//320/hovercard" href="https://github.com/canonical/craft-application//320" gt;canonical/craft-application#320 lt;/a gt;). lt;/li gt;. lt;li gt; lt;code gt;snapcraft list-plugins lt;/code gt; does not work in core24 project directories lt;/li gt;. lt;li gt;Snapcraft does not evaluate project variables added by extensions in core24 lt;/li gt;. lt;li gt; lt;code gt;CRAFT_ARCH_BUILD_FOR lt;/code gt; and lt;code gt;CRAFT_ARCH_TRIPLET_BUILD_FOR lt;/code gt; use the build on architecture lt;/li gt;. lt;/ul gt;. lt;h2 gt;What's Changed lt;/h2 gt;. lt;ul gt;. lt;li gt;tests: remove core24 snap workarounds by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mr-cal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mr-cal" gt;@mr-cal lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2264633253" data-permission-text="Title is private" data-url="https://github.com/canonical/snapcraft//4761" data-hovercard-type="pull_request" data-hovercard-url="/canonical/snapcraft/pull/4761/hovercard
8.2.017 Apr 2024 18:47 major feature:
8.1.011 Apr 2024 13:43 major feature: Core Final support for core24 Final core24 support Snap Components Private Remote Build Plugins Matter Maven Extensions KDE Neon 6 What's Changed build(deps): update dependencies by @lengau in #4504 Colcon plugin: use release build by default by @MirkoFerrati in #4502 ci: pin pyright to 1.1.344 by @mr-cal in #4512 chore(deps): bump version of Chisel by @tigarmo in #4522 ci: update PR template to use tox commands by @mr-cal in #4507 chore(deps): update github actions (major) by @renovate in #4500 build(deps): bump jinja2 from 3.1.2 to 3.1.3 in /docs/.sphinx by @dependabot in #4518 build(deps): bump craft-providers to 1.21.0 by @mr-cal in #4530 chore(deps): update dependency packaging to v23 by @renovate in #4531 chore: 8.0.2 hotfixes by @sergiusens in #4535 fix(lifecycle): return correct base when using devel for build-base by @syu-w in #4523 chore(deps): update black and pyright by @syu-w in #4550 build(deps): bump craft-providers to 1.22.0 by @mr-cal in #4552 chore(deps): update dependency platformdirs to v3.11.0 by @renovate in #4509 feat(craft-application): initial support by @syu-w in #4560 feat!: fail if we know the project is core24 by @tigarmo in #4557 feat: implement core24 "pack" command by @tigarmo in #4565 chore: merge 8.0.3 hotfix into main by @sergiusens in #4574 ci: use GH/JIRA integration bot by @sergiusens in #4577 feat(providers): use core24 buildd daily image for devel by @mr-cal in #4532 test: fix spread multipass backend by @syu-w in #4571 extensions/desktop: don't preload bindtextdomain for wine snaps by @mmtrt in #4501 build(deps): use craft-application from main branch by @lengau in #4573 fix: do not propagate build-base to snap.yaml by @sergiusens in #4580 fix(tests): upload a larger snap by @sergiusens in #4583 chore: merge main into feature/craft-application by @sergiusens in #4585 lifecycle commands by @sergiusens in #4584 refa