The change log describes what is "Added", "Removed", "Changed" or "Fixed" between each release.
- Compatibility with Symfony 8.
- Replaced XML configuration with PHP configuration.
- Test with PHP 8.5.
- Added PluginConfigurator
- Increased min PHP version to 8.1
- Removed the deprecated
httplug_markuptwig filter. Use@Httplug/http_message.html.twigtemplate instead. - Removed deprecated configuration options:
toolbar: Useprofilinginstead.respect_cache_headers: Userespect_response_cache_directivesinstead.
- Removed the deprecated
Http\HttplugBundle\ClientFactory\PluginClientFactory. UseHttp\Client\Common\PluginClientFactoryinstead. - Fixed a deprecation when creating a
HttpMethodsClientviahttp_methods_client: true. Only PSR-17 factories are now passed as constructor arguments. - Changed the default stream factory argument for the cache plugin. This now requires a PSR-17 StreamFactoryInterface instance.
- Creating a client using the
BuzzFactoryno longer acceptsverify_peerandverify_hostconfig options. Only a booleanverifyflag is accepted, covering both previous options. - Removed support of deprecated PHP-HTTP factories, only PSR-17 factories are now supported and used.
- Removed
message_factory,uri_factory, andstream_factoryclasses config option. You can configure your own factories viapsr17_*_factoryclasses config - Removed support for guzzle5-adapter
- Removed support for Symfony versions <5.4
- Changed the return type of
ClientFactoryto return aClientInterfaceinstead ofClientInterface|HttpClient - Changed the type of
httplug.client.defaulttoClientInterfaceinstead ofHttpClient - Removed the
DummyClientinterface - Removed the
Http\Client\HttpClientalias use thePsr\Http\Client\ClientInterfacetypehint in your services for autowiring. - Changed classes marked as
@finalto be actuallyfinal. If you extended any of those, instead implement interfaces or decorate the class rather than extending it. Open an issue if you think a class needs to be made non-final to discuss what we should do. - Added return type declaration to
Http\HttplugBundle\ClientFactory\ClientFactory::createClient - Added interface name alias for the
Http\Mock\Clientand all PSR17 factories to help with autowiring.
- Same as 1.34.2 but tagged on the 1.x banch instead of the feature branch.
- More cleanup of the rate-limiter configuration. The service name is the full service name of the rate limiter, e.g.
limiter.my_namewhen configuringframework.rate_limiter.my_name.
- The rate-limiter name in the throttle plugin configuration is required.
- Support to configure the throttle plugin.
- Fixed extension to depend on the DependencyInjection component rather than the HttpKernel.
- Support php-http/cache-plugin 2.0 and bump minimal version to 1.7 by defaulting the stream factory for cache to
httplug.psr17_stream_factory(#448).
- Added support for Symfony 7
- Added configuration for the
headerauthentication plugin (#437).
- Added alias to allow autowiring the
AsyncHttpClientinterface (#436).
- Adjusted phpdoc on ClientFactory to reflect that it usually returns a PSR ClientInterface.
- Fixed deprecation from Symfony 6.3
- Support PSR-18 ClientInterface in MockFactory.
- Removed support for php-http/httplug 1.
- Added: Configure the seekable body plugins.
- Added: PHP 8.2 support.
- Added: Allow installation with PSR-7
psr/http-message2.x. - Added: alias to autowire
Psr\Http\Client\ClientInterfaceservice (#425). - Deprecated
Http\Client\HttpClientin favor ofPsr\Http\Client\ClientInterface(#425).
- Added
: voidtoCollector::resetto avoid PHP warning. - If
captured_body_lengthis set to 0 (default value), show a special message rather than the generic messageThis message has no captured body. - Fixed: Add slash in profiler if there is none between host and path.
- Added support for configuring the error plugin via configuration.
- Fixed: You can now configure the cache plugin option
cache_lifetimetonull(which makes the plugin not add to the maxAge).
- Fixed: Setting the cache plugin option
respect_response_cache_directivestonullmakes the plugin use the default set of directives instead of triggering an error.
- Fixed you can now configure the cache plugin
default_ttlwithnull.
- Added PHP 8.1 support
- Added Symfony 6 support
- Removed Symfony 3.x support
- Changed stopwatch category from default to "httplug", so it's more prominent on Execution timeline view
- Changed tab texts inside profiler so that it shows ports in URL in case it's non-standard
- Changed default logging plugin monolog channel from "app" to "httplug"
- Fixed compatibility with Twig 3.x
- Fixed issue with whitespaces in URL when URL in tab was copied
- Fixed dark mode compatiblity, making some previously invisible elements visible
- Changed the way request/response body is displayed in profiler. symfony/var-dumper is used now.
- Changed badge counter of # of requests on side menu to be always visible
- Do not deprecate the service alias for the old Http\Client\HttpClient interface because different Symfony versions expect a different syntax for the deprecation, which triggers an error on some Symfony versions.
- Register client as alias for the PSR Psr\Http\Client\ClientInterface
- Deprecate relying on the Http\Client\HttpClient interface in favor of the PSR ClientInterface
- Added support for Target attribute available in Symfony 5.3
- Added
kernel.resettag to the Collector.
- Support PHP 8, dropped support for PHP 7.2.
ConfiguredClientsStrategyno longer implementsEventSubscriberInterface, this has been moved toConfiguredClientsStrategyListenerto avoid initializing the strategy on every request.
- Support the symfony/http-client
- Register PSR-17 / PSR-18 classes as services
- Allow to configure cache listeners on the cache plugin
- Tests are excluded from zip releases
- Define plugin service templates as abstract to avoid warnings from Symfony
- Support Symfony 5 and Twig 3.
- Configured clients are now tagged with
'httplug.client' - Adds a link to profiler page when response is from a Symfony application with profiler enabled
- Adding
blacklisted_pathsoption ofphp-http/cache-plugin
- Fixed error handling. Now TypeErrors and other \Throwable are correctly handled by ProfileClient
- Use tabular design in profiler for HTTP request/response headers
httplug.collector.twig.http_messageservicehttplug_markupTwig function
- Dropped support for PHP < 7.1
- Dropped support for Symfony versions that do not receive bugfixes
- Integration for VCR Plugin
- Fix compatibility with curl-client
2.*. TheCurlFactorynow builds the client using PSR-17 factories. Marked a conflict for curl-client1.*.
- Fix to pass only allowed options to the
ContentTypePlugin.
- Fix undefined
$serviceIdwhen a client is named "default".
- Autowiring support for FlexibleClient, HttpMethodsClientInterface and BatchClientInterface if they are enabled on the default/first client. (Only available with Httplug 2)
- Configuration for the
content_typeplugin - Support for namespaced Twig classes.
- Configuration option
default_client_autowiringthat you can set to false to prevent autowiring the HttpClient and HttpAsyncClient
- Moved source code to
src/and tests totests/ - Removed
twig/twigdependency - Removed hard dependency on
php-http/cache-plugin. If you want to use the cache plugin, you need to require it in your project. - Allow to set
httpplug.profiling.captured_body_lengthconfiguration tonullto avoid body limitation size.
- MockFactory now accepts any client, e.g. a mock client decorated with the
plugin client for the development panel, so that configuring a mock client
actually works. The MockFactory is now
final. - Width of the HTTPlug icon in Profiler Toolbar.
RequestExceptionInterfaceformatting (getResponse()is not called anymore).
- Support for any PSR-18 client.
- Allow version 2 of
php-http/client-common
- Fix deprecated notice when using symfony/config > 4.2
- Profiler does not display stack when client name contains dots
- Fix wrong duration calculation for asynchronous calls
- Allow to configure the
QueryDefaultsPlugin
- Add configuration option to allow making client services public if needed
- Add support for QueryParam in the AuthenticationPlugin
- Deprecation warnings on Symfony 4.1
- Allow to configure the
AddPathPluginper client, under theadd_pathconfiguration key. - Allow to configure clients with a
serviceinstead of a factory.
- Allow to configure the
BaseUriPluginper client, under thebase_uriconfiguration key.
PluginClientFactoryname conflict with PHP 5.x.
- Symfony 4 support.
- Support autowiring of
Http\Client\Common\PluginClientFactory. - Any third party library using
Http\Client\Common\PluginClientFactoryto createHttp\Client\Common\PluginClientinstances now gets zero config profiling. Http\HttplugBundle\Collector\Collector::reset()
ProfilePluginandStackPluginare no longer registered as (private) services decorators. Those decorators are now created through theHttp\HttplugBundle\Collector\PluginClientFactory.
- The
Http\HttplugBundle\ClientFactory\PluginClientFactoryclass.
- Removed wrapping auto discovered clients in a
PluginClient, prevent double profiling. - Added missing service reference for
CachePlugin'scache_key_generatorconfiguration option so that the option now actually works.
- Display of the profiler panel when used in a symfony/flex project.
- Add
Http\Message\MessageFactory,Http\Message\StreamFactory,Http\Message\UriFactoryandHttp\Client\HttpAsyncClientservices aliases for autowiring in Symfony 3.3. - Redirect requests are now displayed as nested.
- Plugins are now displayed with their FQCN instead of service id.
- The
DummyClientinterface.
- Made the "factory" configuration key optional.
- We do collect profiler data after the request is processed by a plugin. With this change we
will for example see the changes of
HeaderAppendPluginat that plugin instead of the next one.
- The real request method and target url are now displayed in the profiler.
- Support the cache plugin configuration for
respect_response_cache_directives. - Extended WebProfilerToolbar item to list request with details.
- You can now copy any request as cURL command in the profiler.
- Support for autowring in Symfony 3.3
- Improved configuration validation
- The profiler design has been updated.
- Removed stopwatch-plugin in favor of
ProfileClient.
- The configuration option
cache.config.respect_cache_headersshould no longer be used. Usecache.config.respect_response_cache_directivesinstead.
- Make sure we always have a stack
- The profiler collector has been rewritten to use objects instead of arrays.
- Bumped minimum Symfony version to 2.8.
- Updated profiler badges to match Symfony 2.8+ profiler design.
- WebProfiler is no longer broken when there was a redirect.
- Dummy client should provide methods of HttpClient and HttpAsyncClient
- You can now also configure client specific plugins in the
pluginsoption of a client. - Some plugins that you previously had to define in your own services can now be configured on the client.
- Support for BatchClient
- The stopwatch plugin included by default when using profiling.
- All clients are registered with the PluginClient (even in production)
- Improved debug tool registration
autovalue intoolbar.enabledconfigtoolbarconfig, useprofilinginstead
- Decoder, Redirect and Retry plugins can now be used and no longer trigger an error because of incorrect constructor arguments.
- Do not register debug tools when debugging is disabled (eg. in prod mode)
- Auto discovery by using the appropriate discovery class
- Support for cRUL constant names in configuration
- Flexible and HTTP Methods client support
- Discovery strategy to discover configured clients and/or add profiling
- Improved collector to include plugin stack in profile data
- Removed Puli logic and require
php-http/discovery:0.9which makes Puli optional.
- Client factories for Buzz.
- Guzzle 6 client is now created according to the Httplug specifications with automated minimal behaviour. Make sure you configure the Httplug plugins as needed, for example if you want to get exceptions for failure HTTP status codes.
- [BC] PluginClientFactory returns an instance of
Http\Client\Common\PluginClient(see php-http/client-common#14) - Plugins are loaded from their new packages
- Puli autoload issue on >=PHP 5.6, see puli/issues#190
- New configuration for authentication plugin. You may now specify the authentication credentials directly in the bundle's configuration. This will break previous authentication configuration.
- Client factories for Curl, React and Socket.
- Bug with circular reference when a client was named 'default'
- Dependency on
php-http/discovery. You must now installpuli/symfony-bundleto use auto discovery.