Migrate to pydantic 2
Metadata
Current evaluation
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.
Resolution: closed resolved
Reason: The PR was merged into main via commit be1741a ("Merge pull request #60 from canonical/migrate-to-pydantic-2"). The 27-file diff (+278/-340) completed the Pydantic V2 migration and the resulting pyproject.toml declares pydantic~=2.12.5, confirming the change landed.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | 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. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged into main as commit be1741a (branch migrate-to-pydantic-2,27 files, +278/-340), moving Imagecraft to Pydantic V2 and newer craft libraries; fixes FR-8917. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #60 in commit be1741a, migrating Imagecraft to Pydantic V2 and newer craft libraries; resolves FR-8917 with 98.06% reported coverage. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after approval. The codebase was migrated to Pydantic V2 with updated craft libraries. Changes span 27 files (+278/-340 lines) and maintain 98% test coverage, resolving FR-8917. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after passing 98% code coverage and maintainer review. Migrates the codebase to Pydantic V2 and adapts to updated craft libraries, resolving FR-8917. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/snapcraft#4955
(confidence 55%)
Same Pydantic 2 breaking migration performed in parallel across the craft ecosystem (fixing snapcraft#4941, CRAFT-3159); shared craft-library API adaptations.
-
Related To:
canonical/craft-parts#728
(confidence 45%)
craft-parts Pydantic 2.x migration (CRAFT-2913) that this PR's craft-library adaptations would depend on.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4941 Migrate to Pydantic 2 | snapcraft | closed | Pydantic 2 migration completed in merged snapcraft#4955 via commit 1fc8fe6ab, resolving CRAFT-3159. | |
| #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. | |
| #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. | |
| #103 feat: upgrade to pydantic 2.x | craft-archives | merged | Merged PR #103 as commit b69f44a, upgrading craft-archives to Pydantic 2.x after three approvals; residual review feedback was moved to #118. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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). | |
| #32 Make a pydantic 2 release of craft-grammar | craft-grammar | closed | Pydantic 2 support was delivered by merged PR canonical/craft-grammar#33, updating craft-grammar from Pydantic 1 to Pydantic 2. |