@ai-devtools/dbspec-linux-x64 1.5.3 → 1.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/dbspec/_internal/base_library.zip +0 -0
- package/bin/dbspec/_internal/dbspec.egg-info/PKG-INFO +1 -1
- package/bin/dbspec/_internal/dbspec.egg-info/SOURCES.txt +2 -0
- package/bin/dbspec/_internal/libcrypto.so.3 +0 -0
- package/bin/dbspec/_internal/libpython3.13.so.1.0 +0 -0
- package/bin/dbspec/_internal/libsqlite3.so.0 +0 -0
- package/bin/dbspec/_internal/libssl.so.3 +0 -0
- package/bin/dbspec/_internal/markupsafe/_speedups.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/METADATA +1 -1
- package/bin/dbspec/_internal/markupsafe-3.0.4.dist-info/RECORD +14 -0
- package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/WHEEL +1 -1
- package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/METADATA +263 -27
- package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/RECORD +61 -61
- package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/WHEEL +1 -1
- package/bin/dbspec/_internal/pydantic_core/_pydantic_core.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/pyproject.toml +1 -1
- package/bin/dbspec/_internal/python3.13/lib-dynload/_asyncio.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_bisect.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_blake2.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_bz2.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_cn.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_hk.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_iso2022.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_jp.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_kr.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_tw.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_contextvars.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_csv.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_ctypes.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_curses.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_datetime.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_decimal.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_elementtree.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_hashlib.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_heapq.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_json.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_lzma.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_md5.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_multibytecodec.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_multiprocessing.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_opcode.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_pickle.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_posixshmem.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_posixsubprocess.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_queue.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_random.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_sha1.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_sha2.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_sha3.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_socket.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_sqlite3.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_ssl.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_statistics.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_struct.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_uuid.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_zoneinfo.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/array.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/binascii.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/fcntl.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/grp.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/math.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/mmap.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/pyexpat.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/readline.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/resource.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/select.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/syslog.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/termios.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/unicodedata.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/zlib.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/engine/_processors_cy.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/engine/_result_cy.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/engine/_row_cy.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/engine/_util_cy.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/sql/_cache_key_cy.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/sql/_util_cy.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/util/_collections_cy.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/util/_immutabledict_cy.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/dbspec +0 -0
- package/package.json +1 -1
- package/bin/dbspec/_internal/greenlet/_greenlet.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/libstdc++.so.6 +0 -0
- package/bin/dbspec/_internal/markupsafe-3.0.3.dist-info/RECORD +0 -14
- package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/INSTALLER +0 -1
- package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/METADATA +0 -133
- package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/RECORD +0 -21
- package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/REQUESTED +0 -0
- package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/WHEEL +0 -5
- package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/licenses/LICENSE +0 -73
- package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/top_level.txt +0 -1
- package/bin/dbspec/_internal/sqlalchemy/cyextension/collections.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/cyextension/immutabledict.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/cyextension/processors.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/cyextension/resultproxy.cpython-313-x86_64-linux-gnu.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/cyextension/util.cpython-313-x86_64-linux-gnu.so +0 -0
- /package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/INSTALLER +0 -0
- /package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/licenses/LICENSE.txt +0 -0
- /package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/top_level.txt +0 -0
- /package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/INSTALLER +0 -0
- /package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/licenses/LICENSE +0 -0
|
Binary file
|
|
@@ -106,6 +106,8 @@ src/migrations/reference_data.py
|
|
|
106
106
|
src/migrations/reference_data_history.py
|
|
107
107
|
src/migrations/reference_data_mapping.py
|
|
108
108
|
src/migrations/reference_data_paths.py
|
|
109
|
+
src/migrations/reference_data_replacement.py
|
|
110
|
+
src/migrations/reference_data_replacement_downgrade.py
|
|
109
111
|
src/migrations/reference_data_sql.py
|
|
110
112
|
src/migrations/renderers.py
|
|
111
113
|
src/migrations/revision.py
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
markupsafe-3.0.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
|
2
|
+
markupsafe-3.0.4.dist-info/METADATA,sha256=ZnZ9djiOzhXUnVDa-2VYke9dhocV5xKOf31zenCzU8Q,2690
|
|
3
|
+
markupsafe-3.0.4.dist-info/RECORD,,
|
|
4
|
+
markupsafe-3.0.4.dist-info/WHEEL,sha256=yfQOpPrZ0TlO2tO_u_HAB5e7hROFt4WBaUVx-htLNrk,190
|
|
5
|
+
markupsafe-3.0.4.dist-info/licenses/LICENSE.txt,sha256=SJqOEQhQntmKN7uYPhHg9-HTHwvY-Zp5yESOf_N9B-o,1475
|
|
6
|
+
markupsafe-3.0.4.dist-info/top_level.txt,sha256=qy0Plje5IJuvsCBjejJyhDCjEAdcDLK_2agVcex8Z6U,11
|
|
7
|
+
markupsafe/__init__.py,sha256=H1EnQ7C6bpbB16lFDkJYiemXjrPS0V5y3VfIxH9RhoY,13354
|
|
8
|
+
markupsafe/__pycache__/__init__.cpython-313.pyc,,
|
|
9
|
+
markupsafe/__pycache__/_native.cpython-313.pyc,,
|
|
10
|
+
markupsafe/_native.py,sha256=hSLs8Jmz5aqayuengJJ3kdT5PwNpBWpKrmQSdipndC8,210
|
|
11
|
+
markupsafe/_speedups.c,sha256=t3tC6oVV7-bmKUqvCO5pVSky-G8ACIXpWMaJwkNtJjg,4327
|
|
12
|
+
markupsafe/_speedups.cpython-313-x86_64-linux-gnu.so,sha256=Rq_7S8Bmy1VNUp3J6poDAqD_tV3cUq0pPdN4-ycL4r0,43920
|
|
13
|
+
markupsafe/_speedups.pyi,sha256=ENd1bYe7gbBUf2ywyYWOGUpnXOHNJ-cgTNqetlW8h5k,41
|
|
14
|
+
markupsafe/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/METADATA
RENAMED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: pydantic
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.14.1
|
|
4
4
|
Summary: Data validation using Python type hints
|
|
5
5
|
Project-URL: Homepage, https://github.com/pydantic/pydantic
|
|
6
|
-
Project-URL: Documentation, https://
|
|
6
|
+
Project-URL: Documentation, https://pydantic.dev/docs/validation/latest/get-started/
|
|
7
7
|
Project-URL: Funding, https://github.com/sponsors/samuelcolvin
|
|
8
8
|
Project-URL: Source, https://github.com/pydantic/pydantic
|
|
9
|
-
Project-URL: Changelog, https://
|
|
9
|
+
Project-URL: Changelog, https://pydantic.dev/docs/validation/latest/get-started/changelog/
|
|
10
10
|
Author-email: Samuel Colvin <s@muelcolvin.com>, Eric Jolibois <em.jolibois@gmail.com>, Hasan Ramezani <hasan.r67@gmail.com>, Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, Terrence Dorsey <terry@pydantic.dev>, David Montague <david@pydantic.dev>, Serge Matveenko <lig@countzero.co>, Marcelo Trylesinski <marcelotryle@gmail.com>, Sydney Runkle <sydneymarierunkle@gmail.com>, David Hewitt <mail@davidhewitt.dev>, Alex Hall <alex.mojaki@gmail.com>, Victorien Plot <contact@vctrn.dev>
|
|
11
11
|
License-Expression: MIT
|
|
12
12
|
License-File: LICENSE
|
|
@@ -19,25 +19,25 @@ Classifier: Operating System :: OS Independent
|
|
|
19
19
|
Classifier: Programming Language :: Python
|
|
20
20
|
Classifier: Programming Language :: Python :: 3
|
|
21
21
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.10
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.12
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.13
|
|
27
26
|
Classifier: Programming Language :: Python :: 3.14
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
28
28
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
29
29
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
30
30
|
Classifier: Topic :: Internet
|
|
31
31
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
32
|
-
Requires-Python: >=3.
|
|
32
|
+
Requires-Python: >=3.10
|
|
33
33
|
Requires-Dist: annotated-types>=0.6.0
|
|
34
|
-
Requires-Dist: pydantic-core==2.
|
|
35
|
-
Requires-Dist: typing-extensions>=4.
|
|
36
|
-
Requires-Dist: typing-inspection>=0.4.
|
|
34
|
+
Requires-Dist: pydantic-core==2.50.1
|
|
35
|
+
Requires-Dist: typing-extensions>=4.16.0
|
|
36
|
+
Requires-Dist: typing-inspection>=0.4.4
|
|
37
37
|
Provides-Extra: email
|
|
38
38
|
Requires-Dist: email-validator>=2.0.0; extra == 'email'
|
|
39
39
|
Provides-Extra: timezone
|
|
40
|
-
Requires-Dist: tzdata; (
|
|
40
|
+
Requires-Dist: tzdata; (platform_system == 'Windows') and extra == 'timezone'
|
|
41
41
|
Description-Content-Type: text/markdown
|
|
42
42
|
|
|
43
43
|
# Pydantic Validation
|
|
@@ -49,13 +49,13 @@ Description-Content-Type: text/markdown
|
|
|
49
49
|
[](https://pepy.tech/project/pydantic)
|
|
50
50
|
[](https://github.com/pydantic/pydantic)
|
|
51
51
|
[](https://github.com/pydantic/pydantic/blob/main/LICENSE)
|
|
52
|
-
[](https://
|
|
53
|
-
[](https://
|
|
52
|
+
[](https://pydantic.dev/docs/validation/latest/get-started/contributing/#badges)
|
|
53
|
+
[](https://pydantic.dev/docs/validation/latest/llms.txt)
|
|
54
54
|
|
|
55
55
|
Data validation using Python type hints.
|
|
56
56
|
|
|
57
57
|
Fast and extensible, Pydantic plays nicely with your linters/IDE/brain.
|
|
58
|
-
Define how data should be in pure, canonical Python 3.
|
|
58
|
+
Define how data should be in pure, canonical Python 3.10+; validate it with Pydantic.
|
|
59
59
|
|
|
60
60
|
## Pydantic Logfire :fire:
|
|
61
61
|
|
|
@@ -67,18 +67,18 @@ We've launched Pydantic Logfire to help you monitor your applications.
|
|
|
67
67
|
Pydantic V2 is a ground-up rewrite that offers many new features, performance improvements, and some breaking changes compared to Pydantic V1.
|
|
68
68
|
|
|
69
69
|
If you're using Pydantic V1 you may want to look at the
|
|
70
|
-
[pydantic V1.10 Documentation](https://
|
|
70
|
+
[pydantic V1.10 Documentation](https://pydantic.dev/docs/validation/1.10/overview/) or,
|
|
71
71
|
[`1.10.X-fixes` git branch](https://github.com/pydantic/pydantic/tree/1.10.X-fixes). Pydantic V2 also ships with the latest version of Pydantic V1 built in so that you can incrementally upgrade your code base and projects: `from pydantic import v1 as pydantic_v1`.
|
|
72
72
|
|
|
73
73
|
## Help
|
|
74
74
|
|
|
75
|
-
See [documentation](https://
|
|
75
|
+
See [documentation](https://pydantic.dev/docs/validation/latest/get-started/) for more details.
|
|
76
76
|
|
|
77
77
|
## Installation
|
|
78
78
|
|
|
79
79
|
Install using `pip install -U pydantic` or `conda install pydantic -c conda-forge`.
|
|
80
80
|
For more installation options to make Pydantic even faster,
|
|
81
|
-
see the [Install](https://
|
|
81
|
+
see the [Install](https://pydantic.dev/docs/validation/latest/get-started/install/) section in the documentation.
|
|
82
82
|
|
|
83
83
|
## A Simple Example
|
|
84
84
|
|
|
@@ -105,7 +105,7 @@ print(user.id)
|
|
|
105
105
|
|
|
106
106
|
For guidance on setting up a development environment and how to make a
|
|
107
107
|
contribution to Pydantic, see
|
|
108
|
-
[Contributing to Pydantic](https://
|
|
108
|
+
[Contributing to Pydantic](https://pydantic.dev/docs/validation/latest/get-started/contributing/).
|
|
109
109
|
|
|
110
110
|
## Reporting a Security Vulnerability
|
|
111
111
|
|
|
@@ -117,18 +117,254 @@ See our [security policy](https://github.com/pydantic/pydantic/security/policy).
|
|
|
117
117
|
<!-- markdownlint-disable descriptive-link-text -->
|
|
118
118
|
<!-- markdownlint-disable-next-line first-line-heading -->
|
|
119
119
|
|
|
120
|
-
## v2.
|
|
120
|
+
## v2.14.1 (2026-10-11)
|
|
121
121
|
|
|
122
|
-
[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.
|
|
122
|
+
[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.14.1)
|
|
123
123
|
|
|
124
124
|
### What's Changed
|
|
125
125
|
|
|
126
|
+
#### Performance
|
|
127
|
+
|
|
128
|
+
* Avoid Python tuple allocation during model fields validation by [@Viicos](https://github.com/Viicos) in [#13955](https://github.com/pydantic/pydantic/pull/13955)
|
|
129
|
+
* Avoid unnecessary extra dict allocation in model validation by [@Viicos](https://github.com/Viicos) in [#13956](https://github.com/pydantic/pydantic/pull/13956)
|
|
130
|
+
|
|
126
131
|
#### Fixes
|
|
127
132
|
|
|
128
|
-
*
|
|
133
|
+
* Fix `arguments-v3` schema with variadic keywords by [@Viicos](https://github.com/Viicos) in [#13954](https://github.com/pydantic/pydantic/pull/13954)
|
|
134
|
+
* Fix `TypeError` on `ForwardRef` on Python 3.10.0 by [@Viicos](https://github.com/Viicos) in [#13964](https://github.com/pydantic/pydantic/pull/13964)
|
|
135
|
+
* Support `closed` and `extra_items` via inheritance in `TypedDict` by [@Viicos](https://github.com/Viicos) in [#13967](https://github.com/pydantic/pydantic/pull/13967)
|
|
136
|
+
* Enforce the `max_digits` whole-digits limit in the Python `Decimal` validator by [@Viicos](https://github.com/Viicos) in [#13972](https://github.com/pydantic/pydantic/pull/13972)
|
|
137
|
+
* Reject out-of-range int inputs for `timedelta` by [@Viicos](https://github.com/Viicos) in [#13973](https://github.com/pydantic/pydantic/pull/13973)
|
|
138
|
+
* Support named tuples in `Sequence` validation by [@Viicos](https://github.com/Viicos) in [#13978](https://github.com/pydantic/pydantic/pull/13978)
|
|
139
|
+
|
|
140
|
+
## v2.14.0 (2026-10-08)
|
|
141
|
+
|
|
142
|
+
[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.14.0)
|
|
143
|
+
|
|
144
|
+
### What's Changed
|
|
145
|
+
|
|
146
|
+
The highlights of the v2.14 release are available in the [blog post](https://pydantic.dev/articles/pydantic-v2-14-release).
|
|
147
|
+
Several minor changes (considered non-breaking changes according to our [versioning policy](https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2))
|
|
148
|
+
are also included in this release. Make sure to look into them before upgrading.
|
|
149
|
+
|
|
150
|
+
This release drops support for Python 3.9 and adds support for Python 3.15.
|
|
151
|
+
|
|
152
|
+
#### New Features
|
|
153
|
+
|
|
154
|
+
* Add support for `multiple_of` constraint in `fraction` and `timedelta` core schemas by [@Viicos](https://github.com/Viicos) in [#13873](https://github.com/pydantic/pydantic/pull/13873)
|
|
155
|
+
* Add `__namespace__` parameter to `create_model()` by [@Viicos](https://github.com/Viicos) in [#13895](https://github.com/pydantic/pydantic/pull/13895)
|
|
156
|
+
|
|
157
|
+
#### Changes
|
|
158
|
+
|
|
159
|
+
* Add an `ordered-dict` core schema by [@Viicos](https://github.com/Viicos) in [#13796](https://github.com/pydantic/pydantic/pull/13796)
|
|
160
|
+
* Add a `counter` core schema by [@Viicos](https://github.com/Viicos) in [#13824](https://github.com/pydantic/pydantic/pull/13824)
|
|
161
|
+
* Do not mutate `model_config` attribute by [@Viicos](https://github.com/Viicos) in [#13825](https://github.com/pydantic/pydantic/pull/13825)
|
|
162
|
+
* Reject newlines in `NameEmail` validation by [@Viicos](https://github.com/Viicos) in [#13897](https://github.com/pydantic/pydantic/pull/13897)
|
|
163
|
+
|
|
164
|
+
#### Fixes
|
|
165
|
+
|
|
166
|
+
* Call enum constructors in both validation modes by [@Viicos](https://github.com/Viicos) in [#13792](https://github.com/pydantic/pydantic/pull/13792)
|
|
167
|
+
* Fix documentation examples not raising and remove unused `string_sub_type` unused error code by [@Viicos](https://github.com/Viicos) in [#13821](https://github.com/pydantic/pydantic/pull/13821)
|
|
168
|
+
* Catch `OverflowError` during `ByteSize` validation by [@Viicos](https://github.com/Viicos) in [#13850](https://github.com/pydantic/pydantic/pull/13850)
|
|
169
|
+
* Require `multiple_of` constraints to be positive by [@Viicos](https://github.com/Viicos) in [#13862](https://github.com/pydantic/pydantic/pull/13862)
|
|
170
|
+
* Always pop field name and model type stacks during schema generation by [@saquibjawedbit](https://github.com/saquibjawedbit) in [#13859](https://github.com/pydantic/pydantic/pull/13859)
|
|
171
|
+
* Handle `TypeError` gracefully during docstring extraction by [@Viicos](https://github.com/Viicos) in [#13874](https://github.com/pydantic/pydantic/pull/13874)
|
|
172
|
+
* Fix config propagation of stdlib dataclasses and `TypedDict`s in JSON Schema by [@Viicos](https://github.com/Viicos) in [#13891](https://github.com/pydantic/pydantic/pull/13891)
|
|
173
|
+
* Don't apply `ser_json_timedelta` to all datetime types in serialization inference by [@Viicos](https://github.com/Viicos) in [#13892](https://github.com/pydantic/pydantic/pull/13892)
|
|
174
|
+
* Encode JSON Schema defaults with a consistent configuration by [@Viicos](https://github.com/Viicos) in [#13893](https://github.com/pydantic/pydantic/pull/13893)
|
|
175
|
+
* Propagate `init` and `kw_only=False` from `Field()` to stdlib dataclass fields by [@Viicos](https://github.com/Viicos) in [#13898](https://github.com/pydantic/pydantic/pull/13898)
|
|
176
|
+
* Respect propagated extra config in the JSON Schema of stdlib dataclasses by [@Viicos](https://github.com/Viicos) in [#13899](https://github.com/pydantic/pydantic/pull/13899)
|
|
177
|
+
* Handle OS errors during `ZoneInfo` validation by [@Viicos](https://github.com/Viicos) in [#13912](https://github.com/pydantic/pydantic/pull/13912)
|
|
178
|
+
* Handle exceptions during `Decimal` validation by [@Viicos](https://github.com/Viicos) in [#13940](https://github.com/pydantic/pydantic/pull/13940)
|
|
179
|
+
* Rebuild incomplete types during serialization inference by [@Viicos](https://github.com/Viicos) in [#13922](https://github.com/pydantic/pydantic/pull/13922)
|
|
180
|
+
* Reject large exponents in `Fraction` validation by [@Viicos](https://github.com/Viicos) in [#13944](https://github.com/pydantic/pydantic/pull/13944)
|
|
181
|
+
* Avoid validating URL prefix multiple times in multi host URLs by [@Viicos](https://github.com/Viicos) in [#13945](https://github.com/pydantic/pydantic/pull/13945)
|
|
182
|
+
|
|
183
|
+
### New Contributors
|
|
184
|
+
|
|
185
|
+
* [@saquibjawedbit](https://github.com/saquibjawedbit) made their first contribution in [#13859](https://github.com/pydantic/pydantic/pull/13859)
|
|
186
|
+
|
|
187
|
+
## v2.14.0b2 (2026-09-09)
|
|
188
|
+
|
|
189
|
+
[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.14.0b2)
|
|
190
|
+
|
|
191
|
+
### What's Changed
|
|
192
|
+
|
|
193
|
+
This pre-release adds full support for Python 3.15 specific features, such as support for [`frozendict`](https://docs.python.org/3.15/library/stdtypes.html#frozendict),
|
|
194
|
+
making use of [`TypeForm`](https://docs.python.org/3.15/library/typing.html#typing.TypeForm) and stabilizing the
|
|
195
|
+
[`MISSING` sentinel](https://pydantic.dev/docs/validation/latest/concepts/types/#missing-sentinel) type.
|
|
196
|
+
|
|
197
|
+
#### New Features
|
|
198
|
+
|
|
199
|
+
* Allow any `CoreSchema` to be used as serialization by [@Viicos](https://github.com/Viicos) in [#13680](https://github.com/pydantic/pydantic/pull/13680)
|
|
200
|
+
* Add support for [`frozendict`](https://docs.python.org/3.15/library/stdtypes.html#frozendict) type by [@Viicos](https://github.com/Viicos) in [#13634](https://github.com/pydantic/pydantic/pull/13634)
|
|
201
|
+
* Allow `dict`, `frozendict` and `frozenset` as `defaultdict` default factories by [@Viicos](https://github.com/Viicos) in [#13623](https://github.com/pydantic/pydantic/pull/13623)
|
|
202
|
+
* Add support for [`TypeForm`](https://docs.python.org/3.15/library/typing.html#typing.TypeForm) by [@Viicos](https://github.com/Viicos) in [#13459](https://github.com/pydantic/pydantic/pull/13459).
|
|
203
|
+
|
|
204
|
+
This adds support for static type checking where a type form is expected. For instance, type adapters:
|
|
205
|
+
|
|
206
|
+
```python
|
|
207
|
+
from pydantic import TypeAdapter
|
|
208
|
+
|
|
209
|
+
ta = TypeAdapter(int | str)
|
|
210
|
+
assert_type(ta.validate_python(1), int | str)
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
* Add support for lazy imports by [@Viicos](https://github.com/Viicos) in [#13776](https://github.com/pydantic/pydantic/pull/13776)
|
|
214
|
+
* Stabilize `MISSING` sentinel by [@Viicos](https://github.com/Viicos) in [#13782](https://github.com/pydantic/pydantic/pull/13782).
|
|
215
|
+
|
|
216
|
+
The [`MISSING` sentinel](https://pydantic.dev/docs/validation/dev/concepts/types/#missing-sentinel) is no longer experimental, and can be imported
|
|
217
|
+
as `from pydantic import MISSING`.
|
|
218
|
+
|
|
219
|
+
#### Changes
|
|
220
|
+
|
|
221
|
+
* Take `ser_json_temporal` into account when generating JSON Schema by [@shashiKundur1](https://github.com/shashiKundur1) in [#13665](https://github.com/pydantic/pydantic/pull/13665)
|
|
222
|
+
* Use the field name in `__signature__` when `validate_by_alias` is`False` by [@jaideeppyne](https://github.com/jaideeppyne) in [#13730](https://github.com/pydantic/pydantic/pull/13730)
|
|
223
|
+
* Add a `deque` core schema by [@Viicos](https://github.com/Viicos) in [#13757](https://github.com/pydantic/pydantic/pull/13757)
|
|
224
|
+
* Do not mention `MISSING` as a valid value in validation errors by [@Viicos](https://github.com/Viicos) in [#13779](https://github.com/pydantic/pydantic/pull/13779)
|
|
225
|
+
* Refactor `Decimal` JSON Schema `pattern` constraint by [@Viicos](https://github.com/Viicos) in [#13672](https://github.com/pydantic/pydantic/pull/13672)
|
|
226
|
+
|
|
227
|
+
#### Performance
|
|
228
|
+
|
|
229
|
+
* Refactor type references logic by [@Viicos](https://github.com/Viicos) in [#13643](https://github.com/pydantic/pydantic/pull/13643)
|
|
230
|
+
* Improve performance of `GenerateSchema.generate_schema()` dispatching by [@Viicos](https://github.com/Viicos) in [#13614](https://github.com/pydantic/pydantic/pull/13614)
|
|
231
|
+
* Move schema gathering logic to `pydantic-core` by [@Viicos](https://github.com/Viicos) in [#13725](https://github.com/pydantic/pydantic/pull/13725)
|
|
232
|
+
* Improve performance of `FieldInfo` construction by [@Viicos](https://github.com/Viicos) in [#13726](https://github.com/pydantic/pydantic/pull/13726)
|
|
233
|
+
|
|
234
|
+
#### Fixes
|
|
235
|
+
|
|
236
|
+
* Fix support for callable discriminators with PEP 695 type aliases by [@Viicos](https://github.com/Viicos) in [#13604](https://github.com/pydantic/pydantic/pull/13604)
|
|
237
|
+
* Preserve `re.Pattern` instance for compiled patterns in the experimental pipeline by [@soma0212](https://github.com/soma0212) in [#13611](https://github.com/pydantic/pydantic/pull/13611)
|
|
129
238
|
* Fix missing GC traversal on some `pydantic-core` struct fields by [@Viicos](https://github.com/Viicos) in [#13624](https://github.com/pydantic/pydantic/pull/13624)
|
|
130
239
|
* Fix missing GC traversal in `pydantic-core` for `GeneralFieldsSerializer` by [@Viicos](https://github.com/Viicos) in [#13629](https://github.com/pydantic/pydantic/pull/13629)
|
|
131
|
-
*
|
|
240
|
+
* Fix JSON schema discriminator mapping keys for `bool` discriminators by [@remi-fongaufier](https://github.com/remi-fongaufier) in [#13632](https://github.com/pydantic/pydantic/pull/13632)
|
|
241
|
+
* Fix application of other constraints in the pipeline API by [@Viicos](https://github.com/Viicos) in [#13659](https://github.com/pydantic/pydantic/pull/13659)
|
|
242
|
+
* Support bare `None` annotation for discriminated unions by [@Viicos](https://github.com/Viicos) in [#13667](https://github.com/pydantic/pydantic/pull/13667)
|
|
243
|
+
* Respect runtime alias validation configuration when wrap validators are present by [@Viicos](https://github.com/Viicos) in [#13668](https://github.com/pydantic/pydantic/pull/13668)
|
|
244
|
+
* Exclude computed fields with `exclude_if` from JSON Schema required fields by [@Bishwas-py](https://github.com/Bishwas-py) in [#13563](https://github.com/pydantic/pydantic/pull/13563)
|
|
245
|
+
* Use config of `TypeAdapter` in JSON Schema generation by [@Viicos](https://github.com/Viicos) in [#13676](https://github.com/pydantic/pydantic/pull/13676)
|
|
246
|
+
* Support `populate_by_name` in `@validate_call` by [@Viicos](https://github.com/Viicos) in [#13691](https://github.com/pydantic/pydantic/pull/13691)
|
|
247
|
+
* Allow `None` to serialize against secret fields by [@Viicos](https://github.com/Viicos) in [#13699](https://github.com/pydantic/pydantic/pull/13699)
|
|
248
|
+
* Do not drop include/exclude if serializer wasn't called by [@Viicos](https://github.com/Viicos) in [#13702](https://github.com/pydantic/pydantic/pull/13702)
|
|
249
|
+
* Don't apply serialization temporal formats to validation JSON schemas by [@MLuc24](https://github.com/MLuc24) in [#13711](https://github.com/pydantic/pydantic/pull/13711)
|
|
250
|
+
* Reflect `str_min_length` and `str_max_length` config in the JSON schema by [@MLuc24](https://github.com/MLuc24) in [#13714](https://github.com/pydantic/pydantic/pull/13714)
|
|
251
|
+
* Treat a class attribute set to `None` as existing when assigning with `extra='allow'` by [@Kropiunig](https://github.com/Kropiunig) in [#13718](https://github.com/pydantic/pydantic/pull/13718)
|
|
252
|
+
* Use the field name in validation JSON schemas when `validate_by_alias` is `False` by [@MLuc24](https://github.com/MLuc24) in [#13717](https://github.com/pydantic/pydantic/pull/13717)
|
|
253
|
+
* Do not rely on normalization to validate decimals by [@Viicos](https://github.com/Viicos) in [#13742](https://github.com/pydantic/pydantic/pull/13742)
|
|
254
|
+
* Handle any exception when trying to compute JSON Schema default by [@Viicos](https://github.com/Viicos) in [#13741](https://github.com/pydantic/pydantic/pull/13741)
|
|
255
|
+
* Fix Mypy plugin crash with import cycle by [@Viicos](https://github.com/Viicos) in [#13767](https://github.com/pydantic/pydantic/pull/13767)
|
|
256
|
+
* Fix supported constraints for types of `datetime` module by [@Viicos](https://github.com/Viicos) in [#13768](https://github.com/pydantic/pydantic/pull/13768)
|
|
257
|
+
* Fix inconsistencies between constraints and core schemas allowed values by [@Viicos](https://github.com/Viicos) in [#13772](https://github.com/pydantic/pydantic/pull/13772)
|
|
258
|
+
* Allow `self` to be used as a parameter with `@validate_call` by [@Viicos](https://github.com/Viicos) in [#13773](https://github.com/pydantic/pydantic/pull/13773)
|
|
259
|
+
* Fix race conditions in freethreaded build by [@Viicos](https://github.com/Viicos) in [#13785](https://github.com/pydantic/pydantic/pull/13785)
|
|
260
|
+
|
|
261
|
+
### New Contributors
|
|
262
|
+
|
|
263
|
+
* [@soma0212](https://github.com/soma0212) made their first contribution in [#13611](https://github.com/pydantic/pydantic/pull/13611)
|
|
264
|
+
* [@remi-fongaufier](https://github.com/remi-fongaufier) made their first contribution in [#13632](https://github.com/pydantic/pydantic/pull/13632)
|
|
265
|
+
* [@shashiKundur1](https://github.com/shashiKundur1) made their first contribution in [#13665](https://github.com/pydantic/pydantic/pull/13665)
|
|
266
|
+
* [@MLuc24](https://github.com/MLuc24) made their first contribution in [#13711](https://github.com/pydantic/pydantic/pull/13711)
|
|
267
|
+
* [@jaideeppyne](https://github.com/jaideeppyne) made their first contribution in [#13730](https://github.com/pydantic/pydantic/pull/13730)
|
|
268
|
+
|
|
269
|
+
## v2.14.0b1 (2026-08-06)
|
|
270
|
+
|
|
271
|
+
[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.14.0b1)
|
|
272
|
+
|
|
273
|
+
### What's Changed
|
|
274
|
+
|
|
275
|
+
This is the first beta release of the 2.14 version, providing some new features and performance improvements for model builds.
|
|
276
|
+
|
|
277
|
+
This release is the first to provide initial support for Python 3.15, although not all 3.15 specific features are supported yet.
|
|
278
|
+
|
|
279
|
+
#### Packaging
|
|
280
|
+
|
|
281
|
+
* Add agent skills by [@Viicos](https://github.com/Viicos) in [#13193](https://github.com/pydantic/pydantic/pull/13193)
|
|
282
|
+
|
|
283
|
+
#### New Features
|
|
284
|
+
|
|
285
|
+
* Add support for `EllipsisType` by [@Viicos](https://github.com/Viicos) in [#13484](https://github.com/pydantic/pydantic/pull/13484)
|
|
286
|
+
* Add initial support for Python 3.15 by [@Viicos](https://github.com/Viicos) in [#13587](https://github.com/pydantic/pydantic/pull/13587)
|
|
287
|
+
|
|
288
|
+
#### Changes
|
|
289
|
+
|
|
290
|
+
* Populate `__slots__` from generic class during parameterization by [@Viicos](https://github.com/Viicos) in [#13243](https://github.com/pydantic/pydantic/pull/13243)
|
|
291
|
+
* Avoid using explicit `Any` in the Mypy plugin by [@Viicos](https://github.com/Viicos) in [#13196](https://github.com/pydantic/pydantic/pull/13196)
|
|
292
|
+
* Support `Fraction` type in `pydantic-core` by [@Viicos](https://github.com/Viicos) in [#13339](https://github.com/pydantic/pydantic/pull/13339)
|
|
293
|
+
* Use constant-time comparison for `SecretStr` and `SecretBytes` types by [@Viicos](https://github.com/Viicos) in [#13518](https://github.com/pydantic/pydantic/pull/13518)
|
|
294
|
+
* Fix application of constraints in pipeline API by [@Viicos](https://github.com/Viicos) in [#13516](https://github.com/pydantic/pydantic/pull/13516)
|
|
295
|
+
* Optimize type lookup logic in core schema generation by [@Viicos](https://github.com/Viicos) in [#13573](https://github.com/pydantic/pydantic/pull/13573)
|
|
296
|
+
* Add a `named-tuple` core schema by [@Viicos](https://github.com/Viicos) in [#13505](https://github.com/pydantic/pydantic/pull/13505)
|
|
297
|
+
* Raise explicit `TypeError` on invalid `index_key` serialization wrap handler by [@Viicos](https://github.com/Viicos) in [#13506](https://github.com/pydantic/pydantic/pull/13506)
|
|
298
|
+
|
|
299
|
+
#### Performance
|
|
300
|
+
|
|
301
|
+
* Cache `ModelPrivateAttr.default_factory_takes_validated_data` property by [@Viicos](https://github.com/Viicos) in [#13390](https://github.com/pydantic/pydantic/pull/13390)
|
|
302
|
+
* Introduce micro-optimizations for model class building by [@dmontagu](https://github.com/dmontagu) in [#13540](https://github.com/pydantic/pydantic/pull/13540)
|
|
303
|
+
* Try `Format.VALUE` before `FORWARDREF` when evaluating annotations in `ModelMetaclass` by [@Viicos](https://github.com/Viicos) in [#13584](https://github.com/pydantic/pydantic/pull/13584)
|
|
304
|
+
* Optimize type lookup logic in core schema generation by [@Viicos](https://github.com/Viicos) in [#13573](https://github.com/pydantic/pydantic/pull/13573)
|
|
305
|
+
* Avoid exponential core schema traversal in `gather_schemas_for_cleaning()` by [@dmontagu](https://github.com/dmontagu) in [#13523](https://github.com/pydantic/pydantic/pull/13523)
|
|
306
|
+
|
|
307
|
+
#### Fixes
|
|
308
|
+
|
|
309
|
+
* Validate falsy `AliasGenerator` outputs by [@jiyujie2006](https://github.com/jiyujie2006) in [#13248](https://github.com/pydantic/pydantic/pull/13248)
|
|
310
|
+
* Do not resolve recursive `'definitions-ref'` schemas in schema cleaning by [@Viicos](https://github.com/Viicos) in [#13276](https://github.com/pydantic/pydantic/pull/13276)
|
|
311
|
+
* Fix missing `max_length` check on lazy iteration validation by [@davidhewitt](https://github.com/davidhewitt) in [#13278](https://github.com/pydantic/pydantic/pull/13278)
|
|
312
|
+
* Handle missing errors with default factories taking validated data by [@Viicos](https://github.com/Viicos) in [#13291](https://github.com/pydantic/pydantic/pull/13291)
|
|
313
|
+
* Recognise `WindowsPath` as a schema type by [@davidhewitt](https://github.com/davidhewitt) in [#13326](https://github.com/pydantic/pydantic/pull/13326)
|
|
314
|
+
* Fix application of nested operators in pipeline API by [@Viicos](https://github.com/Viicos) in [#13363](https://github.com/pydantic/pydantic/pull/13363)
|
|
315
|
+
* Fix type variable substitution in `__pydantic_extra__` by [@Viicos](https://github.com/Viicos) in [#13391](https://github.com/pydantic/pydantic/pull/13391)
|
|
316
|
+
* Fix `json_schema_extra` dict being dropped when a callable follows it in `Annotated` by [@Srivatsa03](https://github.com/Srivatsa03) in [#13374](https://github.com/pydantic/pydantic/pull/13374)
|
|
317
|
+
* Skip `RootModel.__init__()` in Mypy plugin by [@Viicos](https://github.com/Viicos) in [#13441](https://github.com/pydantic/pydantic/pull/13441)
|
|
318
|
+
* Defer placeholders in Mypy plugin by [@Viicos](https://github.com/Viicos) in [#13442](https://github.com/pydantic/pydantic/pull/13442)
|
|
319
|
+
* Do not ignore timezone offset when using `'seconds'/'milliseconds'` `temporal_mode` by [@Viicos](https://github.com/Viicos) in [#13436](https://github.com/pydantic/pydantic/pull/13436)
|
|
320
|
+
* Make model rebuilding logic thread safe by [@Viicos](https://github.com/Viicos) in [#13438](https://github.com/pydantic/pydantic/pull/13438)
|
|
321
|
+
* Fix `Interval` zero bounds silently dropped in pipeline API by [@pctablet505](https://github.com/pctablet505) in [#13452](https://github.com/pydantic/pydantic/pull/13452)
|
|
322
|
+
* Sync `RootModel.model_dump()` signature with its parent by [@Viicos](https://github.com/Viicos) in [#13456](https://github.com/pydantic/pydantic/pull/13456)
|
|
323
|
+
* Return `NotImplemented` from URL ordering comparisons with foreign types by [@chinesepowered](https://github.com/chinesepowered) in [#13495](https://github.com/pydantic/pydantic/pull/13495)
|
|
324
|
+
* Don't error on unhashable generic arguments on generic Pydantic models by [@Viicos](https://github.com/Viicos) in [#13515](https://github.com/pydantic/pydantic/pull/13515)
|
|
325
|
+
* Fix population of `SerializationInfo.exclude_computed_fields` by [@Viicos](https://github.com/Viicos) in [#13560](https://github.com/pydantic/pydantic/pull/13560)
|
|
326
|
+
* Fix serialization of `ValidateAs` by [@Viicos](https://github.com/Viicos) in [#13487](https://github.com/pydantic/pydantic/pull/13487)
|
|
327
|
+
* Allow reuse of validators when plugins are set by [@Viicos](https://github.com/Viicos) in [#13535](https://github.com/pydantic/pydantic/pull/13535)
|
|
328
|
+
* Avoid double-wrapping polymorphism trampoline for model serializers by [@davidhewitt](https://github.com/davidhewitt) in [#13552](https://github.com/pydantic/pydantic/pull/13552)
|
|
329
|
+
* Add `AllowInfNan` type to the field metadata gathering by [@mberdyshev](https://github.com/mberdyshev) in [#13586](https://github.com/pydantic/pydantic/pull/13586)
|
|
330
|
+
|
|
331
|
+
### New Contributors
|
|
332
|
+
|
|
333
|
+
* [@jiyujie2006](https://github.com/jiyujie2006) made their first contribution in [#13248](https://github.com/pydantic/pydantic/pull/13248)
|
|
334
|
+
* [@pctablet505](https://github.com/pctablet505) made their first contribution in [#13452](https://github.com/pydantic/pydantic/pull/13452)
|
|
335
|
+
* [@LuShadowX](https://github.com/LuShadowX) made their first contribution in [#13503](https://github.com/pydantic/pydantic/pull/13503)
|
|
336
|
+
* [@mberdyshev](https://github.com/mberdyshev) made their first contribution in [#13586](https://github.com/pydantic/pydantic/pull/13586)
|
|
337
|
+
|
|
338
|
+
## v2.14.0a1 (2026-05-22)
|
|
339
|
+
|
|
340
|
+
[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.14.0a1)
|
|
341
|
+
|
|
342
|
+
### What's Changed
|
|
343
|
+
|
|
344
|
+
#### Packaging
|
|
345
|
+
|
|
346
|
+
* Add PyEmscripten platform tag support by [@Viicos](https://github.com/Viicos), [@greateggsgreg](https://github.com/greateggsgreg) and [@sinaatalay](https://github.com/sinaatalay) in [#13199](https://github.com/pydantic/pydantic/pull/13199):
|
|
347
|
+
`pydantic-core` now has a 3.14 wheel published with the [`pyemscripten_2026_0` platform tag](https://pyodide.org/en/latest/development/abi/314.html).
|
|
348
|
+
Note that this wheel can only be used with [Pyodide 314.0](https://github.com/pyodide/pyodide/issues/6233) and greater, still in development.
|
|
349
|
+
It is recommended to wait for the final 314.0 release (and for Pydantic to publish a new wheel in a future 2.14 release).
|
|
350
|
+
|
|
351
|
+
#### Changes
|
|
352
|
+
|
|
353
|
+
* Accept `None` in `MultiHostUrl.build()`'s `hosts` parameter by [@Viicos](https://github.com/Viicos) in [#13068](https://github.com/pydantic/pydantic/pull/13068)
|
|
354
|
+
* Drop support for Python 3.9 by [@Viicos](https://github.com/Viicos) in [#13070](https://github.com/pydantic/pydantic/pull/13070)
|
|
355
|
+
* Remove support for `eval_type_backport()` by [@Viicos](https://github.com/Viicos) in [#13133](https://github.com/pydantic/pydantic/pull/13133)
|
|
356
|
+
* Only deepcopy non-updated fields in `model_copy()` by [@connorcarpenter15](https://github.com/connorcarpenter15) in [#13087](https://github.com/pydantic/pydantic/pull/13087)
|
|
357
|
+
|
|
358
|
+
#### Fixes
|
|
359
|
+
|
|
360
|
+
* Add Mypy plugin workaround for dynamic models defined in functions by [@ilevkivskyi](https://github.com/ilevkivskyi) in [#13177](https://github.com/pydantic/pydantic/pull/13177)
|
|
361
|
+
* Fallback to `create_model()` overload definition when `__base__` is set to a type variable in the Mypy plugin by [@cyphercodes](https://github.com/cyphercodes) in [#13146](https://github.com/pydantic/pydantic/pull/13146)
|
|
362
|
+
|
|
363
|
+
### New Contributors
|
|
364
|
+
|
|
365
|
+
* [@ilevkivskyi](https://github.com/ilevkivskyi) made their first contribution in [#13177](https://github.com/pydantic/pydantic/pull/13177)
|
|
366
|
+
* [@cyphercodes](https://github.com/cyphercodes) made their first contribution in [#13146](https://github.com/pydantic/pydantic/pull/13146)
|
|
367
|
+
* [@connorcarpenter15](https://github.com/connorcarpenter15) made their first contribution in [#13087](https://github.com/pydantic/pydantic/pull/13087)
|
|
132
368
|
|
|
133
369
|
## v2.13.4 (2026-05-06)
|
|
134
370
|
|
|
@@ -378,7 +614,7 @@ the remaining unexpected changes to the *serialize as any* behavior.
|
|
|
378
614
|
[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.12.4)
|
|
379
615
|
|
|
380
616
|
This is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the `build()` method
|
|
381
|
-
of the [`AnyUrl` and Dsn types](https://
|
|
617
|
+
of the [`AnyUrl` and Dsn types](https://pydantic.dev/docs/validation/latest/api/pydantic/networks/).
|
|
382
618
|
|
|
383
619
|
This patch release also fixes an issue with the serialization of IP address types, when `serialize_as_any` is used. The next patch release
|
|
384
620
|
will try to address the remaining issues with *serialize as any* behavior by introducing a new *polymorphic serialization* feature, that
|
|
@@ -390,7 +626,7 @@ should be used in most cases in place of *serialize as any*.
|
|
|
390
626
|
|
|
391
627
|
* Exclude fields with `exclude_if` from JSON Schema required fields by [@Viicos](https://github.com/Viicos) in [#12430](https://github.com/pydantic/pydantic/pull/12430)
|
|
392
628
|
* Revert URL percent-encoding of credentials in the `build()` method
|
|
393
|
-
of the [`AnyUrl` and Dsn types](https://
|
|
629
|
+
of the [`AnyUrl` and Dsn types](https://pydantic.dev/docs/validation/latest/api/pydantic/networks/) by [@davidhewitt](https://github.com/davidhewitt) in
|
|
394
630
|
[pydantic-core#1833](https://github.com/pydantic/pydantic-core/pull/1833).
|
|
395
631
|
|
|
396
632
|
This was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include
|
|
@@ -415,14 +651,14 @@ should be used in most cases in place of *serialize as any*.
|
|
|
415
651
|
### What's Changed
|
|
416
652
|
|
|
417
653
|
This is the third 2.12 patch release, fixing issues related to the `FieldInfo` class, and reverting a change to the supported
|
|
418
|
-
[*after* model validator](https://
|
|
654
|
+
[*after* model validator](https://pydantic.dev/docs/validation/latest/concepts/validators/#model-validators) function signatures.
|
|
419
655
|
|
|
420
656
|
* Raise a warning when an invalid after model validator function signature is raised by [@Viicos](https://github.com/Viicos) in [#12414](https://github.com/pydantic/pydantic/pull/12414).
|
|
421
657
|
Starting in 2.12.0, using class methods for *after* model validators raised an error, but the error wasn't raised concistently. We decided
|
|
422
658
|
to emit a deprecation warning instead.
|
|
423
|
-
* Add [`FieldInfo.asdict()`](https://
|
|
659
|
+
* Add [`FieldInfo.asdict()`](https://pydantic.dev/docs/validation/latest/api/pydantic/fields/#pydantic.fields.FieldInfo.asdict) method, improve documentation around `FieldInfo` by [@Viicos](https://github.com/Viicos) in [#12411](https://github.com/pydantic/pydantic/pull/12411).
|
|
424
660
|
This also add back support for mutations on `FieldInfo` classes, that are reused as `Annotated` metadata. **However**, note that this is still
|
|
425
|
-
*not* a supported pattern. Instead, please refer to the [added example](https://
|
|
661
|
+
*not* a supported pattern. Instead, please refer to the [added example](https://pydantic.dev/docs/validation/latest/examples/dynamic_models/) in the documentation.
|
|
426
662
|
|
|
427
663
|
The [blog post](https://pydantic.dev/articles/pydantic-v2-12-release#changes) section on changes was also updated to document the changes related to `serialize_as_any`.
|
|
428
664
|
|
|
@@ -465,7 +701,7 @@ This is the first 2.12 patch release, addressing most (but not all yet) regressi
|
|
|
465
701
|
[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.12.0)
|
|
466
702
|
|
|
467
703
|
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.
|
|
468
|
-
Several minor changes (considered non-breaking changes according to our [versioning policy](https://
|
|
704
|
+
Several minor changes (considered non-breaking changes according to our [versioning policy](https://pydantic.dev/docs/validation/2.12/get-started/version-policy/#pydantic-v2))
|
|
469
705
|
are also included in this release. Make sure to look into them before upgrading.
|
|
470
706
|
|
|
471
707
|
**Note that Pydantic V1 is not compatible with Python 3.14 and greater**.
|
|
@@ -1304,4 +1540,4 @@ Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/relea
|
|
|
1304
1540
|
Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.0b1) for details.
|
|
1305
1541
|
|
|
1306
1542
|
|
|
1307
|
-
... see [here](https://
|
|
1543
|
+
... see [here](https://pydantic.dev/docs/validation/latest/get-started/changelog/#v2100b1-2024-11-06) for earlier changes.
|