@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.
Files changed (100) hide show
  1. package/bin/dbspec/_internal/base_library.zip +0 -0
  2. package/bin/dbspec/_internal/dbspec.egg-info/PKG-INFO +1 -1
  3. package/bin/dbspec/_internal/dbspec.egg-info/SOURCES.txt +2 -0
  4. package/bin/dbspec/_internal/libcrypto.so.3 +0 -0
  5. package/bin/dbspec/_internal/libpython3.13.so.1.0 +0 -0
  6. package/bin/dbspec/_internal/libsqlite3.so.0 +0 -0
  7. package/bin/dbspec/_internal/libssl.so.3 +0 -0
  8. package/bin/dbspec/_internal/markupsafe/_speedups.cpython-313-x86_64-linux-gnu.so +0 -0
  9. package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/METADATA +1 -1
  10. package/bin/dbspec/_internal/markupsafe-3.0.4.dist-info/RECORD +14 -0
  11. package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/WHEEL +1 -1
  12. package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/METADATA +263 -27
  13. package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/RECORD +61 -61
  14. package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/WHEEL +1 -1
  15. package/bin/dbspec/_internal/pydantic_core/_pydantic_core.cpython-313-x86_64-linux-gnu.so +0 -0
  16. package/bin/dbspec/_internal/pyproject.toml +1 -1
  17. package/bin/dbspec/_internal/python3.13/lib-dynload/_asyncio.cpython-313-x86_64-linux-gnu.so +0 -0
  18. package/bin/dbspec/_internal/python3.13/lib-dynload/_bisect.cpython-313-x86_64-linux-gnu.so +0 -0
  19. package/bin/dbspec/_internal/python3.13/lib-dynload/_blake2.cpython-313-x86_64-linux-gnu.so +0 -0
  20. package/bin/dbspec/_internal/python3.13/lib-dynload/_bz2.cpython-313-x86_64-linux-gnu.so +0 -0
  21. package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_cn.cpython-313-x86_64-linux-gnu.so +0 -0
  22. package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_hk.cpython-313-x86_64-linux-gnu.so +0 -0
  23. package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_iso2022.cpython-313-x86_64-linux-gnu.so +0 -0
  24. package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_jp.cpython-313-x86_64-linux-gnu.so +0 -0
  25. package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_kr.cpython-313-x86_64-linux-gnu.so +0 -0
  26. package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_tw.cpython-313-x86_64-linux-gnu.so +0 -0
  27. package/bin/dbspec/_internal/python3.13/lib-dynload/_contextvars.cpython-313-x86_64-linux-gnu.so +0 -0
  28. package/bin/dbspec/_internal/python3.13/lib-dynload/_csv.cpython-313-x86_64-linux-gnu.so +0 -0
  29. package/bin/dbspec/_internal/python3.13/lib-dynload/_ctypes.cpython-313-x86_64-linux-gnu.so +0 -0
  30. package/bin/dbspec/_internal/python3.13/lib-dynload/_curses.cpython-313-x86_64-linux-gnu.so +0 -0
  31. package/bin/dbspec/_internal/python3.13/lib-dynload/_datetime.cpython-313-x86_64-linux-gnu.so +0 -0
  32. package/bin/dbspec/_internal/python3.13/lib-dynload/_decimal.cpython-313-x86_64-linux-gnu.so +0 -0
  33. package/bin/dbspec/_internal/python3.13/lib-dynload/_elementtree.cpython-313-x86_64-linux-gnu.so +0 -0
  34. package/bin/dbspec/_internal/python3.13/lib-dynload/_hashlib.cpython-313-x86_64-linux-gnu.so +0 -0
  35. package/bin/dbspec/_internal/python3.13/lib-dynload/_heapq.cpython-313-x86_64-linux-gnu.so +0 -0
  36. package/bin/dbspec/_internal/python3.13/lib-dynload/_json.cpython-313-x86_64-linux-gnu.so +0 -0
  37. package/bin/dbspec/_internal/python3.13/lib-dynload/_lzma.cpython-313-x86_64-linux-gnu.so +0 -0
  38. package/bin/dbspec/_internal/python3.13/lib-dynload/_md5.cpython-313-x86_64-linux-gnu.so +0 -0
  39. package/bin/dbspec/_internal/python3.13/lib-dynload/_multibytecodec.cpython-313-x86_64-linux-gnu.so +0 -0
  40. package/bin/dbspec/_internal/python3.13/lib-dynload/_multiprocessing.cpython-313-x86_64-linux-gnu.so +0 -0
  41. package/bin/dbspec/_internal/python3.13/lib-dynload/_opcode.cpython-313-x86_64-linux-gnu.so +0 -0
  42. package/bin/dbspec/_internal/python3.13/lib-dynload/_pickle.cpython-313-x86_64-linux-gnu.so +0 -0
  43. package/bin/dbspec/_internal/python3.13/lib-dynload/_posixshmem.cpython-313-x86_64-linux-gnu.so +0 -0
  44. package/bin/dbspec/_internal/python3.13/lib-dynload/_posixsubprocess.cpython-313-x86_64-linux-gnu.so +0 -0
  45. package/bin/dbspec/_internal/python3.13/lib-dynload/_queue.cpython-313-x86_64-linux-gnu.so +0 -0
  46. package/bin/dbspec/_internal/python3.13/lib-dynload/_random.cpython-313-x86_64-linux-gnu.so +0 -0
  47. package/bin/dbspec/_internal/python3.13/lib-dynload/_sha1.cpython-313-x86_64-linux-gnu.so +0 -0
  48. package/bin/dbspec/_internal/python3.13/lib-dynload/_sha2.cpython-313-x86_64-linux-gnu.so +0 -0
  49. package/bin/dbspec/_internal/python3.13/lib-dynload/_sha3.cpython-313-x86_64-linux-gnu.so +0 -0
  50. package/bin/dbspec/_internal/python3.13/lib-dynload/_socket.cpython-313-x86_64-linux-gnu.so +0 -0
  51. package/bin/dbspec/_internal/python3.13/lib-dynload/_sqlite3.cpython-313-x86_64-linux-gnu.so +0 -0
  52. package/bin/dbspec/_internal/python3.13/lib-dynload/_ssl.cpython-313-x86_64-linux-gnu.so +0 -0
  53. package/bin/dbspec/_internal/python3.13/lib-dynload/_statistics.cpython-313-x86_64-linux-gnu.so +0 -0
  54. package/bin/dbspec/_internal/python3.13/lib-dynload/_struct.cpython-313-x86_64-linux-gnu.so +0 -0
  55. package/bin/dbspec/_internal/python3.13/lib-dynload/_uuid.cpython-313-x86_64-linux-gnu.so +0 -0
  56. package/bin/dbspec/_internal/python3.13/lib-dynload/_zoneinfo.cpython-313-x86_64-linux-gnu.so +0 -0
  57. package/bin/dbspec/_internal/python3.13/lib-dynload/array.cpython-313-x86_64-linux-gnu.so +0 -0
  58. package/bin/dbspec/_internal/python3.13/lib-dynload/binascii.cpython-313-x86_64-linux-gnu.so +0 -0
  59. package/bin/dbspec/_internal/python3.13/lib-dynload/fcntl.cpython-313-x86_64-linux-gnu.so +0 -0
  60. package/bin/dbspec/_internal/python3.13/lib-dynload/grp.cpython-313-x86_64-linux-gnu.so +0 -0
  61. package/bin/dbspec/_internal/python3.13/lib-dynload/math.cpython-313-x86_64-linux-gnu.so +0 -0
  62. package/bin/dbspec/_internal/python3.13/lib-dynload/mmap.cpython-313-x86_64-linux-gnu.so +0 -0
  63. package/bin/dbspec/_internal/python3.13/lib-dynload/pyexpat.cpython-313-x86_64-linux-gnu.so +0 -0
  64. package/bin/dbspec/_internal/python3.13/lib-dynload/readline.cpython-313-x86_64-linux-gnu.so +0 -0
  65. package/bin/dbspec/_internal/python3.13/lib-dynload/resource.cpython-313-x86_64-linux-gnu.so +0 -0
  66. package/bin/dbspec/_internal/python3.13/lib-dynload/select.cpython-313-x86_64-linux-gnu.so +0 -0
  67. package/bin/dbspec/_internal/python3.13/lib-dynload/syslog.cpython-313-x86_64-linux-gnu.so +0 -0
  68. package/bin/dbspec/_internal/python3.13/lib-dynload/termios.cpython-313-x86_64-linux-gnu.so +0 -0
  69. package/bin/dbspec/_internal/python3.13/lib-dynload/unicodedata.cpython-313-x86_64-linux-gnu.so +0 -0
  70. package/bin/dbspec/_internal/python3.13/lib-dynload/zlib.cpython-313-x86_64-linux-gnu.so +0 -0
  71. package/bin/dbspec/_internal/sqlalchemy/engine/_processors_cy.cpython-313-x86_64-linux-gnu.so +0 -0
  72. package/bin/dbspec/_internal/sqlalchemy/engine/_result_cy.cpython-313-x86_64-linux-gnu.so +0 -0
  73. package/bin/dbspec/_internal/sqlalchemy/engine/_row_cy.cpython-313-x86_64-linux-gnu.so +0 -0
  74. package/bin/dbspec/_internal/sqlalchemy/engine/_util_cy.cpython-313-x86_64-linux-gnu.so +0 -0
  75. package/bin/dbspec/_internal/sqlalchemy/sql/_cache_key_cy.cpython-313-x86_64-linux-gnu.so +0 -0
  76. package/bin/dbspec/_internal/sqlalchemy/sql/_util_cy.cpython-313-x86_64-linux-gnu.so +0 -0
  77. package/bin/dbspec/_internal/sqlalchemy/util/_collections_cy.cpython-313-x86_64-linux-gnu.so +0 -0
  78. package/bin/dbspec/_internal/sqlalchemy/util/_immutabledict_cy.cpython-313-x86_64-linux-gnu.so +0 -0
  79. package/bin/dbspec/dbspec +0 -0
  80. package/package.json +1 -1
  81. package/bin/dbspec/_internal/greenlet/_greenlet.cpython-313-x86_64-linux-gnu.so +0 -0
  82. package/bin/dbspec/_internal/libstdc++.so.6 +0 -0
  83. package/bin/dbspec/_internal/markupsafe-3.0.3.dist-info/RECORD +0 -14
  84. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/INSTALLER +0 -1
  85. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/METADATA +0 -133
  86. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/RECORD +0 -21
  87. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/REQUESTED +0 -0
  88. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/WHEEL +0 -5
  89. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/licenses/LICENSE +0 -73
  90. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/top_level.txt +0 -1
  91. package/bin/dbspec/_internal/sqlalchemy/cyextension/collections.cpython-313-x86_64-linux-gnu.so +0 -0
  92. package/bin/dbspec/_internal/sqlalchemy/cyextension/immutabledict.cpython-313-x86_64-linux-gnu.so +0 -0
  93. package/bin/dbspec/_internal/sqlalchemy/cyextension/processors.cpython-313-x86_64-linux-gnu.so +0 -0
  94. package/bin/dbspec/_internal/sqlalchemy/cyextension/resultproxy.cpython-313-x86_64-linux-gnu.so +0 -0
  95. package/bin/dbspec/_internal/sqlalchemy/cyextension/util.cpython-313-x86_64-linux-gnu.so +0 -0
  96. /package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/INSTALLER +0 -0
  97. /package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/licenses/LICENSE.txt +0 -0
  98. /package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/top_level.txt +0 -0
  99. /package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/INSTALLER +0 -0
  100. /package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dbspec
