Skip to content

Releases: FelixSchwarz/mjml-python

v0.12.0

27 Dec 19:18

Choose a tag to compare

  • generated HTML should match mjml 4.18.0
  • comments in mjml will be present in the generated html by default now to match the reference implementation
  • various fixes to match HTML generated the JS mjml, found by htmlcompare 0.4
  • added type hints (contributed by @xoudini)
  • correctly render fractional width for mj-column (reported by @SinnySupernova)
  • support Python 3.14, drop support for Python 3.6, 3.7 and 3.8

v0.11.1 (type stubs and outlook fixes)

13 May 10:24

Choose a tag to compare

This release contains mostly bug fixes related to Outlook-specific rendering (courtesy of @bvallant) and python typing stubs (by @xoudini).

  • fix incorrectly closed <v:rect> tag for Outlook (Bernhard Vallant)
  • fix order of <v:fill> and <v:textbox> tags for mj-section with background in outlook (Bernhard Vallant)
  • add typing stubs for public interface (Dan Lindholm)
  • declare support for Python 3.13
  • accept also css_inline >= 0.14

0.11.0 - CVE-2024-26151

22 Feb 17:01

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

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

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

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

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

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

Choose a tag to compare

  • fix non-ascii content in included files on Windows

0.6.1

15 Apr 15:16

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