Skip to content

Latest commit

 

History

History
205 lines (120 loc) · 6.53 KB

CHANGELOG.md

File metadata and controls

205 lines (120 loc) · 6.53 KB

Changelog

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

Changed

  • Updated to v3.4.0 of tomlplusplus.

0.5.6 - 2023-12-10

Fixed

  • TOMLKit now has a stable dependency on swift-checkit. (#22 by @furby-tm)

0.5.5 - 2023-06-24

Changed

  • TOMLKit requires iOS 13 instead of 14.

0.5.4 - 2022-09-10

Added

  • Added support for strict decoding: when TOMLDecoder.strictDecoding is true, TOMLDecoder will throw an UnexpectedKeysError if the decoded keys do not exactly match the CodingKeys of the struct.

Fixed

  • Fix crash in TOMLKit (#12).

0.5.3 - 2022-04-26

Changed

  • Removed toml++ submodule to improve clone times.

0.5.2 - 2022-04-01

Fixed

  • When a DecodingError is thrown, codingPath actually contains the coding path instead of being an empty array.

0.5.1 - 2022-03-31

Fixed

0.5.0 - 2022-01-18

Added

  • TOMLTable can now be converted to YAML.
  • More FormatOptions have been added.
  • Better and more organized documentation.

Changed

  • Upgraded to toml++ v3.0.1.
  • Documentation has been moved out of the README and into the main documentation page.
  • The public variables in TOMLDate, TOMLTime and TOMLDateTime are now mutable.
  • TOMLDate.date and TOMLDateTime.fDate now return an Optional<Foundation.Date>.

Removed

  • FormatOptions.allowValueFormatFlags.

0.4.0 - 2021-12-12

Added

  • Array conforms to TOMLValueConvertible when its Element conforms to the protocol.
  • TOMLArray now conforms to Encodable, and can be initialized from a type conforming to Sequence.
  • TOMLTable conforms to Encodable.
  • (U)Int8|16|32|64 now conforms to TOMLValueConvertible.

Changed

  • The TOMLDecoder.dataDecoder closure now accepts a TOMLValueConvertible instead of a String.
  • The TOMLDate initializer that accepts a Date as its parameter is now an optional initializer.
  • The TOMLDateTime initializer that accepts a Date as its parameter is now an optional initializer.

0.3.2 - 2021-09-17

Fixed

  • TOMLDecoder can now decode Dictionary<String, ...>.self.

0.3.1 - 2021-09-16

Fixed

  • TOMLParseError is now public.

0.3.0 - 2021-09-06

Added

  • Links to the official documentation from TOMLInt, TOMLTable, TOMLArray, TOMLDate, TOMLTime, TOMLDateTime, and TOMLTimeOffset.
  • toml++ is now used to format TOMLArray, TOMLDate, TOMLTime, and TOMLDateTime, when they are being printed.
  • Improved the formatting of strings in TOMLValue.debugDescription.
  • Setting a value in a TOMLTable or TOMLArray via a nested subscript is now possible.
tomlTable["InnerTable"]?["Int"] = 1
tomlArray[0]?[0] = "Hello, World!"

Changed

  • Improved the debug output of TOMLParseError.

Fixed

  • 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

Added

  • TOMLEncoder.dataEncoder now allows one to encode Data into any type that conforms to TOMLValueConvertible.

Fixed

  • TOMLDecoder now passes TOMLDecoder.userInfo to InternalTOMLDecoder's initializer.
  • Improved code formatting.

0.1.2 - 2021-07-27

Added

  • Support for encoding and decoding Foundation.Data in Base64 or a custom format.

0.1.1 - 2021-06-22

Added

  • Add TOMLArrayIterator and TOMLTableIterator.

Fixed

  • TOMLArray.checkIndex(index:) now checks that index <= self.endIndex - 1 instead of index <= self.endIndex.

0.1.0 - 2021-06-17

Added

  • Add support for tvOS and watchOS.

  • TOMLArray conforms to:

    • Collection,
    • RandomAccessCollection,
    • BidirectionalCollection,
    • RangeReplaceableCollection,
    • MutableCollection
  • TOMLArray's and TOMLTable's two subscripts have been merged: only one subscript is used for insert and retrieving values.

  • structs conforming to TOMLValueConvertible don't insert themselves into a TOMLArray or a TOMLTables anymore. Now they have a tomlValue property, which converts them into TOMLValues. The TOMLValue then inserts itself into a TOMLTable or a TOMLArray.

  • TOMLTable.remove(at:) now returns a copy of the removed TOMLValueConvertible.

  • Added functions to check if a key is in a TOMLTable.

  • Tried to improve the code in Sources/CTOML.

Removed

  • Removed the inline parameter from TOMLTable.init(string:).

Fixed

  • Retrieving a value from a TOMLArray no longer returns an Optional value.

0.0.2 - 2021-06-10

Added

  • Made TOMLType conform to RawRepresentable.

Fixed

  • Fixed formatting.
  • throw DecodingError instead of crashing when decoding.

0.0.1 - 2021-06-10

Added

  • Initial release.