Совместимость и сравнение версий
Текущая документация описывает main с Composer branch alias 7.0.x-dev. В таблице ниже сравниваются исходники этого репозитория с тегом v4.5.3. Это сравнение исходного кода и манифестов, а не гарантия совместимости конкретного приложения.
| Область | v4.5.3 | Текущий main (7.0.x-dev) |
|---|---|---|
| PHP и обязательные зависимости | PHP ^8.1 || ^8.2; обязательны ext-sockets, ext-pcntl, ext-posix, localzet/events | PHP >=8.1; обязательна только ext-json; остальные интеграции объявлены как optional |
| Event loop | Собственный набор Linux drivers, включая StreamSelect, ext-uv, ext-event и ext-ev | EventLoopFactory: event → ev → Revolt → встроенный Select; Windows имеет отдельную реализацию, Swoole/Swow выбираются явно |
| Gateway и proxy | В исходниках тега нет компонентов Gateway/HttpReverseProxy и Proxy/TcpProxy | Добавлены HTTP/1.x reverse proxy, raw TCP proxy и общий UpstreamPool |
| Hot upgrade | В исходниках тега нет Runtime/HotUpgradeBroker | Добавлен Unix hot upgrade с pcntl_exec() и передачей listener descriptors на поддерживаемой среде |
| Публичный API | Сигнатуры и реализация отражают контракт тега 4.5.3 | API и runtime изменялись; используйте справочник текущей версии и проверяйте приложение тестами |
Ссылки на исходники: v4.5.3 composer.json, текущий composer.json, сравнение тегов и main.
Перед обновлением приложения
- Зафиксируйте фактически установленную версию через
composer show localzet/serverиcomposer.lock. - Сверьте используемые классы, callbacks и конфигурацию с API-справочником.
- Проверьте обязательные и optional PHP extensions целевой среды.
- Прогоните собственные unit, protocol и integration tests на текущей версии исходников.
- Проверьте graceful shutdown, reload/upgrade, framing и работу сессий в staging до переключения production.
Нельзя переходить между этими версиями одной заменой Composer constraint: набор обязательных расширений, внутренний event loop, lifecycle и возможности proxy изменились. Контракт вашего приложения нужно проверять отдельно.
PHP и платформы
- Минимальное требование текущего кода: PHP
>=8.1;ext-jsonобязателен. - Основная CI-матрица выполняется на Linux с PHP 8.1–8.5.
- Windows использует отдельный backend и предназначен для однопроцессного режима; платформа не входит в указанную Linux CI-матрицу.
- На Unix supervisor и несколько workers требуют
pcntlиposix. Hot upgrade также зависит от поддержки передачи listening descriptors; проверяйте runtime-командуcapabilities.
Optional интеграции и event loop
Redis и MongoDB нужны только для соответствующих session handlers. ext-sockets применяется отдельными возможностями, включая передачу listening descriptors при поддерживаемом hot upgrade.
На Unix автоматический выбор event loop имеет порядок event → ev → Revolt → Select. Явный выбор недоступного backend-а завершается ошибкой, а не скрытым fallback. Проверяйте окружение командой php server.php capabilities --json.

