66Core metadata specifications
77============================
88
9- This page describes version 2.5 , approved in September 2025 .
9+ This page describes version 2.6 , approved in May 2026 .
1010
1111Fields defined in the following specification should be considered valid,
1212complete and not subject to change. The required fields are:
@@ -50,7 +50,7 @@ Metadata-Version
5050.. versionadded :: 1.0
5151
5252Version of the file format; legal values are "1.0", "1.1", "1.2", "2.1",
53- "2.2", "2.3", "2.4", and "2.5 ".
53+ "2.2", "2.3", "2.4", "2.5", and "2.6 ".
5454
5555Automated tools consuming metadata SHOULD warn if ``metadata-version `` is
5656greater than the highest version they support, and MUST fail if
@@ -109,6 +109,10 @@ Dynamic (multiple use)
109109======================
110110
111111.. versionadded :: 2.2
112+ .. versionchanged :: 2.6
113+ A multiple use field that is present in the sdist and also marked
114+ ``Dynamic `` may only be appended to in a wheel built from the sdist.
115+ Previously any field listed in Dynamic was ignored in an sdist.
112116
113117A string containing the name of another core metadata field. The field
114118names ``Name ``, ``Version ``, and ``Metadata-Version `` may not be specified
@@ -121,8 +125,12 @@ rules apply:
121125 in any wheel built from the sdist MUST match the value in the sdist.
122126 If the field is not in the sdist, and not marked as ``Dynamic ``, then
123127 it MUST NOT be present in the wheel.
124- 2. If a field is marked as ``Dynamic ``, it may contain any valid value in
125- a wheel built from the sdist (including not being present at all).
128+ 2. If a single-use field is marked as ``Dynamic ``, it may contain any valid
129+ value in a wheel built from the sdist (including not being present at all).
130+ 3. If a multiple use field is present in the sdist and also marked ``Dynamic ``,
131+ then a wheel built from the sdist MUST include the value(s) present in the
132+ sdist. The wheel MAY add further values, but it MUST NOT remove, reorder, or
133+ modify the values present in the sdist.
126134
127135If the sdist metadata version is older than version 2.2, then all fields should
128136be treated as if they were specified with ``Dynamic `` (i.e. there are no special
@@ -1074,6 +1082,12 @@ History
10741082- January 2026: Replaced outdated direct reference to :pep: `508 ` with a
10751083 reference to :ref: `dependency-specifiers `.
10761084
1085+ - May 2026: Core metadata 2.6 was approved through :pep: `808 `.
1086+
1087+ - Allowed a multiple use field marked ``Dynamic `` to be appended to in a
1088+ wheel built from a sdist, requiring the wheel to preserve the value(s)
1089+ present in the sdist.
1090+
10771091----
10781092
10791093.. [1 ] reStructuredText markup:
0 commit comments