Skip to content

Latest commit

 

History

History
554 lines (314 loc) · 37.6 KB

CHANGELOG.md

File metadata and controls

554 lines (314 loc) · 37.6 KB

0.22.1 (2024-09-08)

Full changelog

Performance Improvements

  • access-log: initialize IntlDateFormatter once based on icu format instead of slow static StrftimeToICUFormatMap::mapStrftimeToICU() (466146d)

0.22.0 (2024-08-22)

Full changelog

Features

  • settings: allow set user and group for worker and task worker child processes (210c143)

0.21.2 (2024-04-18)

Full changelog

Bug Fixes

  • 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)

Full changelog

Bug Fixes

  • 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)

Full changelog

Features

  • 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)

Full changelog

Bug Fixes

  • signals: disabled symfony signals handling to be able to terminate the server with simple ctrl+c (88b8cba)

Features

  • symfony: added support for Symfony 6.4, dropped support for Symfony 6.3 (327f06c)

0.19.0 (2023-12-22)

Full changelog

Features

  • php: added support for PHP 8.3, removed support for PHP 8.0 (3be4865)

0.18.0 (2023-12-17)

Full changelog

Features

  • openswoole: added support for openswoole 22.0.0, dropped support for openswoole 4 (cbe8dd0)

0.17.0 (2023-11-26)

Full changelog

Features

  • 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)

Full changelog

Bug Fixes

  • circleci: fixed release workflow, removed docker bake approval (f1086f4)

Features

  • swoole: added swoole support for swoole 4.8.13 (e827e99)

0.15.0 (2023-11-11)

Full changelog

Bug Fixes

  • coding-standards: changes according to update of php-cs-fixer to 3.35.1 (3dd9143)

Features

  • 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)

Full changelog

Bug Fixes

  • 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)

Features

  • 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)

Full changelog

Bug Fixes

  • 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)

Full changelog

Features

  • profiling: added Tideways support (bfc56ad)

0.12.0 (2022-07-27)

Full changelog

Bug Fixes

  • readme: fixed the composer install reference (12a24d6)

Features

  • 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)

Full changelog

Miscellaneous

  • Minor fixes

0.11.0 (2022-03-20)

Full changelog

Features

  • 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)

Full changelog

Features

  • response-processor: hiding Swoole StreamedResponse support from Symfony (#509) (ebe8077)

0.9.0 (2021-02-03)

Full changelog

Bug Fixes

  • request-factory: Avoid accessing undefined index REQUEST_URI (#422) (807ba9f)

Features

  • response-processor: add support for StreamedResponse (89fc7ca)

0.8.3 (2021-01-03)

Full changelog

Bug Fixes

  • 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)

Full changelog

Miscellaneous

  • Minor fixes

0.8.1 (2020-07-14)

Full changelog

Bug Fixes

  • 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)

Full changelog

Bug Fixes

  • config: allow configuring worker and reactor counts using ENV variables (#244) (d6b270a)
  • profiler: make log collection in symfony profiler to work (#242) (50fdd6f)

Features

  • 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)

Full changelog

Bug Fixes

  • server: add worker_max_request and worker_max_request_grace configuration options (#220) (69fd435)

0.7.8 (2020-05-03)

Full changelog

Miscellaneous

  • Minor fixes

0.7.7 (2020-05-01)

Full changelog

Miscellaneous

  • Minor fixes

0.7.6 (2020-04-01)

Full changelog

Bug Fixes

  • http-server: return all headers with the same name joined by comma (#175) (1e51639)

0.7.5 (2019-12-19)

Full changelog

Bug Fixes

  • server: Add missing setting for "package_max_length" (#96) (37758f2)

0.7.4 (2019-12-03)

Full changelog

Bug Fixes

  • server: Use SplFile::getRealPath for Response::sendfile Operation for a BinaryFileReponse (#91) (0278db7), closes #90

0.7.3 (2019-11-30)

Full changelog

Reverts

  • Revert "ci(circle): Remove loop in bash release script" (a468ef7), closes #81

0.7.2 (2019-11-30)

Full changelog

Bug Fixes

  • composer: Resolve upgrade issues (#83) (92285ac)

0.7.1 (2019-11-14)

Full changelog

Miscellaneous

  • Minor fixes

0.7.0 (2019-11-13)

Full changelog

Bug Fixes

  • http-client: Make HttpClient serializable (0ee8918)
  • http-server: Add top-level exception handler to prevent server timeouts (#79) (08c76c4), closes #78

Features

  • session: Add in-memory syfmony session storage (#73) (4ccdca0)

0.6.2 (2019-10-05)

Full changelog

Miscellaneous

  • Minor fixes

0.6.1 (2019-10-04)

Full changelog

Miscellaneous

  • Minor fixes

0.6.0 (2019-08-11)

Full changelog

Features

  • messenger: Add Symfony Messenger integration (#56) (d136313), closes #4

0.5.3 (2019-06-06)

Full changelog

Bug Fixes

  • config: set default host value to '0.0.0.0' (#55) (2c9221d)

0.5.2 (2019-04-30)

Full changelog

Bug Fixes

  • server: Make sure "reactor" running mode works correctly (#53) (69dfea2)

0.5.1 (2019-04-28)

Full changelog

Bug Fixes

  • static-server: Fix unset public dir path in "AdvancedStaticFilesServer" (#52) (4ef8cb5)

0.5.0 (2019-04-26)

Full changelog

Bug Fixes

  • 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)

Features

  • 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)

Full changelog

Bug Fixes

  • di: Fix regression introduced in v0.4.3 (#29) (c88fcf2)

0.4.3 (2019-01-06)

Full changelog

Bug Fixes

  • di: Fix detection of doctrine bundle (ef5920c)

0.4.2 (2018-11-05)

Full changelog

Bug Fixes

  • xdebug-handler: Remove process timeout (#23) (29148af)

0.4.1 (2018-10-24)

Full changelog

Bug Fixes

  • 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)

Full changelog

Bug Fixes

  • command: Graceful shutdown (7e6c9a4)

Code Refactoring

  • di: Simplify registering configurators (#14) (a34d59c)

Features

  • hmr: Implement HMR with Inotify (97e88bb)

BREAKING CHANGES

  • Server\HttpServerFactory should not be instantiated anymore, due to removed hard coupling with Server\Configurator\ConfiguratorInterface, and make() 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 by Server\Configurator\GeneratedChainConfigurator

0.3.0 (2018-10-13)

Full changelog

Bug Fixes

  • io: Properly close stdout/stderr (94041e6)

Features

  • daemon-mode: Daemonize Swoole HTTP server (#8) (3cca5c4)

0.2.0 (2018-10-07)

Full changelog

Bug Fixes

  • 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)

Features

  • swoole: Allow to change publicdir at runtime (c5a0c27)

BREAKING CHANGES

  • Env APP_TRUSTED_HOSTS is no longer supported
  • Env APP_TRUSTED_PROXIES is no longer supported
  • Configuration swoole.http_server.services.debug is renamed to swoole.http_server.services.debug_handler
  • Configuration swoole.http_server.services.trust_all_proxies is renamed to swoole.http_server.services.trust_all_proxies_handler