Remove core20 lifecycle
Metadata
Current evaluation
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.
Suggested action: —
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 |
|---|---|---|---|---|
| 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Resolved in PR #6019. Removed core20 lifecycle commands, spread tests, and references from plugins, extensions, and expand-extensions commands. Legacy code remains for future cleanup. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5198 Drop core18 extensions | snapcraft | closed | Legacy core18 extensions were removed from snapcraft_legacy after initial inactivity. The enhancement was completed and merged via pull request #6019, eliminating obsolete base references and tests. | |
| #6009 test: remove core20 spread tests | snapcraft | merged | Merged removal of core20 spread tests and migration of related cases to core22 and core24. This update unblocks core20 deprecation for Snapcraft 9 and improves modern test coverage. | |
| #5616 feat(snapcraft_legacy): pack command runs the lifecycle | snapcraft | merged | Merged squashed PR that aligns the core20 snapcraft pack command with core22 and core24 by running the lifecycle. Approved by three reviewers with all CI checks passing. Resolves #5425. | |
| #5426 `snapcraft pack` should run the lifecycle for core18|20 in Snapcraft 7 | snapcraft | closed | Closed for Snapcraft 7. Fixed in Snapcraft 8.11 via merged pull request #5425, enabling snapcraft pack to run the lifecycle for core18 and core20 bases. | |
| #3587 lifecycle: init with core20 (CRAFT-517) | snapcraft | merged | Merged lifecycle initialization update to core20. Approved by one reviewer, passed CI checks, and applied a minimal two-line change across two files with no coverage impact. | |
| #4165 Remove core18 from Snapcraft | snapcraft | closed | Closed. Core18 support was removed from Snapcraft after its ESM transition. The task was superseded by PR #4182, which merged the necessary electron builder test removals. | |
| #5425 `snapcraft pack` should run the lifecycle for core20 in Snapcraft 8 | snapcraft | closed | Abandoned. The enhancement to run the snapcraft pack lifecycle for core20 was triaged and synced to Jira but never implemented or merged. | |
| #3981 commands, lifecycle: provide snapcraft try for core22 | snapcraft | merged | Merged. Adds snapcraft try support for core22 by mounting a host prime directory into the instance for lifecycle priming without packing. Approved by one reviewer, passed CI, and modified 8 files. | |
| #6019 chore!: drop core20 | snapcraft | merged | Squash merged to drop core20 snap build support. Removes legacy entry points and resolves #5675. Unrelated CI failures were acknowledged. | |
| #4138 core20: support PEP 518 in the python plugin | snapcraft | closed | Fixed in pull request #4087 to enable PEP 518 pyproject support in the python plugin. Core20 support was later removed in pull request #6241, making the enhancement obsolete for Snapcraft 9. |