Skip to content

build(deps): update tomlkit requirement from >=0.15.1 to >=0.15.2 - #633

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/tomlkit-gte-0.15.2
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/tomlkit-gte-0.15.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 19, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on tomlkit to permit the latest version.

Release notes

Sourced from tomlkit's releases.

0.15.2

What's Changed

... (truncated)

Changelog

Sourced from tomlkit's changelog.

[0.15.2] - 2026-10-16

Changed

  • Write the ESC control character as \u001b instead of \e, which is only valid in TOML 1.1, so the output stays readable by TOML 1.0 parsers such as tomllib. (#641)
  • key_value() now raises UnexpectedCharError on anything other than whitespace or a comment after the pair, instead of silently discarding it (e.g. key_value("a = 1 b = 2")), matching parse(). (#594)
  • integer() given a string now validates it against the TOML integer grammar and keeps the original text, so grouping underscores (e.g. integer("1_000")) survive dumps(); strings that are not valid TOML integers (e.g. "010") now raise ValueError. (#336)
  • Add a fold argument to DateTime and Time, mirroring the stdlib, and carry fold through item(), arithmetic (including datetime subtraction) and unwrap(), so a folded local time no longer converts an hour off. (#619, #623, #626)
  • Declare the project metadata in the PEP 621 [project] table; building from source now requires poetry-core>=2.2.0. (#607, #609)

Fixed

  • Fix valid TOML being rejected when an out-of-order table reopens an implicit super-table with a dotted key: [a.b.c] then [a] with b.z = 1 extends the implicit a.b super-table rather than redefining it (stdlib tomllib accepts it), so it now parses and round-trips instead of raising Redefinition of an existing table. The concrete-table case ([a.b] then [a] b.z = 1) stays rejected. (#565)
  • Fix uppercase E exponent after a leading-zero mantissa (e.g. 0E2) being rejected as an invalid number while 0e2 parsed fine. (#586)
  • Fix non-lowercase special floats (e.g. Inf, NaN, -INF) being accepted; TOML only allows lowercase inf and nan, so they now raise ParseError. (#628)
  • Fix parse errors reporting the wrong line and column in documents with CRLF or mixed line endings. (#642)
  • Fix item() reordering the keys of an inline table (dict-valued keys were forced last) under the default sort_keys=False. (#546)
  • Fix unwrap() moving a key to the end after its value was replaced (e.g. doc["b"] = 9), while dumps() and keys() kept the original order. (#591)
  • Fix appending a key to a parsed inline table that uses ", " separators emitting a bare "," for the new entry, leaving the table inconsistently spaced (e.g. {x = 1, y = 2,z = 3}). (#595)
  • Fix an emptied array of tables being dropped from the output: it now renders as key = [], placed and keyed relative to the nearest table header so it parses back into the same table. (#567)
  • Fix a single-line array whose last element is a trailing comment (e.g. from add_line(value, comment=...)) rendering its closing ] on the comment line, producing unparseable output. (#580)
  • Fix del array[start:stop:step] with a negative or omitted bound removing the wrong elements from the rendered output. (#599)
  • Fix array slice assignment mutating the array before raising ValueError("slice assignment is not supported"). (#600)
  • Fix String.__add__ splicing the appended text into a basic string without escaping it, so appending a quote or backslash produced invalid TOML. (#612)
  • Fix a bare carriage return in a multiline string producing invalid TOML: it is now escaped as \r in a multiline basic string and rejected with InvalidStringError in a multiline literal string; CRLF line endings are left intact. (#539)
  • Fix a tz-aware datetime.time rendering with a UTC offset (e.g. 07:32:00+02:00), which TOML local times do not allow; it now renders as a local time. (#613)
  • Fix arithmetic on a signed float producing +-0.0 (e.g. -1.5 times 0), which does not parse. (#629)
  • Fix two Bool items never comparing equal to each other; they now compare by value. (#660)

[0.15.1] - 2026-07-17

Changed

  • Speed up membership tests (key in ...) on Container, Table and InlineTable with native __contains__ implementations, avoiding the inherited MutableMapping round-trip through __getitem__ (which resolves the value and builds an exception on every absent key). (#483)
  • Speed up parsing by making Source index-based: it now tracks an integer position over the input string instead of materializing a list of (index, char) tuples up front, so construction is O(1) and state save/restore no longer copies an iterator. (#489)
  • Speed up parsing by scanning character runs in bulk: Source.advance_while/advance_until consume a whole run of whitespace, bare-key or number characters in a single pass over the input string instead of one inc() call per character. (#490)
  • Speed up parsing of single-line strings by bulk-appending the run of ordinary characters up to the next delimiter, backslash or control character in one pass, instead of one character at a time. (#491)
  • Speed up parsing by removing the internal TOMLChar wrapper: the parser now reads plain str characters from Source and detects end-of-input positionally, avoiding a per-character object construction and method dispatch. (#492)
  • Speed up parsing by comparing StringType members by identity (is) instead of building a set on every is_basic/is_literal/is_singleline/is_multiline call, avoiding millions of enum hashes while parsing. (#502)
  • Speed up merging super tables by merging in place instead of deep-copying the growing target on every merge, turning the parse of documents with many subtables under a shared super table (e.g. consecutive [a.b.c] / [a.b.d] headers) from O(n²) into O(n). (#503)
  • Speed up membership tests (key in ...) on out-of-order tables with a native OutOfOrderTableProxy.__contains__, completing #483 for the last mapping type that still inherited the slow MutableMapping mixin (which resolves the value and builds an exception on every absent key). (#515)
  • Speed up parsing documents with many dotted keys or table headers sharing a prefix by validating out-of-order tables incrementally: each new fragment is merged into a cached validation container once, instead of re-merging (and deep-copying) every earlier fragment on each append, turning a super-cubic worst case into linear time (80 shared-prefix dotted keys: ~8 s → ~10 ms). (#479)
  • Speed up parsing of arrays that close right after a value (e.g. the files = [...] blocks that dominate lock files): the parser no longer attempts to read a value while sitting on the closing ], which previously built an UnexpectedCharError just to discard it — and constructing that exception eagerly computes a line/column by scanning the whole document, making it O(document size) per such array. (#517)
  • Speed up parsing of multiline strings by bulk-appending the run of ordinary characters — across raw line feeds and tabs — up to the next delimiter, backslash, carriage return or control character, instead of one character at a time. This extends to """/''' bodies the single-line fast path added in #491; a \r still stops the scan so \r\n stays validated and byte-for-byte preserved. (#518)
  • Speed up unwrap() (converting a parsed document to a plain dict) by resolving each key directly from the container's key map instead of iterating the inherited MutableMapping view, which rebuilt a SingleKey from the bare string for every key just to re-look-up the value. Out-of-order tables still resolve through their proxy, so their validation is unchanged. (#521)
  • Speed up rendering (as_string() / dumps()) of inline tables with many keys by precomputing the last-key and last-deleted-element indices in a single pass, instead of rescanning the remaining body on every separator comma — turning an O(n²) render into O(n). (#525)
  • Raise on malformed array element instead of dropping it, (#527)

Fixed

... (truncated)

Commits
  • a0b15eb chore: release 0.15.2 (#668)
  • 18e7f98 Compare Bool items by value (#660)
  • 19edc23 [pre-commit.ci] pre-commit autoupdate (#654)
  • 6b5f079 Render an emptied array of tables as an empty array (#567)
  • 229ee86 fix: don't reject an out-of-order super-table extended by a dotted key (#565)
  • 096148f escape or reject a bare carriage return in multiline strings (#539)
  • 5fe4329 test: add coverage for tomlkit._types wrapper operators (#570)
  • 2279e18 Enable intersphinx so stdlib references resolve (#624)
  • a963fe1 Preserve inline table key order in item() (#546) (#552)
  • 446d6fa Reject non-lowercase special float literals (#628)
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [tomlkit](https://github.com/python-poetry/tomlkit) to permit the latest version.
- [Release notes](https://github.com/python-poetry/tomlkit/releases)
- [Changelog](https://github.com/python-poetry/tomlkit/blob/master/CHANGELOG.md)
- [Commits](python-poetry/tomlkit@0.15.1...0.15.2)

---
updated-dependencies:
- dependency-name: tomlkit
  dependency-version: 0.15.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Oct 19, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants