Skip to content

Releases: WackoWiki/diff

Release list

1.0.0

Choose a tag to compare

@vendeeglobe vendeeglobe released this 08 Jul 22:22

WackoWiki Diff 1.0.0

The first stable release of the modernized WackoWiki Diff library, now fully compatible with PHP 8.3+ and featuring strict type declarations throughout.

What's New

Modernization

  • PHP 8.3+ compatibility — full support for modern PHP features
  • Strict types — every file uses declare(strict_types=1);
  • Proper namespacing — PSR-4 compliant under Diff\ namespace
  • Modernized method signatures — full type declarations on all parameters and return types

Testing

  • First comprehensive test suite — 106 tests covering all 9 classes
  • PHPUnit 11.5 — latest PHPUnit version with strict defaults
  • 158 assertions validating line-level and word-level diff operations
  • Known issues documented in KNOWN_ISSUES.md with reproduction cases

Bug Fixes

  • Fix TypeError in word-level diff mode — initialize $output variable before passing by reference to Side::copy_until_ordinal()`
    (resolves crash when comparing page revisions with diff mode 0)

Installation

composer require wackowiki/diff

Known Issues

Two known parser quirks in Diff\Side::decode_directive_line() are documented in KNOWN_ISSUES.md:

  1. Multi-digit numbers in directive lines only parse the first digit (e.g., "5a10\n" produces argument[2] = 1, not 10)
  2. 'a' and 'c' directives return false even when well-formed (the 'd' directive works correctly; argument arrays are still
    populated)

These issues do not affect typical use cases but will be addressed in v1.1.0.