Move to recent versions of `pydantic`, and also upgrade internal _linters_, moving to `ruff-format`
Changes
- 📦️ env: Bump version and upgrade deps, requiring `pydantic` v2
- ♻️ **Migrate pydantic v2 syntax** for validators, parsers, serializers, model load/dump methods, etc.
- 🎨 lint: pre-commit update, moving to `ruff-format`
- 🎨 lint: Apply format changes and lint fixes
- 📝 Update CHANGELOG
- 👷 ci: Split actions for tests on PRs and publish package on main