Releases: FelixSchwarz/mjml-python
0.11.0 - CVE-2024-26151
This is a release which fixes an important security issue without additional features.
All users of 0.10.0 are encouraged to upgrade as soon as possible. If you are using mjml-python 0.9.1 or earlier, you are not affected.
Learn more in our security advisory: Potentially untrusted input is rendered as HTML in final output (GHSA-578p-fxmm-6229) (CVE-2024-26151). Credits go to @sh-at-cs for discovering the issue.
Other than that, only a few internal changes like the replacement of the homegrown AttrDict
with DotMap as well as switching the tests to use the well-known pytest.
0.10.0
This release uses a new version of css-inline
for improved performance. Unfortunately css-inline
>= 0.11 is incompatible with Python 3.6. Most changes were authored by @caseyjhol.
- fix CSS child selectors
- disable loading remote stylesheets when inlining CSS
- require css-inline 0.11.x for performance improvements
- drop css-inline Python 3.6 support
- fix exception when processing an
mj-section
withbackground-size
(reported by @thomashandorf)
0.9.1
0.9.0
We are excited to announce the release of version 0.9! This release marks a significant milestone as it includes implementations for all MJML components found in the NodeJS version. This was made possible by the relentless work of Casey Holzer (@caseyjhol). He also contributed support for custom components.
Changes (by Casey Holzer)
- add mjml-accordion, mjml-accordion-element, mjml-accordion-text, mjml-accordion-title, mjml-carousel, mjml-head-breakpoint, mjml-hero, mjml-navbar, mjml-navbar-link, mjml-social, mjml-spacer, and mjml-wrapper components
- add support for custom components
- add support for full-width attribute to mj-section
I think this a good time to drop the "-stub" suffix so I renamed the project to just "mjml-python".
0.8.0
This is a significant release which fixes quite a few annoying issues with HTML inside <mj-text>
(e.g. stripped white space, html entities).
- parse MJML using BeautifulSoup4 which fixes several issues with HTML inside
mj-text
(e.g. HTML entities, missing white space) (Casey Holzer) - prevent exception when trying to set padding for
<mj-column>
(reported by Peter Coles) - fix setting
width
attribute formj-button
(spotted by Michael Romanenko) - support css inlining (via
inlineStyle
) if "css_inline" is installed (Casey Holzer)
New Contributors:
0.7.0
- generate same HTML output as mjml 4.12.0
- fix incomplete implementation of
background
attributes for<mj-section>
, with contribution from Benjamin Pott (@benjipott)
0.6.2
- fix non-ascii content in included files on Windows
0.6.1
- mj-button: prevent target="_blank" for mailto links (Thunderbird)
- fix
<mj-include>
- update test suite to check against html generated by mjml 4.9.0 and
port required fixes to get the test suite passing. - fix
<mj-image>
withhref
attribute
0.6.0
New features/bug fixes:
- support
<mj-include>
for body components mjml_to_html()
: also accept plain strings as input- add support for json-like dict as input
- avoid deprecation warnings about invalid escape sequences in regex patterns
- add support for
<mj-font>
,<mj-preview>
and<mj-raw>
- better error message for unknown tags
I'd like to highlight that many of the features mentioned above were contributed by volunteers: