0.22.1 (2024-09-08)
- access-log: initialize IntlDateFormatter once based on icu format instead of slow static StrftimeToICUFormatMap::mapStrftimeToICU() (466146d)
0.22.0 (2024-08-22)
- settings: allow set user and group for worker and task worker child processes (210c143)
0.21.2 (2024-04-18)
- access-log: fixed log format %D, the time taken to serve the request, in microseconds (94d9314)
- access-log: set default timezone from php since $timezone parameter and the current timezone are ignored when the $datetime parameter is a UNIX timestamp (starts with @) (8a21b1d)
0.21.1 (2024-03-18)
- command: close console output after server start to prevent bad file descriptor in docker (9197522)
- phpstan: suppress phpstan for output verbosity because OutputInterface constants don't work properly (7c01db5)
0.21.0 (2024-02-12)
- codestyle: added phpcs to php tooling, added and applied new PER coding style, tweaked php-cs-fixer configuration accordingly (647f7f5)
- symfony: added support for Symfony 7.0 (c0ea0d4)
0.20.0 (2023-12-30)
- signals: disabled symfony signals handling to be able to terminate the server with simple ctrl+c (88b8cba)
- symfony: added support for Symfony 6.4, dropped support for Symfony 6.3 (327f06c)
0.19.0 (2023-12-22)
- php: added support for PHP 8.3, removed support for PHP 8.0 (3be4865)
0.18.0 (2023-12-17)
- openswoole: added support for openswoole 22.0.0, dropped support for openswoole 4 (cbe8dd0)
0.17.0 (2023-11-26)
- organisation: renamed Github organisation to symfony-swoole, Packagist organisation to swoole-bundle, Docker Hub organisation to wymfonywithswoole (12a965f)
- swoole-ext: support for Swoole 5.1.1 (a49dd69)
- swoole: added support for swoole 5.1 (d82b686)
0.16.0 (2023-11-19)
- circleci: fixed release workflow, removed docker bake approval (f1086f4)
- swoole: added swoole support for swoole 4.8.13 (e827e99)
0.15.0 (2023-11-11)
- coding-standards: changes according to update of php-cs-fixer to 3.35.1 (3dd9143)
- ci: added matrix to php builds, to simplify upgrades and extension of jobs, PHP support lock to 8.0-8.2, Symfony support lock to 5.4.22+ and 6.3 (cc0f4b6)
0.14.0 (2023-10-14)
- blackfire: removed blackfire mock because it did not work with z-engine hacks on every PHP version (9a8044f)
- build: added forgotten dockerhub context to trusted swoole-bundle-80-code-coverage job run (45fc9ce)
- ci: do not support openswoole 22 yet (8cf9cd6)
- ci: fixed memory limit overflow in merge-code-coverage (0ccbb71)
- coroutine-tests: fixed coroutine tests that behave differently with code coverage enabled (dcd5515)
- coroutines: added custom proxy type instead of lazy loading value holder to get rid of shared lazy tmp object access (df3da24)
- coroutines: added entity manager resetter, which is decoupled from the stability checker, so it can be overridden easily (e8f5c7b)
- coroutines: added failsafe for accidental container overrides while running tests (62afa05)
- coroutines: added global exclusive single coroutine access to each container operation, so no deadlocks occurence is possible (6d0611b)
- coroutines: container modifier load method override fix for generated production service container (522e5ba)
- coroutines: coroutine proxifier correctly assigns resetter from stateful service tag (80d2c60)
- coroutines: disabled proxification and resetting of doctrine registry, because of changed resetting mechanism (84c0a0e)
- coroutines: enforcing resettable services reset on each request, even before their instantiation is really needed (a42558b)
- coroutines: fix for proxy file locator, which needs an existing directory path as input (e59fe88)
- coroutines: fixed advanced service instantiation in container while using coroutines (blocking needs to be applied to be sure that no problems arise) (ba18802)
- coroutines: got rid of method overriding using z-engine (79a5a0a)
- coroutines: if a stateful service is not shared, its service pool has to be added to the service pool container on instantiation, so the instances can be released on request end (993eaf8)
- coroutines: implemented container inlien factory methods overrides (using z-engine), which activates blocking while creating services (dfe0120)
- coroutines: one time initialised lazy proxies will be always returned on context switch, even when the initialisation did not finish (2a30be7)
- coroutines: prod container generation imlemented using generated container class instead of z-engine because of segmentation faults (ff20a76)
- coroutines: proxified service definition needs to be modified after proxy definition creation, so only original values can be applied to proxy (1079f30)
- coroutines: service resetter reevaluation needs to run after RemoveUnusedDefinitionsPass so the resetter can get only existing services and instantiate them on first usage (4972ff3)
- dependabot: allow only one open pull request, so workflows do not have to be rebased after dependabot PRs (47d6dc4)
- Get rid of deprecation notice for StreamedResponseListener (973fcfb)
- performance: wrapped entity managers are eager by default, the service pool proxy is the lazy layer (7ccbebe)
- php-cs-fixer: returned back the blank_line_between_import_groups rule (b2c6480)
- phpcsfixer: disabled the blank_line_between_import_groups rule (9b4385f)
- phpstan: removed phpstan ignore annotation in CallableBootManagerFactory because of phpstan update (db4b619)
- proxies: removed SF proxy factory because it is deleted in SF 6.2 (22e2e9c)
- proxifier: coroutine proxifier - proxified services' service pools are shared or non-shared based on the proxified service shared flag, together with the service proxy (c4c6006)
- releaser: added gpg folder mount to the releaser script v0.4.0 (0228fd3)
- sf63: added override for monolog StreamHandler + fixed sf 6.3 error handling (cf35c83)
- shutdown: default SF signal handlers were overriden so no exit is called on app shutdown (30a71f8)
- styles: code styles fix by phpcsfixer (7dfc682)
- swhutdown: last shutdown fix should only work on pcntl enabled setups (9cd2417)
- tests: fix for coverage tests - higher waiting values needed in some specific cases (b10bd60)
- tests: fix for coverage tests - higher waiting values needed in some specific cases for coroutines tests (066d5aa)
- tests: fixed coroutine feature tests with doctrine (37f7417)
- tests: fixed coroutine test with workers and sleep commands (3d22d08)
- tests: fox for exception handler tests + disabled container bodifications for non-coroutine workloads (050c630)
- tests: HMR reload test fix after it was broken 2 commits before this one (9fd6e8c)
- tests: possible fix for coroutine tests with PCOV code coverage (02376bc)
- tests: possible fix for coverage enabled tests (worked on CI directly) (da9faad)
- tests: server tests need to clean up var folder on start and need to stop with same env variables (46e2ae7)
- tideways: added Profiler::markAsWebTransaction() to the beginning of request profiling (7d480f6)
- access-log: added kernel event to write access logs to monolog handler, custom log format can be set (b2d8b44)
- blackfire: added support for blackfire monitoring (896a890)
- command: server shutdown, ignore graceful timeout (299e444)
- console: added task worker count to the console table on server start (c7b31ed)
- coroutine-limits: unmanaged factory new instance limits are configurable per factory method now (af50185)
- coroutines: ability to use coroutines in Symofny (19eb714)
- coroutines: added assign limit for proxified services using locking in proxies (168e1f8)
- coroutines: added configurable doctrine connections limit per swoole process (d5365d3)
- coroutines: added configurable instance limits to stateful services and unmanaged factories using container tags (ab4ff3b)
- coroutines: added support for coroutines into taks workers, configuration reordering and refactoring (b5c4a09)
- coroutines: added symfony cache adapter children class services proxification because SF cache AbstractAdapter is stateful (b52b241)
- coroutines: changed SF resetting mechanism so only needed services get reset in first usage (7a568c7)
- coroutines: implemented max concurrency and max proxified instances limit (8779aa3)
- coroutines: safe stateful services need to be reset with the original sf resetter mechanism (c7dab53)
- events: added swoole server events propagation for serverStart and workerStart (a0b133f)
- hmr: dump non-reloadable files included before server start - for local development (docker entrypoint) (97bf19d)
- opcache: added generation of opcache.blacklist_file when using coroutines, because of segfaults when using swoole with opcache (0cade70)
- organisation: pixelfederation organisation changed to openswoole-bundle (for packagist) and symfonywithswoole (for docker hub) (b568ac0)
- profiling: added support for blackfire to collect performance profiles from multiple requests combined into one profile (even with coroutines enabled) (52f9133)
- service-reset: add possibility to mark some services to be reset on each request (3661ff1)
- symfony: added support for Symfony 6.3 (38b09da)
- testing: tests are able to run also in prod env with container infline factories enabled, coroutines tests were changed accordingly (cf8b635)
- worker: added WorkerStop, WorkerError WorkerExit handlers (6a1475b)
0.13.1 (2022-08-19)
- ci: added github repository to circle ci as parameter to be able to use unified releaser script (71a5280)
- dependabot: target branch changed to develop (920efa4)
0.13.0 (2022-08-16)
- profiling: added Tideways support (bfc56ad)
0.12.0 (2022-07-27)
- readme: fixed the composer install reference (12a24d6)
- docker-compose: added releaser bot (9cf4876)
- platform: added integrations for PHP 8.1 + added support for Symfony 6 (368f99e)
0.11.1 (2022-03-20)
- Minor fixes
0.11.0 (2022-03-20)
- http-kernel: remove debug http request handler (#516) (da33c81)
- openswoole: openswoole support (4.10.0) instead of swoole (ac7ab0a)
0.10.0 (2021-05-05)
0.9.0 (2021-02-03)
- response-processor: add support for StreamedResponse (89fc7ca)
0.8.3 (2021-01-03)
- session-storage: Reset session storage on kernel.finish_request (6b7a992)
- allow defining no log file path to enable logging to stdout (#301) (eea4a4f)
0.8.2 (2020-07-20)
- Minor fixes
0.8.1 (2020-07-14)
- doctrine: autoconfigure EntityManagerHandler only when orm is available in symfony's container (#274) (87ede15)
- http: proper creation of $_SERVER['REQUEST_URI'] (#269) (78bb42b)
0.8.0 (2020-06-23)
- config: allow configuring worker and reactor counts using ENV variables (#244) (d6b270a)
- profiler: make log collection in symfony profiler to work (#242) (50fdd6f)
- blackfire: Add bridge for upscale/swoole-blackfire (#221) (960ddb8)
- exception-handler: Add Symfony error/exception handler (#228) (180d5e5)
- http-server: configurable mime types for advanced static files server (#240) (07896a4)
0.7.9 (2020-05-20)
0.7.8 (2020-05-03)
- Minor fixes
0.7.7 (2020-05-01)
- Minor fixes
0.7.6 (2020-04-01)
0.7.5 (2019-12-19)
0.7.4 (2019-12-03)
- server: Use
SplFile::getRealPath
forResponse::sendfile
Operation for a BinaryFileReponse (#91) (0278db7), closes #90
0.7.3 (2019-11-30)
0.7.2 (2019-11-30)
0.7.1 (2019-11-14)
- Minor fixes
0.7.0 (2019-11-13)
- http-client: Make HttpClient serializable (0ee8918)
- http-server: Add top-level exception handler to prevent server timeouts (#79) (08c76c4), closes #78
0.6.2 (2019-10-05)
- Minor fixes
0.6.1 (2019-10-04)
- Minor fixes
0.6.0 (2019-08-11)
0.5.3 (2019-06-06)
0.5.2 (2019-04-30)
0.5.1 (2019-04-28)
0.5.0 (2019-04-26)
- di: Do not use integer node for port (ac6fdcf)
- hmr: Drop unused reference to SymfonyStyle object in InotifyHMR (6b22485)
- reload: Make sure command works on macOS system (4d99e9c)
- apiserver: Create API Server component (#32) (a8d0ec2), closes #2
- server: Add setting for "buffer_output_size" (#33) (7a50864)
- server: Set-up hooks on lifecycle events (271a341)
- Add meaningful exceptions (#46) (4e2cc6d)
0.4.4 (2019-01-06)
0.4.3 (2019-01-06)
- di: Fix detection of doctrine bundle (ef5920c)
0.4.2 (2018-11-05)
0.4.1 (2018-10-24)
- boot-manager: Don't boot not bootable objects (8ad97a2), closes #19
- xdebug-handler: Replace with custom solution (0dc13f0), closes #13
0.4.0 (2018-10-20)
- command: Graceful shutdown (7e6c9a4)
- hmr: Implement HMR with Inotify (97e88bb)
Server\HttpServerFactory
should not be instantiated anymore, due to removed hard coupling withServer\Configurator\ConfiguratorInterface
, andmake()
method becomig static. Now use directly:Server\HttpServerFactory::make()
- Configuring server (using object implementing
Server\Configurator\ConfiguratorInterface
) now happens in execute method of AbstractServerStartCommand Server\Configurator\ChainConfigurator
is now replaced byServer\Configurator\GeneratedChainConfigurator
0.3.0 (2018-10-13)
- io: Properly close stdout/stderr (94041e6)
0.2.0 (2018-10-07)
- command: Decode configuration one more time (32f9776)
- config: Add trusted_proxies and trusted_hosts (aae8873), closes #5
- configuration: Set proper service ids in symfony DI (dda8c9d)
- swoole: Allow to change publicdir at runtime (c5a0c27)
- Env
APP_TRUSTED_HOSTS
is no longer supported - Env
APP_TRUSTED_PROXIES
is no longer supported - Configuration
swoole.http_server.services.debug
is renamed toswoole.http_server.services.debug_handler
- Configuration
swoole.http_server.services.trust_all_proxies
is renamed toswoole.http_server.services.trust_all_proxies_handler