v0.17.0
·
174 commits
to master
since this release
v0.17.0 — Code quality, DI improvements, and dead code removal
Added
Utils::reload()— New canonical method name for graceful worker restart.Utils::reboot()is preserved as a deprecated alias with a deprecation notice. All internal callers and watcher classes have been updated. (#32)- SymfonyController via DI —
HttpRequestHandlernow receivesSymfonyController $controllerthrough constructor injection instead of instantiating it internally. This enables easier testing, decoration, and swapping of the controller. A newworkerman.symfony_controllerservice with autowiring alias is registered viaWorkermanCompilerPass. (#158)
Changed
- require pattern refactored — Replaced the
require()calls inWorkermanBundlewith proper injectable classes:ConfigurationTreeBuilder(configuration tree definition) andServicesConfigurator(service registration). Removedsrc/config/configuration.phpandsrc/config/services.php. (#145) - CompilerPass simplification — Removed unnecessary
array_maptransformations and simplified data flow inWorkermanCompilerPass. (#24) - Abandoned packages now reported — Changed
composer.jsonaudit.abandonedfrom"ignore"to"report"so abandoned package warnings are no longer silently suppressed duringcomposer install/composer update. (#163)
Fixed
- FPM-specific no-ops removed —
StreamedBinaryFileResponseno longer callsignore_user_abort()andconnection_aborted(), which have no effect in Workermans event-driven architecture. Added 14 unit tests and 1 E2E test. (#160) - Magic string extracted — The literal
"+10 year"inPeriodicalTriggeris now a named class constantMAX_SCHEDULE_HORIZON. (#156)
Removed
- Dead stream code — Deleted
StreamResponseInterfaceand thestreamContent()generator method fromStreamedBinaryFileResponse. The interface was never referenced externally, and the generator was never called —BinaryFileResponseStrategyhandles allBinaryFileResponsesubclasses viainstanceofusing Workermans nativewithFile(). (#165) - Skipped tests — Removed 8 permanently skipped (never-executed) test methods from
HttpRequestHandlerTestthat inflated test metrics without providing coverage. (#154)
BC Breaks
- HttpRequestHandler constructor — Changed from 3 parameters (
KernelInterface $kernel, RebootStrategyInterface $rebootStrategy, ResponseConverter $responseConverter) to 2 parameters (SymfonyController $controller, RebootStrategyInterface $rebootStrategy). The class isfinal; all in-repo callers have been updated. (#158)
Security
- No security changes in this release.
Full Changelog: v0.16.0...v0.17.0