Changelog for parallel |
Release |
What has changed? |
1.2.5 |
- fix memleaks and crashes with PHP 8.2, 8.3 and 8.4 (still crashes in 8.1) - thanks Arnaud Le Blanc
- fix refcounts to make `develop` branch stable again - thanks to Arnaud Le Blanc
- fix double runs in CI |
1.2.4 |
- Namespace PHP_METHODs to avoid collisions with ext-event #321 |
1.2.3 |
- CI: fix Windows tests #304
- CI: updated to PHP 8.3.9 #305
- FrankenPHP support: unlock mutex in case of `zend_bailout` #314
- Make `request_info` from SAPI globals accessible in threads #307 |
1.2.2 |
- CI: move docker images from Docker Hub to GHCR
- fix compilation issues with PHP 8.2 and 8.3 on 32 bit hardware
- fix compilation issues with PHP 8.4 (current master)
- fix Sync object debug handlers in PHP 8.3 |
1.2.1 |
- Fix segfault when constructing sync objects
- Fix heap buffer overflows when copying functions
- Drop disabling functions (dl, setlocale) by force and adopt PG(enable_dl) mechanism for that most important use case
- Fix some leaks in scheduler |
1.2.0 |
- Add support for PHP 8.0, 8.1 and 8.2
- Drop support for PHP 7 |
1.1.4 |
- Fix #103: memory leaks in Sync
- Fix #112: broken type hinting and instanceof operator
- Fix #139: crash with opcache enabled |
1.1.3 |
- Fix #79 segfault on copy closure in 7.2
- Fix #69 segfault on deep runtime copy
- Fix #70 segfault caused by incorrect Channel serialize/unserialize
- Fix #71 segfault caused by cloned Channel access |
1.1.2 |
- Fix for 7.4.0alpha1 |
1.1.1 |
- Fix #60 copying refcounted internals may lead to deadlocks |
1.1.0 |
- Fix #54 Input::add and Channel::send inconsistency
- Fix #55 \parallel\run may schedule in wrong thread
- Anonymous channel support
- Add \parallel\Sync |
1.0.3 |
- Fix #49 closure statics in cache memory
- Fix #50 persistent reference memory leaks
- Fix #51 sometimes kill/cancel may crash
- Fix #52 persistent objects have incorrect refcount |
1.0.2 |
- Fix #45 segfault on new Channel
- Fix #46 scheduler is leaking function allocated in frame |
1.0.1 |
- Fix #42 \parallel\run will choose wrong thread for scheduling
- Fix #41 buffered channel could not be drained after close
- Fix #40 class in FQN stops stubs being generated |
1.0.0 |
- Caching improvements
- Channel comparison (==) fixed
- Debug handler added for Channel
- Debug handler for Future (just shows runtime)
- Fix copying of interned strings
- Object support
- Functional API for parallel\Runtime |
0.9.0 |
- Channels: bi-directional communication between tasks and runtimes
- Improvements to copying making it vastly more efficient
- Improvements to runtime stack, making it more efficient
- Tasks may use lexical scope
- Events - an experimental, quite primitive event loop for reading/writing sets of channels and futures
- Support for rethrowing exceptions uncaught in tasks
- Simplified Runtime constructor
- Remove Future::select (in favour of the superior events interface)
- Task cancellation
- Closure support
- Drop support for PHP 7.1 |
0.8.3 |
- Fix potential race condition for state on Future::value (where an exception was thrown)
- Better compatibility with JIT |
0.8.2 |
- fix bugs in copying literals |
0.8.1 |
- fix gh#11 Future::value after Future::select hangs |
0.8.0 |
- initial pecl release |