hyperf/http-server
Hyperf HTTP Server provides a high-performance, coroutine-based HTTP server for the Hyperf framework, built on Swoole or Swow. It offers PSR-7/PSR-15 middleware support, powerful routing, annotation-driven controllers, and fast request handling for scalable PHP microservices.
JobInterface::getQueueName() to getPoolName(), switches Carbon behavior to v3 semantics, removes long-deprecated shims, and raises the PHP floor to >=8.2. Treat upgrades as a scheduled platform migration with a regression budget, not a routine composer update.Carbon::createFromTimestamp() no longer falls back to date_default_timezone_get(), and diffInDays() no longer returns an absolute value by default. Any billing, SLA, trial-expiry, reporting, or aging logic that relies on these needs an audit — sign flips fail silently and produce wrong numbers, not errors. This is a PM-visible correctness risk, not just an engineering detail.Htmlable for responses, toJson on Jsonable) are incremental ergonomics, not reasons to adopt.database-sqlserver plus Elasticsearch 8.x and 9.x support. This widens supported backends and search versions, which matters if the roadmap includes enterprise customers on MSSQL or an Elasticsearch 9 migration. It is a capability unlock, not a mandate.processes.php entries, and queue names can be specified per job. This reduces boilerplate and makes per-tenant or priority queue separation cheaper to operate.Consider it when:
getQueueName() overrides to getPoolName(), audit Carbon timestamp/timezone and diffInDays() usage, and re-verify removed items (laminas-mime, CacheableSupportsMethodInterface, JobMessage BC serialization, and other v3.2-removed deprecated code).^6.0 || ^7.0, PHPUnit ^11, nikic/php-parser 5.6, Guzzle ^7, protobuf ^3.6.1 || ^4.2. These constrain other packages in the same application.github.com/hyperf/hyperf PRs and a coordinated framework-wide release, which is strong evidence of an official, actively maintained source. This meaningfully reduces — but does not fully close — the earlier concern about an unknown repository and low standalone star count for the split package. Confirm the split package registry matches this release train before adopting.Look elsewhere when:
Executive summary: hyperf/http-server is not a drop-in Laravel package; it is the HTTP server component of the Hyperf coroutine framework. Its value is high-throughput PHP services on a persistent-worker runtime; its cost is a different operational model, framework lock-in, and a narrower hiring/tooling ecosystem. v3.2.0 reinforces the lock-in and upgrade-cost side of that ledger: it is a breaking release with restructured logging and cache configuration, a renamed async-queue API, Carbon 3 timezone and date-diff semantics, and a hard floor of PHP 8.2.
For engineering: Treat this release as a platform migration. Required work: migrate logger and cache config to the new default + channels / stores shapes; rename JobInterface::getQueueName() to getPoolName(); audit every Carbon::createFromTimestamp() and diffInDays() call site (sign and timezone behavior changed); verify Swow deployments add the ResponseEmitterInterface binding; sweep for removed deprecated code and dropped packages. Upside for the roadmap: SQL Server support, Elasticsearch 8/9 support, config-driven async queue consumer registration with per-job queue naming, a NonCoroutine test attribute, and Htmlable/Jsonable response contracts. The 2026-06-07 release is consistent with an actively maintained framework, and the PR trail points at the official Hyperf repository — still confirm the split package is published from the official organization and matches this release train.
Recommendation: Approve only as part of a broader Hyperf platform decision; do not introduce it into a Laravel codebase. If Hyperf is already strategic, adopt v3.2.0 deliberately: pin versions, allocate a migration sprint covering config, async-queue, and date/time logic, and run a bounded proof-of-concept on worker lifecycle, memory stability, graceful shutdown, observability, and rollback. Prioritize the regression pass over the date/time-dependent features (billing, SLAs, expiry, reporting) — those failures are silent. If the organization cannot operate Swoole/Swow services or cannot schedule the upgrade, defer and stay on a pinned, supported prior line.
How can I help you explore Laravel packages today?