Version | Message |
4.2.0 |
- Support PHP 8. - Merge unrar 6.0.2. - RarArchive implements IteratorAggregate (PHP 8 only). |
4.1.0 |
- Merge changes made to unrar up to version 5.5.6. - Support PHP 7.2, PHP 7.3 and PHP 7.4. - Update to unrar 5.9.4 - Fix bug #76592: streaming unpacking of uncompressed files incomplete |
4.0.0 |
- Merge changes made to unrar up to version 5.5.6. - Support PHP 7.0 and PHP 7.1. - Added functions RarEntry::getRedirType(), RarEntry::isRedirectToDirectory() and RarEntry::getRedirTarget(), as well as the following constants on RarEntry: FSREDIR_UNIXSYMLINK, FSREDIR_WINSYMLINK, FSREDIR_JUNCTION, FSREDIR_HARDLINK and FSREDIR_FILECOPY. - Changed stat handler to return UTC time for creation, modification and access time (does not work reliably on Windows). - Fix cloning of RarArchive being allowed. |
3.0.2 |
- Fixed build with PHP 5.5. - Upgraded bundled unrar to version 4.2.4. |
3.0.1 |
Changes in this version: - Merge changes made to unrar up to version 4.2.2. - Fix leak in PHP >= 5.3.11 (except 5.4.0) and compile error in master. - Fix some tests failing if TZ != Europe/Lisbon. - Fix bad pointer in an error message. - Added test for bug #59939 (can't reproduce). |
3.0.0 |
Changes in this version: - Updated to unrar 4.0.7 (corresponds to WinRAR 4.0.0 stable). - Support for PHP 5.4. - Added url wrapper rar://. - Added volume find callback to RarArchive::open/rar_open. - Added support for stat, both static and to opened streams. - Added rar_allow_broken_set/RarArchive::setAllowBroken and rar_broken_is/ RarArchive::isBroken, which control/query the behavior with archives with missing volumes. - Added option to RarEntry::extract() to allow from extraction of ACL (windows) /owner (unix)/extended attributes (os/2). - Added support for RAR archives that have several entries with the same name. - Implemented count elements handler for RarArchive. - Implemented dimensions handlers for RarArchive. - Fixed packed sizes which were using high bits from unpacked sizes. - Fixed PECL bug #20498 (RarEntry::extract not really accepting a password). - Fixed PECL bug #18449 (Extraction of uncompressed and encrypted files fails). - Many more tests. |
2.0.0 |
Changes with respect to release 2.0.0RC1: - Fixed infinite loop when opening RAR archive missing a volume (later report in bug #17177). - Fixed bug #17025 (changed the name of method RarArchive::list into RarArchive::getEntries). If backwards compatibility with the release candidate is required, RarArchive::list can be reintroduced by defining RAR_ARCHIVE_LIST_ALIAS. Incompatible changes with respect to release 1.0.0: PHP Support: - Support for PHP 4.3 dropped. PHP 5.2.x or 5.3.x is required. API backwards incompatible changes: - Handles unicode filenames (uses UTF-8 external encoding). The file names inside the RAR archives are always returned in UTF-8. This will probably break your scripts. - Calling rar_close/RarArchive::close() invalidates RarEntry objects (actually, only extraction is forbidden, but don't rely on it). For the other changes, see the changelog for version 2.0.0RC1. |
2.0.0RC1 |
Changes in respect to release 1.0.0: PHP SUPPORT: - Support for PHP 4.3 dropped. PHP 5.2.x or 5.3.x is required. API BACKWARDS INCOMPATIBLE CHANGES: - Handles unicode filenames (uses UTF-8 external encoding). The file names inside the RAR archives are always returned in UTF-8. This will probably break your scripts. - Calling rar_close/RarArchive::close() invalidates RarEntry objects (actually, only extraction is forbidden, but don't rely on it). API backwards compatible changes: - Supports streaming from RAR archives. See RarEntry::getStream() method. - Added a bunch of constants to RarEntry. - Added RarEntry::__toString() method. - Added RarEntry::isDirectory() method. - Added RarEntry::isEncrypted() method. - Added OOP interface for rar_* functions with the RarArchive class. - Added rar_comment_get/RarArchive::getComment(). - Added RarArchive::isSolid()/rar_solid_is(). - Added RarArchive::__toString() method. - Added RarException class. - Exception throwing for expectable errors can be turned on by calling RarException::setUsingExceptions(). To check whether exception throwing is turned on, RarException::isUsingExceptions() can be used. Bug fixes: - Fixed by PECL bug #8821 (relative paths not working). - Fixed PECL bug #9470 (wrong CRC on multi-volume archives). - Fixed PECL bug #9649 (rar_close() not closing file descriptors if there were undestroyed RarEntry objects) - Fixed volumes opened with middle volumes showing files continued from previous volume with incorrect packed and unpacked sizes. - Fixed bug in UnRAR library that could cause a read out of buffer bounds on some corrupted RAR files. - Fixed RarEntry::getPackedSize() and RarEntry::getUnpackedSize() giving incorrect results for files > 2 GiB. Still, on platforms with 32-bit integers, MAX_INT will be returned for such files, othwerwise the correct value is given. Other changes: - Updated bundled UnRAR library to version 3.9.7 (RAR 3.9.1). - Changed bundled UnRAR library to allow partial file extraction. - All RarEntry properties are now private. This doesn't break the API because those properties were never part of the contract. - rar_open gives more detailed error messages on failure. - Extension now uses extended UnRAR library structures. - Added arginfo. - Added a bunch of tests. - A lot of refactoring and compilation as C, not C++. |
2.0.0b2 |
- Updated bundled UnRAR library to version 3.9.6. - Added OOP interface for rar_* functions with the RarArchive class. - Changed bundled UnRAR library to allow partial file extraction. - Fixed bug in UnRAR library that could cause a read out of buffer bounds on some corrupted RAR files. - Added a bunch of constants to RarEntry. - Added RarEntry::__toString() and RarEntry::isDirectory methods. - All RarEntry properties are now private. This doesn't change the API because those properties were never part of the contract. - Supports streaming from RAR archives. - Extensio now uses extended UnRAR library structures. - rar_open gives more detailed error messages on failure. - Fixed pecl bug #9470 (wrong CRC on multi-volume archives). - Added rar_comment_get. - Fixed by pecl bug #8821 (relative paths not working). - Handles unicode filenames (uses UTF-8 external encoding). - Fixed PECL bug #9649, resource is now destroyed regardless of the le->refcount. - Fixed volumes opened with middle volumes showing files continued from previous volume with incorrect packed and unpacked sizes. - Added arginfo. - Added a bunch of tests. - A lot of refactoring and compilation as C, not C++. |
1.0.0 |
- Upgraded bundled UnRar to version 3.7.8. - Updated source code to use new parameter parsing API. - Fixed PECL bug #9002 (rar_list invalidates rar resource) - Fixed PECL bug #11430 (rar_extract() doesn't close handles gracefully) - rar_open() now throws an error when failed to open the specified file. |