NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #1061 most downloaded on Packagist
A library for comparing two HTML files/snippets and highlighting the differences using simple HTML.
Last release 1 years ago
16 May 2025
Release timing varies
gaps range from 4 weeks to 1.9 years
Nearly every release is documented
notes for 32 of 32 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
33 releases · first in 2014
Fix: Removed some more E_DEPRECATED error explicit nullable types by @richardbrinkman in #133
Full Changelog: v0.1.16...v0.1.17
php 8.2: Deprecated function mb_convert_encoding() by @s-ayers in #125
One column per quarter.
Full Changelog: v0.1.15...v0.1.16
Fix #120 : deprecated HTML-ENTITIES encoding by @richardbrinkman in #121
Full Changelog: v0.1.14...v0.1.15
Deprecated all setSpecialCaseTags() config calls. There is no replacement, but the current expectation is that nobody ever used these calls anyway.
This release mainly removed everything that is related to the concept of special-case-tags. This was adopted from the
original library by rashid2538 that this fork is based on.
The feature tried to wrap the special tags in an extra <ins / del class='mod'> tag.
However, this never really worked properly (the closing tag was not always added to the diff output) and usually ended up crippling the HTML.
Given the feature never really worked, and there is no clear use-case for it, I decided to remove it and fix
issue 106 and issue 69 in the process where it was sometimes impossible to diff html that contained these special tags or unexpected extra tags got added to the output.
In case you really needed this feature, please open an issue explaining your use-case, in that case this decision can be revisited.
Add .gitattributes file to exclude demo and tests from the exported zip package to reduce package size when installed via composer ( #86 - @danepowell
.gitattributes file to exclude demo and tests from the exported zip package to reduce package size when installed via composer (#86 - @danepowell ).gitattributes file to exclude demo and tests from the exported zip package to reduce package size when installed via composer (#86 - @danepowell). This means demo/ and tests/ will no longer be included in the installed package files. In theory this shouldn't be a breaking change, but it could be if you are depending on or referencing any files from those directories.Word parser is rebuild to improve performance by 98% (according to xhprof profiler) and reducing code complexity.
Fixed a bug where self-closing tags got crippled in HtmlDiff
In order to be compatible with PHP8 we had to upgrade some vendor packages.
In order to be compatible with PHP8 we had to upgrade some vendor packages.
Since these vendor packages have dropped support for older versions of PHP we had todo the same, therefore this version is not compatible anymore with PHP versions prior to 7.3.
In case you are not able to upgrade your PHP version, please pin version v0.1.9 of php-htmldiff in your composer config.
Issue #77 : Performance Fixes #81 ( SavageTiger )
Resolve PHP 7.3 compatibility issue to fix #79 #80 ( irkallacz )
Implemented enhancements:
Closed issues:
Fix issues with unicode characters - fixes \#71 \#72 (iluuu1994)
Fixed bugs:
Closed issues:
Bug - bad comparison between words containing accented characters \#66
Closed issues:
Merged pull requests:
Crashes if string contains "Р" character \(uppercase cyrillic Р letter\) \#58
changes the \[\] arrays to array\(\) as it does not work in php 5.3 \#62 (myfriend12)
Merged pull requests:
HTMLDiff Performance inhancement \#54 (SavageTiger)
Implemented enhancements:
Closed issues:
Merged pull requests:
Implement new List Diffing algorithm for matching \#49 (jschroed91)
Implemented enhancements:
Fixed bugs:
Closed issues:
Merged pull requests:
Update TableDiff HTMLPurifier Initialization. \#35 (dbergunder)
Implemented enhancements:
Merged pull requests:
Allow the list match threshold percentage \(ListDiff::$listMatchThreshold\) to be configured \#18
Implemented enhancements:
Merged pull requests:
New Feature: Table Diffing \#31 (jschroed91)
Merged pull requests:
Fix HtmlDiff matching logic skipping over single word matches \#25 (jschroed91)
Fixed bugs:
Misc. list diffing updates and fixes \#24 (jschroed91)
Fixed bugs:
feature-list\_diffing-new \#20 (adamCaxy)
Feature list diffing new \#19 (adamCaxy)
Fix: Updated code so that null is not given in list formatting. \#17 (adamCaxy)
Fixed bugs:
Missed an array\_column in ListDiff. Updated to use ArrayColumn function. \#16 (jschroed91)
Fixed bugs:
Added update for php versions that do not have array\_column as a function. \#15 (jschroed91)
Fixed bugs:
Created ListDiff class to handle diffing of lists. \#14 (adamCaxy)
Implemented enhancements:
ICC-4313 | ICC-4314 | Replace Special HTML Elements with placeholder tokens and update diffing logic \#11 (usaqlein)
Implemented enhancements:
Merged pull requests:
Support derived classes \#10 (mkalkbrenner)
Check for empty oldText or newText before processing del or ins in processReplaceOperation \#9 (jschroed91)
Fixed bugs:
Add option to insert a space between del and ins tags \#8 (jschroed91)
Implemented enhancements:
Break out HTML content to individual HTML, CSS, JS files \#6 (mgersten-caxy)
Implemented enhancements:
Fixed bugs:
Added static properties for the default config variables \#4 (jschroed91)
Implemented enhancements:
Merged pull requests:
* This Change Log was automatically generated by github_changelog_generator
Your coding agent can read these notes before it upgrades. Set up the MCP server →