Update dependency tomlkit to ~=0.15.1 #16
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/tomlkit-0.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
~=0.14.0→~=0.15.1Release Notes
python-poetry/tomlkit (tomlkit)
v0.15.1Compare Source
Changed
key in ...) onContainer,TableandInlineTablewith native__contains__implementations, avoiding the inheritedMutableMappinground-trip through__getitem__(which resolves the value and builds an exception on every absent key). (#483)Sourceindex-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)Source.advance_while/advance_untilconsume a whole run of whitespace, bare-key or number characters in a single pass over the input string instead of oneinc()call per character. (#490)TOMLCharwrapper: the parser now reads plainstrcharacters fromSourceand detects end-of-input positionally, avoiding a per-character object construction and method dispatch. (#492)StringTypemembers by identity (is) instead of building a set on everyis_basic/is_literal/is_singleline/is_multilinecall, avoiding millions of enum hashes while parsing. (#502)[a.b.c]/[a.b.d]headers) from O(n²) into O(n). (#503)key in ...) on out-of-order tables with a nativeOutOfOrderTableProxy.__contains__, completing #483 for the last mapping type that still inherited the slowMutableMappingmixin (which resolves the value and builds an exception on every absent key). (#515)files = [...]blocks that dominate lock files): the parser no longer attempts to read a value while sitting on the closing], which previously built anUnexpectedCharErrorjust 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)"""/'''bodies the single-line fast path added in #491; a\rstill stops the scan so\r\nstays validated and byte-for-byte preserved. (#518)unwrap()(converting a parsed document to a plaindict) by resolving each key directly from the container's key map instead of iterating the inheritedMutableMappingview, which rebuilt aSingleKeyfrom 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)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)Fixed
string()dropping a leading newline of a multiline string on round-trip: a value beginning with a newline is now rendered with an extra leading newline (the one the parser trims after the opening delimiter) so it survives re-parsing.ParseErrorwhen a sub-table extends the last element of an array of tables after an unrelated table. (#261)doc["a"] = {...}whereacame froma.b = ...): the dotted prefix was duplicated onto the new[a]header, and the header then swallowed any sibling that follows it on round-trip. The replacement now renders as a plain table and, when needed, moves before the inline entries (values and dotted keys) it would otherwise capture. (#513, #524)dumps()rendering mapping-like wrappers around a parsed document (e.g.dotty_dict'sDotty) through their delegatedas_string, preserving the original table order and layout instead of re-encoding through a plain dict — a 0.15.0 regression. (#482)RecursionError. Values nested more than 100 levels deep and keys with more than 100 dotted fragments now raiseParseError. (#459)comment()producing invalid TOML for a multiline string by prefixing every line with#, not just the first. (#449)KeyAlreadyPresenterror when parsing or accessing an out-of-order table whose array-of-tables elements are split across the table's parts. (#505)tomllibbehaviour. (#523)doc["a"] = aot(...)whereacame froma.b = ...): the new[[a]]header kept the dotted key's inline position and swallowed the following dotted sibling on round-trip. The array of tables now renders past the inline entries it would otherwise capture, mirroring the table fix for #513. (#542)a.b = 1) whose table had gained a[a.c]-style child placed the scalar inside that table's scope, silently re-nesting it on round-trip. Scalars now move before such an entry, like they do before regular tables. (#543)[table]header when adding a key to an out-of-order table whose concrete header is declared after its sub-tables; the new key now lands in the existing concrete part instead of giving the header-less super part a second header. (#545)doc[k] = doc[k]rewriting[keys .'a'.'c']to[keys.a.'c']. (#291)str()andrepr()of out-of-order table proxies to show their merged values. (#536)v0.15.0Compare Source
Changed
key in ...) onContainer,TableandInlineTablewith native__contains__implementations, avoiding the inheritedMutableMappinground-trip through__getitem__(which resolves the value and builds an exception on every absent key). (#483)Sourceindex-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)Source.advance_while/advance_untilconsume a whole run of whitespace, bare-key or number characters in a single pass over the input string instead of oneinc()call per character. (#490)TOMLCharwrapper: the parser now reads plainstrcharacters fromSourceand detects end-of-input positionally, avoiding a per-character object construction and method dispatch. (#492)StringTypemembers by identity (is) instead of building a set on everyis_basic/is_literal/is_singleline/is_multilinecall, avoiding millions of enum hashes while parsing. (#502)[a.b.c]/[a.b.d]headers) from O(n²) into O(n). (#503)key in ...) on out-of-order tables with a nativeOutOfOrderTableProxy.__contains__, completing #483 for the last mapping type that still inherited the slowMutableMappingmixin (which resolves the value and builds an exception on every absent key). (#515)files = [...]blocks that dominate lock files): the parser no longer attempts to read a value while sitting on the closing], which previously built anUnexpectedCharErrorjust 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)"""/'''bodies the single-line fast path added in #491; a\rstill stops the scan so\r\nstays validated and byte-for-byte preserved. (#518)unwrap()(converting a parsed document to a plaindict) by resolving each key directly from the container's key map instead of iterating the inheritedMutableMappingview, which rebuilt aSingleKeyfrom 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)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)Fixed
string()dropping a leading newline of a multiline string on round-trip: a value beginning with a newline is now rendered with an extra leading newline (the one the parser trims after the opening delimiter) so it survives re-parsing.ParseErrorwhen a sub-table extends the last element of an array of tables after an unrelated table. (#261)doc["a"] = {...}whereacame froma.b = ...): the dotted prefix was duplicated onto the new[a]header, and the header then swallowed any sibling that follows it on round-trip. The replacement now renders as a plain table and, when needed, moves before the inline entries (values and dotted keys) it would otherwise capture. (#513, #524)dumps()rendering mapping-like wrappers around a parsed document (e.g.dotty_dict'sDotty) through their delegatedas_string, preserving the original table order and layout instead of re-encoding through a plain dict — a 0.15.0 regression. (#482)RecursionError. Values nested more than 100 levels deep and keys with more than 100 dotted fragments now raiseParseError. (#459)comment()producing invalid TOML for a multiline string by prefixing every line with#, not just the first. (#449)KeyAlreadyPresenterror when parsing or accessing an out-of-order table whose array-of-tables elements are split across the table's parts. (#505)tomllibbehaviour. (#523)doc["a"] = aot(...)whereacame froma.b = ...): the new[[a]]header kept the dotted key's inline position and swallowed the following dotted sibling on round-trip. The array of tables now renders past the inline entries it would otherwise capture, mirroring the table fix for #513. (#542)a.b = 1) whose table had gained a[a.c]-style child placed the scalar inside that table's scope, silently re-nesting it on round-trip. Scalars now move before such an entry, like they do before regular tables. (#543)[table]header when adding a key to an out-of-order table whose concrete header is declared after its sub-tables; the new key now lands in the existing concrete part instead of giving the header-less super part a second header. (#545)doc[k] = doc[k]rewriting[keys .'a'.'c']to[keys.a.'c']. (#291)str()andrepr()of out-of-order table proxies to show their merged values. (#536)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.
67d1add34bcb6adf541cUpdate dependency tomlkit to ~=0.15.0to Update dependency tomlkit to ~=0.15.1View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.