You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
22
22
- Memory management improvements for long-running async applications
23
23
- Proper cleanup of coroutine and scope objects during garbage collection cycles
24
24
25
-
## [0.2.0] - TBD
25
+
### Changed
26
+
-**LibUV requirement increased to ≥ 1.44.0** - Requires libuv version 1.44.0 or later to ensure proper UV_RUN_ONCE behavior and prevent busy loop issues that could cause high CPU usage
27
+
28
+
29
+
## [0.2.0] - 2025-07-01
26
30
27
31
### Added
28
32
-**Async-aware destructor handling (PHP Core)**: Implemented `async_shutdown_destructors()` function to properly
Copy file name to clipboardExpand all lines: README.md
+40-1Lines changed: 40 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,6 +31,21 @@ tightly integrated at the core level.
31
31
PHP TRUE ASYNC is supported for PHP 8.5.0 and later.
32
32
`LibUV` is the primary reactor implementation for this extension.
33
33
34
+
### Requirements
35
+
36
+
-**PHP 8.5.0+**
37
+
-**LibUV ≥ 1.44.0** (required) - Fixes critical `UV_RUN_ONCE` busy loop issue that could cause high CPU usage
38
+
39
+
### Why LibUV 1.44.0+ is Required
40
+
41
+
Prior to libuv 1.44, there was a critical issue in `uv__io_poll()`/`uv__run_pending` logic that could cause the event loop to "stick" after the first callback when running in `UV_RUN_ONCE` mode, especially when new ready events appeared within callbacks. This resulted in:
42
+
43
+
-**High CPU usage** due to busy loops
44
+
-**Performance degradation** in async applications
45
+
-**Inconsistent event loop behavior** affecting TrueAsync API reliability
46
+
47
+
The fix in libuv 1.44 ensures that `UV_RUN_ONCE` properly returns after processing all ready callbacks in the current iteration, meeting the "forward progress" specification requirements. This is essential for TrueAsync's performance and reliability.
48
+
34
49
---
35
50
36
51
### Unix / macOS
@@ -67,7 +82,31 @@ PHP TRUE ASYNC is supported for PHP 8.5.0 and later.
67
82
68
83
4. **Install LibUV:**:
69
84
70
-
Please see the [LibUV installation guide](https://github.com/libuv/libuv)
85
+
**IMPORTANT:** LibUV version 1.44.0 or later is required.
86
+
87
+
For Debian/Ubuntu:
88
+
```bash
89
+
# Check if system libuv meets requirements (≥1.44.0)
0 commit comments