This is the final 2.12 release. It features the work of 20 external contributors and provides useful new features, along with initial Python 3.14 support.
Several minor changes (considered non-breaking changes according to our versioning policy)
are also included in this release. Make sure to look into them before upgrading.
Changes (see the alpha and beta releases for additional changes since 2.11):
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [pydantic](https://github.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | minor | `==2.11.10` -> `==2.12.0` |
---
### Release Notes
<details>
<summary>pydantic/pydantic (pydantic)</summary>
### [`v2.12.0`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2120-2025-10-07)
[Compare Source](https://github.com/pydantic/pydantic/compare/v2.11.10...v2.12.0)
[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.12.0)
##### What's Changed
This is the final 2.12 release. It features the work of 20 external contributors and provides useful new features, along with initial Python 3.14 support.
Several minor changes (considered non-breaking changes according to our [versioning policy](https://docs.pydantic.dev/2.12/version-policy/#pydantic-v2))
are also included in this release. Make sure to look into them before upgrading.
Changes (see the alpha and beta releases for additional changes since 2.11):
##### Packaging
- Update V1 copy to v1.10.24 by [@​Viicos](https://github.com/Viicos) in [#​12338](https://github.com/pydantic/pydantic/pull/12338)
##### New Features
- Add `extra` parameter to the validate functions by [@​anvilpete](https://github.com/anvilpete) in [#​12233](https://github.com/pydantic/pydantic/pull/12233)
- Add `exclude_computed_fields` serialization option by [@​Viicos](https://github.com/Viicos) in [#​12334](https://github.com/pydantic/pydantic/pull/12334)
- Add `preverse_empty_path` URL options by [@​Viicos](https://github.com/Viicos) in [#​12336](https://github.com/pydantic/pydantic/pull/12336)
- Add `union_format` parameter to JSON Schema generation by [@​Viicos](https://github.com/Viicos) in [#​12147](https://github.com/pydantic/pydantic/pull/12147)
- Add `__qualname__` parameter for `create_model` by [@​Atry](https://github.com/Atry) in [#​12001](https://github.com/pydantic/pydantic/pull/12001)
##### Fixes
- Do not try to infer name from lambda definitions in pipelines API by [@​Viicos](https://github.com/Viicos) in [#​12289](https://github.com/pydantic/pydantic/pull/12289)
- Use proper namespace for functions in `TypeAdapter` by [@​Viicos](https://github.com/Viicos) in [#​12324](https://github.com/pydantic/pydantic/pull/12324)
- Use `Any` for context type annotation in `TypeAdapter` by [@​inducer](https://github.com/inducer) in [#​12279](https://github.com/pydantic/pydantic/pull/12279)
- Expose `FieldInfo` in `pydantic.fields.__all__` by [@​Viicos](https://github.com/Viicos) in [#​12339](https://github.com/pydantic/pydantic/pull/12339)
- Respect `validation_alias` in `@validate_call` by [@​Viicos](https://github.com/Viicos) in [#​12340](https://github.com/pydantic/pydantic/pull/12340)
- Use `Any` as context annotation in plugin API by [@​Viicos](https://github.com/Viicos) in [#​12341](https://github.com/pydantic/pydantic/pull/12341)
- Use proper `stacklevel` in warnings when possible by [@​Viicos](https://github.com/Viicos) in [#​12342](https://github.com/pydantic/pydantic/pull/12342)
##### New Contributors
- [@​anvilpete](https://github.com/anvilpete) made their first contribution in [#​12233](https://github.com/pydantic/pydantic/pull/12233)
- [@​JonathanWindell](https://github.com/JonathanWindell) made their first contribution in [#​12327](https://github.com/pydantic/pydantic/pull/12327)
- [@​inducer](https://github.com/inducer) made their first contribution in [#​12279](https://github.com/pydantic/pydantic/pull/12279)
- [@​Atry](https://github.com/Atry) made their first contribution in [#​12001](https://github.com/pydantic/pydantic/pull/12001)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS40My41IiwidXBkYXRlZEluVmVyIjoiNDEuNDMuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
==2.11.10->==2.12.0Release Notes
pydantic/pydantic (pydantic)
v2.12.0Compare Source
GitHub release
What's Changed
This is the final 2.12 release. It features the work of 20 external contributors and provides useful new features, along with initial Python 3.14 support.
Several minor changes (considered non-breaking changes according to our versioning policy)
are also included in this release. Make sure to look into them before upgrading.
Changes (see the alpha and beta releases for additional changes since 2.11):
Packaging
New Features
extraparameter to the validate functions by @anvilpete in #12233exclude_computed_fieldsserialization option by @Viicos in #12334preverse_empty_pathURL options by @Viicos in #12336union_formatparameter to JSON Schema generation by @Viicos in #12147__qualname__parameter forcreate_modelby @Atry in #12001Fixes
TypeAdapterby @Viicos in #12324Anyfor context type annotation inTypeAdapterby @inducer in #12279FieldInfoinpydantic.fields.__all__by @Viicos in #12339validation_aliasin@validate_callby @Viicos in #12340Anyas context annotation in plugin API by @Viicos in #12341stacklevelin warnings when possible by @Viicos in #12342New Contributors
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.