Migrate to Pydantic 2
Metadata
Current evaluation
Pydantic 2 migration completed in merged snapcraft#4955 via commit 1fc8fe6ab, resolving CRAFT-3159.
Resolution: closed resolved
Reason: Merged PR canonical/snapcraft#4955 completed the Pydantic 2 migration. Commit 1fc8fe6ab updated Snapcraft to use Pydantic 2.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
Migrate to v2:
- validation sets
- project model
- metadata model
- linter
- core22|24 plugins
### Why it needs to get done
Pydantic 1 is EOL
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Pydantic 2 migration completed in merged snapcraft#4955 via commit 1fc8fe6ab, resolving CRAFT-3159. | |
| stealth/space-bunny-alpha | — | closed resolved | Pydantic 2 migration was completed and merged in canonical/snapcraft#4955 via commit 1fc8fe6ab, covering models, validation sets, linter, and core22/core24 plugins. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR #4955, which migrated Snapcraft’s validation, project, metadata, linter, and core22/core24 plugin code to Pydantic 2; dependency update landed in 1fc8fe6ab. | |
| stealth/space-bunny-alpha | — | closed resolved | Pydantic 2 migration completed and merged in canonical/snapcraft#4955 (commit 1fc8fe6ab), updating dependencies and affected models. | |
| stealth/space-bunny-alpha | — | closed resolved | Pydantic 1 EOL migration completed: PR #4955 (commit 1fc8fe6ab "build(deps)!: use pydantic 2, freeze requirements") migrated validation sets, project/metadata models, linter and core22/core24 plugins to Pydantic 2, closing CRAFT-3159. | |
| stealth/space-bunny-alpha | — | closed resolved | A breaking-change migration to Pydantic 2 was merged in canonical/snapcraft#4955, completing the CRAFT-3159 work tracked for this migration. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. Pydantic 2 migration tasks were superseded by internal Jira ticket CRAFT-3159. No pull requests were merged or code changes implemented. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed and superseded by internal Jira ticket CRAFT-3159. Pydantic 2 migration for models, linter, and plugins was deferred to internal tracking following Pydantic 1 EOL. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed and superseded by internal Jira ticket CRAFT-3159 to track the Pydantic 2 migration across models, linter, and plugins. The GitHub issue was archived after internal tracking began. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution. The Pydantic 2 migration was superseded by internal Jira ticket CRAFT-3159. No code changes or pull requests were merged, leaving the task unresolved. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/snapcraft#4955
(confidence 100%)
Merged resolving PR; commit 1fc8fe6ab completed the migration.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4955 chore!: migrate to pydantic 2 | snapcraft | merged | Merged snapcraft#4955 completed the Pydantic 2 migration for CRAFT-3159 and fixed snapcraft#4941; commit 1fc8fe6ab moved dependencies to Pydantic 2. | |
| #728 Migrate to Pydantic 2.x | craft-parts | closed | Pydantic 2 migration landed in canonical/craft-parts#771 via commit 6b155294, followed by cleanup in #778; craft-parts now requires pydantic>=2.0.0. | |
| #110 Migrate to Pydantic 2 | craft-archives | closed | Pydantic 2 migration was completed in merged PR #103 (commit b69f44a) on feature/2.0; the branch later reached main through PR #123. | |
| #60 Migrate to pydantic 2 | imagecraft | merged | PR #60 merged as commit be1741a, migrating Imagecraft to Pydantic V2 and newer craft libraries (FR-8917); pyproject now pins pydantic~=2.12.5. Approved by one reviewer with no unresolved comments. | |
| #1768 Migrate to Pydantic 2 | charmcraft | closed | Migrated Charmcraft to Pydantic 2 via merged PR #1777 (70078b03), with the feature branch merged to main in #1817 (394e6e55). | |
| #345 Migrate to Pydantic 2 | craft-application | closed | Pydantic 2 migration landed via merged PR #401, commit c2f0978a, updating 23 files and replacing the issue's Pydantic 1 requirements. | |
| #401 build!: update to pydantic 2 | craft-application | merged | Merged PR #401 as commit c2f0978a, migrating craft-application to Pydantic 2 across 23 files; craft-grammar#34 was required for the tests. | |
| #663 chore!: migrate to pydantic 2 | rockcraft | merged | Merged PR #663 migrated Rockcraft to Pydantic 2, adopted craft-application's Platform, and fixed #657; migration work includes commit f1681ea1. | |
| #173 feat: upgrade to pydantic 2.x | craft-application | closed | Closed unmerged after the Pydantic 2 migration landed via craft-application#401 (c2f0978a); maintainer lengau credited #173 as helpful during that migration. | |
| #451 build(deps): bump pydantic to v2 | craft-providers | merged | Merged PR #451 upgraded craft-providers to Pydantic v2 for 2.0; current project metadata requires pydantic~=2.4. |