Совместимость и сравнение версий

Текущая документация описывает 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/eventsPHP >=8.1; обязательна только ext-json; остальные интеграции объявлены как optional
Event loopСобственный набор Linux drivers, включая StreamSelect, ext-uv, ext-event и ext-evEventLoopFactory: 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.3API и runtime изменялись; используйте справочник текущей версии и проверяйте приложение тестами

Ссылки на исходники: v4.5.3 composer.json, текущий composer.json, сравнение тегов и main.

Перед обновлением приложения

  1. Зафиксируйте фактически установленную версию через composer show localzet/server и composer.lock.
  2. Сверьте используемые классы, callbacks и конфигурацию с API-справочником.
  3. Проверьте обязательные и optional PHP extensions целевой среды.
  4. Прогоните собственные unit, protocol и integration tests на текущей версии исходников.
  5. Проверьте 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.