NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #838 most downloaded on Packagist
Converts CSS styles into inline style attributes in your HTML code
Last release 10 months ago
27 Nov 2025
Ships fairly regularly
a new release about every 5 months
Most releases are documented
notes for 20 of 25 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
25 releases · first in 2014
Improve performance of checking for existing Content-Type ( #1518 , #1519 )
One column per quarter.
Require sabberworm/php-css-parser version 9.1.0 or higher
Require sabberworm/php-css-parser version 9.0.0 or higher ( #1399 , #1418 , #1421 )
Add an API and deprecation policy
:root pseudo-class (#1306)sabberworm/php-css-parser:^8.7.0 (#1355)Added Add support for Symfony 7
Disable HTML formatting by default
Bump the minimum Symfony 4.4 version to avoid PHP deprecation warnings
sabberworm/php-css-parser:^8.4.0 (#1134)Add a dedicated class for caching
.editorconfig (#1035)align attribute of <th> elements with CssToAttributeConverter (#1008)sabberworm/php-css-parser to parse the CSS (#1015)Switch the default branch from master to main
Move more development tools to PHIVE ( #894 , #907 )
.editorconfig filetests/ with Psalm!important from style attributes also when uppercase, mixed case or!:...of-type without a type to the <style> element.0 version suffixes to PHP version requirementsExtract and inject @font-face rules into head
@font-face rules into head (#870):only-of-type (with a type) (#849, #856)$this to allow chaining
(#824, #854)--stop-on-failure (#782)self as the return type for fromHtml (#784)Emogrifier class (#774):last-of-type etc. without type, without causing exception (#875)<head> element when there's a <header> element (#844, #853)ci:php:lint on Windows (#740, #780)Add support for PHP 7.4 (#821, #829)
Test and document excluding entire subtree with addExcludedSelector() (#347, #768)
addExcludedSelector()
(#347, #768):optional or :required are copied to the <style>
element (#748, #765):only-of-type are copied to the <style> element
(#748, #760):last-of-type (#748, #758):first-of-type (#748, #757):empty (#748, #756):any-link are copied to the <style> element
(#748, #755):only-child (#747, #754):nth-last-of-type (#747, #751):nth-last-child (#747, #750)display: none elements with -emogrifier-keep class (#252, #737)@import rules (#338, #334, #732, #735)HtmlPruner::removeRedundantClassesAfterCssInlined (#380, #724):not(…) as an entire selector (#469, #725)HtmlPruner::removeRedundantClasses (#380, #708)> :first-child and > :last-child in selectors (#384, #720)ArrayIntersector class (#708, #710)CssInliner::getMatchingUninlinableSelectors (#380, #707):nth-child and :nth-of-type (#71, #698)symfony/css-selector (#762)HtmlPruner::removeInvisibleNodes to
HtmlPruner::removeElementsWithDisplayNone (#717, #718)Pelago\Emogrifier\Utilities namespace (#712)$css parameter of the inlineCss method optional (#700)Emogrifier class (#701)enableCssToHtmlMapping and disableInvisibleNodeRemoval (#692)<style>
element, #746)html input[disabled]) (#375, #709)style attributes for unparsable declarations (#259, #702):not(:behavioural-pseudo-class) in selectors (#697, #703)Add AbstractHtmlProcessor::fromDomDocument
HtmlPruner class (#679)AbstractHtmlProcessor::fromDomDocument (#676)AbstractHtmlProcessor::fromHtml (#675)<wbr> elements by default with CssInliner (#665)CssInliner inherit AbstractHtmlProcessor (#660)CssInliner::inlineCss and the rendering (#654)CssInliner (#685)CssInliner (#684)<body> tag from body content when element has attribute(s)
(#677, #683)CssConcatenator (#670)<embed>, <source>,
<track> and <wbr> (#653)<wbr>) tags (#650):nth-child selector (#648)Add a test that a missing document type gets added
style element the head (#642)The Emogrifier class will be superseded by CssInliner class in Emogrifier 3.0. For this, the Emogrifier class will be deprecated for version 3.0 and r…
composer.jsonrenderBodyContent() method (#633)getDomDocument() method (#630)@internal (#640)setHtml() (#622)@version PHPDoc annotations (#637)composer.json (#614)composer.json (#595)@media rule and another @media rule (#534)@media rules (
#532)@import rules in the CSS without error (note:
@imports are currently ignored, #527)@charset in the CSS without error (note: its value is currently
ignored, #507)Support for CSS :not() selector
<style> block from <head> to <body> (#396)composer.json, cleaner PHP version constraintNothing published for this version
Nothing published for this version
Handling invalid xPath expression warnings
:) and semi-colon (;) when using the *= selector (#371)Support the attr|=value selector
Remove media queries which do not impact the document
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →