chore!: migrate to pydantic 2
Metadata
Current evaluation
Merged after approval by four reviewers, migrating the codebase to Pydantic 2. The update drops the Rockcraft Platform model, applies necessary cleanups, and resolves issue #657 across 27 files.
Suggested action: —
No scores available.
Issue body
Many of the changes are just straightforward updates and cleanups. I had to do things like finally dropping the Rockcraft `Platform` model because otherwise I'd have to re-do the work that craft-application already did.
There are some commits here that address things that aren't really pydantic-2 related, unfortunately, but they should be small. Although the commits are reasonably split I would actually suggest reviewing the final diff because some of the commits change things done by earlier ones, so there's a bit of "waste" there.
Fixes #657
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged after approval by four reviewers, migrating the codebase to Pydantic 2. The update drops the Rockcraft Platform model, applies necessary cleanups, and resolves issue #657 across 27 files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged Pydantic 2 migration, dropping the Rockcraft Platform model and including minor cleanup commits. Resolves #657. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged migration to Pydantic v2, dropping the Rockcraft Platform model and applying minor unrelated fixes. Resolves #657. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4955 chore!: migrate to pydantic 2 | snapcraft | merged | Merged after two approvals and passing CI. Migrates the codebase to Pydantic 2, resolving issue #4941. The author rebased and force-pushed clean commits prior to a rebase-merge. | |
| #771 chore: lift-and-shift update to pydantic 2 | craft-parts | merged | Merged after two approvals and passing CI. The update migrates the codebase to Pydantic 2 using bump-pydantic and manual fixes. It touched 38 files (+207/-127 lines) as the initial phase of the broader dependency upgrade. | |
| #36 chore!: update to pydantic 2 | craft-grammar | merged | Merged the Pydantic 2 migration across five files. Approved by two reviewers and passed CI. The maintainer manually verified the author's Canonical employment to override an automated CLA check failure before finalizing the merge. | |
| #1817 chore: merge pydantic 2 support to main | charmcraft | merged | Merged pydantic 2 support into the main branch after approval from two reviewers. The update modifies 52 files, adding 2860 lines and removing 714, completing the dependency upgrade. | |
| #33 chore!: update to Pydantic 2 | craft-grammar | merged | Merged update to Pydantic 2. Resolves issue #32 by addressing breaking changes in grammar validation error messages. Approved by two reviewers, passed CI checks, and modified five files (+40/-41 lines). | |
| #60 Migrate to pydantic 2 | imagecraft | merged | 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. | |
| #404 feat: multiple pydantic 2 fixes and papercuts | craft-application | merged | Merged Pydantic 2 fixes for rockcraft: root error conversion, updated platform dict, public regex validator, YAML utility, per-part validation, and refined error messages. Approved by two reviewers and merged across 9 files. | |
| #207 chore(deps): drop Pydantic dependency | craft-cli | merged | Merged changes remove the unused Pydantic dependency, resolving issue #201. Approved by two reviewers, passed CI checks, and reduced code by three lines across three files without impacting the 94.76% test coverage. | |
| #408 chore!: merge pydantic 2 feature branch to main | craft-application | merged | Merged the pydantic 2 feature branch into main, upgrading the codebase and resolving typing issues. Approved by two reviewers and passing CI checks, the merge introduces breaking changes required for the pydantic 2 dependency update. | |
| #778 chore: pydantic 2 related cleanup | craft-parts | merged | Merged a Pydantic 2 compatibility cleanup. Approved by two reviewers and passed CI. Modified seven files with 28 additions and 26 deletions. Required PR #775. |