maud/CHANGELOG.md
Chris Wong 1785071f1b Allow terminating void elements with semicolons (;)
When Rust and HTML syntax differ, Maud tends to side with Rust syntax.
This can be seen with string literals, for example, where we use
backslash escapes instead of HTML entities. Using `;` to terminate void
elements is consistent with this idea.

Moreover, this reduces confusion around the generated code. Maud does
not insert an extra slash into the HTML output (as per the spec) but
the syntax may imply otherwise.

This confusion may have been the cause of a [bug I found in the
wild][1], where the code omitted the trailing slash on an `input`
element. I suspect that this is because the author thought that a
trailing slash in the Maud template would lead to one in the HTML
output. Switching to semicolons would prevent this misconception.

[1]: https://github.com/anowell/quasar/pull/3
2017-08-04 20:58:02 +12:00

5.3 KiB

Change Log

Unreleased

  • [Added] Allow terminating void elements with semicolons (;) #96
  • [Changed] Update to Rocket 0.3 #94
  • [Changed] Port to new proc macro interface #95

0.16.3 - 2017-04-22

  • [Fixed] Update to rustc 1.18.0-nightly (1785bca51 2017-04-21) #80

0.16.2 - 2017-03-07

  • [Fixed] Update to rustc 1.17.0-nightly (b1e31766d 2017-03-03) #77

0.16.1 - 2017-02-15

  • [Added] Rocket 0.2 support #74
  • [Removed] Don't expose private PResult type

0.16.0 - 2017-02-06

  • [Changed] Update to Iron 0.5 #70
  • [Fixed] Correct typo in <!doctype html> lint #69

0.15.0 - 2017-01-26

  • [Added] Implement Into<String> for Markup
  • [Added] Add a lint that suggests using the maud::DOCTYPE constant #66
  • [Removed] Remove the RenderOnce trait #68
  • [Fixed] Update to latest syntax extension API

0.14.0 - 2016-11-24

  • [Added] Add a pre-defined constant for <!DOCTYPE html>
  • [Added] Toggle a class using a boolean flag #44
  • [Added] Let expressions #57
  • [Changed] Toggled empty attributes now use foo?[bar] syntax #59
  • [Fixed] Update to latest syntax extension API

0.13.0 - 2016-11-03

  • [Added] Support @while and @while let #55
  • [Changed] Change PreEscaped to take AsRef<str> instead of Display #54
  • [Changed] Single quotes (') are no longer escaped
  • [Fixed] Update to latest syntax extension API

0.12.0 - 2016-10-09

  • [Changed] Change Render and RenderOnce to return Markup instead #48
  • [Fixed] Add a bunch of optimizations from Horrorshow #46

0.11.1 - 2016-09-25

  • [Fixed] Various documentation fixes

0.11.0 - 2016-09-24

  • [Changed] The html! macro now returns a String instead of taking a writer argument
  • [Deprecated] iron-maud is obsolete; enable the "iron" feature on the maud crate instead
  • [Removed] Remove @call syntax

0.10.0 - 2016-09-20

  • [Added] Iron support
  • [Added] Allow namespaces in element and attribute names #38
  • [Changed] Switch to new splice syntax using parentheses #41
  • [Changed] Require parentheses around the parameter to @call
  • [Removed] All literals must now be quoted, e.g. "42" not 42

0.9.2 - 2016-07-10

  • [Fixed] Update to latest syntax extension API

0.9.1 - 2016-07-03

  • [Fixed] Update to latest syntax extension API
  • [Fixed] Silence "duplicate loop labels" warnings #36

0.9.0 - 2016-06-12

  • [Added] Implement ID shorthand syntax, e.g. div#foo #35
  • [Fixed] Update to latest syntax extension API

0.8.1 - 2016-04-27

  • [Fixed] Update to latest syntax extension API

0.8.0 - 2016-02-28

  • [Added] Add shorthand syntax for classes, e.g. div.foo #28
  • [Added] Add support for match expressions #30
  • [Added] Allow tuple attribute lookups (x.0) and identifier paths foo::bar in splices #27 #29
  • [Added] Add a RenderOnce trait, for when rendering a value also consumes it #31
  • [Changed] Change symbol for special forms from #@ #31
  • [Changed] Change symbol for splices from $^ #31
  • [Fixed] Update to latest syntax extension API