Skip to content

v0.22.0

Latest

Choose a tag to compare

@github-actions github-actions released this 31 May 16:37
· 26 commits to master since this release
eed6340

Security

  • Route exception logging in HttpRequestHandler through PSR-3 logger instead of error_log() (#296) — #466
  • StaticFilesMiddleware: add follow_symlinks option (default: false) (#292) — #473
  • ServerWorker: validate SSL cert/key paths are regular files and not symlinks (#286) — #474
  • Add connection_timeout, keepalive_timeout and per-server body_size_cap for slowloris protection (#279) — #477

Performance

  • Cache PID file handles in SchedulerWorker to avoid fopen/fclose in event loop (#297) — #464
  • Replace per-tick closure allocation in SchedulerWorker with first-class callable (#293) — #479
  • Cache normalizeHeaderName results and fix irregular header acronyms (#287) — #468
  • Add early return in FileUploadValidator::validate when no uploaded files (#281) — #469

Code Quality

  • ConfigLoader::getConfig: split into named methods, replace silent empty-fallback with exception (#325) — #480
  • ConfigLoader: move setBuildConfig into setters block (#329) — #481
  • Make TaskErrorEvent immutable by removing unused setError mutator (#338) — #467
  • Remove redundant function_exists checks in InotifyMonitorWatcher (#341) — #478
  • Fix InotifyMonitorWatcher::$pathByWd PHPDoc type (#347) — #484

Deprecated

  • Utils::reboot() deprecated since 0.17.0; Utils::reload() is the replacement (#318) — #485

Tests

  • Add event ordering and __invoke fallback tests to TaskHandler and ProcessHandler (#276) — #472
  • Add onWorkerStart invocation tests to ServerWorkerTest (#284) — #471
  • Add in-process pipeline coverage and gate live-server test in MiddlewareTest (#288) — #470
  • Add coverage for processFiles non-array drop branch in RequestConverterTest (#294) — #475
  • Replace source-grep test in SchedulerWorkerSigchldTest with behavioral test (#302) — #476

Docs

  • Add class-level and constructor PHPDoc to AsTask and AsProcess attributes (#309) — #486
  • Add class-level PHPDoc to HttpRequestHandler explaining the request lifecycle (#320) — #482
  • Add class-level and method PHPDoc to Request class (#321) — #487
  • Add class-level PHPDoc to Start/Error events marking them as extension points (#335) — #483
  • Fix orphaned footnote notation for php-event extension note in README (#311) — #489
  • Add License section and MIT badge to README (#300) — #488
  • Normalise ** list/emphasis markers to * / blockquote format in README (#310) — #490

Full Changelog: v0.21.0...v0.22.0