20200617115045 #file-format #programming #toml
Changes from v0.4 to v1.0 for use in QFQ
v0.5
maybe relevant:
- Add dotted keys. e.g.
Toml v0.5 example dotted keys:
name = "Orange"
physical.color = "orange"
physical.shape = "round"
site."google.com" = true
equivalent json:
{
"name": "Orange",
"physical": {
"color": "orange",
"shape": "round"
},
"site": {
"google.com": true
}
}
probably not relevant:
- Rename Datetime to Offset Date-Time.
- Add Local Date-Time.
- Add Local Date.
- Add Local Time.
- Allow accidental whitespace between backslash and newline in the line continuation operator in multi-line basic strings.
- Clarify that keys are always strings.
- Clarify that literal strings can be table keys. e.g.
Toml v0.5 example strings as keys:
[dog."tater.man"]
type.name = "pug"
not relevant:
- Add hex, octal, and binary integer formats.
- Add special float values (inf, nan)
- Add ABNF specification.
- Allow space (instead of T) to separate date and time in Date-Time.
- Specify that the standard file extension is
.toml
. - Specify that MIME type is
application/toml
- Clarify that U+007F is an escape character.
- Clarify that you cannot use array-of-table to append to a static array.
- Clarify that a TOML file must be a valid UTF-8 document.
- Clarify valid Array values.
- Clarify that at least millisecond precision expected for Date-Time and Time.
- Clarify that comments are OK in multiline arrays.
- Clarify that +0, -0, +0.0, and -0.0 are valid and what they mean.
- TOML has a logo!
v1.0
maybe relevant:
- Allow raw tab characters in basic strings and multi-line basic strings.
- Allow heterogenous values in arrays. e.g.
Toml 1.0 example heterogenous arrays:
# Mixed-type arrays are allowed in v1.0
numbers = [ 0.1, 0.2, 0.5, 1, 2, 5 ]
contributors = [
"Foo Bar <foo@example.com>",
{ name = "Baz Qux", email = "bazqux@example.com", url = "https://example.com/bazqux" }
]
not relevant:
- Clarify in ABNF how quotes in multi-line basic and multi-line literal strings are allowed to be used.
- Leading zeroes in exponent parts of floats are permitted.
- Clarify that control characters are not permitted in comments.
- Clarify behavior of tables defined implicitly by dotted keys.
- Clarify that inline tables are immutable.
- Clarify that trailing commas are not allowed in inline tables.
- Clarify in ABNF that UTF-16 surrogate code points (U+D800 - U+DFFF) are not allowed in strings or comments.