← Back to issue list

Migrate to Pydantic 2

View original Github issue

Metadata

Project
snapcraft
Number
#4941
Type
issue
State
closed
Author
mr-cal
Labels
—
Created
Updated
Closed

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.
90%
#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.
82%
#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.
79%
#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.
78%
#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).
78%
#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.
78%
#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.
75%
#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.
74%
#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.
74%
#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.
73%