From 6b8385fb51275b817b00f89b41e0b8943d846e38 Mon Sep 17 00:00:00 2001 From: Michael Dowling Date: Thu, 6 Jun 2013 22:22:28 -0700 Subject: [PATCH] Adding the start of the next version changelog entry --- CHANGELOG.md | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16ce81a7..d0b6d7a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,84 @@ CHANGELOG ========= +Next version +------------ + +* New features: + - Requests now support the ability to specify an array of $options when creating a request to more easily modify a + request + - Added a static facade class that allows you to use Guzzle with static methods and mount the class to `\Guzzle`. + See `Guzzle\Http\StaticClient::mount`. + - Stream size in `Guzzle\Stream\PhpStreamRequestFactory` will now be set if Content-Length is returned in the + headers of a response + - Added `Guzzle\Cache\CacheAdapterFactory::fromCache()` to more easily create cache adapters + - Added command.request_options to `Guzzle\Service\Command\AbstractCommand` to pass request options to requests + created by a command + - `Guzzle\Http\Message\Response` now implements `\Serializable` + - `Guzzle\Service\ClientInterface::execute()` now accepts an array, single command, or Traversable + - ServiceBuilders now support storing and retrieving arbitrary data + - CachePlugin can now purge all resources for a given URI + - CachePlugin can automatically purge matching cached items when a non-idempotent request is sent to a resource + - CachePlugin now uses the Vary header to determine if a resource is a cache hit +* Bug fixes: + - Fixed a bug in `Guzzle\Http\Message\Header\Link::addLink()` +* Improvements: + - Better handling of calculating the size of a stream in `Guzzle\Stream\Stream` using fstat() and caching the size + - `Guzzle\Common\Exception\ExceptionCollection` now creates a more readable exception message + - Fixing BC break: Added back the MonologLogAdapter implementation rather than extending from PsrLog so that older + Symfony users can still use the old version of Monolog. + - Fixing BC break: Added the implementation back in for `Guzzle\Http\Message\AbstractMessage::getTokenizedHeader()`. + Now triggering an E_USER_DEPRECATED warning when used. Use `$message->getHeader()->parseParams()`. + - Several performance improvements to `Guzzle\Common\Collection` +* Interface changes: + - Additions and changes (you will need to update any implementations or subclasses you may have created): + - Added an `$options` argument to the end of the following methods of `Guzzle\Http\ClientInterface`: + createRequest, head, delete, put, patch, post, options, prepareRequest + - Added an `$options` argument to the end of `Guzzle\Http\Message\Request\RequestFactoryInterface::createRequest()` + - Added an `applyOptions()` method to `Guzzle\Http\Message\Request\RequestFactoryInterface` + - Changed `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $body = null)` to + `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $options = array())`. You can still pass in a + resource, string, or EntityBody into the $options parameter to specify the download location of the response. + - Changed `Guzzle\Common\Collection::__construct($data)` to no longer accepts a null value for `$data` but a + default `array()` + - The following methods were removed from interfaces. All of these methods are still available in the concrete + classes that implement them, but you should update your code to use alternative methods: + - Removed `Guzzle\Http\ClientInterface::setDefaultHeaders()` + - Removed `Guzzle\Http\ClientInterface::expandTemplate()` + - Removed `Guzzle\Http\ClientInterface::setRequestFactory()` + - Removed `Guzzle\Http\ClientInterface::getCurlMulti()` + - Removed `Guzzle\Http\Message\RequestInterface::canCache` + - Removed `Guzzle\Http\Message\RequestInterface::setIsRedirect` + - Removed `Guzzle\Http\Message\RequestInterface::isRedirect` +* Deprecations: + - You can now enable E_USER_DEPRECATED warnings to see if you are using a deprecated method by setting + `Guzzle\Common\Version::$emitWarnings` to true. + - All deprecated methods when invoked will call Guzzle\ + - Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use + `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. + - Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use + `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. + - Marked `Guzzle\Http\Message\Request::setIsRedirect()` as deprecated. Use the HistoryPlugin instead. + - Marked `Guzzle\Http\Message\Request::isRedirect()` as deprecated. Use the HistoryPlugin instead. + - Marked `Guzzle\Cache\CacheAdapterFactory::factory()` as deprecated + - Marked 'command.headers', 'command.response_body' and 'command.on_complete' as deprecated for AbstractCommand. + These will work through Guzzle 4.0 + - Marked `Guzzle\Service\Client::enableMagicMethods()` as deprecated + - Magic methods can no longer be disabled on a Guzzle\Service\Client +* Breaking changes in the CachePlugin internals: + - There are no longer CacheKeyProviderInterface objects. All of this logic is handled in a CacheStorageInterface + - Always setting X-cache headers on cached responses + - Default cache TTLs are now handled by the CacheStorageInterface of a CachePlugin + - `CacheStorageInterface::cache($key, Response $response, $ttl = null)` has changed to `cache(RequestInterface + $request, Response $response);` + - `CacheStorageInterface::fetch($key)` has changed to `fetch(RequestInterface $request);` + - `CacheStorageInterface::delete($key)` has changed to `delete(RequestInterface $request);` + - Added `CacheStorageInterface::purge($url)` + - `DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin + $plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache, + CanCacheStrategyInterface $canCache = null)` + - Added `RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)` + 3.6.0 (2013-05-29) ------------------