Repository  -  API  -  Source


  • Warning: swig is no longer maintained. Use this package at your own risk. You may wish to switch to nunjucks and for emails, use email-templates.
    • Upgrade to Juice 3. This brings changes from its dependency web-resource-inliner.
    • Add support for email subject.


  • Upgrade to Juice 2. This changes various defaults for inlining styles. See the list of changes in Juice for more information. These are mostly changes around preserving @font-face and @media, and applying widths/heights to tables.
    • Fix Outlook-breaking cheerio config (issue #34)
    • Update README for command-line utility


  • Add new option: 'rewrite'
    • This allows you to read and alter the rendered HTML in whatever way wish before inling resources or generating text alternatives
      • Update dependencies


  • Support for Node 4+ as well as 0.10 & 0.12
    • Switch to Cheerio instead of JSDom for compatibility with a wider range of Node versions
      • this means that the HTML you provide in your template will be closer to the output of swig-email-templates. JSDom added in html, body, tbody tags where Cheerio doesn't
    • Switch back to the the original 'juice' which is now more actively maintained
      • this version of juice also inlines images using data: URLs
      • be mindful that juice will fetch external resources for inlining, which can take some time
    • At the same time it made sense to refactor the API a bit:
      • the library presents itself as a class with a constructor method
      • rewriteUrl is now an option on EmailTemplates instead of an extra argument to render()
      • commandline tool no longer takes 'render' as a parameter
    • Add support for setting filters on the swig instance
    • Much more comprehensive documentation


  • Marcin Jekot and domasx2
    • update to work on node v0.12 and fix test failures.


  • Connor Keenan
    • support text templates as well as html, and automatically render text emails based on the html when none is provided.


  • Andrew Kelley
    • pend instead of batch dev dependency
    • update dependencies
    • extract CHANGELOG from README
    • add Expat license


  • Dennis
    • Allow options to be passed to juice


  • Joshua Halickman
    • Pass options to swig if we want to set any outside of the swig-email-templates
    • Update package.json


  • BREAKING CHANGE - the ability to generate a dummy context was removed because swig dropped support for ability to access the parse tree when it went to 1.x.
    • Update swig dependency to 1.3.0
    • Update jsdom dependency to 0.8.11
    • Switch to juice2 fork


  • added command line program (thanks jmeas)


  • updated swig to 0.14.0


  • updated juice to 0.4.0


  • BREAKING CHANGE - render and generateDummy no longer automatically append .html to your template name to look it up. This means that if you before had render('meatball-sandwich') you must change it to render('meatball-sandwich.html') to work with 0.5.0.
    • fixed crash during cleanup
    • updated juice to 0.3.2
    • updated jsdom to 0.5.4