0.13.2 - 2024-08-14
- Fix deleting keys from an out-of-order table does not remove all table parts. (#379)
0.13.1 - 2024-08-14
- Fix the
Table.is_super_table()
check for tables with dotted key as the only child. (#374) - Count table as a super table if it has children and all children are either tables or arrays of tables. (#377)
0.13.0 - 2024-07-10
- Expect a tomlkit-specific error instead of
TypeError
from a custom encoder. (#355) - Drop support for Python older than 3.8. Remove 3.7 from the CI matrix.
- Fix the incompatiblity with 3.13 because of the
datetime.replace()
change. (#333) - Revert the change of parsing out-of-order tables. (#347)
- Keep the nested out-of-order table. (#361)
0.12.5 - 2024-05-08
- Remove the extra minus sign added to the float value after calculation. (#341)
- Fix unexpected newline added after accessing the out-of-order table. (#343)
0.12.4 - 2024-02-27
- Support
|
and|=
operator for tables, and support+
and+=
operator for arrays. (#331) - Fix an index error when setting dotted keys in a table. (#332)
0.12.3 - 2023-11-15
- Improve the performance when parsing a table with nested dotted keys. (#193)
- Keep the newlines when replacing a table. (#323)
0.12.2 - 2023-11-02
- Fixed a bug that overwriting a sub table with a plain value raises an error. (#313)
- Correct the return type of integer division. (#312)
0.12.1 - 2023-07-27
- Make float and int hashable.
0.12.0 - 2023-07-27
- Allow users to specify encoders for custom types. (#296)
- Fix the incorrect sort when building a table with dotted keys.
- Complete the methods required for integer and float items. (#307)
- Replace the deprecated usage of
datetime.utcnow()
. (#308) - Minor performance improvements when iterating over the escape sequences. (#304)
0.11.8 - 2023-04-27
- Remove the extra indentations added when parsing nested sub-tables. (#256)
- Ignore the CRLF immediately following a multiple basic string opening. (#262)
- Stringifying subtables and nested tables in arrays of tables. (#283)
- Messed table structure when building a table with dotted keys. (#284)
0.11.7 - 2023-03-27
- Parse empty table name if it is quoted. (#258)
- Fix a bug that remove last element of an Inline Table leaves a comma. (#259)
- Parse datetime when it is followed by a space. (#260)
- Fix the
unwrap()
method forContainer
children values which sometimes returns an internal object if the table is an out-of-order table. (#264) - Fix the wrong return type when doing arithmetic operations between integers and floats. (#270)
0.11.6 - 2022-10-27
- Allow broader type for toml file path value (#243)
- Auto-determine if a table is a super table if not specified explicitly. (#245)
0.11.5 - 2022-09-28
- Fix the type annotation of
unwrap()
and datetime parsing. (#229) - Clear the existing table header when it is adding to another table. (#230)
- Fix a bug that escape chars are lost after concat with another string. (#235)
- Fix a rendering issue of tables inside arrays or inline tables. (#236)
0.11.4 - 2022-08-12
- Fix a memory leak caused by
lru_cache
on methods. (#227)
0.11.3 - 2022-08-10
- Fix a regression issue that copying an array results in extra
None
items. (#221) - Fix a regression of
array.add_line
that it incorrectly adds a comma to non-value lines. (#223)
0.11.2 - 2022-08-08
- Fix adding float to an integer value. (#215)
- Keep the end-of-array style when adding items to or removing items from an array. (#213, #216)
- Fix a bug of redundant table header shown when removing children from a super table. (#217)
0.11.1 - 2022-07-07
- Keep consistent line endings when changing files. (#201)
- Make
KeyAlreadyPresent
andInvalidStringError
subclasses ofParseError
. (#202) - Remove empty table from
OutOfOrderTableProxy
when deleting items. (#204) - Raise errors when trying to access unsupported methods on
OutOfOrderTableProxy
. (#205)
- Fix
unwrap()
for String values to remove the quotes. (#199)
0.11.0 - 2022-05-24
- Add
unwrap
methods that return tomlkit objects recursively converted to plain python objects. (#43)
0.10.2 - 2022-04-24
- Use the plain python string representation of
Key
inKeyAlreadyPresent
error message. (#185) - Fix the
astimezone()
andreplace()
methods of datetime objects. (#188) - Add type definitions for
items()
function. (#190)
0.10.1 - 2022-03-27
- Preserve the newlines before super tables when rendering. (#178)
- Fix the bug that comments are appended with comma when rendering a multiline array. (#181)
0.10.0 - 2022-02-18
- Fix the only child detection when creating tables. (#175)
- Include the
docs/
directory andCHANGELOG.md
in sdist tarball. (#176)
- Add keyword arguments to
string
API to allow selecting the representation type. (#177)
0.9.2 - 2022-02-08
- When a table's only child is a table or array of table, it is created as a super table. (#175)
0.9.1 - 2022-02-07
- Fix a bug of separators not being kept when replacing the value. (#170)
- Tuples should be dumped as TOML arrays. (#171)
0.9.0 - 2022-02-01
- Add a new argument to
table
API to allow it to be a super table. (#159) - Support adding item to
Table
andContainer
with dotted key. (#160)
- Fix a bug of
value()
API that parses string incompletely. (#168)
0.8.0 - 2021-12-20
- Support copy protocols for table items. (#65)
- Escape characters in double quoted key string. (#136)
- Fix the invalid dumping output of multiline array when it is empty. (#139)
- Fix a bug that tomlkit accepts an invalid table with missing
=
. (#141) - Fix the invalid dumping output when the key is empty. (#143)
- Fix incorrect string returned by dumps when moving/renaming table. (#144)
- Fix inconsistent dumps when replacing existing item with nested table. (#145)
- Fix invalid dumps output when appending to a multiline array. (#146)
- Fix the
KeyAlreadyPresent
when the table is separated into multiple parts. (#148) - Preserve the line endings in
TOMLFile
. (#149)
0.7.2 - 2021-05-20
- Fixed an error where container's data were lost when copying. (#126)
- Fixed missing tests in the source distribution of the package. (#127)
0.7.1 - 2021-05-19
- Fixed an error with indent for nested table elements when updating. (#122)
- Fixed various issues with dict behavior compliance for containers. (#122)
- Fixed an internal error when empty tables were present after existing ones. (#122)
- Fixed table representation for dotted keys. (#122)
- Fixed an error in top level keys handling when building documents programmatically. (#122)
- Fixed compliance with mypy by adding a
py.typed
file. (#109)
0.7.0 - 2020-07-31
- Added support for sorting keys when dumping raw dictionaries by passing
sort_keys=True
todumps()
(#103).
- Keys are not longer sorted by default when dumping a raw dictionary but the original order will be preserved (#103).
- Fixed compliance with the 1.0.0rc1 TOML specification (#102).
0.6.0 - 2020-04-15
- Added support for heterogeneous arrays (#92).
0.5.11 - 2020-02-29
- Fix containers and our of order tables dictionary behavior (#82))
0.5.10 - 2020-02-28
- Fixed out of order tables not behaving properly (#79)
0.5.9 - 2020-02-28
- Fixed the behavior for out of order tables (#68).
- Fixed parsing errors when single quotes are present in a table name (#71).
- Fixed parsing errors when parsing some table names (#76).
0.5.8 - 2019-10-11
- Added support for producing multiline arrays
0.5.7 - 2019-10-04
- Fixed handling of inline tables.
0.5.6 - 2019-10-04
- Fixed boolean comparison.
- Fixed appending inline tables to tables.
0.5.5 - 2019-07-01
- Fixed display of inline tables after element deletion.
0.5.4 - 2019-06-30
- Fixed the handling of inline tables.
- Fixed date, datetime and time handling on Python 3.8.
- Fixed behavior for sub table declaration with intermediate tables.
- Fixed behavior of
setdefault()
on containers (Thanks to @AndyKluger). - Fixed tables string representation.
0.5.3 - 2018-11-19
- Fixed copy of TOML documents.
- Fixed behavior on PyPy3.
0.5.2 - 2018-11-09
- Fixed table header missing when replacing a super table's sub table with a single item.
- Fixed comments being displayed in inline tables.
- Fixed string with non-scalar unicode code points not raising an error.
0.5.1 - 2018-11-08
- Fixed deletion and replacement of sub tables declared after other tables.
0.5.0 - 2018-11-06
- Improved distinction between date(time)s and numbers.
- Fixed comma handling when parsing arrays. (Thanks to @njalerikson)
- Fixed comma handling when parsing inline tables. (Thanks to @njalerikson)
- Fixed a
KeyAlreadyPresent
error when declaring a sub table after other tables.
0.4.6 - 2018-10-16
- Fixed string parsing behavior.
0.4.5 - 2018-10-12
- Fixed trailing commas not raising an error for key/value.
- Fixed key comparison.
- Fixed an error when using pickle on TOML documents.
0.4.4 - 2018-09-01
- Fixed performances issues while parsing on Python 2.7.
0.4.3 - 2018-08-28
- Fixed handling of characters that need escaping when inserting/modifying a string element.
- Fixed missing newline after table header.
- Fixed dict-like behavior for tables and documents.
0.4.2 - 2018-08-06
- Fixed insertion of an element after deletion.
0.4.1 - 2018-08-06
- Fixed adding an element after another element without a new line.
- Fixed parsing of dotted keys inside tables.
- Fixed parsing of array of tables with same prefix.
0.4.0 - 2018-07-23
dumps()
now also accepts a raw dictionary.
add()
/append()
/remove()
now return the currentContainer
/Table
to provide a fluent interface.- Most items not behave like their native counterparts.
- Fixed potential new lines inside an inline table.
0.3.0 - 2018-07-20
- Make new dicts automatically sorted when dumped.
- Improved new elements placement when building.
- Automatically convert lists of dicts to arrays of tables.
- No longer add a new line before standalone tables.
- Make arrays behave (mostly) like lists.
- Fixed string parsing when before last char is a backslash character.
- Fixed handling of array of tables after sub tables.
- Fixed table display order.
- Fixed handling of super tables with different sections.
- Fixed raw strings escaping.