Migrate to Pydantic 2
Metadata
Current evaluation
Pydantic 2 migration landed via merged PR #401, commit c2f0978a, updating 23 files and replacing the issue's Pydantic 1 requirements.
Resolution: closed resolved
Reason: PR #401 was merged as commit c2f0978a and migrated craft-application to Pydantic 2. Current models use Pydantic 2 constructs such as ConfigDict and typed validators.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
Migrate to Pydantic 2
### Why it needs to get done
Pydantic 1 will be EOL in June
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Pydantic 2 migration landed via merged PR #401, commit c2f0978a, updating 23 files and replacing the issue's Pydantic 1 requirements. | |
| stealth/space-bunny-alpha | — | closed stale | Closed after 769 days of inactivity, with only an automated CRAFT-2917 Jira comment; no resolving PR, commit, or maintainer explanation was recorded. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed and abandoned without a direct resolution. An internal Jira ticket (CRAFT-2917) was created to track the Pydantic 2 migration separately. No pull request or merge was recorded. | |
| qwen/qwen3.6-35b-a3b | — | — | The Pydantic 2 migration request was closed without implementation. The only activity was an automated Jira ticket creation, indicating the task was deferred or abandoned without a technical resolution or merge. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/craft-application#401
(confidence 100%)
Merged Pydantic 2 migration PR, resolving the issue's dependency and API 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. | |
| #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. | |
| #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). | |
| #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. | |
| #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. | |
| #771 chore: lift-and-shift update to pydantic 2 | craft-parts | merged | Merged PR #771 as commit 6b155294, completing phase 1 of the Pydantic 2 migration across 38 files using bump-pydantic and follow-up fixes. | |
| #1817 chore: merge pydantic 2 support to main | charmcraft | merged | Pydantic 2 support was merged into main by PR #1817 (commit 394e6e55), completing the migration begun in #1777 across 52 files. | |
| #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. | |
| #483 upgrade to pydantic 2.x | craft-providers | closed | PR #483 (a one-line pyproject.toml bump to pydantic>=2) was closed unmerged by its author as a duplicate; maintainers pointed to craft-providers#451, which landed as commit f380a9e and set pydantic~=2.4. |