Migrate to Pydantic 2
Metadata
Current evaluation
Migrated Charmcraft to Pydantic 2 via merged PR #1777 (70078b03), with the feature branch merged to main in #1817 (394e6e55).
Resolution: closed resolved
Reason: PR #1777 completed Charmcraft's Pydantic 2 migration and was merged as commit 70078b03. The work was integrated into main through PR #1817 at commit 394e6e55.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
Migrate to pydantic 2 with feature branches of craft libraries
### Why it needs to get done
pydantic 1 is deprecated
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Migrated Charmcraft to Pydantic 2 via merged PR #1777 (70078b03), with the feature branch merged to main in #1817 (394e6e55). | |
| stealth/space-bunny-alpha | — | closed resolved | craft-parts was migrated to Pydantic 2 by merged PR #771 (6b155294), followed by cleanup PRs #778 and #794 and release 2.0.0 preparation in PR #807. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution. The Pydantic 2 migration was logged internally via Jira but no code changes or implementation were recorded in this repository. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed and superseded by internal Jira ticket CRAFT-3160. The Pydantic 2 migration request was moved to internal tracking rather than resolved directly in this repository. | |
| qwen/qwen3.6-35b-a3b | — | — | The Pydantic 2 migration request was closed without a public resolution. A bot comment forwarded the task to internal Jira ticket CRAFT-3160, indicating the work was tracked internally or abandoned. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed and routed to internal Jira tracking (CRAFT-3160) without code changes. The Pydantic 2 migration was deferred or abandoned, as no pull requests or implementation branches were created. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
charmcraft#1777
(confidence 100%)
Merged Charmcraft Pydantic 2 migration; commit 70078b03 switches the project to Pydantic 2.
-
Related To:
charmcraft#1817
(confidence 100%)
Merged the Pydantic 2 feature branch into main as commit 394e6e55.
-
Likely Fixed By:
craft-parts#771
(confidence 95%)
Merged craft-parts' Pydantic 2 migration, providing the related craft-library migration work.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #4941 Migrate to Pydantic 2 | snapcraft | closed | Pydantic 2 migration completed in merged snapcraft#4955 via commit 1fc8fe6ab, resolving CRAFT-3159. | |
| #1777 feat(deps)!: switch to pydantic 2 | charmcraft | merged | Breaking PR #1777 (commit 70078b03) migrated charmcraft to pydantic 2, absorbing the #1776 unused-code cleanup; merged into main via #1817 (394e6e55) after #1815 fixed YAML default-parts. | |
| #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. | |
| #1812 pydantic 2 version not always including charm source | charmcraft | closed | Fixed by merged PR #1815 (commit 2a0eb973), restoring default parts for bases charms after the Pydantic 2 migration so source files are packaged. | |
| #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. | |
| #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. | |
| #323 config: migrate to use pydantic BaseModel | charmcraft | merged | Merged in canonical/charmcraft#323 via commit a68601fa, replacing JSON Schema validation with Pydantic BaseModel and adding Config.unmarshal() and clearer field-based errors. | |
| #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. | |
| #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. |