parallel: Changelog

Version Message
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