All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Support of RoadRunner 2023
- Deprecated code
- Session integration as Symfony session now natively works
- Support of Symfony 5, PHP version < 8.1
WorkerCommand
, usage of Symfony Runtime is now mandatory
- Stops using deprecated StreamedResponseListener in Symfony >=6.1 see #85
- Fix deprecations. Thank you @sabrimarz, see #83
- Provided updated RoadRunner config files to new project installed via Symfony Flex
- Stops loading
NativeSessionMiddleware
if using Symfony >= 5.4 because it is well handled in the framework - Override
$_SERVER
when receiving a new RR request
- Supports for gRPC. Thank you @StephenBeirlaen, see #62
- Supports for
REMOTE_ADDR
inframework.trusted_proxies
configuration. See #71
- Compatibility with Doctrine DBAL 3.x (stop using
Connection::ping()
method)
- Support for Symfony Runtime component
- Forward compatibility with Symfony 6 sessions. Thank you @Punk-UnDeaD, see #45
- Compatibility with Symfony 4.4, see #42
- Uploaded files was not valid in Symfony, see #38
- Support for RoadRunner 2.x
- Metrics declaration via Symfony configuration
- Automatic detection of relay address (thanks to RR v2)
- Moved all integration code to the
Integration
namespace - No more PSR / Symfony conversion, the internal worker uses Symfony requests and responses directly
- PSR Middleware supports
- Deprecated classes and configuration options
- Bad Sentry integration DIC configuration, see #34
- Usage of deprecated autowiring alias, see #28
- Bad dependency injection configuration. Thank you @aldump see Baldinof#27
- New event
WorkerKernelRebootedEvent
. Thank you @fitzel. See Baldinof#25
- PHP 8 support. Thank you @hugochinchilla. See Baldinof#23
- Fix deprecation warning on "Symfony\Component\Config\Definition\Builder\NodeDefinition::setDeprecated()". Thank you @hugochinchilla. See Baldinof#18
- Clear Sentry scope between requests. Thank you @hugochinchilla. See Baldinof#17
- Blackfire profiling when using diactoros psr7 implementation
- Bad dependency injection configuration when installing
sensio/framework-extra-bundle
withoutnyholm/psr7
.
- Restart the kernel on exceptions
- Configuration option to not reboot the kernel on selected exceptions
- Fallback to php-http/discovery if no PSR17 factories are found in the dependency injection container
- Doctrine ORM integration (handle reconnections). Thank you @vsychov.
- Blackfire profiling when using diactoros psr7 implementation
- Issue when installing
sensio/framework-extra-bundle
withoutnyholm/psr7
- Class
Baldinof\RoadRunnerBundle\Worker\Worker
is now internal
- Configuration option
should_reboot_kernel
is replaced by kernel reboot strategies:kernel_reboot: strategy: always # equivalent to `should_reboot_kernel: true` kernel_reboot: strategy: on_exception # equivalent to `should_reboot_kernel: false` allowed_exceptions: - Symfony\Component\HttpKernel\Exception\HttpExceptionInterface
- Class
Baldinof\RoadRunnerBundle\Worker\Configuration
is now deprecated in favor of kernel reboot strategies
- Disable default StreamedResponseListener to prevent early sending of response. See Baldinof#9
- Compatibility with
symfony/psr-http-message-bridge
2.*
- DEV mode config file (
.rr.dev.yaml
), with auto-reloading on php files changes.
MetricsFactory
now returnsNullMetrics
if not in RoadRunner worker process. Thank you @vsychov.- Kernel is now properly resetted on each request, see Baldinof#5
- RoadRunner metrics support. Thank you @vsychov.
- Handle 'Authorization: Basic' header and populate PHP_AUTH_USER/PHP_AUTH_PW server variables
- Close the session, even if the main handler throws
- Middlewares support
- Sentry integration
- Doctrine MongoDB bundle integration
- Blackfire integration
- Symfony Session support