New in 0.8
DRE 0.8 updates the YAML parser. It’s a minor release because a few YAML edge cases read
differently and some diagnostics point at a different line; a project that ran on 0.7 runs
unchanged. Booleans, numbers, nulls, dates, duplicate-key errors, merge results, tags and
non-finite floats (.inf, .nan) read as before.
Merged keys report the merge line
Section titled “Merged keys report the merge line”A key brought in by a <<: *anchor merge now reports the <<: line in diagnostics (an unknown
or misspelt key, for instance), not the line in the anchored block it came from:
x-base: &base descripton: Daily sales # misspelt; 0.7 reported line 2
name: daily_sales<<: *base # 0.8 reports line 5error[unknown-key]: reports/daily_sales/daily_sales.yml:5: unknown report key `descripton`A complex key reached through an alias likewise reports the line where the alias is used.
Forms that now parse
Section titled “Forms that now parse”- A quoted scalar continued on the next line with one column of indent:
a: "one/two"reads"one two"(0.7 rejected it). - A bare
?at the end of a file, and a tab after?.
Block scalars at the end of a file
Section titled “Block scalars at the end of a file”A block scalar at the end of a file whose last line holds only spaces, with no final newline
(s: |, a, ), reads "a\n", not "a\n\n".
- A source plugin’s log line from a statement that holds a secret is always hidden. Before, a line the plugin logged just before the statement finished could reach the log after it, with only the exact secret masked, so a shortened or changed copy of the secret could show.