Remove core20 lifecycle
Metadata
Current evaluation
Merged PR #6019 via commit fa7952b4d, removing core20 build/lifecycle support and core20 command entries; core20 spread tests were removed separately in PR #6009.
Resolution: closed resolved
Reason: PR #6019 was merged as commit fa7952b4d, dropping core20 build support and removing core20 from relevant command entry points. PR #6009 separately removed the core20 spread tests.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
- Add a user-friendly error recommending to use Snapcraft 8 and a link to https://documentation.ubuntu.com/snapcraft/stable/reference/bases/#base-snaps
- Remove
- all lifecycle commands that allow building core20 snaps
- core20 spread tests
- core20's presence in the `plugins`, `extensions`, and `expand-extensions` commands
The scope of work doesn't include removing `snapcraft_legacy` and `tests/legacy/` wholesale. This is because there is some store-related code and commands that are still in use. This will be done in https://github.com/canonical/snapcraft/issues/5982.
### Why it needs to get done
Core20 will be dropped in Snapcraft 9. Core20 snaps can still be build with Snapcraft 8.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #6019 via commit fa7952b4d, removing core20 build/lifecycle support and core20 command entries; core20 spread tests were removed separately in PR #6009. | |
| stealth/space-bunny-alpha | — | closed resolved | core20 lifecycle removal completed by merged PR #6019 (commit fa7952b4d, "chore!: drop core20"), which dropped core20 build commands, removed core20 from plugins/extensions/expand-extensions, and moved dropped entry points to snapcraft_legacy. Closed by maintainer comment "Completed in #6019". | |
| stealth/space-bunny-alpha | — | closed resolved | Core20 lifecycle support was removed in merged PR #6019 (commit fa7952b4d, "chore!: drop core20"), dropping core20 build commands and plugin/extension listings; spread tests were removed earlier in #6009 (d0f1b4394). | |
| stealth/space-bunny-alpha | — | closed resolved | Removed core20 lifecycle support via merged PR #6019 (fa7952b4d), including core20 build commands, spread tests, and plugin/extension listings; snapcraft_legacy removal remained out of scope. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged in pull request #6019. Removed core20 lifecycle commands, spread tests, and plugin/extension references. Legacy components were retained for store compatibility. Prepares Snapcraft for version 9. | |
| qwen/qwen3.6-35b-a3b | — | — | Completed in PR #6019. Removed core20 lifecycle commands, spread tests, and plugin/extension references. Legacy code remains for store compatibility. Core20 support is fully deprecated ahead of Snapcraft 9. | |
| qwen/qwen3.6-35b-a3b | — | — | Completed in PR #6019. Removed core20 lifecycle commands, spread tests, and plugin/extension references. Added a user-friendly error directing users to Snapcraft 8 and base snap documentation. Legacy code was preserved for future cleanup. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged via PR #6019. Removed core20 lifecycle commands, spread tests, and plugin/extension references to prepare for Snapcraft 9. Legacy code remains for store-related functionality. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
snapcraft#6019
(confidence 100%)
Merged resolving PR, committed as fa7952b4d.
-
Related To:
snapcraft#6009
(confidence 99%)
Removed the core20 spread tests required by the cleanup.
-
Related To:
snapcraft#5982
(confidence 90%)
Follow-up for trimming snapcraft_legacy after retaining needed store functionality.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #6009 test: remove core20 spread tests | snapcraft | merged | Squash-merged PR #6009 as commit d0f1b4394, deleting core20 spread tests and migrating applicable ones to core22/core24 (+20 net tests). Unblocked core20 lifecycle removal for Snapcraft 9 (#5675). | |
| #3587 lifecycle: init with core20 (CRAFT-517) | snapcraft | merged | PR #3587 updated lifecycle initialization to use core20 and merged into master as f91632aab (PR commit 0458b9c). | |
| #5198 Drop core18 extensions | snapcraft | closed | Core18-only legacy extensions were removed by merged PR #6019, commit fa7952b4d, as part of dropping legacy core18/core20 support. | |
| #6019 chore!: drop core20 | snapcraft | merged | Merged PR #6019 as fa7952b4d, removing core20 build support and moving dropped entry points to snapcraft_legacy; generic store commands remained for later migration. | |
| #4182 Add electron-builder test for core20 | snapcraft | open | Requested core20 electron-builder spread coverage is obsolete: core20 support and related tests were removed in PRs #6019 and #6009, and core20 is now limited to the legacy Snapcraft 8.x track. | |
| #3620 Revert "lifecycle: do not stage deps for pull on core20" | snapcraft | merged | PR #3620 by sergiusens merged as4c23512f4 (merge cfb8ec3f5), reverting commit f30701a8c "lifecycle: do not stage deps for pull on core20" which broke core20 PULL builds in 6.0.1. | |
| #4177 core18: removal | snapcraft | merged | Merged PR snapcore/snapcraft#4177 (May 2023) dropped core18 base support and its unit/spread tests, fixing #4165 via commits 40136ea9b, 77edc734b and ed423b6a8; core18 was EOL. | |
| #3610 lifecycle: do not stage deps for pull on core20 (CRAFT-725) | snapcraft | merged | Merged as f30701a8c to skip dependency staging during core20 pulls, then reverted by #3620 after PULL build failures; #3622 replaced it with build-attributes-controlled behavior. | |
| #2854 Core20 | snapcraft | closed | PR #2854 was closed unmerged because core20 enablement was handled by PluginV2; none of the proposed changes were merged. | |
| #3384 Add core20 to various /Dockerfile/s | snapcraft | closed | Closed unmerged in favor of #2673; the broader Docker OS/risk parameterization (commit b982555e1) replaced the proposed core20-specific changes, with CI and separate image-tag publication still required. |