All notable changes to this library will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Use custom
IsEquivalentTo
comparison method to preventGetHashCode
override warnings
- Missing
.meta
file
TomlInlineAttribute
now properly applied to complex types during serialization
- Nested table and table array keys are now properly prefixed with the parent table key when serialized
- Empty table keys are no longer serialized (as they are not necessary)
- Nested tables and table arrays are now properly deserialized
- Escape whitespace strings in non-multiline strings
- Escape
\f
form-feed character in strings - Unescape whitespace chars in character and string arrays
- All code is now C# 7.3 and .NET Framework 4.6 compatible for Unity 2019.1+
TomlCamelCaseAttribute
custom attributeTomlPascalCaseAttribute
custom attributeTomlSnakeCaseAttribute
custom attribute (allow for uppercase)TomlKebabCaseAttribute
custom attribute
TomlCasingAttribute
custom attribute in favor of specific ones
TomlHexNumberAttribute
custom attributeTomlOctalNumberAttribute
custom attributeTomlBinaryNumberAttribute
custom attributeTomlDateTimeFormatAttribute
custom attribute
TomlNumberFormatAttribute
custom attribute in favor of specific ones
- Serialization support for
PositiveInfinity
,NegativeInfinity
andNaN
values - Deserialization support for
PositiveInfinity
,NegativeInfinity
andNaN
values TomlNumberFormatAttribute
for serializing integer values in different formats- Deserialize
hex
integer values (e.g.0xdead_beef
) - Deserialize
oct
integer values (e.g.0o755
) - Deserialize
bin
integer values (e.g.0b1101010
) - Unit tests for number formats and digit separators (e.g.
1_000_000
)
TomlMultilineAttribute
can be applied to arrays and lists to serialize them as multiline TOML arraysTomlLiteralAttribute
can be applied to lists of strings to serialize them as TOML literal stringsTomlLiteralAttribute
can be applied to dictionaries of strings to serialize them as TOML literal strings
- Deserialization support for multiline arrays (including jagged arrays)
- Allow trailing commas for arrays
TomlLiteralAttribute
custom attribute for serializing literal stringsTomlMultilineAttribute
custom attribute for serializing multi-line strings (including literals)TomlInlineAttribute
custom attribute for serializing inline tables explicitlyTomlExpandAttribute
custom attribute for serializing expanded tables explicitly- More unit tests for various serialization cases
TomlFloat
values can be coerced into integer values (will be truncated)
TomlKeyAttribute
custom attribute for overriding the TOML key of a fieldTomlCasingAttribute
custom attribute for overriding the TOML key casing of an object or field
- Excessive escaping of strings in TOML output
- Deserialization of multiline basic strings using
"""
syntax - Deserialization of multiline literal strings using
'''
syntax - Deserialization of unicode escape sequences in basic strings using
\uXXXX
syntax - More documentation on deserialization rules
- Proper escaping of serialized strings
- Updated icons for
TomlImporter
andTomlExporter
components
- Now properly ignores inline comments when parsing TOML
- Ignore escape sequences in literal strings
- Serialization of jagged arrays
- Unit tests for jagged arrays
- Made
HasDefaultConstructor
method private, as it is an internal helper method
- Escaping of quoted strings
TomlImporter
component to import TOML files into Unity objects- Custom editor for
TomlExporter
component - Custom editor for
TomlImporter
component - Sample scene for
TomlImporter
component - Icons for
TomlExporter
andTomlImporter
components
- Renamed
sourceObject
totargetObject
forTomlExporter
component - Removed
outputDirectory
fromTomlExporter
component - Renamed
defaultFilename
tooutputFile
forTomlExporter
component - Updated documentation
- Unit tests for bidirectional serialization to and from TOML
- Support for serializing nested objects using dot (
.
) notation
- Serialization of arrays and lists containing
null
values - Serialization of mixed arrays and lists containing nested arrays and lists
- Serialization of mixed dictionaries containing arrays and lists
- Serialization order of tables and arrays within another table
Deserialize
methods forTomlSerializer
static class- Unit tests for
Deserialize
methods - Unit tests for
Serialize
methods - Updated documentation
Serialize
now only serializesIList
instead ofIEnumerable
fields
- Escape double quotes and backslashes in serialized strings
TomlExporter
component for exporting TOML files from Unity objects- Documentation for
TomlExporter
component - Exporter sample scene
- Serializer sample scene
TomlSerializer
not putting a new line space between tables
TomlSerializer
class for serializing objects to TOML format- Unit tests for
TomlSerializer
class - Documentation for
TomlSerializer
class - Documentation for serialization rules
- Documentation for supported types