Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Most important change is that we removed the automated summary generation on the Revisions tab. It caused performance regressions and wasn't as useful as expected. We need a better approach for that goal.
Diff is pretty much stable and we feel it's time for a release!
Since Beta 2, only minimum amount of breaking changes have been done. Most importantly, the configuration / diff builder settings handling wasn't clean and was overhauled.
Experimental support to display images in diffs is added. We don't know yet how to make this more pluggable, thus it's a hardcoded special case. #2840566: Make rich diff pluggable
A long awaited maintenance release with a pot-pourri of various bug fixes and new features, including some minor CSS changes, and slightly better I18n support.
This release should fully support PHP 7, but there should be no backwards incompatible API changes.
With Beta 2 we have completed all internal refactorings and completed some last minor API changes.
Since Beta 1 we focussed more on clarifications in the UI, shaping uniform terms, explaining how things work, and simplify logic to make the tool work as expected.
Diff moved fast forward recently. We introduced plugin systems and added configurabiliy and needed to break some things to allow us moving forward fast.
It's time to stop breaking things. :-)
Additionally, we made great progress on the UI recently.
Line numbers are added to the two column diff view and the diff layout header is reduced.
Plugin labels are completely changed and technical terms dropped.
The focus is improving UX now for a final stable version.
Diff now has a layout plugin system that allows us to ship different diff presentations.
The new default HTML Diff plugin offers rendered entity comparision with view mode selection and depends to an external PHP library. This is base on functionality previously found in HTML Diff project.
Both single and two column layouts can be switched between raw and stripped html output.
Plugins can be ordered, enabled/disabled with the first being the default selection.
We just made the diff property aware. Thus it's possible to have labels for recursive / hierarchical structures.
Some code cleanup happened, other issues simply have been fixed automagically by the property issue.
Still, APIs are not stable and further refactoring is happening. That's why still alpha and not higher level.
Hope we can complete the cleanup this week!
The admin UI was completely reworked, now providing a clean configuration for diff settings.
The storage of settings changed, dropping all previous diff builder settings.
The new diff builder matching and default settings are much better and we expect that defaults simply work for >95% of users.
The config storage should be stable now.
Some refactorings in APIs are still pending, which is only relevant if you provide own diff builders or alter diff behavior.
Works, but it stills further usage and manual testing. This release adds a Compare button only when viewing node revisions.
Future steps for the next alpha will be adding even more automated tests, integrating with other revisionable entities and integrating gracefully with other modules that alter the Revisions tab such as Workbench Moderation.
Generally the upgrade from Diff 2.x should be automatic, but there are a number of new features and changes that you should be aware of. These include:
Diff comparisons are driven by the new display view mode Revision comparison. This enables you to select what fields to compare and for those fields that lack Diff support, what formatters to use to compare the revisions. You would only need to enable this if you want to show different fields from those shown on the default view mode.
There are more configuration options including enhanced optional CSS and JScript options found under the Admin » Configuration » Content authoring » Diff. This area also contains the administration pages for global settings for entity and fields.
A string review has resulted in a number of string changes.
Inline diff settings are now found in the block configuration screen.
Significant changes within the code include:
hook_diff() has been replaced with hook_entity_diff()
many new field hooks and callbacks have been added.
system variable names have been changed so that they are entity specific and also that they are prefixed with "diff_"
hook_diff() has been replaced with hook_entity_diff()
many new field hooks and callbacks have been added
system variable names have been changed so that they are entity specific and also that they are prefixed with "diff_"
Diff 7.x-2.0+13-dev to Diff 7.x-3.0-alpha1
o #888680 by Deciphered, Alan D.: Allow modules to interact via drupal_alter()
o #1280892 by Alan D., crea: Diff should track the variables that it defines
o #1304658 by Alan D., kari.kaariainen: Remove links and comments from the comparison preview
o #1122206 by binford2k, Alan D.: Notices thrown by DiffEngine::process_chunk()
o #1175064 by zilverdistel, Alan D.: Provide variables for leading and trailing context
o #1673864 by Alan D.: Allow users to bypass the admin theme when viewing comparisons
o #1673876 by Alan D.: Use Drupal autoloading for classes
o #1673856 by Alan D.: Use hook_form_BASE_FORM_ID_alter() rather than hook_form_alter()
Issue #1115638 by ryandekker : Inline diff showing wrong revision
Issue #971100 by Magnus : Theme username in block
Issue #889428 by stacysimpson : warning: Illegal offset type after upgrading from 2.0 to 2.1
Issue #934608 by Magnus : Misspelling causes deleted text not to be highlighted
Issue #1224996 by katbailey: fix node_diff() only diffs modified existing values, ignores newly added or removed ones.
Issue #1029768 by Hakaku : Error on diff : Undefined index: und in node_diff()
Issue #1182616 by Hakaku : sometimes the complete diff on both sides turn red
Issue #994204 by pmorel, quartsize, Dane Powell : All revisions display Anonymous as the revision author
Issue #1014062 by brenk28 : Improper use of t()
Issue #1202560 by drunken monkey : Improper use of drupal_add_css()
- #580442 by smithmb: Add newline to diff header output.
- #413308 by emok: Replace 'Preview changes' with 'View changes'
- #413308 by markus_petrux, emok: Provide a per-content type setting for showing the revisions tab.
- german translation by Thomas_Zahreddin
- More granular inline diff handling for changes between tags.
- Splitting out diff rendering into pages, theme includes.
Initial official release compatible with 4.7.x core. Based on the same code as the 5.x-1.1 release, but backported to the 4.7.x core API. Major changes since the 4.6.x version: