You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Users can e.g. install an old TOML 1.0.0 compatible version of Tomli if they need the parser to error on new TOML 1.1.0 only syntax. But I don't see much of a real world use case here.
Maintaining TOML 1.0.0 support would be more relevant if tomllib had write capability and we were adding write support for the new syntax, as that'd make older parsers and tomllibs of older Python versions error. Luckily Python doesn't include write support so it's not something we need to consider.
Reacted by Adam Turner, Stan Ulbrych, MrSnapperVibes, Lukas Atkinson and Petr Viktorin
Should I, since the work in Tomli repository is by me? I'm not a lawyer though, so can't tell for sure if there's a problem with someone else down-/upstreaming (not sure which one it is here 😄) the work?
Do codeowners @encukou and @hauntsaninja want this as a single TOML v1.1 PR or split into four by features like it was done in Tomli?
There's still almost four months before Python 3.15 merge window closes, so perhaps it makes sense to wait a couple weeks or a month waiting for potential Tomli v2.4.0 bug reports?
Should I, since the work in Tomli repository is by me? I'm not a lawyer though, so can't tell for sure if there's a problem with someone else down-/upstreaming (not sure which one it is here 😄) the work?
Go for it!
If anyone else was involved in the Tomli PRs, you can credit them with a Co-authored-by trailer:
Do codeowners @encukou and @hauntsaninja want this as a single TOML v1.1 PR or split into four by features like it was done in Tomli?
(Not a codeowner but) a single PR would be best.
There's still almost four months before Python 3.15 merge window closes, so perhaps it makes sense to wait a couple weeks or a month waiting for potential Tomli v2.4.0 bug reports?
The next 3.15 alpha 4 is this Tuesday, I'm fine with it going in there if ready in time, to help get more exposure and early feedback. Otherwise, alpha 5 is 10th Feb. https://peps.python.org/pep-0790/#release-schedule
Users can e.g. install an old TOML 1.0.0 compatible version of Tomli if they need the parser to error on new TOML 1.1.0 only syntax. But I don't see much of a real world use case here.
Are you OK with maintaining the old version? That is: releasing tomli 2.3.1 if some serious bug needs to be fixed? (The code for the fix will need to be written anyway, until 3.14 is EOL.)
Are you OK with maintaining the old version? That is: releasing tomli 2.3.1 if some serious bug needs to be fixed? (The code for the fix will need to be written anyway, until 3.14 is EOL.)
Yes, I can do that.
Another question: is a PR welcome that does functionally nothing, but reduces the diff between tomllib and tomli? What I mean is changes such as
Can we please hold off on merging TOML 1.1 into the stdlib until we have had more time to discuss the compatibility implications. At least not so soon as this Tuesday.
Can we please hold off on merging TOML 1.1 into the stdlib until we have had more time to discuss the compatibility implications. At least not so soon as this Tuesday.
I withdraw my request to hold, while there are many open questions it appears clear now that no specific version of TOML is mandated by the specifications, further work needs to be done to coordinate tools and/or update specifications.
One question the Python packaging community has, is given the wording of PEP 680:
treat minor revisions as bug fixes
Is the intent to backport this to Python 3.14 and 3.13?
We should not backport TOML 1.1 to Python 3.14 and 3.13
I was the author of that sentence. IIRC at the time it seemed possible that TOML 1.1 would be minor spec clarifications or would maybe ship while Python 3.11 was in a post feature stage (e.g. release candidate), so I wanted to keep the option open. Multi-line inline tables is a big enough and useful enough feature that I think backporting to 3.14 and 3.13 would be a bad idea.
I withdraw my request to hold, while there are many open questions it appears clear now that no specific version of TOML is mandated by the specifications, further work needs to be done to coordinate tools and/or update specifications.
In my view this is an even stronger reason to hold.
I don't think keeping tomllib at TOML 1.0 is on the table.
There might be a request to add a version argument or similar, but that would come on top of this PR.
Activity
hugovk commentedon Dec 18, 2025
See also hukkin/tomli#273 for tomli.
chirizxc commentedon Dec 20, 2025
Will both versions of TOML be supported simultaneously?
Something like:
AA-Turner commentedon Dec 20, 2025
There aren't any incompatible changes in the spec, as far as I'm aware. What would be the use-case for using an older spec version?
A
chirizxc commentedon Dec 20, 2025
For example, if the input is TOML v1.0.0 and you want an error to occur when it does not comply with it:
hukkin commentedon Dec 20, 2025
Users can e.g. install an old TOML 1.0.0 compatible version of Tomli if they need the parser to error on new TOML 1.1.0 only syntax. But I don't see much of a real world use case here.
Maintaining TOML 1.0.0 support would be more relevant if tomllib had write capability and we were adding write support for the new syntax, as that'd make older parsers and tomllibs of older Python versions error. Luckily Python doesn't include write support so it's not something we need to consider.
notatallshaw commentedon Jan 9, 2026
FYI, I've created a DPO thread on how this affecting packaging tools (like pip): https://discuss.python.org/t/adopting-toml-1-1/105624
hugovk commentedon Jan 11, 2026
tomli 2.4.0 has been released with TOML 1.1.0 support 🚀
Who would like to work on the CPython PR?
hukkin commentedon Jan 11, 2026
Should I, since the work in Tomli repository is by me? I'm not a lawyer though, so can't tell for sure if there's a problem with someone else down-/upstreaming (not sure which one it is here 😄) the work?
Do codeowners @encukou and @hauntsaninja want this as a single TOML v1.1 PR or split into four by features like it was done in Tomli?
There's still almost four months before Python 3.15 merge window closes, so perhaps it makes sense to wait a couple weeks or a month waiting for potential Tomli v2.4.0 bug reports?
hugovk commentedon Jan 11, 2026
Go for it!
If anyone else was involved in the Tomli PRs, you can credit them with a
Co-authored-bytrailer:https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors
(Not a codeowner but) a single PR would be best.
The next 3.15 alpha 4 is this Tuesday, I'm fine with it going in there if ready in time, to help get more exposure and early feedback. Otherwise, alpha 5 is 10th Feb. https://peps.python.org/pep-0790/#release-schedule
encukou commentedon Jan 12, 2026
A single PR is fine.
Are you OK with maintaining the old version? That is: releasing tomli 2.3.1 if some serious bug needs to be fixed? (The code for the fix will need to be written anyway, until 3.14 is EOL.)
hukkin commentedon Jan 12, 2026
Yes, I can do that.
Another question: is a PR welcome that does functionally nothing, but reduces the diff between
tomllibandtomli? What I mean is changes such asThere's probably some more too.
encukou commentedon Jan 12, 2026
Yeah, throw those it as well.
merwok commentedon Jan 12, 2026
(I think Petr means include these changes in the one PR adding 1.1 support — CPython doesn’t generally do style-only PRs)
notatallshaw commentedon Jan 12, 2026
Hi, I'm a pip maintainer, and the discussion I raised in on DPO (https://discuss.python.org/t/adopting-toml-1-1/105624) has someone got away from me and gone in a direction I didn't expect.
Can we please hold off on merging TOML 1.1 into the stdlib until we have had more time to discuss the compatibility implications. At least not so soon as this Tuesday.
hugovk commentedon Jan 13, 2026
Sure, I've started the 3.14.0a4 release, and we don't yet have the 1.1 PR up, so definitely no chance of it being in this one :)
notatallshaw commentedon Jan 21, 2026
I withdraw my request to hold, while there are many open questions it appears clear now that no specific version of TOML is mandated by the specifications, further work needs to be done to coordinate tools and/or update specifications.
One question the Python packaging community has, is given the wording of PEP 680:
Is the intent to backport this to Python 3.14 and 3.13?
hauntsaninja commentedon Jan 21, 2026
We should not backport TOML 1.1 to Python 3.14 and 3.13
I was the author of that sentence. IIRC at the time it seemed possible that TOML 1.1 would be minor spec clarifications or would maybe ship while Python 3.11 was in a post feature stage (e.g. release candidate), so I wanted to keep the option open. Multi-line inline tables is a big enough and useful enough feature that I think backporting to 3.14 and 3.13 would be a bad idea.
BrenBarn commentedon Jan 21, 2026
In my view this is an even stronger reason to hold.
encukou commentedon Jan 22, 2026
I don't think keeping
tomllibat TOML 1.0 is on the table.There might be a request to add a version argument or similar, but that would come on top of this PR.
gh-142956: Update `tomllib` to parse TOML 1.1.0 (#144243)
encukou commentedon Feb 3, 2026
Merged. Thank you!
pythongh-142956: Update `tomllib` to parse TOML 1.1.0 (python#144243)
pythongh-142956: Update `tomllib` to parse TOML 1.1.0 (python#144243)