Skip to content

Update dependency openswoole/ext-openswoole to v26 - #83

Open
renovate[bot] wants to merge 1 commit into
stagingfrom
renovate/openswoole-ext-openswoole-26.x
Open

renovate[bot] wants to merge 1 commit into
stagingfrom
renovate/openswoole-ext-openswoole-26.x

Conversation

@renovate

@renovate renovate Bot commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change
openswoole/ext-openswoole major 22.1.2 → 26.2.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.

⚠️ CI does not verify if extension can be built successfully or compatible. Build log review at platform.sh is required.


Release Notes

openswoole/ext-openswoole (openswoole/ext-openswoole)

v26.2.0

Compare Source

New Features

. PHP 8.5 support
. PHP native Fiber context backend for coroutines: new coroutine context backend using PHP's native zend_fiber API instead of Boost ASM or ucontext. Enables proper integration with xdebug, profilers, and fiber-aware extensions. Configurable at runtime via Co::set(['use_fiber_context' => true]) or INI openswoole.use_fiber_context=On
. Xdebug support: xdebug step debugging now works correctly inside coroutines when fiber context is enabled. Removed the legacy "extremely dangerous" warning
. Runtime reactor type selection: select the event reactor backend at runtime via Co::set(['reactor_type' => OPENSWOOLE_IO_URING]). New constants: OPENSWOOLE_EPOLL, OPENSWOOLE_KQUEUE, OPENSWOOLE_POLL, OPENSWOOLE_SELECT, OPENSWOOLE_IO_URING
. io_uring reactor backend: new event reactor using Linux io_uring with IORING_OP_POLL_ADD as a drop-in replacement for epoll. Enable with --enable-io-uring (requires liburing). Supports multishot poll on kernel 5.13+ with automatic fallback on older kernels
. io_uring async file I/O engine: dedicated io_uring ring for asynchronous file operations (open, read, write, fstat, fsync, unlink, rename, mkdir, rmdir), replacing the thread pool. Unsupported operations gracefully fall back to the thread pool
. Event loop lag metrics: real-time event loop lag monitoring via $server->stats(). Exposes event_loop_lag_ms, event_loop_lag_max_ms, and event_loop_lag_avg_ms per worker, task worker (when coroutine-enabled), and reactor thread (process mode). Useful for detecting blocking operations that stall the event loop
. Coroutine-safe exit() support: intercepts exit() calls inside coroutines on PHP 8.4+ (where exit changed from opcode to function) and throws openswoole_exit_exception instead
. Backward compatibility constant aliases
. Migrate HTTP parser to llhttp: replaces the custom openswoole_http_parser with llhttp parser for improved standards compliance and performance

Bug Fixes

. Fix reflection issues and scope leaks (#​284): OSW_FUNCTION_ALIAS caused global functions to appear as class methods with corrupted return types in Reflection. Replaced with proper PHP_FE/PHP_FALIAS entries
. Fix file I/O hanging under io_uring: race condition where eventfd notification could be lost between draining and re-arming single-shot POLL_ADD. Added reactor end-of-loop callback and timeout CQE filtering
. Fix file lock bug: non-blocking flock (LOCK_NB) now properly checks in-process coroutine lock state before the system flock() call
. Fix CPU affinity compile check: add missing _GNU_SOURCE define before sched.h
. Fix futex compile check: add missing _GNU_SOURCE define before linux/futex.h

Refactoring

. Namespace normalization: openswoole_*, updated internal references and test directories
. Removed compile-time guards from reactor type PHP constants; runtime validation handles unsupported backends
. Removed PHP < 8.0 compatibility code
. Dropped PHP 8.2 support

v25.2.0: for PHP 8.4

Compare Source

  • Support PHP 8.4

Configuration

📅 Schedule: (in timezone UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

Read more information about the use of Renovate Bot within Laminas.

| datasource      | package                   | from   | to     |
| --------------- | ------------------------- | ------ | ------ |
| github-releases | openswoole/ext-openswoole | 22.1.2 | 26.2.0 |


Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants