Skip to content

Releases: MyIntervals/emogrifier

7.2.0: Add support for Symfony 7

06 Dec 19:01
v7.2.0
727bdf7
Compare
Choose a tag to compare

Added

  • Add support for Symfony 7 (#1243)

V7.1.0: Add support for PHP 8.3

20 Oct 17:56
v7.1.0
1945460
Compare
Choose a tag to compare

Added

  • Add support for PHP 8.3 (#1218)

Changed

  • Disable HTML formatting by default (#1214)

V7.0.0: Add PHP 8.2 support, drop PHP 7.2 and Symfony 3.x support

01 Nov 18:04
v7.0.0
547b8c8
Compare
Choose a tag to compare

Added

  • Add support for PHP 8.2 (#1155)

Changed

  • Throw exception with invalid CSS in debug mode (#1142)
  • Only support up to 69 atomic expressions in a selector (#1113)
  • Require sabberworm/php-css-parser:^8.4.0 (#1134)
  • Upgrade to PHPUnit 9 (#1112)

Deprecated

  • Support for PHP 7.3 will be removed in Emogrifier 8.0.

Removed

  • Drop support for Symfony 3.x and 5.3 (#1120, #1162)
  • Drop support for PHP 7.2 (#1111)

Fixed

  • Bump the minimum Symfony 4.4 version to avoid PHP deprecation warnings (#1187)

V6.0.0: Add support for PHP 8.1 and Symfony 6, drop support for PHP 7.1

16 Sep 16:37
v6.0.0
aa72d54
Compare
Choose a tag to compare

Added

  • Test with Symfony 6-dev (#1109)
  • Add support for PHP 8.1 (#1103)
  • Add a dedicated class for caching (#1097)
  • Allow installation together with Symfony 6 (#1065)
  • Support more file types in the .editorconfig (#1035)
  • Set align attribute of <th> elements with CssToAttributeConverter (#1008)

Changed

  • Use sabberworm/php-css-parser to parse the CSS (#1015)
  • Also check the unit test code with Psalm (#1003)

Deprecated

  • Support for PHP 7.2 will be removed in Emogrifier 7.0.

Removed

  • Remove a redundant CSS data cache (#1018)
  • Drop support for Symfony 5.1 and 5.2 (#972, #1104)
  • Drop support for PHP 7.1 (#967)

Fixed

  • Allow @import after ignored invalid @charset (@1081)
  • Allow line feeds within <html> tag (#987)

V5.0.1 Bug fixes

06 Apr 17:05
v5.0.1
37595a9
Compare
Choose a tag to compare

Changed

  • Switch the default branch from master to main
    (#951)

Fixed

  • Ignore http-equiv Content-Type in <body>
    (#961)
  • Allow "Content-Type" in content
    (#959)

V5.0.0

23 Nov 18:40
v5.0.0
b43b650
Compare
Choose a tag to compare

Added

  • Add an .editorconfig file
    (#940)
  • Support PHP 8.0
    (#926)
  • Run the CI build once a week
    (#933)
  • Move more development tools to PHIVE
    (#894,
    #907)

Changed

  • Automatically add a backslash for global functions
    (#909)
  • Update the development tools
    (#898,
    #895)
  • Upgrade to PHPUnit 7.5
    (#888)
  • Enforce constant visibility
    (#892)
  • Rename the PHPCS configuration file
    (#891,
    #896)
  • Make use of PHP 7.1 language features
    (#883)

Deprecated

  • Support for PHP 7.1 will be removed in Emogrifier 6.0.

Removed

  • Drop support for Symfony 4.3 and 5.0
    (#936)
  • Stop checking tests/ with Psalm
    (#885)
  • Drop support for PHP 7.0
    (#880)

Fixed

  • Fix a nonsensical code example in the README
    (#920,
    #935)
  • Remove !important from style attributes also when uppercase, mixed case or
    having whitespace after !
    (#911)
  • Copy rules using :...of-type without a type to the <style> element
    (#904)
  • Support combinator followed by dynamic pseudo-class in minified CSS
    (#903)
  • Preserve all uninlinable (or otherwise unprocessed) at-rules
    (#899)
  • Allow Windows CLI to run development tools installed through PHIVE
    (#900)
  • Switch to a maintained package for parallel PHP linting
    (#884)
  • Add .0 version suffixes to PHP version requirements
    (#881)

V4.0.0

12 Jun 12:59
v4.0.0
f6fd679
Compare
Choose a tag to compare

Added

  • Extract and inject @font-face rules into head
    (#870)
  • Test tag omission in conformant supplied HTML
    (#868)
  • Check for missing return type hint annotations in the code sniffs
    (#860)
  • Support :only-of-type (with a type)
    (#849,
    #856)
  • Configuration setting methods now all return $this to allow chaining
    (#824,
    #854)
  • Disable php-cs-fixer Yoda conditions
    (#791,
    #794)
  • Check the code with psalm
    (#537,
    #779)
  • Composer script to run tests with --stop-on-failure
    (#782)
  • Test universal selector with combinators
    (#776)

Changed

  • Normalize DOCTYPE declaration according to polyglot markup recommendation
    (#866)
  • Upgrade to V2 of the PHP setup GitHub action
    (#861)
  • Move the development tools to Phive
    (#850,
    #851)
  • Switch the parallel linting to a maintained fork
    (#842)
  • Move continuous integration from Travis CI to GitHub actions
    (#832,
    #834,
    #838,
    #839,
    #840,
    #841,
    #843,
    #846,
    #849)
  • Clean up the folder structure and autoloading configuration
    (#529,
    #785)
  • Use self as the return type for fromHtml
    (#784)
  • Make use of PHP 7.0 language features
    (#777)

Deprecated

  • Support for PHP 7.0 will be removed in Emogrifier 5.0.

Removed

  • Drop support for Symfony versions that have reached their end of life
    (#847)
  • Drop the Emogrifier class
    (#774)
  • Drop support for PHP 5.6
    (#773)

Fixed

  • Allow :last-of-type etc. without type, without causing exception
    (#875)
  • Make sure to use the Composer-installed development tools
    (#862,
    #865)
  • Add missing <head> element when there's a <header> element
    (#844,
    #853)
  • Fix mapping width/height when decimal is used
    (#845)
  • Actually use the specified PHP version on GitHub actions
    (#836)
  • Support ci:php:lint on Windows
    (#740,
    #780)

V3.1.0

26 Dec 20:04
v3.1.0
Compare
Choose a tag to compare

Added

Changed

  • Upgrade to Symfony 5.0 (#822)

V3.0.0

01 Oct 18:27
v3.0.0
Compare
Choose a tag to compare

Added

  • Test and document excluding entire subtree with addExcludedSelector()
    (#347,
    #768)
  • Test that rules with :optional or :required are copied to the <style>
    element (#748,
    #765)
  • Test that rules with :only-of-type are copied to the <style> element
    (#748,
    #760)
  • Support :last-of-type
    (#748,
    #758)
  • Support :first-of-type
    (#748,
    #757)
  • Support :empty
    (#748,
    #756)
  • Test that rules with :any-link are copied to the <style> element
    (#748,
    #755)
  • Support and test :only-child
    (#747,
    #754)
  • Support and test :nth-last-of-type
    (#747,
    #751)
  • Support and test :nth-last-child
    (#747,
    #750)
  • Support and test general sibling combinator
    (#723,
    #745)
  • Test universal selector with combinators
    (#723,
    #743)
  • Preserve display: none elements with -emogrifier-keep class
    (#252,
    #737)
  • Preserve valid @import rules
    (#338,
    #334,
    #732,
    #735)
  • Add HtmlPruner::removeRedundantClassesAfterCssInlined
    (#380,
    #724)
  • Check on Travis that PHP-CS-Fixer will not change anything
    #727)
  • Support :not(…) as an entire selector
    (#469,
    #725)
  • Add HtmlPruner::removeRedundantClasses
    (#380,
    #708)
  • Support multiple attributes selectors
    (#385,
    #721)
  • Support > :first-child and > :last-child in selectors
    (#384,
    #720)
  • Add an ArrayIntersector class
    (#708,
    #710)
  • Add CssInliner::getMatchingUninlinableSelectors
    (#380,
    #707)
  • Add tests for :nth-child and :nth-of-type
    (#71,
    #698)

Changed

  • Relax the dependency on symfony/css-selector
    (#762)
  • Rename HtmlPruner::removeInvisibleNodes to
    HtmlPruner::removeElementsWithDisplayNone
    (#717,
    #718)
  • Mark the utility classes as internal
    (#715)
  • Move utility classes to the Pelago\Emogrifier\Utilities namespace
    (#712)
  • Make the $css parameter of the inlineCss method optional
    (#700)
  • Update the development dependencies
    (#691)

Deprecated

  • Support for PHP 5.6 will be removed in Emogrifier 4.0.
  • Deprecate the Emogrifier class
    (#701)

Removed

  • Drop enableCssToHtmlMapping and disableInvisibleNodeRemoval
    (#692)
  • Drop support for PHP 5.5
    (#690)

Fixed

  • Fix PhpStorm code inspection warnings
    (#729,
    #770)
  • Uppercase type combined with class or ID in selector
    (#590,
    #769)
  • Dynamic pseudo-class combined with static one (rules copied to <style>
    element, #746)
  • Descendant attribute selectors (such as html input[disabled])
    (#375,
    #709)
  • Attribute selectors with hyphen in attribute name
    (#284,
    #540,
    #704)
  • Attribute selectors with space, hyphen, colon, semicolon or (most) other
    non-alphanumeric characters in attribute value
    (#284,
    #333,
    #550,
    #540,
    #704)
  • Don’t create empty style attributes for unparsable declarations
    (#259,
    #702)
  • Allow :not(:behavioural-pseudo-class) in selectors
    (#697,
    #703)

V2.2.0

04 Sep 16:28
v2.2.0
Compare
Choose a tag to compare

Added

  • Add a HtmlPruner class
    (#679)
  • Add AbstractHtmlProcessor::fromDomDocument
    (#676)
  • Add AbstractHtmlProcessor::fromHtml
    (#675)

Changed

  • Make the closures static
    (#674)
  • Keep <wbr> elements by default with CssInliner
    (#665)
  • Make the CssInliner inherit AbstractHtmlProcessor
    (#660)
  • Separate CssInliner::inlineCss and the rendering
    (#654)

Removed

  • Drop the removal of unprocessable tags from CssInliner
    (#685)
  • Drop the removal of invisible nodes from CssInliner
    (#684)

Fixed

  • Remove opening <body> tag from body content when element has attribute(s)
    (#677,
    #683)
  • Keep development files out of the Composer packages
    (#678)
  • Call all static methods statically in CssConcatenator
    (#670)
  • Support all HTML5 self-closing tags, including <embed>, <source>,
    <track> and <wbr>
    (#653)
  • Remove all "unprocessable" (e.g. <wbr>) tags
    (#650)
  • Correct translated xpath of :nth-child selector
    (#648)