All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.6.0 - 2024-01-03
- Updated to v3.4.0 of tomlplusplus.
0.5.6 - 2023-12-10
- TOMLKit now has a stable dependency on swift-checkit. (#22 by @furby-tm)
0.5.5 - 2023-06-24
- TOMLKit requires iOS 13 instead of 14.
0.5.4 - 2022-09-10
- Added support for strict decoding: when
TOMLDecoder.strictDecoding
istrue
,TOMLDecoder
will throw anUnexpectedKeysError
if the decoded keys do not exactly match theCodingKey
s of the struct.
- Fix crash in TOMLKit (#12).
0.5.3 - 2022-04-26
- Removed toml++ submodule to improve clone times.
0.5.2 - 2022-04-01
- When a
DecodingError
is thrown,codingPath
actually contains the coding path instead of being an empty array.
0.5.1 - 2022-03-31
-
Fatal crash during decoding (#13 by @stackotter)
-
Fix pre-commit workflows by replacing
git://...
URL with ahttps://
one.
0.5.0 - 2022-01-18
TOMLTable
can now be converted to YAML.- More
FormatOptions
have been added. - Better and more organized documentation.
- Upgraded to toml++ v3.0.1.
- Documentation has been moved out of the README and into the main documentation page.
- The
public
variables inTOMLDate
,TOMLTime
andTOMLDateTime
are now mutable. TOMLDate.date
andTOMLDateTime.fDate
now return anOptional<Foundation.Date>
.
FormatOptions.allowValueFormatFlags
.
0.4.0 - 2021-12-12
Array
conforms toTOMLValueConvertible
when itsElement
conforms to the protocol.TOMLArray
now conforms toEncodable
, and can be initialized from a type conforming toSequence
.TOMLTable
conforms toEncodable
.(U)Int8|16|32|64
now conforms toTOMLValueConvertible
.
- The
TOMLDecoder.dataDecoder
closure now accepts aTOMLValueConvertible
instead of aString
. - The
TOMLDate
initializer that accepts aDate
as its parameter is now an optional initializer. - The
TOMLDateTime
initializer that accepts aDate
as its parameter is now an optional initializer.
0.3.2 - 2021-09-17
TOMLDecoder
can now decodeDictionary<String, ...>.self
.
0.3.1 - 2021-09-16
TOMLParseError
is nowpublic
.
0.3.0 - 2021-09-06
- Links to the official documentation from
TOMLInt
,TOMLTable
,TOMLArray
,TOMLDate
,TOMLTime
,TOMLDateTime
, andTOMLTimeOffset
. - toml++ is now used to format
TOMLArray
,TOMLDate
,TOMLTime
, andTOMLDateTime
, when they are being printed. - Improved the formatting of strings in
TOMLValue.debugDescription
. - Setting a value in a
TOMLTable
orTOMLArray
via a nested subscript is now possible.
tomlTable["InnerTable"]?["Int"] = 1
tomlArray[0]?[0] = "Hello, World!"
- Improved the debug output of
TOMLParseError
.
- It is no longer necessary to add
.tomlValue
after the first subscript in a subscript chain.
// Before:
tomlTable["InnerTable"]?.tomlValue["InnerTable"]
tomlArray[0]?.tomlValue[0]
// After:
tomlTable["InnerTable"]?["InnerTable"]
tomlArray[0]?[0]
0.2.0 - 2021-09-01
TOMLEncoder.dataEncoder
now allows one to encodeData
into any type that conforms toTOMLValueConvertible
.
TOMLDecoder
now passesTOMLDecoder.userInfo
toInternalTOMLDecoder
's initializer.- Improved code formatting.
0.1.2 - 2021-07-27
- Support for encoding and decoding
Foundation.Data
in Base64 or a custom format.
0.1.1 - 2021-06-22
- Add
TOMLArrayIterator
andTOMLTableIterator
.
TOMLArray.checkIndex(index:)
now checks thatindex <= self.endIndex - 1
instead ofindex <= self.endIndex
.
0.1.0 - 2021-06-17
-
Add support for tvOS and watchOS.
-
TOMLArray
conforms to:Collection
,RandomAccessCollection
,BidirectionalCollection
,RangeReplaceableCollection
,MutableCollection
-
TOMLArray
's andTOMLTable
's two subscripts have been merged: only one subscript is used for insert and retrieving values. -
structs
conforming toTOMLValueConvertible
don't insert themselves into aTOMLArray
or aTOMLTables
anymore. Now they have atomlValue
property, which converts them intoTOMLValue
s. TheTOMLValue
then inserts itself into aTOMLTable
or aTOMLArray
. -
TOMLTable.remove(at:)
now returns a copy of the removedTOMLValueConvertible
. -
Added functions to check if a key is in a
TOMLTable
. -
Tried to improve the code in
Sources/CTOML
.
- Removed the
inline
parameter fromTOMLTable.init(string:)
.
- Retrieving a value from a
TOMLArray
no longer returns anOptional
value.
0.0.2 - 2021-06-10
- Made
TOMLType
conform toRawRepresentable
.
- Fixed formatting.
throw
DecodingError
instead of crashing when decoding.
0.0.1 - 2021-06-10
- Initial release.