Version | Message |
3.1.3 | - Fixed #23: Replace struct stat symbols (thanks to Peter Kokot). |
3.1.2 | - Restored libeio/xthread.h in package.xml |
3.1.1 |
- Fixed issue #21: eio_fallocate() tests failed on Fedora 40 - Updated the embedded libeio. |
3.1.0 | Fixed issue #19: Initialized new stack pointers introduced in PHP 8.3.0RC1+ |
3.1.0RC1 |
Updated libeio to the latest version. Fixed internal scripts. |
3.0.1 | Fixed issue #19: Initialized new stack pointers introduced in PHP 8.3.0RC1+ |
3.0.0RC4 | Fixed deprecated calls on PHP 8.1 (thanks to Remi Collet). |
3.0.0RC3 | Fixed issue #13: libeio sometimes didn't auto-initialize. |
3.0.0RC2 | Fixed: the PECL package was broken for PHP 8 |
3.0.0RC1 | Ported to PHP 8 |
2.0.4 | Add check for HAVE_STRUCT_STAT_ST_BLKSIZE and HAVE_STRUCT_STAT_ST_RDEV (thanks to petk) |
2.0.3 |
Fixed build error in PHP 7.3. Removed ASAN from debug configuration. |
2.0.2 | Fixed build error due to undefined O_FSYNC in musl libc |
2.0.1 | Fixed #7: [PHP7] Segfault after shutdown |
2.0.0 | Fixed #6: PHP 7.1 build failed due to removed zend_fcall_info.symbol_table |
2.0.0RC3 | Fixed #4: linker issue on aarch64 |
2.0.0RC2 |
- Fix: removed extra memory allocations - PHP7: eio_custom now throws Exception in ZTS builds, because Zend API is inaccessible from a custom thread in ZTS PHP7 builds (there is a lack of Zend API to access TSRM thread-local data from a user thread). Some extensions(particularly, pthreads) invent their own(rather hacky) ways to overcome the problem. However, IMHO, this should be implemented within Zend API itself. |
2.0.0RC1 |
PHP 7 support Fix: uid/gid validation in eio_fchown Fix: compilation issue on OS X 10.11 |
1.2.6 |
Fix: uid/gid validation in eio_fchown Fix: compilation issue on OS X 10.11 |
1.2.5 |
Fix: Bitbucket issue #2: Static build fails Fix: build failed when EVENTFD was not available |
1.2.4 |
Fix: Bitbucket issue #1: eio_open fails when file is owned by root Fix: LICENSE role in package.xml (Remi) |
1.2.3 | Fix: bug #65293 where eio functions failed to process file descriptor equal to 0 |
1.2.1 |
Fix: build failed without sockets extension Fix: eio_write failed when buffer length was lesser than size + offset |
1.2.0 |
Add: BSD support Change: internal event notification uses pipe() when eventfd() is not available. Del: some redundant code Fix: use libeio's EIO_FALLOC_FL_KEEP_SIZE instead of the system constant |
1.1.0 |
Change: eio_init() deprecated. Will be removed in future. We use pthread_atfork() to re-init eio after a fork Add: phpt test for the fork support Fix: tsrm_ls is not initialized in php_eio_init() Fix: EFD_NONBLOCK and EFD_CLOEXEC used despite the flags were not available until kernel 2.6.7. For the old kernels we call fcntl. Refact: set FD_CLOEXEC flag for file descriptor opened with eio_open() Refact: no need to copy zval when passing request resource to eio_grp_*() Fix: eio_grp_*() didn't initialize eio automatically |
1.0.0 |
Fix: eio_write() wrote garbage when 'str' arg passed by ref in a nested call with 'use' keyword Fix: eio_write() wrote garbage when 'str' arg passed by value Add: eio_init(). You must call eio_init() before using Eio in a forked child process. Change: Cut 'st_' prefix in result of eio_*stat for the sake of simplicity and better 'compatability' with stat() Change: Cut 'f_' prefix in result of eio_*statvfs Add: eio_get_last_error() Add: eio_req resource argument as the third optional callback argument Add: phpt tests for the changes since 0.5.0b Removed: warnings having no much sense even in debug mode Refact: no separation for callbacks |
0.5.0 |
Refact: libeio upgraded Fix: bug #62392 where eio_*stat functions didn't return st_size Fix: package.xml referenced to some nonexistent files Fix: garbage in result arg of the callbacks in case of error Change: warn about failed op in cb only when compiled with debug support Add: test for stat on nonexistent files Add: sockets support(eio_sendfile, eio_readahead etc.), enabled by default Add: eio_seek function Change: numeric fd arguments are now mixed(stream, Socket, or number) |
0.4.0 |
Change: libeio is now embedded, no need to install it separately Change: functions call info and call info cache used instead of zvals Fix: segmentation fault on 32-bit platforms with the default 4-bit LFS |
0.3.0 |
Change: mutex switch that used in communications with libeio replaced with eventfd; the same descriptor exported to userspace to bind with existing event loops Add: eio_get_eventfd function to get eventfd descriptor Add: header checks in configuration Change: libeio initialization moved to the MINIT phase, but unfinished requests are still handled in the RSHUTDOWN phase Change: simplified libeio callbacks |
0.2.0 |
Fix: heavy bulk requests damaged event loop causing much CPU consumption Fix: in a threaded SAPI libeio in a single process might initialize mutex multiple times Change: switch from semaphore to mutex Change: dropped --with-eio-shm* configuration options |
0.1.1 |
Fix: eio_poll was out of sync with the IPC Fix: pathnames in tests Change: dropped preprocessor checks on non-UNIX platforms, i.e. no plans to support non-UNIX |
0.1.0 |
Change: refactored some tests Add: request types have readable values in error messages Add: errno replaced with the meaningful string in error messages Fix: eio_chown denied uid -1 value Fix: message about required libeio |
0.0.1 |
Change: Shared memory permissions are set to 0660 by default Change: Removed redundant code and comments Add: Tests: eio_read_basic.phpt, eio_stat_basic.phpt Fix: the package XML Fix: docs |