3
- Version: 1.5.3
3
+ Version: 1.5.5
4
4
  Summary: DBSpec: CLI/TUI for database design (Excel as DSL)
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MarkupSafe
3
- Version: 3.0.3
3
+ Version: 3.0.4
4
4
  Summary: Safely add untrusted strings to HTML/XML markup.
5
5
  Maintainer-email: Pallets <contact@palletsprojects.com>
6
6
  License-Expression: BSD-3-Clause
@@ -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
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (84.0.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp313-cp313-manylinux_2_17_x86_64
5
5
  Tag: cp313-cp313-manylinux2014_x86_64
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pydantic
3
- Version: 2.13.5
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://docs.pydantic.dev
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://docs.pydantic.dev/latest/changelog/
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.9
32
+ Requires-Python: >=3.10
33
33
  Requires-Dist: annotated-types>=0.6.0
34
- Requires-Dist: pydantic-core==2.46.5
35
- Requires-Dist: typing-extensions>=4.14.1
36
- Requires-Dist: typing-inspection>=0.4.2
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; (python_version >= '3.9' and platform_system == 'Windows') and extra == 'timezone'
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
  [![downloads](https://static.pepy.tech/badge/pydantic/month)](https://pepy.tech/project/pydantic)
50
50
  [![versions](https://img.shields.io/pypi/pyversions/pydantic.svg)](https://github.com/pydantic/pydantic)
51
51
  [![license](https://img.shields.io/github/license/pydantic/pydantic.svg)](https://github.com/pydantic/pydantic/blob/main/LICENSE)
52
- [![Pydantic v2](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json)](https://docs.pydantic.dev/latest/contributing/#badges)
53
- [![llms.txt](https://img.shields.io/badge/llms.txt-green)](https://docs.pydantic.dev/latest/llms.txt)
52
+ [![Pydantic v2](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json)](https://pydantic.dev/docs/validation/latest/get-started/contributing/#badges)
53
+ [![llms.txt](https://img.shields.io/badge/llms.txt-green)](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.9+; validate it with Pydantic.
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://docs.pydantic.dev/) or,
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://docs.pydantic.dev/) for more details.
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://docs.pydantic.dev/install/) section in the documentation.
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://docs.pydantic.dev/contributing/).
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.13.5 (2026-08-28)
120
+ ## v2.14.1 (2026-10-11)
121
121
 
122
- [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.13.5)
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
- * Allow reuse of validators when plugins are set by [@Viicos](https://github.com/Viicos) in [#13535](https://github.com/pydantic/pydantic/pull/13535)
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
- * Count validated model fields once in smart unions by [@tamird](https://github.com/tamird) in [#13731](https://github.com/pydantic/pydantic/pull/13731)
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://docs.pydantic.dev/latest/api/networks/).
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://docs.pydantic.dev/latest/api/networks/) by [@davidhewitt](https://github.com/davidhewitt) in
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://docs.pydantic.dev/latest/concepts/validators/#model-validators) function signatures.
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://docs.pydantic.dev/latest/api/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).
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://docs.pydantic.dev/latest/examples/dynamic_models/) in the documentation.
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://docs.pydantic.dev/2.12/version-policy/#pydantic-v2))
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://docs.pydantic.dev/changelog/#v0322-2019-08-17) for earlier changes.
1543
+ ... see [here](https://pydantic.dev/docs/validation/latest/get-started/changelog/#v2100b1-2024-11-06) for earlier changes.