Skip to content

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.

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 5
error[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.

  • 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 ?.

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.