[PECL-CVS] [pecl-text-xdiff] main: Release 2.2.0
[email protected] (Rasmus Lerdorf) Mon, 6 Apr 2026 09:50:18 +0000
| Newsgroups | php.pecl.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: Rasmus Lerdorf (rlerdorf)
Date: 2026-04-06T05:50:08-04:00
Commit: https://github.com/php/pecl-text-xdiff/commit/b0688374c58afcafa60cf681e2a12a46143da61e
Raw diff: https://github.com/php/pecl-text-xdiff/commit/b0688374c58afcafa60cf681e2a12a46143da61e.diff
Release 2.2.0
Changed paths:
A CHANGELOG.md
A composer.json
M package.xml
M php_xdiff.h
Diff:
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..77544bd
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,71 @@
+# Version 2.2.0 - 2026-04-06
+
+- Fixed memory leak when $error parameter is refcounted in patch/merge functions (ranvis)
+- Fixed inverted return value in xdiff_file_bpatch() (returned true on failure)
+- Fixed missing error checks in xdiff_string_diff/bdiff/rabdiff()
+- Fixed potential double-free and size overflow in append_string()
+- Fixed unchecked php_stream_read() return in load_mm_file()
+- Fixed size truncation: use size_t consistently, add LONG_MAX bounds checks
+- Fixed signed/unsigned mismatches in callback functions
+- Added PIE support (composer.json)
+
+# Version 2.1.1 - 2022-05-24
+
+- Fixed bug #81552 xdiff_string_bpatch() and others missing (Kevin Israel)
+- Fixed bug #77826 xdiff_string_bpatch wrong return value on error (SATO Kentaro)
+
+# Version 2.1.0 - 2021-05-18
+
+- PHP 8 support
+- Drop PHP 5 support
+
+# Version 2.0.1 - 2016-05-17
+
+- Update License to PHP 3.1
+
+# Version 2.0.0 - 2015-11-23
+
+- PHP 7 Release
+
+# Version 1.5.1 - 2009-10-18
+
+- Fix for #16566
+
+# Version 1.5.0 - 2009-10-18
+
+- New functions added
+- Memory optimizations
+- Better handling of out of memory situations
+
+# Version 1.4.1 - 2008-07-01
+
+- Fixes for #7215, #7422 and #8227
+
+# Version 1.4 - 2005-11-14
+
+- Fixed bug #5064
+
+# Version 1.3 - 2005-05-09
+
+- Fix compile error
+
+# Version 1.2 - 2004-11-09
+
+- Fix libxdiff 0.9 crash
+- Force last parameters of xdiff_string_patch and xdiff_string_merge3 to be passed by reference
+
+# Version 1.1 - 2004-03-21
+
+- Fix FreeBSD build
+
+# Version 1.0 - 2004-02-09
+
+- Add support to memory_limit (libxdiff >= 0.6 required)
+
+# Version 0.3 - 2004-01-10
+
+- Win32 build fixes
+
+# Version 0.2 - 2004-01-08
+
+- Initial release
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..2ac2c15
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,19 @@
+{
+ "name": "pecl/xdiff",
+ "type": "php-ext",
+ "license": "PHP-3.01",
+ "description": "File differences/patches.",
+ "require": {
+ "php": ">=7.0.0"
+ },
+ "php-ext": {
+ "extension-name": "xdiff",
+ "configure-options": [
+ {
+ "name": "with-xdiff",
+ "description": "libxdiff library installation dir",
+ "needs-value": false
+ }
+ ]
+ }
+}
diff --git a/package.xml b/package.xml
index 5e608af..c0ec210 100644
--- a/package.xml
+++ b/package.xml
@@ -26,10 +26,10 @@ http://pear.php.net/dtd/package-2.0.xsd">
<email>[email protected]</email>
<active>yes</active>
</lead>
- <date>2022-05-24</date>
+ <date>2026-04-06</date>
<version>
- <release>2.1.1</release>
- <api>2.1.0</api>
+ <release>2.2.0</release>
+ <api>2.2.0</api>
</version>
<stability>
<release>stable</release>
@@ -37,8 +37,14 @@ http://pear.php.net/dtd/package-2.0.xsd">
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
-- Fixed bug #81552 xdiff_string_bpatch() and others missing (Kevin Israel)
-- Fixed bug #77826 xdiff_string_bpatch wrong return value on error (SATO Kentaro)
+- Fixed memory leak when $error parameter is refcounted in patch/merge functions
+- Fixed inverted return value in xdiff_file_bpatch() (returned true on failure)
+- Fixed missing error checks in xdiff_string_diff/bdiff/rabdiff()
+- Fixed potential double-free and size overflow in append_string()
+- Fixed unchecked php_stream_read() return in load_mm_file()
+- Fixed size truncation: use size_t consistently, add LONG_MAX bounds checks
+- Fixed signed/unsigned mismatches in callback functions
+- Added PIE support (composer.json)
</notes>
<contents>
<dir name="/">
@@ -84,6 +90,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
<file name="error-bpatch.phpt" role="test" />
<file name="error-patch.phpt" role="test" />
<file name="error-patch2.phpt" role="test" />
+ <file name="file_bpatch_retval.phpt" role="test" />
<file name="file.1" role="test" />
<file name="file.2" role="test" />
<file name="file.bdiff" role="test" />
@@ -108,6 +115,8 @@ http://pear.php.net/dtd/package-2.0.xsd">
<file name="README.API" role="doc" />
<file name="xdiff.c" role="src" />
<file name="xdiff_arginfo.h" role="src" />
+ <file name="xdiff.stub.php" role="src" />
+ <file name="composer.json" role="src" />
</dir> <!-- / -->
</contents>
<dependencies>
@@ -125,6 +134,22 @@ http://pear.php.net/dtd/package-2.0.xsd">
<configureoption default="autodetect" name="with-xdiff" prompt="libxdiff library installation dir?" />
</extsrcrelease>
<changelog>
+ <release>
+ <date>2022-05-24</date>
+ <version>
+ <release>2.1.1</release>
+ <api>2.1.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <license uri="http://www.php.net/license">PHP License</license>
+ <notes>
+- Fixed bug #81552 xdiff_string_bpatch() and others missing (Kevin Israel)
+- Fixed bug #77826 xdiff_string_bpatch wrong return value on error (SATO Kentaro)
+ </notes>
+ </release>
<release>
<date>2021-05-18</date>
<version>
diff --git a/php_xdiff.h b/php_xdiff.h
index 2a1f469..e7b869e 100644
--- a/php_xdiff.h
+++ b/php_xdiff.h
@@ -22,7 +22,7 @@
extern zend_module_entry xdiff_module_entry;
#define phpext_xdiff_ptr &xdiff_module_entry
-#define PHP_XDIFF_VERSION "2.1.1"
+#define PHP_XDIFF_VERSION "2.2.0"
#ifdef PHP_WIN32
#define PHP_XDIFF_API __declspec(dllexport)