- Update to Rust 2024 #487
- Add support for embedding HTML-safe JSON into pages #483
- Support platforms witout
alloc::syncsupport. #492
0.27.0 - 2025-02-02
- Add support for Submillisecond web framework #419
- Actix Web: Implement
MessageBodyforMarkup#430 - Support
axumv0.8 throughaxum-corev0.5 #457 - Rewrite parser #412
- Error when
elseis used with@#462 - Add support for
poemversion 3 #466 - Avoid allocation when converting to
axumResponse#467
0.26.0 - 2024-01-15
- Remove
AsRef<str>restriction fromPreEscaped#377 - Implement
RenderforArc<T>#380 - Fix missing parentheses around splices #382 #383
- Accept literals in attribute names #396 #398 #415
- Support
axumv0.7 throughaxum-corev0.4 andhttpv1 #401 - Add support for
warpv0.3.6 #404 - Support
rocketv0.5 #406
0.25.0 - 2023-04-16
- Remove
html_debug!#357 - Render with
Displayusing autoref specialization #359 - Support
axumv0.6 throughaxum-corev0.3 #361 - Implement
DefaultforPreEscaped#371
0.24.0 - 2022-08-12
- Remove blanket
Renderimpl forT: Display#320 - Support
axumv0.5 throughaxum-corev0.2 #325 #337 - Update to
actix-web4.0. #331 - Add a
maud::displayadapter that forwards to theDisplayimpl #350
0.23.0 - 2021-11-10
- Update to support axum 0.2 #303
- Add support for
Option<T>attributes using theattr=[value]syntax. #306 - Update to Rust 2021 #309
- Remove Iron support #289
- Disallow slashes (
/) in void elements #315
0.22.3 - 2021-09-27
0.22.2 - 2021-01-09
- Don't require
?suffix for empty attributes. The old syntax is kept for backward compatibility. #238 - Generalize
impl Into<String> for PreEscaped<T>toimpl From<PreEscaped<T>> for String. #248 - Use
Span::mixed_sitedirectly from proc-macro2 #254
0.22.1 - 2020-11-02
0.22.0 - 2020-06-20
- Update Actix to 2.0.0. Actix 1.0.0 is no longer supported. #182
0.21.0 - 2019-07-01
- Default tag name to
divwhen a class or ID is provided #173 - Maud has a new website! Check it out at https://maud.lambda.xyz/.
- Update Actix to 1.0. Pre-release versions of Actix are no longer supported. #176
- Use absolute imports in generated code #170
- Use
syninstead ofliteralext#174
0.20.0 - 2019-01-17
0.19.0 - 2018-10-20
- Allow arbitrary syntax in class and ID shorthand #128
- Actix 0.7 support #144
- Warn on keywords without a leading
@#91 - Disallow elements that mention the same attribute twice #129
- Dropped support for the
maud_lintscrate 66ddbca - Update to rustc 1.31.0-nightly (77af31408 2018-10-11)
- The feature flags have changed again! Remove
#![feature(use_extern_macros)]and#![feature(proc_macro_non_items)], and add#![feature(proc_macro_hygiene)]in their place. See the documentation for a working example.
- The feature flags have changed again! Remove
0.18.1 - 2018-07-18
- Update to rustc 1.29.0-nightly (1ecf6929d 2018-07-16)
- The
proc_macrofeature was recently stabilized (rust-lang/rust#52081). As a result of this change, you may get "unresolved import" errors after updating your Rust compiler. To fix this error, replace any#![feature(proc_macro)]in your crate with#![feature(use_extern_macros)]. See the documentation for a working example.
- The
0.18.0 - 2018-07-15
- Support for the Actix web framework #135 #136
- Require braces around the body of an element #137
- In a
@matchexpression, allow omitting the comma on the last match arm - Improved the formatting for syntax errors
- Update to rustc 1.28.0-nightly (5bf68db6e 2018-05-28)
0.17.5 - 2018-05-26
- Update to rustc 1.27.0-nightly (2f2a11dfc 2018-05-16)
0.17.4 - 2018-05-02
0.17.3 - 2018-04-21
0.17.2 - 2017-11-19
- Iron 0.6 support #107
- Implement
CloneandCopyforPreEscaped#101 - Allow braces in the boolean expression for a toggled class
- Update to rustc 1.23.0-nightly (6160040d8 2017-11-18)
0.17.1 - 2017-08-11
- "Multiple applicable items in scope" error when using
Rendertrait #97
0.17.0 - 2017-08-04
- Allow terminating void elements with semicolons (
;) #96 - Update to Rocket 0.3 #94
- Port to new proc macro interface #95
- Removed the lint plugin for now -- it'll be added back in a later version once some design issues are sorted out.
- Allow braces in the boolean expression for an empty attribute
0.16.3 - 2017-04-22
- Update to rustc 1.18.0-nightly (1785bca51 2017-04-21) #80
0.16.2 - 2017-03-07
- Update to rustc 1.17.0-nightly (b1e31766d 2017-03-03) #77
0.16.1 - 2017-02-15
- Rocket 0.2 support #74
- Don't expose private
PResulttype
0.16.0 - 2017-02-06
0.15.0 - 2017-01-26
- Implement
Into<String>forMarkup - Add a lint that suggests using the
maud::DOCTYPEconstant #66 - [Removed] Remove the
RenderOncetrait #68 - Update to latest syntax extension API
0.14.0 - 2016-11-24
- Add a pre-defined constant for
<!DOCTYPE html> - Toggle a class using a boolean flag #44
- Let expressions #57
- Toggled empty attributes now use
foo?[bar]syntax #59 - Update to latest syntax extension API
0.13.0 - 2016-11-03
- Support
@whileand@while let#55 - Change
PreEscapedto takeAsRef<str>instead ofDisplay#54 - Single quotes (
') are no longer escaped - Update to latest syntax extension API
0.12.0 - 2016-10-09
- Change
RenderandRenderOnceto returnMarkupinstead #48 - Add a bunch of optimizations from Horrorshow #46
0.11.1 - 2016-09-25
- Various documentation fixes
0.11.0 - 2016-09-24
- The
html!macro now returns aStringinstead of taking a writer argument iron-maudis obsolete; enable the"iron"feature on themaudcrate instead- Remove
@callsyntax
0.10.0 - 2016-09-20
- Iron support
- Allow namespaces in element and attribute names #38
- Switch to new splice syntax using parentheses #41
- Require parentheses around the parameter to
@call - All literals must now be quoted, e.g.
"42"not42
0.9.2 - 2016-07-10
- Update to latest syntax extension API
0.9.1 - 2016-07-03
- Update to latest syntax extension API
- Silence "duplicate loop labels" warnings #36
0.9.0 - 2016-06-12
- Implement ID shorthand syntax, e.g.
div#foo#35 - Update to latest syntax extension API
0.8.1 - 2016-04-27
- Update to latest syntax extension API
0.8.0 - 2016-02-28
- Add shorthand syntax for classes, e.g.
div.foo#28 - Add support for
matchexpressions #30 - Allow tuple attribute lookups (
x.0) and identifier pathsfoo::barin splices #27 #29 - Add a
RenderOncetrait, for when rendering a value also consumes it #31 - Change symbol for special forms from
#→@#31 - Change symbol for splices from
$→^#31 - Update to latest syntax extension API