Skip to content

Releases: FelixSchwarz/mjml-python

0.11.0 - CVE-2024-26151

22 Feb 17:01
Compare
Choose a tag to compare

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

17 Nov 21:45
Compare
Choose a tag to compare

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 with background-size (reported by @thomashandorf)

0.9.1

23 Sep 21:10
Compare
Choose a tag to compare

Small bugfix release:

  • pin version of css_inline to < 0.10 because 0.10 contains an incompatible API change (#43).

0.9.0

25 May 19:53
Compare
Choose a tag to compare

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

25 Aug 19:13
Compare
Choose a tag to compare

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 for mj-button (spotted by Michael Romanenko)
  • support css inlining (via inlineStyle) if "css_inline" is installed (Casey Holzer)

New Contributors:

0.7.0

24 Mar 14:05
Compare
Choose a tag to compare
  • 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

01 Jun 09:10
Compare
Choose a tag to compare
  • fix non-ascii content in included files on Windows

0.6.1

15 Apr 15:16
Compare
Choose a tag to compare
  • 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> with href attribute

0.6.0

24 Mar 10:01
Compare
Choose a tag to compare

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: