Plugin Directory

Changeset 3455518


Ignore:
Timestamp:
02/06/2026 03:56:25 PM (2 weeks ago)
Author:
camilaalvarez
Message:

version 5.3.3

Location:
visual-search
Files:
1557 added
50 edited

Legend:

Unmodified
Added
Removed
  • visual-search/trunk/impresee-creativesearch.php

    r3455463 r3455518  
    44 * Plugin URI:     https://impresee.com/woocommerce-2/
    55 * Description:    Implement an advanced and actionable search engine, powered by AI
    6  * Version:        5.3.2
     6 * Version:        5.3.3
    77 * Author:         Impresee Inc.
    88 * Author URI:     https://impresee.com
  • visual-search/trunk/impresee-creativesearch/includes/Presentation/Utils/WooProject.php

    r3455463 r3455518  
    44
    55class WooProject implements Project {
    6     const VERSION = '5.3.2';
     6    const VERSION = '5.3.3';
    77    const PROJECT_NAME = 'Creative search bar WooCommerce '.WooProject::VERSION;
    88    const DEBUG = FALSE;
  • visual-search/trunk/readme.txt

    r3455463 r3455518  
    22Contributors: Impresee
    33Tags: woocommerce, image search, search bar, visual search, product search
    4 Stable tag: 5.3.2
     4Stable tag: 5.3.3
    55Requires at least: 3.5
    66Tested up to: 6.6.1
  • visual-search/trunk/vendor/composer/autoload_files.php

    r3455463 r3455518  
    1212    'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
    1313    '167d06eae48f2347f92c96a9b8a5d2c1' => $vendorDir . '/guzzlehttp/psr7/src/impresee_functions_include.php',
    14     '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
     14    '19a92361e2eab7544e7967d93b386b13' => $vendorDir . '/guzzlehttp/guzzle/src/impresee_functions_include.php',
    1515    '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
    1616    'b33e3d135e5d9e47d845c576147bda89' => $vendorDir . '/php-di/php-di/src/functions.php',
  • visual-search/trunk/vendor/composer/autoload_psr4.php

    r3455463 r3455518  
    2323    'ImpreseeGuzzleRetry\\' => array($vendorDir . '/caseyamcl/guzzle_retry_middleware/src'),
    2424    'ImpreseeGuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
     25    'ImpreseeGuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
    2526    'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
    26     'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
    2727    'DI\\' => array($vendorDir . '/php-di/php-di/src'),
    2828    'Composer\\Installers\\' => array($vendorDir . '/composer/installers/src/Composer/Installers'),
  • visual-search/trunk/vendor/composer/autoload_static.php

    r3455463 r3455518  
    1313        'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php',
    1414        '167d06eae48f2347f92c96a9b8a5d2c1' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/impresee_functions_include.php',
    15         '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
     15        '19a92361e2eab7544e7967d93b386b13' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/impresee_functions_include.php',
    1616        '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
    1717        'b33e3d135e5d9e47d845c576147bda89' => __DIR__ . '/..' . '/php-di/php-di/src/functions.php',
     
    4848            'ImpreseeGuzzleRetry\\' => 20,
    4949            'ImpreseeGuzzleHttp\\Psr7\\' => 24,
     50            'ImpreseeGuzzleHttp\\' => 19,
    5051        ),
    5152        'G' =>
    5253        array (
    5354            'GuzzleHttp\\Promise\\' => 19,
    54             'GuzzleHttp\\' => 11,
    5555        ),
    5656        'D' =>
     
    129129            0 => __DIR__ . '/..' . '/guzzlehttp/psr7/src',
    130130        ),
     131        'ImpreseeGuzzleHttp\\' =>
     132        array (
     133            0 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src',
     134        ),
    131135        'GuzzleHttp\\Promise\\' =>
    132136        array (
    133137            0 => __DIR__ . '/..' . '/guzzlehttp/promises/src',
    134         ),
    135         'GuzzleHttp\\' =>
    136         array (
    137             0 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src',
    138138        ),
    139139        'DI\\' =>
  • visual-search/trunk/vendor/composer/installed.json

    r3455463 r3455518  
    249249        {
    250250            "name": "guzzlehttp/guzzle",
    251             "version": "6.5.5",
    252             "version_normalized": "6.5.5.0",
     251            "version": "6.5.x-dev",
     252            "version_normalized": "6.5.9999999.9999999-dev",
    253253            "source": {
    254254                "type": "git",
    255255                "url": "https://github.com/Impresee/guzzle.git",
    256                 "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e"
    257             },
    258             "dist": {
    259                 "type": "zip",
    260                 "url": "https://api.github.com/repos/Impresee/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e",
    261                 "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e",
     256                "reference": "d0d31cd24e2ab8441a8d39c31be52934f5c94032"
     257            },
     258            "dist": {
     259                "type": "zip",
     260                "url": "https://api.github.com/repos/Impresee/guzzle/zipball/d0d31cd24e2ab8441a8d39c31be52934f5c94032",
     261                "reference": "d0d31cd24e2ab8441a8d39c31be52934f5c94032",
    262262                "shasum": ""
    263263            },
     
    265265                "ext-json": "*",
    266266                "guzzlehttp/promises": "^1.0",
    267                 "guzzlehttp/psr7": "^1.6.1",
     267                "guzzlehttp/psr7": "1.x-dev",
    268268                "php": ">=5.5",
    269269                "symfony/polyfill-intl-idn": "^1.17.0"
     
    277277                "psr/log": "Required for using the Log middleware"
    278278            },
    279             "time": "2020-06-16T21:01:06+00:00",
     279            "time": "2023-08-29T15:50:21+00:00",
    280280            "type": "library",
    281281            "extra": {
     
    287287            "autoload": {
    288288                "psr-4": {
    289                     "GuzzleHttp\\": "src/"
     289                    "ImpreseeGuzzleHttp\\": "src/"
    290290                },
    291291                "files": [
    292                     "src/functions_include.php"
     292                    "src/impresee_functions_include.php"
    293293                ]
    294294            },
    295295            "autoload-dev": {
    296296                "psr-4": {
    297                     "GuzzleHttp\\Tests\\": "tests/"
     297                    "ImpreseeGuzzleHttp\\Tests\\": "tests/"
    298298                }
    299299            },
     
    320320            ],
    321321            "support": {
    322                 "source": "https://github.com/Impresee/guzzle/tree/6.5.5"
     322                "source": "https://github.com/Impresee/guzzle/tree/6.5"
    323323            },
    324324            "funding": [
     
    547547                "type": "git",
    548548                "url": "[email protected]:Impresee/impresee-creative-search-bar-php-base.git",
    549                 "reference": "08f4b8e15d648d4b4ca4eefc087f1e3f56ce120f"
    550             },
    551             "dist": {
    552                 "type": "zip",
    553                 "url": "https://api.github.com/repos/Impresee/impresee-creative-search-bar-php-base/zipball/08f4b8e15d648d4b4ca4eefc087f1e3f56ce120f",
    554                 "reference": "08f4b8e15d648d4b4ca4eefc087f1e3f56ce120f",
     549                "reference": "40b7e465ec60de6758091b1181ba66f5789e8b6e"
     550            },
     551            "dist": {
     552                "type": "zip",
     553                "url": "https://api.github.com/repos/Impresee/impresee-creative-search-bar-php-base/zipball/40b7e465ec60de6758091b1181ba66f5789e8b6e",
     554                "reference": "40b7e465ec60de6758091b1181ba66f5789e8b6e",
    555555                "shasum": ""
    556556            },
     
    558558                "caseyamcl/guzzle_retry_middleware": "^2.3",
    559559                "composer/installers": "~1.0",
    560                 "guzzlehttp/guzzle": "^6.5",
     560                "guzzlehttp/guzzle": "6.5.x-dev",
    561561                "guzzlehttp/promises": "^1.3",
    562562                "php-di/php-di": "6.0",
     
    571571                "phpunit/phpunit": "~6"
    572572            },
    573             "time": "2026-02-05T20:52:56+00:00",
     573            "time": "2026-02-06T15:07:55+00:00",
    574574            "type": "library",
    575575            "installation-source": "dist",
  • visual-search/trunk/vendor/composer/installed.php

    r3455463 r3455518  
    3939        ),
    4040        'guzzlehttp/guzzle' => array(
    41             'pretty_version' => '6.5.5',
    42             'version' => '6.5.5.0',
    43             'reference' => '9d4290de1cfd701f38099ef7e183b64b4b7b0c5e',
     41            'pretty_version' => '6.5.x-dev',
     42            'version' => '6.5.9999999.9999999-dev',
     43            'reference' => 'd0d31cd24e2ab8441a8d39c31be52934f5c94032',
    4444            'type' => 'library',
    4545            'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
     
    6868            'pretty_version' => '3.0.x-dev',
    6969            'version' => '3.0.9999999.9999999-dev',
    70             'reference' => '08f4b8e15d648d4b4ca4eefc087f1e3f56ce120f',
     70            'reference' => '40b7e465ec60de6758091b1181ba66f5789e8b6e',
    7171            'type' => 'library',
    7272            'install_path' => __DIR__ . '/../impresee/impresee-creative-search-bar-php-base',
  • visual-search/trunk/vendor/guzzlehttp/guzzle/CHANGELOG.md

    r3455463 r3455518  
    33## 6.5.5 - 2020-06-16
    44
    5 * Unpin version constraint for `symfony/polyfill-intl-idn` [#2678](https://github.com/guzzle/guzzle/pull/2678)
     5- Unpin version constraint for `symfony/polyfill-intl-idn` [#2678](https://github.com/guzzle/guzzle/pull/2678)
    66
    77## 6.5.4 - 2020-05-25
    88
    9 * Fix various intl icu issues [#2626](https://github.com/guzzle/guzzle/pull/2626)
     9- Fix various intl icu issues [#2626](https://github.com/guzzle/guzzle/pull/2626)
    1010
    1111## 6.5.3 - 2020-04-18
    1212
    13 * Use Symfony intl-idn polyfill [#2550](https://github.com/guzzle/guzzle/pull/2550)
    14 * Remove use of internal functions [#2548](https://github.com/guzzle/guzzle/pull/2548)
     13- Use Symfony intl-idn polyfill [#2550](https://github.com/guzzle/guzzle/pull/2550)
     14- Remove use of internal functions [#2548](https://github.com/guzzle/guzzle/pull/2548)
    1515
    1616## 6.5.2 - 2019-12-23
    1717
    18 * idn_to_ascii() fix for old PHP versions [#2489](https://github.com/guzzle/guzzle/pull/2489)
     18- idn_to_ascii() fix for old PHP versions [#2489](https://github.com/guzzle/guzzle/pull/2489)
    1919
    2020## 6.5.1 - 2019-12-21
    2121
    22 * Better defaults for PHP installations with old ICU lib [#2454](https://github.com/guzzle/guzzle/pull/2454)
    23 * IDN support for redirects [#2424](https://github.com/guzzle/guzzle/pull/2424)
     22- Better defaults for PHP installations with old ICU lib [#2454](https://github.com/guzzle/guzzle/pull/2454)
     23- IDN support for redirects [#2424](https://github.com/guzzle/guzzle/pull/2424)
    2424
    2525## 6.5.0 - 2019-12-07
    2626
    27 * Improvement: Added support for reset internal queue in MockHandler. [#2143](https://github.com/guzzle/guzzle/pull/2143)
    28 * Improvement: Added support to pass arbitrary options to `curl_multi_init`. [#2287](https://github.com/guzzle/guzzle/pull/2287)
    29 * Fix: Gracefully handle passing `null` to the `header` option. [#2132](https://github.com/guzzle/guzzle/pull/2132)
    30 * Fix: `RetryMiddleware` did not do exponential delay between retries due unit mismatch. [#2132](https://github.com/guzzle/guzzle/pull/2132)
     27- Improvement: Added support for reset internal queue in MockHandler. [#2143](https://github.com/guzzle/guzzle/pull/2143)
     28- Improvement: Added support to pass arbitrary options to `curl_multi_init`. [#2287](https://github.com/guzzle/guzzle/pull/2287)
     29- Fix: Gracefully handle passing `null` to the `header` option. [#2132](https://github.com/guzzle/guzzle/pull/2132)
     30- Fix: `RetryMiddleware` did not do exponential delay between retries due unit mismatch. [#2132](https://github.com/guzzle/guzzle/pull/2132)
    3131  Previously, `RetryMiddleware` would sleep for 1 millisecond, then 2 milliseconds, then 4 milliseconds.
    3232  **After this change, `RetryMiddleware` will sleep for 1 second, then 2 seconds, then 4 seconds.**
    3333  `Middleware::retry()` accepts a second callback parameter to override the default timeouts if needed.
    34 * Fix: Prevent undefined offset when using array for ssl_key options. [#2348](https://github.com/guzzle/guzzle/pull/2348)
    35 * Deprecated `ClientInterface::VERSION`
     34- Fix: Prevent undefined offset when using array for ssl_key options. [#2348](https://github.com/guzzle/guzzle/pull/2348)
     35- Deprecated `ClientInterface::VERSION`
    3636
    3737## 6.4.1 - 2019-10-23
    3838
    39 * No `guzzle.phar` was created in 6.4.0 due expired API token. This release will fix that
    40 * Added `parent::__construct()` to `FileCookieJar` and `SessionCookieJar`
     39- No `guzzle.phar` was created in 6.4.0 due expired API token. This release will fix that
     40- Added `parent::__construct()` to `FileCookieJar` and `SessionCookieJar`
    4141
    4242## 6.4.0 - 2019-10-23
    4343
    44 * Improvement: Improved error messages when using curl < 7.21.2 [#2108](https://github.com/guzzle/guzzle/pull/2108)
    45 * Fix: Test if response is readable before returning a summary in `RequestException::getResponseBodySummary()` [#2081](https://github.com/guzzle/guzzle/pull/2081)
    46 * Fix: Add support for GUZZLE_CURL_SELECT_TIMEOUT environment variable [#2161](https://github.com/guzzle/guzzle/pull/2161)
    47 * Improvement: Added `GuzzleHttp\Exception\InvalidArgumentException` [#2163](https://github.com/guzzle/guzzle/pull/2163)
    48 * Improvement: Added `GuzzleHttp\_current_time()` to use `hrtime()` if that function exists. [#2242](https://github.com/guzzle/guzzle/pull/2242)
    49 * Improvement: Added curl's `appconnect_time` in `TransferStats` [#2284](https://github.com/guzzle/guzzle/pull/2284)
    50 * Improvement: Make GuzzleException extend Throwable wherever it's available [#2273](https://github.com/guzzle/guzzle/pull/2273)
    51 * Fix: Prevent concurrent writes to file when saving `CookieJar` [#2335](https://github.com/guzzle/guzzle/pull/2335)
    52 * Improvement: Update `MockHandler` so we can test transfer time [#2362](https://github.com/guzzle/guzzle/pull/2362)
     44- Improvement: Improved error messages when using curl < 7.21.2 [#2108](https://github.com/guzzle/guzzle/pull/2108)
     45- Fix: Test if response is readable before returning a summary in `RequestException::getResponseBodySummary()` [#2081](https://github.com/guzzle/guzzle/pull/2081)
     46- Fix: Add support for GUZZLE_CURL_SELECT_TIMEOUT environment variable [#2161](https://github.com/guzzle/guzzle/pull/2161)
     47- Improvement: Added `ImpreseeGuzzleHttp\Exception\InvalidArgumentException` [#2163](https://github.com/guzzle/guzzle/pull/2163)
     48- Improvement: Added `ImpreseeGuzzleHttp\_current_time()` to use `hrtime()` if that function exists. [#2242](https://github.com/guzzle/guzzle/pull/2242)
     49- Improvement: Added curl's `appconnect_time` in `TransferStats` [#2284](https://github.com/guzzle/guzzle/pull/2284)
     50- Improvement: Make GuzzleException extend Throwable wherever it's available [#2273](https://github.com/guzzle/guzzle/pull/2273)
     51- Fix: Prevent concurrent writes to file when saving `CookieJar` [#2335](https://github.com/guzzle/guzzle/pull/2335)
     52- Improvement: Update `MockHandler` so we can test transfer time [#2362](https://github.com/guzzle/guzzle/pull/2362)
    5353
    5454## 6.3.3 - 2018-04-22
    5555
    56 * Fix: Default headers when decode_content is specified
    57 
     56- Fix: Default headers when decode_content is specified
    5857
    5958## 6.3.2 - 2018-03-26
    6059
    61 * Fix: Release process
    62 
     60- Fix: Release process
    6361
    6462## 6.3.1 - 2018-03-26
    6563
    66 * Bug fix: Parsing 0 epoch expiry times in cookies [#2014](https://github.com/guzzle/guzzle/pull/2014)
    67 * Improvement: Better ConnectException detection [#2012](https://github.com/guzzle/guzzle/pull/2012)
    68 * Bug fix: Malformed domain that contains a "/" [#1999](https://github.com/guzzle/guzzle/pull/1999)
    69 * Bug fix: Undefined offset when a cookie has no first key-value pair [#1998](https://github.com/guzzle/guzzle/pull/1998)
    70 * Improvement: Support PHPUnit 6 [#1953](https://github.com/guzzle/guzzle/pull/1953)
    71 * Bug fix: Support empty headers [#1915](https://github.com/guzzle/guzzle/pull/1915)
    72 * Bug fix: Ignore case during header modifications [#1916](https://github.com/guzzle/guzzle/pull/1916)
    73 
    74 + Minor code cleanups, documentation fixes and clarifications.
    75 
     64- Bug fix: Parsing 0 epoch expiry times in cookies [#2014](https://github.com/guzzle/guzzle/pull/2014)
     65- Improvement: Better ConnectException detection [#2012](https://github.com/guzzle/guzzle/pull/2012)
     66- Bug fix: Malformed domain that contains a "/" [#1999](https://github.com/guzzle/guzzle/pull/1999)
     67- Bug fix: Undefined offset when a cookie has no first key-value pair [#1998](https://github.com/guzzle/guzzle/pull/1998)
     68- Improvement: Support PHPUnit 6 [#1953](https://github.com/guzzle/guzzle/pull/1953)
     69- Bug fix: Support empty headers [#1915](https://github.com/guzzle/guzzle/pull/1915)
     70- Bug fix: Ignore case during header modifications [#1916](https://github.com/guzzle/guzzle/pull/1916)
     71
     72* Minor code cleanups, documentation fixes and clarifications.
    7673
    7774## 6.3.0 - 2017-06-22
    7875
    79 * Feature: force IP resolution (ipv4 or ipv6) [#1608](https://github.com/guzzle/guzzle/pull/1608), [#1659](https://github.com/guzzle/guzzle/pull/1659)
    80 * Improvement: Don't include summary in exception message when body is empty [#1621](https://github.com/guzzle/guzzle/pull/1621)
    81 * Improvement: Handle `on_headers` option in MockHandler [#1580](https://github.com/guzzle/guzzle/pull/1580)
    82 * Improvement: Added SUSE Linux CA path [#1609](https://github.com/guzzle/guzzle/issues/1609)
    83 * Improvement: Use class reference for getting the name of the class instead of using hardcoded strings [#1641](https://github.com/guzzle/guzzle/pull/1641)
    84 * Feature: Added `read_timeout` option [#1611](https://github.com/guzzle/guzzle/pull/1611)
    85 * Bug fix: PHP 7.x fixes [#1685](https://github.com/guzzle/guzzle/pull/1685), [#1686](https://github.com/guzzle/guzzle/pull/1686), [#1811](https://github.com/guzzle/guzzle/pull/1811)
    86 * Deprecation: BadResponseException instantiation without a response [#1642](https://github.com/guzzle/guzzle/pull/1642)
    87 * Feature: Added NTLM auth [#1569](https://github.com/guzzle/guzzle/pull/1569)
    88 * Feature: Track redirect HTTP status codes [#1711](https://github.com/guzzle/guzzle/pull/1711)
    89 * Improvement: Check handler type during construction [#1745](https://github.com/guzzle/guzzle/pull/1745)
    90 * Improvement: Always include the Content-Length if there's a body [#1721](https://github.com/guzzle/guzzle/pull/1721)
    91 * Feature: Added convenience method to access a cookie by name [#1318](https://github.com/guzzle/guzzle/pull/1318)
    92 * Bug fix: Fill `CURLOPT_CAPATH` and `CURLOPT_CAINFO` properly [#1684](https://github.com/guzzle/guzzle/pull/1684)
    93 * Improvement:      Use `\GuzzleHttp\Promise\rejection_for` function instead of object init [#1827](https://github.com/guzzle/guzzle/pull/1827)
    94 
    95 
    96 + Minor code cleanups, documentation fixes and clarifications.
     76- Feature: force IP resolution (ipv4 or ipv6) [#1608](https://github.com/guzzle/guzzle/pull/1608), [#1659](https://github.com/guzzle/guzzle/pull/1659)
     77- Improvement: Don't include summary in exception message when body is empty [#1621](https://github.com/guzzle/guzzle/pull/1621)
     78- Improvement: Handle `on_headers` option in MockHandler [#1580](https://github.com/guzzle/guzzle/pull/1580)
     79- Improvement: Added SUSE Linux CA path [#1609](https://github.com/guzzle/guzzle/issues/1609)
     80- Improvement: Use class reference for getting the name of the class instead of using hardcoded strings [#1641](https://github.com/guzzle/guzzle/pull/1641)
     81- Feature: Added `read_timeout` option [#1611](https://github.com/guzzle/guzzle/pull/1611)
     82- Bug fix: PHP 7.x fixes [#1685](https://github.com/guzzle/guzzle/pull/1685), [#1686](https://github.com/guzzle/guzzle/pull/1686), [#1811](https://github.com/guzzle/guzzle/pull/1811)
     83- Deprecation: BadResponseException instantiation without a response [#1642](https://github.com/guzzle/guzzle/pull/1642)
     84- Feature: Added NTLM auth [#1569](https://github.com/guzzle/guzzle/pull/1569)
     85- Feature: Track redirect HTTP status codes [#1711](https://github.com/guzzle/guzzle/pull/1711)
     86- Improvement: Check handler type during construction [#1745](https://github.com/guzzle/guzzle/pull/1745)
     87- Improvement: Always include the Content-Length if there's a body [#1721](https://github.com/guzzle/guzzle/pull/1721)
     88- Feature: Added convenience method to access a cookie by name [#1318](https://github.com/guzzle/guzzle/pull/1318)
     89- Bug fix: Fill `CURLOPT_CAPATH` and `CURLOPT_CAINFO` properly [#1684](https://github.com/guzzle/guzzle/pull/1684)
     90- Improvement: Use `\GuzzleHttp\Promise\rejection_for` function instead of object init [#1827](https://github.com/guzzle/guzzle/pull/1827)
     91
     92* Minor code cleanups, documentation fixes and clarifications.
    9793
    9894## 6.2.3 - 2017-02-28
    9995
    100 * Fix deprecations with guzzle/psr7 version 1.4
     96- Fix deprecations with guzzle/psr7 version 1.4
    10197
    10298## 6.2.2 - 2016-10-08
    10399
    104 * Allow to pass nullable Response to delay callable
    105 * Only add scheme when host is present
    106 * Fix drain case where content-length is the literal string zero
    107 * Obfuscate in-URL credentials in exceptions
     100- Allow to pass nullable Response to delay callable
     101- Only add scheme when host is present
     102- Fix drain case where content-length is the literal string zero
     103- Obfuscate in-URL credentials in exceptions
    108104
    109105## 6.2.1 - 2016-07-18
    110106
    111 * Address HTTP_PROXY security vulnerability, CVE-2016-5385:
     107- Address HTTP_PROXY security vulnerability, CVE-2016-5385:
    112108  https://httpoxy.org/
    113 * Fixing timeout bug with StreamHandler:
     109- Fixing timeout bug with StreamHandler:
    114110  https://github.com/guzzle/guzzle/pull/1488
    115 * Only read up to `Content-Length` in PHP StreamHandler to avoid timeouts when
     111- Only read up to `Content-Length` in PHP StreamHandler to avoid timeouts when
    116112  a server does not honor `Connection: close`.
    117 * Ignore URI fragment when sending requests.
     113- Ignore URI fragment when sending requests.
    118114
    119115## 6.2.0 - 2016-03-21
    120116
    121 * Feature: added `GuzzleHttp\json_encode` and `GuzzleHttp\json_decode`.
     117- Feature: added `ImpreseeGuzzleHttp\json_encode` and `ImpreseeGuzzleHttp\json_decode`.
    122118  https://github.com/guzzle/guzzle/pull/1389
    123 * Bug fix: Fix sleep calculation when waiting for delayed requests.
     119- Bug fix: Fix sleep calculation when waiting for delayed requests.
    124120  https://github.com/guzzle/guzzle/pull/1324
    125 * Feature: More flexible history containers.
     121- Feature: More flexible history containers.
    126122  https://github.com/guzzle/guzzle/pull/1373
    127 * Bug fix: defer sink stream opening in StreamHandler.
     123- Bug fix: defer sink stream opening in StreamHandler.
    128124  https://github.com/guzzle/guzzle/pull/1377
    129 * Bug fix: do not attempt to escape cookie values.
     125- Bug fix: do not attempt to escape cookie values.
    130126  https://github.com/guzzle/guzzle/pull/1406
    131 * Feature: report original content encoding and length on decoded responses.
     127- Feature: report original content encoding and length on decoded responses.
    132128  https://github.com/guzzle/guzzle/pull/1409
    133 * Bug fix: rewind seekable request bodies before dispatching to cURL.
     129- Bug fix: rewind seekable request bodies before dispatching to cURL.
    134130  https://github.com/guzzle/guzzle/pull/1422
    135 * Bug fix: provide an empty string to `http_build_query` for HHVM workaround.
     131- Bug fix: provide an empty string to `http_build_query` for HHVM workaround.
    136132  https://github.com/guzzle/guzzle/pull/1367
    137133
    138134## 6.1.1 - 2015-11-22
    139135
    140 * Bug fix: Proxy::wrapSync() now correctly proxies to the appropriate handler
     136- Bug fix: Proxy::wrapSync() now correctly proxies to the appropriate handler
    141137  https://github.com/guzzle/guzzle/commit/911bcbc8b434adce64e223a6d1d14e9a8f63e4e4
    142 * Feature: HandlerStack is now more generic.
     138- Feature: HandlerStack is now more generic.
    143139  https://github.com/guzzle/guzzle/commit/f2102941331cda544745eedd97fc8fd46e1ee33e
    144 * Bug fix: setting verify to false in the StreamHandler now disables peer
     140- Bug fix: setting verify to false in the StreamHandler now disables peer
    145141  verification. https://github.com/guzzle/guzzle/issues/1256
    146 * Feature: Middleware now uses an exception factory, including more error
     142- Feature: Middleware now uses an exception factory, including more error
    147143  context. https://github.com/guzzle/guzzle/pull/1282
    148 * Feature: better support for disabled functions.
     144- Feature: better support for disabled functions.
    149145  https://github.com/guzzle/guzzle/pull/1287
    150 * Bug fix: fixed regression where MockHandler was not using `sink`.
     146- Bug fix: fixed regression where MockHandler was not using `sink`.
    151147  https://github.com/guzzle/guzzle/pull/1292
    152148
    153149## 6.1.0 - 2015-09-08
    154150
    155 * Feature: Added the `on_stats` request option to provide access to transfer
     151- Feature: Added the `on_stats` request option to provide access to transfer
    156152  statistics for requests. https://github.com/guzzle/guzzle/pull/1202
    157 * Feature: Added the ability to persist session cookies in CookieJars.
     153- Feature: Added the ability to persist session cookies in CookieJars.
    158154  https://github.com/guzzle/guzzle/pull/1195
    159 * Feature: Some compatibility updates for Google APP Engine
     155- Feature: Some compatibility updates for Google APP Engine
    160156  https://github.com/guzzle/guzzle/pull/1216
    161 * Feature: Added support for NO_PROXY to prevent the use of a proxy based on
     157- Feature: Added support for NO_PROXY to prevent the use of a proxy based on
    162158  a simple set of rules. https://github.com/guzzle/guzzle/pull/1197
    163 * Feature: Cookies can now contain square brackets.
     159- Feature: Cookies can now contain square brackets.
    164160  https://github.com/guzzle/guzzle/pull/1237
    165 * Bug fix: Now correctly parsing `=` inside of quotes in Cookies.
     161- Bug fix: Now correctly parsing `=` inside of quotes in Cookies.
    166162  https://github.com/guzzle/guzzle/pull/1232
    167 * Bug fix: Cusotm cURL options now correctly override curl options of the
     163- Bug fix: Cusotm cURL options now correctly override curl options of the
    168164  same name. https://github.com/guzzle/guzzle/pull/1221
    169 * Bug fix: Content-Type header is now added when using an explicitly provided
     165- Bug fix: Content-Type header is now added when using an explicitly provided
    170166  multipart body. https://github.com/guzzle/guzzle/pull/1218
    171 * Bug fix: Now ignoring Set-Cookie headers that have no name.
    172 * Bug fix: Reason phrase is no longer cast to an int in some cases in the
     167- Bug fix: Now ignoring Set-Cookie headers that have no name.
     168- Bug fix: Reason phrase is no longer cast to an int in some cases in the
    173169  cURL handler. https://github.com/guzzle/guzzle/pull/1187
    174 * Bug fix: Remove the Authorization header when redirecting if the Host
     170- Bug fix: Remove the Authorization header when redirecting if the Host
    175171  header changes. https://github.com/guzzle/guzzle/pull/1207
    176 * Bug fix: Cookie path matching fixes
     172- Bug fix: Cookie path matching fixes
    177173  https://github.com/guzzle/guzzle/issues/1129
    178 * Bug fix: Fixing the cURL `body_as_string` setting
     174- Bug fix: Fixing the cURL `body_as_string` setting
    179175  https://github.com/guzzle/guzzle/pull/1201
    180 * Bug fix: quotes are no longer stripped when parsing cookies.
     176- Bug fix: quotes are no longer stripped when parsing cookies.
    181177  https://github.com/guzzle/guzzle/issues/1172
    182 * Bug fix: `form_params` and `query` now always uses the `&` separator.
     178- Bug fix: `form_params` and `query` now always uses the `&` separator.
    183179  https://github.com/guzzle/guzzle/pull/1163
    184 * Bug fix: Adding a Content-Length to PHP stream wrapper requests if not set.
     180- Bug fix: Adding a Content-Length to PHP stream wrapper requests if not set.
    185181  https://github.com/guzzle/guzzle/pull/1189
    186182
    187183## 6.0.2 - 2015-07-04
    188184
    189 * Fixed a memory leak in the curl handlers in which references to callbacks
     185- Fixed a memory leak in the curl handlers in which references to callbacks
    190186  were not being removed by `curl_reset`.
    191 * Cookies are now extracted properly before redirects.
    192 * Cookies now allow more character ranges.
    193 * Decoded Content-Encoding responses are now modified to correctly reflect
     187- Cookies are now extracted properly before redirects.
     188- Cookies now allow more character ranges.
     189- Decoded Content-Encoding responses are now modified to correctly reflect
    194190  their state if the encoding was automatically removed by a handler. This
    195191  means that the `Content-Encoding` header may be removed an the
    196192  `Content-Length` modified to reflect the message size after removing the
    197193  encoding.
    198 * Added a more explicit error message when trying to use `form_params` and
     194- Added a more explicit error message when trying to use `form_params` and
    199195  `multipart` in the same request.
    200 * Several fixes for HHVM support.
    201 * Functions are now conditionally required using an additional level of
     196- Several fixes for HHVM support.
     197- Functions are now conditionally required using an additional level of
    202198  indirection to help with global Composer installations.
    203199
    204200## 6.0.1 - 2015-05-27
    205201
    206 * Fixed a bug with serializing the `query` request option where the `&`
     202- Fixed a bug with serializing the `query` request option where the `&`
    207203  separator was missing.
    208 * Added a better error message for when `body` is provided as an array. Please
     204- Added a better error message for when `body` is provided as an array. Please
    209205  use `form_params` or `multipart` instead.
    210 * Various doc fixes.
     206- Various doc fixes.
    211207
    212208## 6.0.0 - 2015-05-26
    213209
    214 * See the UPGRADING.md document for more information.
    215 * Added `multipart` and `form_params` request options.
    216 * Added `synchronous` request option.
    217 * Added the `on_headers` request option.
    218 * Fixed `expect` handling.
    219 * No longer adding default middlewares in the client ctor. These need to be
     210- See the UPGRADING.md document for more information.
     211- Added `multipart` and `form_params` request options.
     212- Added `synchronous` request option.
     213- Added the `on_headers` request option.
     214- Fixed `expect` handling.
     215- No longer adding default middlewares in the client ctor. These need to be
    220216  present on the provided handler in order to work.
    221 * Requests are no longer initiated when sending async requests with the
     217- Requests are no longer initiated when sending async requests with the
    222218  CurlMultiHandler. This prevents unexpected recursion from requests completing
    223219  while ticking the cURL loop.
    224 * Removed the semantics of setting `default` to `true`. This is no longer
     220- Removed the semantics of setting `default` to `true`. This is no longer
    225221  required now that the cURL loop is not ticked for async requests.
    226 * Added request and response logging middleware.
    227 * No longer allowing self signed certificates when using the StreamHandler.
    228 * Ensuring that `sink` is valid if saving to a file.
    229 * Request exceptions now include a "handler context" which provides handler
     222- Added request and response logging middleware.
     223- No longer allowing self signed certificates when using the StreamHandler.
     224- Ensuring that `sink` is valid if saving to a file.
     225- Request exceptions now include a "handler context" which provides handler
    230226  specific contextual information.
    231 * Added `GuzzleHttp\RequestOptions` to allow request options to be applied
     227- Added `ImpreseeGuzzleHttp\RequestOptions` to allow request options to be applied
    232228  using constants.
    233 * `$maxHandles` has been removed from CurlMultiHandler.
    234 * `MultipartPostBody` is now part of the `guzzlehttp/psr7` package.
     229- `$maxHandles` has been removed from CurlMultiHandler.
     230- `MultipartPostBody` is now part of the `ImpreseeGuzzleHttp/psr7` package.
    235231
    236232## 5.3.0 - 2015-05-19
    237233
    238 * Mock now supports `save_to`
    239 * Marked `AbstractRequestEvent::getTransaction()` as public.
    240 * Fixed a bug in which multiple headers using different casing would overwrite
     234- Mock now supports `save_to`
     235- Marked `AbstractRequestEvent::getTransaction()` as public.
     236- Fixed a bug in which multiple headers using different casing would overwrite
    241237  previous headers in the associative array.
    242 * Added `Utils::getDefaultHandler()`
    243 * Marked `GuzzleHttp\Client::getDefaultUserAgent` as deprecated.
    244 * URL scheme is now always lowercased.
     238- Added `Utils::getDefaultHandler()`
     239- Marked `ImpreseeGuzzleHttp\Client::getDefaultUserAgent` as deprecated.
     240- URL scheme is now always lowercased.
    245241
    246242## 6.0.0-beta.1
    247243
    248 * Requires PHP >= 5.5
    249 * Updated to use PSR-7
    250   * Requires immutable messages, which basically means an event based system
     244- Requires PHP >= 5.5
     245- Updated to use PSR-7
     246  - Requires immutable messages, which basically means an event based system
    251247    owned by a request instance is no longer possible.
    252   * Utilizing the [Guzzle PSR-7 package](https://github.com/guzzle/psr7).
    253   * Removed the dependency on `guzzlehttp/streams`. These stream abstractions
    254     are available in the `guzzlehttp/psr7` package under the `GuzzleHttp\Psr7`
     248  - Utilizing the [Guzzle PSR-7 package](https://github.com/guzzle/psr7).
     249  - Removed the dependency on `ImpreseeGuzzleHttp/streams`. These stream abstractions
     250    are available in the `ImpreseeGuzzleHttp/psr7` package under the `ImpreseeGuzzleHttp\Psr7`
    255251    namespace.
    256 * Added middleware and handler system
    257   * Replaced the Guzzle event and subscriber system with a middleware system.
    258   * No longer depends on RingPHP, but rather places the HTTP handlers directly
     252- Added middleware and handler system
     253  - Replaced the Guzzle event and subscriber system with a middleware system.
     254  - No longer depends on RingPHP, but rather places the HTTP handlers directly
    259255    in Guzzle, operating on PSR-7 messages.
    260   * Retry logic is now encapsulated in `GuzzleHttp\Middleware::retry`, which
    261     means the `guzzlehttp/retry-subscriber` is now obsolete.
    262   * Mocking responses is now handled using `GuzzleHttp\Handler\MockHandler`.
    263 * Asynchronous responses
    264   * No longer supports the `future` request option to send an async request.
     256  - Retry logic is now encapsulated in `ImpreseeGuzzleHttp\Middleware::retry`, which
     257    means the `ImpreseeGuzzleHttp/retry-subscriber` is now obsolete.
     258  - Mocking responses is now handled using `ImpreseeGuzzleHttp\Handler\MockHandler`.
     259- Asynchronous responses
     260  - No longer supports the `future` request option to send an async request.
    265261    Instead, use one of the `*Async` methods of a client (e.g., `requestAsync`,
    266262    `getAsync`, etc.).
    267   * Utilizing `GuzzleHttp\Promise` instead of React's promise library to avoid
     263  - Utilizing `GuzzleHttp\Promise` instead of React's promise library to avoid
    268264    recursion required by chaining and forwarding react promises. See
    269265    https://github.com/guzzle/promises
    270   * Added `requestAsync` and `sendAsync` to send request asynchronously.
    271   * Added magic methods for `getAsync()`, `postAsync()`, etc. to send requests
     266  - Added `requestAsync` and `sendAsync` to send request asynchronously.
     267  - Added magic methods for `getAsync()`, `postAsync()`, etc. to send requests
    272268    asynchronously.
    273 * Request options
    274   * POST and form updates
    275     * Added the `form_fields` and `form_files` request options.
    276     * Removed the `GuzzleHttp\Post` namespace.
    277     * The `body` request option no longer accepts an array for POST requests.
    278   * The `exceptions` request option has been deprecated in favor of the
     269- Request options
     270  - POST and form updates
     271    - Added the `form_fields` and `form_files` request options.
     272    - Removed the `ImpreseeGuzzleHttp\Post` namespace.
     273    - The `body` request option no longer accepts an array for POST requests.
     274  - The `exceptions` request option has been deprecated in favor of the
    279275    `http_errors` request options.
    280   * The `save_to` request option has been deprecated in favor of `sink` request
     276  - The `save_to` request option has been deprecated in favor of `sink` request
    281277    option.
    282 * Clients no longer accept an array of URI template string and variables for
     278- Clients no longer accept an array of URI template string and variables for
    283279  URI variables. You will need to expand URI templates before passing them
    284280  into a client constructor or request method.
    285 * Client methods `get()`, `post()`, `put()`, `patch()`, `options()`, etc. are
     281- Client methods `get()`, `post()`, `put()`, `patch()`, `options()`, etc. are
    286282  now magic methods that will send synchronous requests.
    287 * Replaced `Utils.php` with plain functions in `functions.php`.
    288 * Removed `GuzzleHttp\Collection`.
    289 * Removed `GuzzleHttp\BatchResults`. Batched pool results are now returned as
     283- Replaced `Utils.php` with plain functions in `functions.php`.
     284- Removed `ImpreseeGuzzleHttp\Collection`.
     285- Removed `ImpreseeGuzzleHttp\BatchResults`. Batched pool results are now returned as
    290286  an array.
    291 * Removed `GuzzleHttp\Query`. Query string handling is now handled using an
     287- Removed `ImpreseeGuzzleHttp\Query`. Query string handling is now handled using an
    292288  associative array passed into the `query` request option. The query string
    293289  is serialized using PHP's `http_build_query`. If you need more control, you
    294290  can pass the query string in as a string.
    295 * `GuzzleHttp\QueryParser` has been replaced with the
    296   `GuzzleHttp\Psr7\parse_query`.
     291- `ImpreseeGuzzleHttp\QueryParser` has been replaced with the
     292  `ImpreseeGuzzleHttp\Psr7\parse_query`.
    297293
    298294## 5.2.0 - 2015-01-27
    299295
    300 * Added `AppliesHeadersInterface` to make applying headers to a request based
     296- Added `AppliesHeadersInterface` to make applying headers to a request based
    301297  on the body more generic and not specific to `PostBodyInterface`.
    302 * Reduced the number of stack frames needed to send requests.
    303 * Nested futures are now resolved in the client rather than the RequestFsm
    304 * Finishing state transitions is now handled in the RequestFsm rather than the
     298- Reduced the number of stack frames needed to send requests.
     299- Nested futures are now resolved in the client rather than the RequestFsm
     300- Finishing state transitions is now handled in the RequestFsm rather than the
    305301  RingBridge.
    306 * Added a guard in the Pool class to not use recursion for request retries.
     302- Added a guard in the Pool class to not use recursion for request retries.
    307303
    308304## 5.1.0 - 2014-12-19
    309305
    310 * Pool class no longer uses recursion when a request is intercepted.
    311 * The size of a Pool can now be dynamically adjusted using a callback.
     306- Pool class no longer uses recursion when a request is intercepted.
     307- The size of a Pool can now be dynamically adjusted using a callback.
    312308  See https://github.com/guzzle/guzzle/pull/943.
    313 * Setting a request option to `null` when creating a request with a client will
     309- Setting a request option to `null` when creating a request with a client will
    314310  ensure that the option is not set. This allows you to overwrite default
    315311  request options on a per-request basis.
    316312  See https://github.com/guzzle/guzzle/pull/937.
    317 * Added the ability to limit which protocols are allowed for redirects by
     313- Added the ability to limit which protocols are allowed for redirects by
    318314  specifying a `protocols` array in the `allow_redirects` request option.
    319 * Nested futures due to retries are now resolved when waiting for synchronous
     315- Nested futures due to retries are now resolved when waiting for synchronous
    320316  responses. See https://github.com/guzzle/guzzle/pull/947.
    321 * `"0"` is now an allowed URI path. See
     317- `"0"` is now an allowed URI path. See
    322318  https://github.com/guzzle/guzzle/pull/935.
    323 * `Query` no longer typehints on the `$query` argument in the constructor,
     319- `Query` no longer typehints on the `$query` argument in the constructor,
    324320  allowing for strings and arrays.
    325 * Exceptions thrown in the `end` event are now correctly wrapped with Guzzle
     321- Exceptions thrown in the `end` event are now correctly wrapped with Guzzle
    326322  specific exceptions if necessary.
    327323
     
    342338## 5.0.2 - 2014-10-30
    343339
    344 * Added a trailing `\r\n` to multipart/form-data payloads. See
     340- Added a trailing `\r\n` to multipart/form-data payloads. See
    345341  https://github.com/guzzle/guzzle/pull/871
    346 * Added a `GuzzleHttp\Pool::send()` convenience method to match the docs.
    347 * Status codes are now returned as integers. See
     342- Added a `ImpreseeGuzzleHttp\Pool::send()` convenience method to match the docs.
     343- Status codes are now returned as integers. See
    348344  https://github.com/guzzle/guzzle/issues/881
    349 * No longer overwriting an existing `application/x-www-form-urlencoded` header
     345- No longer overwriting an existing `application/x-www-form-urlencoded` header
    350346  when sending POST requests, allowing for customized headers. See
    351347  https://github.com/guzzle/guzzle/issues/877
    352 * Improved path URL serialization.
    353 
    354   * No longer double percent-encoding characters in the path or query string if
     348- Improved path URL serialization.
     349
     350  - No longer double percent-encoding characters in the path or query string if
    355351    they are already encoded.
    356   * Now properly encoding the supplied path to a URL object, instead of only
     352  - Now properly encoding the supplied path to a URL object, instead of only
    357353    encoding ' ' and '?'.
    358   * Note: This has been changed in 5.0.3 to now encode query string values by
     354  - Note: This has been changed in 5.0.3 to now encode query string values by
    359355    default unless the `rawString` argument is provided when setting the query
    360356    string on a URL: Now allowing many more characters to be present in the
     
    365361Bugfix release.
    366362
    367 * Fixed an issue where connection errors still returned response object in
     363- Fixed an issue where connection errors still returned response object in
    368364  error and end events event though the response is unusable. This has been
    369365  corrected so that a response is not returned in the `getResponse` method of
    370366  these events if the response did not complete. https://github.com/guzzle/guzzle/issues/867
    371 * Fixed an issue where transfer statistics were not being populated in the
     367- Fixed an issue where transfer statistics were not being populated in the
    372368  RingBridge. https://github.com/guzzle/guzzle/issues/866
    373369
     
    378374### New Features
    379375
    380 * Added support for non-blocking responses based on `guzzlehttp/guzzle-ring`.
    381 * Added a public API for creating a default HTTP adapter.
    382 * Updated the redirect plugin to be non-blocking so that redirects are sent
     376- Added support for non-blocking responses based on `ImpreseeGuzzleHttp/guzzle-ring`.
     377- Added a public API for creating a default HTTP adapter.
     378- Updated the redirect plugin to be non-blocking so that redirects are sent
    383379  concurrently. Other plugins like this can now be updated to be non-blocking.
    384 * Added a "progress" event so that you can get upload and download progress
     380- Added a "progress" event so that you can get upload and download progress
    385381  events.
    386 * Added `GuzzleHttp\Pool` which implements FutureInterface and transfers
     382- Added `ImpreseeGuzzleHttp\Pool` which implements FutureInterface and transfers
    387383  requests concurrently using a capped pool size as efficiently as possible.
    388 * Added `hasListeners()` to EmitterInterface.
    389 * Removed `GuzzleHttp\ClientInterface::sendAll` and marked
    390   `GuzzleHttp\Client::sendAll` as deprecated (it's still there, just not the
     384- Added `hasListeners()` to EmitterInterface.
     385- Removed `ImpreseeGuzzleHttp\ClientInterface::sendAll` and marked
     386  `ImpreseeGuzzleHttp\Client::sendAll` as deprecated (it's still there, just not the
    391387  recommended way).
    392388
     
    397393interfaces.
    398394
    399 * Removed the fluent interfaces (i.e., `return $this`) from requests,
    400   responses, `GuzzleHttp\Collection`, `GuzzleHttp\Url`,
    401   `GuzzleHttp\Query`, `GuzzleHttp\Post\PostBody`, and
    402   `GuzzleHttp\Cookie\SetCookie`. This blog post provides a good outline of
     395- Removed the fluent interfaces (i.e., `return $this`) from requests,
     396  responses, `ImpreseeGuzzleHttp\Collection`, `ImpreseeGuzzleHttp\Url`,
     397  `ImpreseeGuzzleHttp\Query`, `ImpreseeGuzzleHttp\Post\PostBody`, and
     398  `ImpreseeGuzzleHttp\Cookie\SetCookie`. This blog post provides a good outline of
    403399  why I did this: http://ocramius.github.io/blog/fluent-interfaces-are-evil/.
    404400  This also makes the Guzzle message interfaces compatible with the current
    405401  PSR-7 message proposal.
    406 * Removed "functions.php", so that Guzzle is truly PSR-4 compliant. Except
     402- Removed "functions.php", so that Guzzle is truly PSR-4 compliant. Except
    407403  for the HTTP request functions from function.php, these functions are now
    408   implemented in `GuzzleHttp\Utils` using camelCase. `GuzzleHttp\json_decode`
    409   moved to `GuzzleHttp\Utils::jsonDecode`. `GuzzleHttp\get_path` moved to
    410   `GuzzleHttp\Utils::getPath`. `GuzzleHttp\set_path` moved to
    411   `GuzzleHttp\Utils::setPath`. `GuzzleHttp\batch` should now be
    412   `GuzzleHttp\Pool::batch`, which returns an `objectStorage`. Using functions.php
     404  implemented in `ImpreseeGuzzleHttp\Utils` using camelCase. `ImpreseeGuzzleHttp\json_decode`
     405  moved to `ImpreseeGuzzleHttp\Utils::jsonDecode`. `ImpreseeGuzzleHttp\get_path` moved to
     406  `ImpreseeGuzzleHttp\Utils::getPath`. `ImpreseeGuzzleHttp\set_path` moved to
     407  `ImpreseeGuzzleHttp\Utils::setPath`. `ImpreseeGuzzleHttp\batch` should now be
     408  `ImpreseeGuzzleHttp\Pool::batch`, which returns an `objectStorage`. Using functions.php
    413409  caused problems for many users: they aren't PSR-4 compliant, require an
    414410  explicit include, and needed an if-guard to ensure that the functions are not
    415411  declared multiple times.
    416 * Rewrote adapter layer.
    417     * Removing all classes from `GuzzleHttp\Adapter`, these are now
    418       implemented as callables that are stored in `GuzzleHttp\Ring\Client`.
    419     * Removed the concept of "parallel adapters". Sending requests serially or
    420       concurrently is now handled using a single adapter.
    421     * Moved `GuzzleHttp\Adapter\Transaction` to `GuzzleHttp\Transaction`. The
    422       Transaction object now exposes the request, response, and client as public
    423       properties. The getters and setters have been removed.
    424 * Removed the "headers" event. This event was only useful for changing the
     412- Rewrote adapter layer.
     413  - Removing all classes from `ImpreseeGuzzleHttp\Adapter`, these are now
     414    implemented as callables that are stored in `ImpreseeGuzzleHttp\Ring\Client`.
     415  - Removed the concept of "parallel adapters". Sending requests serially or
     416    concurrently is now handled using a single adapter.
     417  - Moved `ImpreseeGuzzleHttp\Adapter\Transaction` to `ImpreseeGuzzleHttp\Transaction`. The
     418    Transaction object now exposes the request, response, and client as public
     419    properties. The getters and setters have been removed.
     420- Removed the "headers" event. This event was only useful for changing the
    425421  body a response once the headers of the response were known. You can implement
    426422  a similar behavior in a number of ways. One example might be to use a
     
    429425  expectations, and if so, change the actual stream body that is being
    430426  written to.
    431 * Removed the `asArray` parameter from
    432   `GuzzleHttp\Message\MessageInterface::getHeader`. If you want to get a header
     427- Removed the `asArray` parameter from
     428  `ImpreseeGuzzleHttp\Message\MessageInterface::getHeader`. If you want to get a header
    433429  value as an array, then use the newly added `getHeaderAsArray()` method of
    434430  `MessageInterface`. This change makes the Guzzle interfaces compatible with
    435431  the PSR-7 interfaces.
    436 * `GuzzleHttp\Message\MessageFactory` no longer allows subclasses to add
     432- `ImpreseeGuzzleHttp\Message\MessageFactory` no longer allows subclasses to add
    437433  custom request options using double-dispatch (this was an implementation
    438434  detail). Instead, you should now provide an associative array to the
    439435  constructor which is a mapping of the request option name mapping to a
    440436  function that applies the option value to a request.
    441 * Removed the concept of "throwImmediately" from exceptions and error events.
     437- Removed the concept of "throwImmediately" from exceptions and error events.
    442438  This control mechanism was used to stop a transfer of concurrent requests
    443439  from completing. This can now be handled by throwing the exception or by
    444440  cancelling a pool of requests or each outstanding future request individually.
    445 * Updated to "GuzzleHttp\Streams" 3.0.
    446     * `GuzzleHttp\Stream\StreamInterface::getContents()` no longer accepts a
    447       `maxLen` parameter. This update makes the Guzzle streams project
    448       compatible with the current PSR-7 proposal.
    449     * `GuzzleHttp\Stream\Stream::__construct`,
    450       `GuzzleHttp\Stream\Stream::factory`, and
    451       `GuzzleHttp\Stream\Utils::create` no longer accept a size in the second
    452       argument. They now accept an associative array of options, including the
    453       "size" key and "metadata" key which can be used to provide custom metadata.
     441- Updated to "ImpreseeGuzzleHttp\Streams" 3.0.
     442  - `ImpreseeGuzzleHttp\Stream\StreamInterface::getContents()` no longer accepts a
     443    `maxLen` parameter. This update makes the Guzzle streams project
     444    compatible with the current PSR-7 proposal.
     445  - `ImpreseeGuzzleHttp\Stream\Stream::__construct`,
     446    `ImpreseeGuzzleHttp\Stream\Stream::factory`, and
     447    `ImpreseeGuzzleHttp\Stream\Utils::create` no longer accept a size in the second
     448    argument. They now accept an associative array of options, including the
     449    "size" key and "metadata" key which can be used to provide custom metadata.
    454450
    455451## 4.2.2 - 2014-09-08
    456452
    457 * Fixed a memory leak in the CurlAdapter when reusing cURL handles.
    458 * No longer using `request_fulluri` in stream adapter proxies.
    459 * Relative redirects are now based on the last response, not the first response.
     453- Fixed a memory leak in the CurlAdapter when reusing cURL handles.
     454- No longer using `request_fulluri` in stream adapter proxies.
     455- Relative redirects are now based on the last response, not the first response.
    460456
    461457## 4.2.1 - 2014-08-19
    462458
    463 * Ensuring that the StreamAdapter does not always add a Content-Type header
    464 * Adding automated github releases with a phar and zip
     459- Ensuring that the StreamAdapter does not always add a Content-Type header
     460- Adding automated github releases with a phar and zip
    465461
    466462## 4.2.0 - 2014-08-17
    467463
    468 * Now merging in default options using a case-insensitive comparison.
     464- Now merging in default options using a case-insensitive comparison.
    469465  Closes https://github.com/guzzle/guzzle/issues/767
    470 * Added the ability to automatically decode `Content-Encoding` response bodies
     466- Added the ability to automatically decode `Content-Encoding` response bodies
    471467  using the `decode_content` request option. This is set to `true` by default
    472468  to decode the response body if it comes over the wire with a
     
    477473  disable automatic response decoding.
    478474  Closes https://github.com/guzzle/guzzle/issues/764
    479 * Added the ability to throw an exception immediately when transferring
     475- Added the ability to throw an exception immediately when transferring
    480476  requests in parallel. Closes https://github.com/guzzle/guzzle/issues/760
    481 * Updating guzzlehttp/streams dependency to ~2.1
    482 * No longer utilizing the now deprecated namespaced methods from the stream
     477- Updating ImpreseeGuzzleHttp/streams dependency to ~2.1
     478- No longer utilizing the now deprecated namespaced methods from the stream
    483479  package.
    484480
    485481## 4.1.8 - 2014-08-14
    486482
    487 * Fixed an issue in the CurlFactory that caused setting the `stream=false`
     483- Fixed an issue in the CurlFactory that caused setting the `stream=false`
    488484  request option to throw an exception.
    489485  See: https://github.com/guzzle/guzzle/issues/769
    490 * TransactionIterator now calls rewind on the inner iterator.
     486- TransactionIterator now calls rewind on the inner iterator.
    491487  See: https://github.com/guzzle/guzzle/pull/765
    492 * You can now set the `Content-Type` header to `multipart/form-data`
     488- You can now set the `Content-Type` header to `multipart/form-data`
    493489  when creating POST requests to force multipart bodies.
    494490  See https://github.com/guzzle/guzzle/issues/768
     
    496492## 4.1.7 - 2014-08-07
    497493
    498 * Fixed an error in the HistoryPlugin that caused the same request and response
     494- Fixed an error in the HistoryPlugin that caused the same request and response
    499495  to be logged multiple times when an HTTP protocol error occurs.
    500 * Ensuring that cURL does not add a default Content-Type when no Content-Type
     496- Ensuring that cURL does not add a default Content-Type when no Content-Type
    501497  has been supplied by the user. This prevents the adapter layer from modifying
    502498  the request that is sent over the wire after any listeners may have already
    503499  put the request in a desired state (e.g., signed the request).
    504 * Throwing an exception when you attempt to send requests that have the
     500- Throwing an exception when you attempt to send requests that have the
    505501  "stream" set to true in parallel using the MultiAdapter.
    506 * Only calling curl_multi_select when there are active cURL handles. This was
     502- Only calling curl_multi_select when there are active cURL handles. This was
    507503  previously changed and caused performance problems on some systems due to PHP
    508504  always selecting until the maximum select timeout.
    509 * Fixed a bug where multipart/form-data POST fields were not correctly
     505- Fixed a bug where multipart/form-data POST fields were not correctly
    510506  aggregated (e.g., values with "&").
    511507
    512508## 4.1.6 - 2014-08-03
    513509
    514 * Added helper methods to make it easier to represent messages as strings,
     510- Added helper methods to make it easier to represent messages as strings,
    515511  including getting the start line and getting headers as a string.
    516512
    517513## 4.1.5 - 2014-08-02
    518514
    519 * Automatically retrying cURL "Connection died, retrying a fresh connect"
     515- Automatically retrying cURL "Connection died, retrying a fresh connect"
    520516  errors when possible.
    521 * cURL implementation cleanup
    522 * Allowing multiple event subscriber listeners to be registered per event by
     517- cURL implementation cleanup
     518- Allowing multiple event subscriber listeners to be registered per event by
    523519  passing an array of arrays of listener configuration.
    524520
    525521## 4.1.4 - 2014-07-22
    526522
    527 * Fixed a bug that caused multi-part POST requests with more than one field to
     523- Fixed a bug that caused multi-part POST requests with more than one field to
    528524  serialize incorrectly.
    529 * Paths can now be set to "0"
    530 * `ResponseInterface::xml` now accepts a `libxml_options` option and added a
     525- Paths can now be set to "0"
     526- `ResponseInterface::xml` now accepts a `libxml_options` option and added a
    531527  missing default argument that was required when parsing XML response bodies.
    532 * A `save_to` stream is now created lazily, which means that files are not
     528- A `save_to` stream is now created lazily, which means that files are not
    533529  created on disk unless a request succeeds.
    534530
    535531## 4.1.3 - 2014-07-15
    536532
    537 * Various fixes to multipart/form-data POST uploads
    538 * Wrapping function.php in an if-statement to ensure Guzzle can be used
     533- Various fixes to multipart/form-data POST uploads
     534- Wrapping function.php in an if-statement to ensure Guzzle can be used
    539535  globally and in a Composer install
    540 * Fixed an issue with generating and merging in events to an event array
    541 * POST headers are only applied before sending a request to allow you to change
     536- Fixed an issue with generating and merging in events to an event array
     537- POST headers are only applied before sending a request to allow you to change
    542538  the query aggregator used before uploading
    543 * Added much more robust query string parsing
    544 * Fixed various parsing and normalization issues with URLs
    545 * Fixing an issue where multi-valued headers were not being utilized correctly
     539- Added much more robust query string parsing
     540- Fixed various parsing and normalization issues with URLs
     541- Fixing an issue where multi-valued headers were not being utilized correctly
    546542  in the StreamAdapter
    547543
    548544## 4.1.2 - 2014-06-18
    549545
    550 * Added support for sending payloads with GET requests
     546- Added support for sending payloads with GET requests
    551547
    552548## 4.1.1 - 2014-06-08
    553549
    554 * Fixed an issue related to using custom message factory options in subclasses
    555 * Fixed an issue with nested form fields in a multi-part POST
    556 * Fixed an issue with using the `json` request option for POST requests
    557 * Added `ToArrayInterface` to `GuzzleHttp\Cookie\CookieJar`
     550- Fixed an issue related to using custom message factory options in subclasses
     551- Fixed an issue with nested form fields in a multi-part POST
     552- Fixed an issue with using the `json` request option for POST requests
     553- Added `ToArrayInterface` to `ImpreseeGuzzleHttp\Cookie\CookieJar`
    558554
    559555## 4.1.0 - 2014-05-27
    560556
    561 * Added a `json` request option to easily serialize JSON payloads.
    562 * Added a `GuzzleHttp\json_decode()` wrapper to safely parse JSON.
    563 * Added `setPort()` and `getPort()` to `GuzzleHttp\Message\RequestInterface`.
    564 * Added the ability to provide an emitter to a client in the client constructor.
    565 * Added the ability to persist a cookie session using $_SESSION.
    566 * Added a trait that can be used to add event listeners to an iterator.
    567 * Removed request method constants from RequestInterface.
    568 * Fixed warning when invalid request start-lines are received.
    569 * Updated MessageFactory to work with custom request option methods.
    570 * Updated cacert bundle to latest build.
    571 
    572 4.0.2 (2014-04-16)
    573 ------------------
    574 
    575 * Proxy requests using the StreamAdapter now properly use request_fulluri (#632)
    576 * Added the ability to set scalars as POST fields (#628)
     557- Added a `json` request option to easily serialize JSON payloads.
     558- Added a `ImpreseeGuzzleHttp\json_decode()` wrapper to safely parse JSON.
     559- Added `setPort()` and `getPort()` to `ImpreseeGuzzleHttp\Message\RequestInterface`.
     560- Added the ability to provide an emitter to a client in the client constructor.
     561- Added the ability to persist a cookie session using $\_SESSION.
     562- Added a trait that can be used to add event listeners to an iterator.
     563- Removed request method constants from RequestInterface.
     564- Fixed warning when invalid request start-lines are received.
     565- Updated MessageFactory to work with custom request option methods.
     566- Updated cacert bundle to latest build.
     567
     568  4.0.2 (2014-04-16)
     569
     570---
     571
     572- Proxy requests using the StreamAdapter now properly use request_fulluri (#632)
     573- Added the ability to set scalars as POST fields (#628)
    577574
    578575## 4.0.1 - 2014-04-04
    579576
    580 * The HTTP status code of a response is now set as the exception code of
     577- The HTTP status code of a response is now set as the exception code of
    581578  RequestException objects.
    582 * 303 redirects will now correctly switch from POST to GET requests.
    583 * The default parallel adapter of a client now correctly uses the MultiAdapter.
    584 * HasDataTrait now initializes the internal data array as an empty array so
     579- 303 redirects will now correctly switch from POST to GET requests.
     580- The default parallel adapter of a client now correctly uses the MultiAdapter.
     581- HasDataTrait now initializes the internal data array as an empty array so
    585582  that the toArray() method always returns an array.
    586583
    587584## 4.0.0 - 2014-03-29
    588585
    589 * For more information on the 4.0 transition, see:
     586- For more information on the 4.0 transition, see:
    590587  http://mtdowling.com/blog/2014/03/15/guzzle-4-rc/
    591 * For information on changes and upgrading, see:
     588- For information on changes and upgrading, see:
    592589  https://github.com/guzzle/guzzle/blob/master/UPGRADING.md#3x-to-40
    593 * Added `GuzzleHttp\batch()` as a convenience function for sending requests in
     590- Added `ImpreseeGuzzleHttp\batch()` as a convenience function for sending requests in
    594591  parallel without needing to write asynchronous code.
    595 * Restructured how events are added to `GuzzleHttp\ClientInterface::sendAll()`.
     592- Restructured how events are added to `ImpreseeGuzzleHttp\ClientInterface::sendAll()`.
    596593  You can now pass a callable or an array of associative arrays where each
    597594  associative array contains the "fn", "priority", and "once" keys.
     
    599596## 4.0.0.rc-2 - 2014-03-25
    600597
    601 * Removed `getConfig()` and `setConfig()` from clients to avoid confusion
     598- Removed `getConfig()` and `setConfig()` from clients to avoid confusion
    602599  around whether things like base_url, message_factory, etc. should be able to
    603600  be retrieved or modified.
    604 * Added `getDefaultOption()` and `setDefaultOption()` to ClientInterface
    605 * functions.php functions were renamed using snake_case to match PHP idioms
    606 * Added support for `HTTP_PROXY`, `HTTPS_PROXY`, and
     601- Added `getDefaultOption()` and `setDefaultOption()` to ClientInterface
     602- functions.php functions were renamed using snake_case to match PHP idioms
     603- Added support for `HTTP_PROXY`, `HTTPS_PROXY`, and
    607604  `GUZZLE_CURL_SELECT_TIMEOUT` environment variables
    608 * Added the ability to specify custom `sendAll()` event priorities
    609 * Added the ability to specify custom stream context options to the stream
     605- Added the ability to specify custom `sendAll()` event priorities
     606- Added the ability to specify custom stream context options to the stream
    610607  adapter.
    611 * Added a functions.php function for `get_path()` and `set_path()`
    612 * CurlAdapter and MultiAdapter now use a callable to generate curl resources
    613 * MockAdapter now properly reads a body and emits a `headers` event
    614 * Updated Url class to check if a scheme and host are set before adding ":"
     608- Added a functions.php function for `get_path()` and `set_path()`
     609- CurlAdapter and MultiAdapter now use a callable to generate curl resources
     610- MockAdapter now properly reads a body and emits a `headers` event
     611- Updated Url class to check if a scheme and host are set before adding ":"
    615612  and "//". This allows empty Url (e.g., "") to be serialized as "".
    616 * Parsing invalid XML no longer emits warnings
    617 * Curl classes now properly throw AdapterExceptions
    618 * Various performance optimizations
    619 * Streams are created with the faster `Stream\create()` function
    620 * Marked deprecation_proxy() as internal
    621 * Test server is now a collection of static methods on a class
     613- Parsing invalid XML no longer emits warnings
     614- Curl classes now properly throw AdapterExceptions
     615- Various performance optimizations
     616- Streams are created with the faster `Stream\create()` function
     617- Marked deprecation_proxy() as internal
     618- Test server is now a collection of static methods on a class
    622619
    623620## 4.0.0-rc.1 - 2014-03-15
    624621
    625 * See https://github.com/guzzle/guzzle/blob/master/UPGRADING.md#3x-to-40
     622- See https://github.com/guzzle/guzzle/blob/master/UPGRADING.md#3x-to-40
    626623
    627624## 3.8.1 - 2014-01-28
    628625
    629 * Bug: Always using GET requests when redirecting from a 303 response
    630 * Bug: CURLOPT_SSL_VERIFYHOST is now correctly set to false when setting `$certificateAuthority` to false in
     626- Bug: Always using GET requests when redirecting from a 303 response
     627- Bug: CURLOPT_SSL_VERIFYHOST is now correctly set to false when setting `$certificateAuthority` to false in
    631628  `Guzzle\Http\ClientInterface::setSslVerification()`
    632 * Bug: RedirectPlugin now uses strict RFC 3986 compliance when combining a base URL with a relative URL
    633 * Bug: The body of a request can now be set to `"0"`
    634 * Sending PHP stream requests no longer forces `HTTP/1.0`
    635 * Adding more information to ExceptionCollection exceptions so that users have more context, including a stack trace of
     629- Bug: RedirectPlugin now uses strict RFC 3986 compliance when combining a base URL with a relative URL
     630- Bug: The body of a request can now be set to `"0"`
     631- Sending PHP stream requests no longer forces `HTTP/1.0`
     632- Adding more information to ExceptionCollection exceptions so that users have more context, including a stack trace of
    636633  each sub-exception
    637 * Updated the `$ref` attribute in service descriptions to merge over any existing parameters of a schema (rather than
     634- Updated the `$ref` attribute in service descriptions to merge over any existing parameters of a schema (rather than
    638635  clobbering everything).
    639 * Merging URLs will now use the query string object from the relative URL (thus allowing custom query aggregators)
    640 * Query strings are now parsed in a way that they do no convert empty keys with no value to have a dangling `=`.
     636- Merging URLs will now use the query string object from the relative URL (thus allowing custom query aggregators)
     637- Query strings are now parsed in a way that they do no convert empty keys with no value to have a dangling `=`.
    641638  For example `foo&bar=baz` is now correctly parsed and recognized as `foo&bar=baz` rather than `foo=&bar=baz`.
    642 * Now properly escaping the regular expression delimiter when matching Cookie domains.
    643 * Network access is now disabled when loading XML documents
     639- Now properly escaping the regular expression delimiter when matching Cookie domains.
     640- Network access is now disabled when loading XML documents
    644641
    645642## 3.8.0 - 2013-12-05
    646643
    647 * Added the ability to define a POST name for a file
    648 * JSON response parsing now properly walks additionalProperties
    649 * cURL error code 18 is now retried automatically in the BackoffPlugin
    650 * Fixed a cURL error when URLs contain fragments
    651 * Fixed an issue in the BackoffPlugin retry event where it was trying to access all exceptions as if they were
     644- Added the ability to define a POST name for a file
     645- JSON response parsing now properly walks additionalProperties
     646- cURL error code 18 is now retried automatically in the BackoffPlugin
     647- Fixed a cURL error when URLs contain fragments
     648- Fixed an issue in the BackoffPlugin retry event where it was trying to access all exceptions as if they were
    652649  CurlExceptions
    653 * CURLOPT_PROGRESS function fix for PHP 5.5 (69fcc1e)
    654 * Added the ability for Guzzle to work with older versions of cURL that do not support `CURLOPT_TIMEOUT_MS`
    655 * Fixed a bug that was encountered when parsing empty header parameters
    656 * UriTemplate now has a `setRegex()` method to match the docs
    657 * The `debug` request parameter now checks if it is truthy rather than if it exists
    658 * Setting the `debug` request parameter to true shows verbose cURL output instead of using the LogPlugin
    659 * Added the ability to combine URLs using strict RFC 3986 compliance
    660 * Command objects can now return the validation errors encountered by the command
    661 * Various fixes to cache revalidation (#437 and 29797e5)
    662 * Various fixes to the AsyncPlugin
    663 * Cleaned up build scripts
     650- CURLOPT_PROGRESS function fix for PHP 5.5 (69fcc1e)
     651- Added the ability for Guzzle to work with older versions of cURL that do not support `CURLOPT_TIMEOUT_MS`
     652- Fixed a bug that was encountered when parsing empty header parameters
     653- UriTemplate now has a `setRegex()` method to match the docs
     654- The `debug` request parameter now checks if it is truthy rather than if it exists
     655- Setting the `debug` request parameter to true shows verbose cURL output instead of using the LogPlugin
     656- Added the ability to combine URLs using strict RFC 3986 compliance
     657- Command objects can now return the validation errors encountered by the command
     658- Various fixes to cache revalidation (#437 and 29797e5)
     659- Various fixes to the AsyncPlugin
     660- Cleaned up build scripts
    664661
    665662## 3.7.4 - 2013-10-02
    666663
    667 * Bug fix: 0 is now an allowed value in a description parameter that has a default value (#430)
    668 * Bug fix: SchemaFormatter now returns an integer when formatting to a Unix timestamp
     664- Bug fix: 0 is now an allowed value in a description parameter that has a default value (#430)
     665- Bug fix: SchemaFormatter now returns an integer when formatting to a Unix timestamp
    669666  (see https://github.com/aws/aws-sdk-php/issues/147)
    670 * Bug fix: Cleaned up and fixed URL dot segment removal to properly resolve internal dots
    671 * Minimum PHP version is now properly specified as 5.3.3 (up from 5.3.2) (#420)
    672 * Updated the bundled cacert.pem (#419)
    673 * OauthPlugin now supports adding authentication to headers or query string (#425)
     667- Bug fix: Cleaned up and fixed URL dot segment removal to properly resolve internal dots
     668- Minimum PHP version is now properly specified as 5.3.3 (up from 5.3.2) (#420)
     669- Updated the bundled cacert.pem (#419)
     670- OauthPlugin now supports adding authentication to headers or query string (#425)
    674671
    675672## 3.7.3 - 2013-09-08
    676673
    677 * Added the ability to get the exception associated with a request/command when using `MultiTransferException` and
     674- Added the ability to get the exception associated with a request/command when using `MultiTransferException` and
    678675  `CommandTransferException`.
    679 * Setting `additionalParameters` of a response to false is now honored when parsing responses with a service description
    680 * Schemas are only injected into response models when explicitly configured.
    681 * No longer guessing Content-Type based on the path of a request. Content-Type is now only guessed based on the path of
     676- Setting `additionalParameters` of a response to false is now honored when parsing responses with a service description
     677- Schemas are only injected into response models when explicitly configured.
     678- No longer guessing Content-Type based on the path of a request. Content-Type is now only guessed based on the path of
    682679  an EntityBody.
    683 * Bug fix: ChunkedIterator can now properly chunk a \Traversable as well as an \Iterator.
    684 * Bug fix: FilterIterator now relies on `\Iterator` instead of `\Traversable`.
    685 * Bug fix: Gracefully handling malformed responses in RequestMediator::writeResponseBody()
    686 * Bug fix: Replaced call to canCache with canCacheRequest in the CallbackCanCacheStrategy of the CachePlugin
    687 * Bug fix: Visiting XML attributes first before visiting XML children when serializing requests
    688 * Bug fix: Properly parsing headers that contain commas contained in quotes
    689 * Bug fix: mimetype guessing based on a filename is now case-insensitive
     680- Bug fix: ChunkedIterator can now properly chunk a \Traversable as well as an \Iterator.
     681- Bug fix: FilterIterator now relies on `\Iterator` instead of `\Traversable`.
     682- Bug fix: Gracefully handling malformed responses in RequestMediator::writeResponseBody()
     683- Bug fix: Replaced call to canCache with canCacheRequest in the CallbackCanCacheStrategy of the CachePlugin
     684- Bug fix: Visiting XML attributes first before visiting XML children when serializing requests
     685- Bug fix: Properly parsing headers that contain commas contained in quotes
     686- Bug fix: mimetype guessing based on a filename is now case-insensitive
    690687
    691688## 3.7.2 - 2013-08-02
    692689
    693 * Bug fix: Properly URL encoding paths when using the PHP-only version of the UriTemplate expander
     690- Bug fix: Properly URL encoding paths when using the PHP-only version of the UriTemplate expander
    694691  See https://github.com/guzzle/guzzle/issues/371
    695 * Bug fix: Cookie domains are now matched correctly according to RFC 6265
     692- Bug fix: Cookie domains are now matched correctly according to RFC 6265
    696693  See https://github.com/guzzle/guzzle/issues/377
    697 * Bug fix: GET parameters are now used when calculating an OAuth signature
    698 * Bug fix: Fixed an issue with cache revalidation where the If-None-Match header was being double quoted
    699 * `Guzzle\Common\AbstractHasDispatcher::dispatch()` now returns the event that was dispatched
    700 * `Guzzle\Http\QueryString::factory()` now guesses the most appropriate query aggregator to used based on the input.
     694- Bug fix: GET parameters are now used when calculating an OAuth signature
     695- Bug fix: Fixed an issue with cache revalidation where the If-None-Match header was being double quoted
     696- `Guzzle\Common\AbstractHasDispatcher::dispatch()` now returns the event that was dispatched
     697- `Guzzle\Http\QueryString::factory()` now guesses the most appropriate query aggregator to used based on the input.
    701698  See https://github.com/guzzle/guzzle/issues/379
    702 * Added a way to add custom domain objects to service description parsing using the `operation.parse_class` event. See
     699- Added a way to add custom domain objects to service description parsing using the `operation.parse_class` event. See
    703700  https://github.com/guzzle/guzzle/pull/380
    704 * cURL multi cleanup and optimizations
     701- cURL multi cleanup and optimizations
    705702
    706703## 3.7.1 - 2013-07-05
    707704
    708 * Bug fix: Setting default options on a client now works
    709 * Bug fix: Setting options on HEAD requests now works. See #352
    710 * Bug fix: Moving stream factory before send event to before building the stream. See #353
    711 * Bug fix: Cookies no longer match on IP addresses per RFC 6265
    712 * Bug fix: Correctly parsing header parameters that are in `<>` and quotes
    713 * Added `cert` and `ssl_key` as request options
    714 * `Host` header can now diverge from the host part of a URL if the header is set manually
    715 * `Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor` was rewritten to change from using SimpleXML to XMLWriter
    716 * OAuth parameters are only added via the plugin if they aren't already set
    717 * Exceptions are now thrown when a URL cannot be parsed
    718 * Returning `false` if `Guzzle\Http\EntityBody::getContentMd5()` fails
    719 * Not setting a `Content-MD5` on a command if calculating the Content-MD5 fails via the CommandContentMd5Plugin
     705- Bug fix: Setting default options on a client now works
     706- Bug fix: Setting options on HEAD requests now works. See #352
     707- Bug fix: Moving stream factory before send event to before building the stream. See #353
     708- Bug fix: Cookies no longer match on IP addresses per RFC 6265
     709- Bug fix: Correctly parsing header parameters that are in `<>` and quotes
     710- Added `cert` and `ssl_key` as request options
     711- `Host` header can now diverge from the host part of a URL if the header is set manually
     712- `Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor` was rewritten to change from using SimpleXML to XMLWriter
     713- OAuth parameters are only added via the plugin if they aren't already set
     714- Exceptions are now thrown when a URL cannot be parsed
     715- Returning `false` if `Guzzle\Http\EntityBody::getContentMd5()` fails
     716- Not setting a `Content-MD5` on a command if calculating the Content-MD5 fails via the CommandContentMd5Plugin
    720717
    721718## 3.7.0 - 2013-06-10
    722719
    723 * See UPGRADING.md for more information on how to upgrade.
    724 * Requests now support the ability to specify an array of $options when creating a request to more easily modify a
     720- See UPGRADING.md for more information on how to upgrade.
     721- Requests now support the ability to specify an array of $options when creating a request to more easily modify a
    725722  request. You can pass a 'request.options' configuration setting to a client to apply default request options to
    726723  every request created by a client (e.g. default query string variables, headers, curl options, etc.).
    727 * Added a static facade class that allows you to use Guzzle with static methods and mount the class to `\Guzzle`.
     724- Added a static facade class that allows you to use Guzzle with static methods and mount the class to `\Guzzle`.
    728725  See `Guzzle\Http\StaticClient::mount`.
    729 * Added `command.request_options` to `Guzzle\Service\Command\AbstractCommand` to pass request options to requests
    730       created by a command (e.g. custom headers, query string variables, timeout settings, etc.).
    731 * Stream size in `Guzzle\Stream\PhpStreamRequestFactory` will now be set if Content-Length is returned in the
     726- Added `command.request_options` to `Guzzle\Service\Command\AbstractCommand` to pass request options to requests
     727  created by a command (e.g. custom headers, query string variables, timeout settings, etc.).
     728- Stream size in `Guzzle\Stream\PhpStreamRequestFactory` will now be set if Content-Length is returned in the
    732729  headers of a response
    733 * Added `Guzzle\Common\Collection::setPath($path, $value)` to set a value into an array using a nested key
     730- Added `Guzzle\Common\Collection::setPath($path, $value)` to set a value into an array using a nested key
    734731  (e.g. `$collection->setPath('foo/baz/bar', 'test'); echo $collection['foo']['bar']['bar'];`)
    735 * ServiceBuilders now support storing and retrieving arbitrary data
    736 * CachePlugin can now purge all resources for a given URI
    737 * CachePlugin can automatically purge matching cached items when a non-idempotent request is sent to a resource
    738 * CachePlugin now uses the Vary header to determine if a resource is a cache hit
    739 * `Guzzle\Http\Message\Response` now implements `\Serializable`
    740 * Added `Guzzle\Cache\CacheAdapterFactory::fromCache()` to more easily create cache adapters
    741 * `Guzzle\Service\ClientInterface::execute()` now accepts an array, single command, or Traversable
    742 * Fixed a bug in `Guzzle\Http\Message\Header\Link::addLink()`
    743 * Better handling of calculating the size of a stream in `Guzzle\Stream\Stream` using fstat() and caching the size
    744 * `Guzzle\Common\Exception\ExceptionCollection` now creates a more readable exception message
    745 * Fixing BC break: Added back the MonologLogAdapter implementation rather than extending from PsrLog so that older
     732- ServiceBuilders now support storing and retrieving arbitrary data
     733- CachePlugin can now purge all resources for a given URI
     734- CachePlugin can automatically purge matching cached items when a non-idempotent request is sent to a resource
     735- CachePlugin now uses the Vary header to determine if a resource is a cache hit
     736- `Guzzle\Http\Message\Response` now implements `\Serializable`
     737- Added `Guzzle\Cache\CacheAdapterFactory::fromCache()` to more easily create cache adapters
     738- `Guzzle\Service\ClientInterface::execute()` now accepts an array, single command, or Traversable
     739- Fixed a bug in `Guzzle\Http\Message\Header\Link::addLink()`
     740- Better handling of calculating the size of a stream in `Guzzle\Stream\Stream` using fstat() and caching the size
     741- `Guzzle\Common\Exception\ExceptionCollection` now creates a more readable exception message
     742- Fixing BC break: Added back the MonologLogAdapter implementation rather than extending from PsrLog so that older
    746743  Symfony users can still use the old version of Monolog.
    747 * Fixing BC break: Added the implementation back in for `Guzzle\Http\Message\AbstractMessage::getTokenizedHeader()`.
     744- Fixing BC break: Added the implementation back in for `Guzzle\Http\Message\AbstractMessage::getTokenizedHeader()`.
    748745  Now triggering an E_USER_DEPRECATED warning when used. Use `$message->getHeader()->parseParams()`.
    749 * Several performance improvements to `Guzzle\Common\Collection`
    750 * Added an `$options` argument to the end of the following methods of `Guzzle\Http\ClientInterface`:
     746- Several performance improvements to `Guzzle\Common\Collection`
     747- Added an `$options` argument to the end of the following methods of `Guzzle\Http\ClientInterface`:
    751748  createRequest, head, delete, put, patch, post, options, prepareRequest
    752 * Added an `$options` argument to the end of `Guzzle\Http\Message\Request\RequestFactoryInterface::createRequest()`
    753 * Added an `applyOptions()` method to `Guzzle\Http\Message\Request\RequestFactoryInterface`
    754 * Changed `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $body = null)` to
     749- Added an `$options` argument to the end of `Guzzle\Http\Message\Request\RequestFactoryInterface::createRequest()`
     750- Added an `applyOptions()` method to `Guzzle\Http\Message\Request\RequestFactoryInterface`
     751- Changed `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $body = null)` to
    755752  `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $options = array())`. You can still pass in a
    756753  resource, string, or EntityBody into the $options parameter to specify the download location of the response.
    757 * Changed `Guzzle\Common\Collection::__construct($data)` to no longer accepts a null value for `$data` but a
     754- Changed `Guzzle\Common\Collection::__construct($data)` to no longer accepts a null value for `$data` but a
    758755  default `array()`
    759 * Added `Guzzle\Stream\StreamInterface::isRepeatable`
    760 * Removed `Guzzle\Http\ClientInterface::setDefaultHeaders(). Use
    761   $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. or
     756- Added `Guzzle\Stream\StreamInterface::isRepeatable`
     757- Removed `Guzzle\Http\ClientInterface::setDefaultHeaders(). Use
     758$client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. or
    762759  $client->getConfig()->setPath('request.options/headers', array('header_name' => 'value'))`.
    763 * Removed `Guzzle\Http\ClientInterface::getDefaultHeaders(). Use $client->getConfig()->getPath('request.options/headers')`.
    764 * Removed `Guzzle\Http\ClientInterface::expandTemplate()`
    765 * Removed `Guzzle\Http\ClientInterface::setRequestFactory()`
    766 * Removed `Guzzle\Http\ClientInterface::getCurlMulti()`
    767 * Removed `Guzzle\Http\Message\RequestInterface::canCache`
    768 * Removed `Guzzle\Http\Message\RequestInterface::setIsRedirect`
    769 * Removed `Guzzle\Http\Message\RequestInterface::isRedirect`
    770 * Made `Guzzle\Http\Client::expandTemplate` and `getUriTemplate` protected methods.
    771 * You can now enable E_USER_DEPRECATED warnings to see if you are using a deprecated method by setting
     760- Removed `Guzzle\Http\ClientInterface::getDefaultHeaders(). Use $client->getConfig()->getPath('request.options/headers')`.
     761- Removed `Guzzle\Http\ClientInterface::expandTemplate()`
     762- Removed `Guzzle\Http\ClientInterface::setRequestFactory()`
     763- Removed `Guzzle\Http\ClientInterface::getCurlMulti()`
     764- Removed `Guzzle\Http\Message\RequestInterface::canCache`
     765- Removed `Guzzle\Http\Message\RequestInterface::setIsRedirect`
     766- Removed `Guzzle\Http\Message\RequestInterface::isRedirect`
     767- Made `Guzzle\Http\Client::expandTemplate` and `getUriTemplate` protected methods.
     768- You can now enable E_USER_DEPRECATED warnings to see if you are using a deprecated method by setting
    772769  `Guzzle\Common\Version::$emitWarnings` to true.
    773 * Marked `Guzzle\Http\Message\Request::isResponseBodyRepeatable()` as deprecated. Use
    774       `$request->getResponseBody()->isRepeatable()` instead.
    775 * Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use
     770- Marked `Guzzle\Http\Message\Request::isResponseBodyRepeatable()` as deprecated. Use
     771  `$request->getResponseBody()->isRepeatable()` instead.
     772- Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use
    776773  `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead.
    777 * Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use
     774- Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use
    778775  `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead.
    779 * Marked `Guzzle\Http\Message\Request::setIsRedirect()` as deprecated. Use the HistoryPlugin instead.
    780 * Marked `Guzzle\Http\Message\Request::isRedirect()` as deprecated. Use the HistoryPlugin instead.
    781 * Marked `Guzzle\Cache\CacheAdapterFactory::factory()` as deprecated
    782 * Marked 'command.headers', 'command.response_body' and 'command.on_complete' as deprecated for AbstractCommand.
     776- Marked `Guzzle\Http\Message\Request::setIsRedirect()` as deprecated. Use the HistoryPlugin instead.
     777- Marked `Guzzle\Http\Message\Request::isRedirect()` as deprecated. Use the HistoryPlugin instead.
     778- Marked `Guzzle\Cache\CacheAdapterFactory::factory()` as deprecated
     779- Marked 'command.headers', 'command.response_body' and 'command.on_complete' as deprecated for AbstractCommand.
    783780  These will work through Guzzle 4.0
    784 * Marked 'request.params' for `Guzzle\Http\Client` as deprecated. Use [request.options][params].
    785 * Marked `Guzzle\Service\Client::enableMagicMethods()` as deprecated. Magic methods can no longer be disabled on a Guzzle\Service\Client.
    786 * Marked `Guzzle\Service\Client::getDefaultHeaders()` as deprecated. Use $client->getConfig()->getPath('request.options/headers')`.
    787 * Marked `Guzzle\Service\Client::setDefaultHeaders()` as deprecated. Use $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`.
    788 * Marked `Guzzle\Parser\Url\UrlParser` as deprecated. Just use PHP's `parse_url()` and percent encode your UTF-8.
    789 * Marked `Guzzle\Common\Collection::inject()` as deprecated.
    790 * Marked `Guzzle\Plugin\CurlAuth\CurlAuthPlugin` as deprecated. Use `$client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest');`
    791 * CacheKeyProviderInterface and DefaultCacheKeyProvider are no longer used. All of this logic is handled in a
     781- Marked 'request.params' for `Guzzle\Http\Client` as deprecated. Use [request.options][params].
     782- Marked `Guzzle\Service\Client::enableMagicMethods()` as deprecated. Magic methods can no longer be disabled on a Guzzle\Service\Client.
     783- Marked `Guzzle\Service\Client::getDefaultHeaders()` as deprecated. Use $client->getConfig()->getPath('request.options/headers')`.
     784- Marked `Guzzle\Service\Client::setDefaultHeaders()` as deprecated. Use $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`.
     785- Marked `Guzzle\Parser\Url\UrlParser` as deprecated. Just use PHP's `parse_url()` and percent encode your UTF-8.
     786- Marked `Guzzle\Common\Collection::inject()` as deprecated.
     787- Marked `Guzzle\Plugin\CurlAuth\CurlAuthPlugin` as deprecated. Use `$client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest');`
     788- CacheKeyProviderInterface and DefaultCacheKeyProvider are no longer used. All of this logic is handled in a
    792789  CacheStorageInterface. These two objects and interface will be removed in a future version.
    793 * Always setting X-cache headers on cached responses
    794 * Default cache TTLs are now handled by the CacheStorageInterface of a CachePlugin
    795 * `CacheStorageInterface::cache($key, Response $response, $ttl = null)` has changed to `cache(RequestInterface
    796   $request, Response $response);`
    797 * `CacheStorageInterface::fetch($key)` has changed to `fetch(RequestInterface $request);`
    798 * `CacheStorageInterface::delete($key)` has changed to `delete(RequestInterface $request);`
    799 * Added `CacheStorageInterface::purge($url)`
    800 * `DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin
    801   $plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache,
    802   CanCacheStrategyInterface $canCache = null)`
    803 * Added `RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)`
     790- Always setting X-cache headers on cached responses
     791- Default cache TTLs are now handled by the CacheStorageInterface of a CachePlugin
     792- `CacheStorageInterface::cache($key, Response $response, $ttl = null)` has changed to `cache(RequestInterface
     793$request, Response $response);`
     794- `CacheStorageInterface::fetch($key)` has changed to `fetch(RequestInterface $request);`
     795- `CacheStorageInterface::delete($key)` has changed to `delete(RequestInterface $request);`
     796- Added `CacheStorageInterface::purge($url)`
     797- `DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin
     798$plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache,
     799CanCacheStrategyInterface $canCache = null)`
     800- Added `RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)`
    804801
    805802## 3.6.0 - 2013-05-29
    806803
    807 * ServiceDescription now implements ToArrayInterface
    808 * Added command.hidden_params to blacklist certain headers from being treated as additionalParameters
    809 * Guzzle can now correctly parse incomplete URLs
    810 * Mixed casing of headers are now forced to be a single consistent casing across all values for that header.
    811 * Messages internally use a HeaderCollection object to delegate handling case-insensitive header resolution
    812 * Removed the whole changedHeader() function system of messages because all header changes now go through addHeader().
    813 * Specific header implementations can be created for complex headers. When a message creates a header, it uses a
     804- ServiceDescription now implements ToArrayInterface
     805- Added command.hidden_params to blacklist certain headers from being treated as additionalParameters
     806- Guzzle can now correctly parse incomplete URLs
     807- Mixed casing of headers are now forced to be a single consistent casing across all values for that header.
     808- Messages internally use a HeaderCollection object to delegate handling case-insensitive header resolution
     809- Removed the whole changedHeader() function system of messages because all header changes now go through addHeader().
     810- Specific header implementations can be created for complex headers. When a message creates a header, it uses a
    814811  HeaderFactory which can map specific headers to specific header classes. There is now a Link header and
    815812  CacheControl header implementation.
    816 * Removed from interface: Guzzle\Http\ClientInterface::setUriTemplate
    817 * Removed from interface: Guzzle\Http\ClientInterface::setCurlMulti()
    818 * Removed Guzzle\Http\Message\Request::receivedRequestHeader() and implemented this functionality in
     813- Removed from interface: Guzzle\Http\ClientInterface::setUriTemplate
     814- Removed from interface: Guzzle\Http\ClientInterface::setCurlMulti()
     815- Removed Guzzle\Http\Message\Request::receivedRequestHeader() and implemented this functionality in
    819816  Guzzle\Http\Curl\RequestMediator
    820 * Removed the optional $asString parameter from MessageInterface::getHeader(). Just cast the header to a string.
    821 * Removed the optional $tryChunkedTransfer option from Guzzle\Http\Message\EntityEnclosingRequestInterface
    822 * Removed the $asObjects argument from Guzzle\Http\Message\MessageInterface::getHeaders()
    823 * Removed Guzzle\Parser\ParserRegister::get(). Use getParser()
    824 * Removed Guzzle\Parser\ParserRegister::set(). Use registerParser().
    825 * All response header helper functions return a string rather than mixing Header objects and strings inconsistently
    826 * Removed cURL blacklist support. This is no longer necessary now that Expect, Accept, etc. are managed by Guzzle
     817- Removed the optional $asString parameter from MessageInterface::getHeader(). Just cast the header to a string.
     818- Removed the optional $tryChunkedTransfer option from Guzzle\Http\Message\EntityEnclosingRequestInterface
     819- Removed the $asObjects argument from Guzzle\Http\Message\MessageInterface::getHeaders()
     820- Removed Guzzle\Parser\ParserRegister::get(). Use getParser()
     821- Removed Guzzle\Parser\ParserRegister::set(). Use registerParser().
     822- All response header helper functions return a string rather than mixing Header objects and strings inconsistently
     823- Removed cURL blacklist support. This is no longer necessary now that Expect, Accept, etc. are managed by Guzzle
    827824  directly via interfaces
    828 * Removed the injecting of a request object onto a response object. The methods to get and set a request still exist
     825- Removed the injecting of a request object onto a response object. The methods to get and set a request still exist
    829826  but are a no-op until removed.
    830 * Most classes that used to require a `Guzzle\Service\Command\CommandInterface` typehint now request a
     827- Most classes that used to require a `Guzzle\Service\Command\CommandInterface` typehint now request a
    831828  `Guzzle\Service\Command\ArrayCommandInterface`.
    832 * Added `Guzzle\Http\Message\RequestInterface::startResponse()` to the RequestInterface to handle injecting a response
     829- Added `Guzzle\Http\Message\RequestInterface::startResponse()` to the RequestInterface to handle injecting a response
    833830  on a request while the request is still being transferred
    834 * The ability to case-insensitively search for header values
    835 * Guzzle\Http\Message\Header::hasExactHeader
    836 * Guzzle\Http\Message\Header::raw. Use getAll()
    837 * Deprecated cache control specific methods on Guzzle\Http\Message\AbstractMessage. Use the CacheControl header object
     831- The ability to case-insensitively search for header values
     832- Guzzle\Http\Message\Header::hasExactHeader
     833- Guzzle\Http\Message\Header::raw. Use getAll()
     834- Deprecated cache control specific methods on Guzzle\Http\Message\AbstractMessage. Use the CacheControl header object
    838835  instead.
    839 * `Guzzle\Service\Command\CommandInterface` now extends from ToArrayInterface and ArrayAccess
    840 * Added the ability to cast Model objects to a string to view debug information.
     836- `Guzzle\Service\Command\CommandInterface` now extends from ToArrayInterface and ArrayAccess
     837- Added the ability to cast Model objects to a string to view debug information.
    841838
    842839## 3.5.0 - 2013-05-13
    843840
    844 * Bug: Fixed a regression so that request responses are parsed only once per oncomplete event rather than multiple times
    845 * Bug: Better cleanup of one-time events across the board (when an event is meant to fire once, it will now remove
     841- Bug: Fixed a regression so that request responses are parsed only once per oncomplete event rather than multiple times
     842- Bug: Better cleanup of one-time events across the board (when an event is meant to fire once, it will now remove
    846843  itself from the EventDispatcher)
    847 * Bug: `Guzzle\Log\MessageFormatter` now properly writes "total_time" and "connect_time" values
    848 * Bug: Cloning an EntityEnclosingRequest now clones the EntityBody too
    849 * Bug: Fixed an undefined index error when parsing nested JSON responses with a sentAs parameter that reference a
     844- Bug: `Guzzle\Log\MessageFormatter` now properly writes "total_time" and "connect_time" values
     845- Bug: Cloning an EntityEnclosingRequest now clones the EntityBody too
     846- Bug: Fixed an undefined index error when parsing nested JSON responses with a sentAs parameter that reference a
    850847  non-existent key
    851 * Bug: All __call() method arguments are now required (helps with mocking frameworks)
    852 * Deprecating Response::getRequest() and now using a shallow clone of a request object to remove a circular reference
     848- Bug: All \_\_call() method arguments are now required (helps with mocking frameworks)
     849- Deprecating Response::getRequest() and now using a shallow clone of a request object to remove a circular reference
    853850  to help with refcount based garbage collection of resources created by sending a request
    854 * Deprecating ZF1 cache and log adapters. These will be removed in the next major version.
    855 * Deprecating `Response::getPreviousResponse()` (method signature still exists, but it's deprecated). Use the
     851- Deprecating ZF1 cache and log adapters. These will be removed in the next major version.
     852- Deprecating `Response::getPreviousResponse()` (method signature still exists, but it's deprecated). Use the
    856853  HistoryPlugin for a history.
    857 * Added a `responseBody` alias for the `response_body` location
    858 * Refactored internals to no longer rely on Response::getRequest()
    859 * HistoryPlugin can now be cast to a string
    860 * HistoryPlugin now logs transactions rather than requests and responses to more accurately keep track of the requests
     854- Added a `responseBody` alias for the `response_body` location
     855- Refactored internals to no longer rely on Response::getRequest()
     856- HistoryPlugin can now be cast to a string
     857- HistoryPlugin now logs transactions rather than requests and responses to more accurately keep track of the requests
    861858  and responses that are sent over the wire
    862 * Added `getEffectiveUrl()` and `getRedirectCount()` to Response objects
     859- Added `getEffectiveUrl()` and `getRedirectCount()` to Response objects
    863860
    864861## 3.4.3 - 2013-04-30
    865862
    866 * Bug fix: Fixing bug introduced in 3.4.2 where redirect responses are duplicated on the final redirected response
    867 * Added a check to re-extract the temp cacert bundle from the phar before sending each request
     863- Bug fix: Fixing bug introduced in 3.4.2 where redirect responses are duplicated on the final redirected response
     864- Added a check to re-extract the temp cacert bundle from the phar before sending each request
    868865
    869866## 3.4.2 - 2013-04-29
    870867
    871 * Bug fix: Stream objects now work correctly with "a" and "a+" modes
    872 * Bug fix: Removing `Transfer-Encoding: chunked` header when a Content-Length is present
    873 * Bug fix: AsyncPlugin no longer forces HEAD requests
    874 * Bug fix: DateTime timezones are now properly handled when using the service description schema formatter
    875 * Bug fix: CachePlugin now properly handles stale-if-error directives when a request to the origin server fails
    876 * Setting a response on a request will write to the custom request body from the response body if one is specified
    877 * LogPlugin now writes to php://output when STDERR is undefined
    878 * Added the ability to set multiple POST files for the same key in a single call
    879 * application/x-www-form-urlencoded POSTs now use the utf-8 charset by default
    880 * Added the ability to queue CurlExceptions to the MockPlugin
    881 * Cleaned up how manual responses are queued on requests (removed "queued_response" and now using request.before_send)
    882 * Configuration loading now allows remote files
     868- Bug fix: Stream objects now work correctly with "a" and "a+" modes
     869- Bug fix: Removing `Transfer-Encoding: chunked` header when a Content-Length is present
     870- Bug fix: AsyncPlugin no longer forces HEAD requests
     871- Bug fix: DateTime timezones are now properly handled when using the service description schema formatter
     872- Bug fix: CachePlugin now properly handles stale-if-error directives when a request to the origin server fails
     873- Setting a response on a request will write to the custom request body from the response body if one is specified
     874- LogPlugin now writes to php://output when STDERR is undefined
     875- Added the ability to set multiple POST files for the same key in a single call
     876- application/x-www-form-urlencoded POSTs now use the utf-8 charset by default
     877- Added the ability to queue CurlExceptions to the MockPlugin
     878- Cleaned up how manual responses are queued on requests (removed "queued_response" and now using request.before_send)
     879- Configuration loading now allows remote files
    883880
    884881## 3.4.1 - 2013-04-16
    885882
    886 * Large refactoring to how CurlMulti handles work. There is now a proxy that sits in front of a pool of CurlMulti
     883- Large refactoring to how CurlMulti handles work. There is now a proxy that sits in front of a pool of CurlMulti
    887884  handles. This greatly simplifies the implementation, fixes a couple bugs, and provides a small performance boost.
    888 * Exceptions are now properly grouped when sending requests in parallel
    889 * Redirects are now properly aggregated when a multi transaction fails
    890 * Redirects now set the response on the original object even in the event of a failure
    891 * Bug fix: Model names are now properly set even when using $refs
    892 * Added support for PHP 5.5's CurlFile to prevent warnings with the deprecated @ syntax
    893 * Added support for oauth_callback in OAuth signatures
    894 * Added support for oauth_verifier in OAuth signatures
    895 * Added support to attempt to retrieve a command first literally, then ucfirst, the with inflection
     885- Exceptions are now properly grouped when sending requests in parallel
     886- Redirects are now properly aggregated when a multi transaction fails
     887- Redirects now set the response on the original object even in the event of a failure
     888- Bug fix: Model names are now properly set even when using $refs
     889- Added support for PHP 5.5's CurlFile to prevent warnings with the deprecated @ syntax
     890- Added support for oauth_callback in OAuth signatures
     891- Added support for oauth_verifier in OAuth signatures
     892- Added support to attempt to retrieve a command first literally, then ucfirst, the with inflection
    896893
    897894## 3.4.0 - 2013-04-11
    898895
    899 * Bug fix: URLs are now resolved correctly based on http://tools.ietf.org/html/rfc3986#section-5.2. #289
    900 * Bug fix: Absolute URLs with a path in a service description will now properly override the base URL. #289
    901 * Bug fix: Parsing a query string with a single PHP array value will now result in an array. #263
    902 * Bug fix: Better normalization of the User-Agent header to prevent duplicate headers. #264.
    903 * Bug fix: Added `number` type to service descriptions.
    904 * Bug fix: empty parameters are removed from an OAuth signature
    905 * Bug fix: Revalidating a cache entry prefers the Last-Modified over the Date header
    906 * Bug fix: Fixed "array to string" error when validating a union of types in a service description
    907 * Bug fix: Removed code that attempted to determine the size of a stream when data is written to the stream
    908 * Bug fix: Not including an `oauth_token` if the value is null in the OauthPlugin.
    909 * Bug fix: Now correctly aggregating successful requests and failed requests in CurlMulti when a redirect occurs.
    910 * The new default CURLOPT_TIMEOUT setting has been increased to 150 seconds so that Guzzle works on poor connections.
    911 * Added a feature to EntityEnclosingRequest::setBody() that will automatically set the Content-Type of the request if
     896- Bug fix: URLs are now resolved correctly based on http://tools.ietf.org/html/rfc3986#section-5.2. #289
     897- Bug fix: Absolute URLs with a path in a service description will now properly override the base URL. #289
     898- Bug fix: Parsing a query string with a single PHP array value will now result in an array. #263
     899- Bug fix: Better normalization of the User-Agent header to prevent duplicate headers. #264.
     900- Bug fix: Added `number` type to service descriptions.
     901- Bug fix: empty parameters are removed from an OAuth signature
     902- Bug fix: Revalidating a cache entry prefers the Last-Modified over the Date header
     903- Bug fix: Fixed "array to string" error when validating a union of types in a service description
     904- Bug fix: Removed code that attempted to determine the size of a stream when data is written to the stream
     905- Bug fix: Not including an `oauth_token` if the value is null in the OauthPlugin.
     906- Bug fix: Now correctly aggregating successful requests and failed requests in CurlMulti when a redirect occurs.
     907- The new default CURLOPT_TIMEOUT setting has been increased to 150 seconds so that Guzzle works on poor connections.
     908- Added a feature to EntityEnclosingRequest::setBody() that will automatically set the Content-Type of the request if
    912909  the Content-Type can be determined based on the entity body or the path of the request.
    913 * Added the ability to overwrite configuration settings in a client when grabbing a throwaway client from a builder.
    914 * Added support for a PSR-3 LogAdapter.
    915 * Added a `command.after_prepare` event
    916 * Added `oauth_callback` parameter to the OauthPlugin
    917 * Added the ability to create a custom stream class when using a stream factory
    918 * Added a CachingEntityBody decorator
    919 * Added support for `additionalParameters` in service descriptions to define how custom parameters are serialized.
    920 * The bundled SSL certificate is now provided in the phar file and extracted when running Guzzle from a phar.
    921 * You can now send any EntityEnclosingRequest with POST fields or POST files and cURL will handle creating bodies
    922 * POST requests using a custom entity body are now treated exactly like PUT requests but with a custom cURL method. This
     910- Added the ability to overwrite configuration settings in a client when grabbing a throwaway client from a builder.
     911- Added support for a PSR-3 LogAdapter.
     912- Added a `command.after_prepare` event
     913- Added `oauth_callback` parameter to the OauthPlugin
     914- Added the ability to create a custom stream class when using a stream factory
     915- Added a CachingEntityBody decorator
     916- Added support for `additionalParameters` in service descriptions to define how custom parameters are serialized.
     917- The bundled SSL certificate is now provided in the phar file and extracted when running Guzzle from a phar.
     918- You can now send any EntityEnclosingRequest with POST fields or POST files and cURL will handle creating bodies
     919- POST requests using a custom entity body are now treated exactly like PUT requests but with a custom cURL method. This
    923920  means that the redirect behavior of POST requests with custom bodies will not be the same as POST requests that use
    924921  POST fields or files (the latter is only used when emulating a form POST in the browser).
    925 * Lots of cleanup to CurlHandle::factory and RequestFactory::createRequest
     922- Lots of cleanup to CurlHandle::factory and RequestFactory::createRequest
    926923
    927924## 3.3.1 - 2013-03-10
    928925
    929 * Added the ability to create PHP streaming responses from HTTP requests
    930 * Bug fix: Running any filters when parsing response headers with service descriptions
    931 * Bug fix: OauthPlugin fixes to allow for multi-dimensional array signing, and sorting parameters before signing
    932 * Bug fix: Removed the adding of default empty arrays and false Booleans to responses in order to be consistent across
     926- Added the ability to create PHP streaming responses from HTTP requests
     927- Bug fix: Running any filters when parsing response headers with service descriptions
     928- Bug fix: OauthPlugin fixes to allow for multi-dimensional array signing, and sorting parameters before signing
     929- Bug fix: Removed the adding of default empty arrays and false Booleans to responses in order to be consistent across
    933930  response location visitors.
    934 * Bug fix: Removed the possibility of creating configuration files with circular dependencies
    935 * RequestFactory::create() now uses the key of a POST file when setting the POST file name
    936 * Added xmlAllowEmpty to serialize an XML body even if no XML specific parameters are set
     931- Bug fix: Removed the possibility of creating configuration files with circular dependencies
     932- RequestFactory::create() now uses the key of a POST file when setting the POST file name
     933- Added xmlAllowEmpty to serialize an XML body even if no XML specific parameters are set
    937934
    938935## 3.3.0 - 2013-03-03
    939936
    940 * A large number of performance optimizations have been made
    941 * Bug fix: Added 'wb' as a valid write mode for streams
    942 * Bug fix: `Guzzle\Http\Message\Response::json()` now allows scalar values to be returned
    943 * Bug fix: Fixed bug in `Guzzle\Http\Message\Response` where wrapping quotes were stripped from `getEtag()`
    944 * BC: Removed `Guzzle\Http\Utils` class
    945 * BC: Setting a service description on a client will no longer modify the client's command factories.
    946 * BC: Emitting IO events from a RequestMediator is now a parameter that must be set in a request's curl options using
     937- A large number of performance optimizations have been made
     938- Bug fix: Added 'wb' as a valid write mode for streams
     939- Bug fix: `Guzzle\Http\Message\Response::json()` now allows scalar values to be returned
     940- Bug fix: Fixed bug in `Guzzle\Http\Message\Response` where wrapping quotes were stripped from `getEtag()`
     941- BC: Removed `Guzzle\Http\Utils` class
     942- BC: Setting a service description on a client will no longer modify the client's command factories.
     943- BC: Emitting IO events from a RequestMediator is now a parameter that must be set in a request's curl options using
    947944  the 'emit_io' key. This was previously set under a request's parameters using 'curl.emit_io'
    948 * BC: `Guzzle\Stream\Stream::getWrapper()` and `Guzzle\Stream\Stream::getSteamType()` are no longer converted to
     945- BC: `Guzzle\Stream\Stream::getWrapper()` and `Guzzle\Stream\Stream::getSteamType()` are no longer converted to
    949946  lowercase
    950 * Operation parameter objects are now lazy loaded internally
    951 * Added ErrorResponsePlugin that can throw errors for responses defined in service description operations' errorResponses
    952 * Added support for instantiating responseType=class responseClass classes. Classes must implement
     947- Operation parameter objects are now lazy loaded internally
     948- Added ErrorResponsePlugin that can throw errors for responses defined in service description operations' errorResponses
     949- Added support for instantiating responseType=class responseClass classes. Classes must implement
    953950  `Guzzle\Service\Command\ResponseClassInterface`
    954 * Added support for additionalProperties for top-level parameters in responseType=model responseClasses. These
     951- Added support for additionalProperties for top-level parameters in responseType=model responseClasses. These
    955952  additional properties also support locations and can be used to parse JSON responses where the outermost part of the
    956953  JSON is an array
    957 * Added support for nested renaming of JSON models (rename sentAs to name)
    958 * CachePlugin
    959     * Added support for stale-if-error so that the CachePlugin can now serve stale content from the cache on error
    960     * Debug headers can now added to cached response in the CachePlugin
     954- Added support for nested renaming of JSON models (rename sentAs to name)
     955- CachePlugin
     956  - Added support for stale-if-error so that the CachePlugin can now serve stale content from the cache on error
     957  - Debug headers can now added to cached response in the CachePlugin
    961958
    962959## 3.2.0 - 2013-02-14
    963960
    964 * CurlMulti is no longer reused globally. A new multi object is created per-client. This helps to isolate clients.
    965 * URLs with no path no longer contain a "/" by default
    966 * Guzzle\Http\QueryString does no longer manages the leading "?". This is now handled in Guzzle\Http\Url.
    967 * BadResponseException no longer includes the full request and response message
    968 * Adding setData() to Guzzle\Service\Description\ServiceDescriptionInterface
    969 * Adding getResponseBody() to Guzzle\Http\Message\RequestInterface
    970 * Various updates to classes to use ServiceDescriptionInterface type hints rather than ServiceDescription
    971 * Header values can now be normalized into distinct values when multiple headers are combined with a comma separated list
    972 * xmlEncoding can now be customized for the XML declaration of a XML service description operation
    973 * Guzzle\Http\QueryString now uses Guzzle\Http\QueryAggregator\QueryAggregatorInterface objects to add custom value
     961- CurlMulti is no longer reused globally. A new multi object is created per-client. This helps to isolate clients.
     962- URLs with no path no longer contain a "/" by default
     963- Guzzle\Http\QueryString does no longer manages the leading "?". This is now handled in Guzzle\Http\Url.
     964- BadResponseException no longer includes the full request and response message
     965- Adding setData() to Guzzle\Service\Description\ServiceDescriptionInterface
     966- Adding getResponseBody() to Guzzle\Http\Message\RequestInterface
     967- Various updates to classes to use ServiceDescriptionInterface type hints rather than ServiceDescription
     968- Header values can now be normalized into distinct values when multiple headers are combined with a comma separated list
     969- xmlEncoding can now be customized for the XML declaration of a XML service description operation
     970- Guzzle\Http\QueryString now uses Guzzle\Http\QueryAggregator\QueryAggregatorInterface objects to add custom value
    974971  aggregation and no longer uses callbacks
    975 * The URL encoding implementation of Guzzle\Http\QueryString can now be customized
    976 * Bug fix: Filters were not always invoked for array service description parameters
    977 * Bug fix: Redirects now use a target response body rather than a temporary response body
    978 * Bug fix: The default exponential backoff BackoffPlugin was not giving when the request threshold was exceeded
    979 * Bug fix: Guzzle now takes the first found value when grabbing Cache-Control directives
     972- The URL encoding implementation of Guzzle\Http\QueryString can now be customized
     973- Bug fix: Filters were not always invoked for array service description parameters
     974- Bug fix: Redirects now use a target response body rather than a temporary response body
     975- Bug fix: The default exponential backoff BackoffPlugin was not giving when the request threshold was exceeded
     976- Bug fix: Guzzle now takes the first found value when grabbing Cache-Control directives
    980977
    981978## 3.1.2 - 2013-01-27
    982979
    983 * Refactored how operation responses are parsed. Visitors now include a before() method responsible for parsing the
     980- Refactored how operation responses are parsed. Visitors now include a before() method responsible for parsing the
    984981  response body. For example, the XmlVisitor now parses the XML response into an array in the before() method.
    985 * Fixed an issue where cURL would not automatically decompress responses when the Accept-Encoding header was sent
    986 * CURLOPT_SSL_VERIFYHOST is never set to 1 because it is deprecated (see 5e0ff2ef20f839e19d1eeb298f90ba3598784444)
    987 * Fixed a bug where redirect responses were not chained correctly using getPreviousResponse()
    988 * Setting default headers on a client after setting the user-agent will not erase the user-agent setting
     982- Fixed an issue where cURL would not automatically decompress responses when the Accept-Encoding header was sent
     983- CURLOPT_SSL_VERIFYHOST is never set to 1 because it is deprecated (see 5e0ff2ef20f839e19d1eeb298f90ba3598784444)
     984- Fixed a bug where redirect responses were not chained correctly using getPreviousResponse()
     985- Setting default headers on a client after setting the user-agent will not erase the user-agent setting
    989986
    990987## 3.1.1 - 2013-01-20
    991988
    992 * Adding wildcard support to Guzzle\Common\Collection::getPath()
    993 * Adding alias support to ServiceBuilder configs
    994 * Adding Guzzle\Service\Resource\CompositeResourceIteratorFactory and cleaning up factory interface
     989- Adding wildcard support to Guzzle\Common\Collection::getPath()
     990- Adding alias support to ServiceBuilder configs
     991- Adding Guzzle\Service\Resource\CompositeResourceIteratorFactory and cleaning up factory interface
    995992
    996993## 3.1.0 - 2013-01-12
    997994
    998 * BC: CurlException now extends from RequestException rather than BadResponseException
    999 * BC: Renamed Guzzle\Plugin\Cache\CanCacheStrategyInterface::canCache() to canCacheRequest() and added CanCacheResponse()
    1000 * Added getData to ServiceDescriptionInterface
    1001 * Added context array to RequestInterface::setState()
    1002 * Bug: Removing hard dependency on the BackoffPlugin from Guzzle\Http
    1003 * Bug: Adding required content-type when JSON request visitor adds JSON to a command
    1004 * Bug: Fixing the serialization of a service description with custom data
    1005 * Made it easier to deal with exceptions thrown when transferring commands or requests in parallel by providing
     995- BC: CurlException now extends from RequestException rather than BadResponseException
     996- BC: Renamed Guzzle\Plugin\Cache\CanCacheStrategyInterface::canCache() to canCacheRequest() and added CanCacheResponse()
     997- Added getData to ServiceDescriptionInterface
     998- Added context array to RequestInterface::setState()
     999- Bug: Removing hard dependency on the BackoffPlugin from Guzzle\Http
     1000- Bug: Adding required content-type when JSON request visitor adds JSON to a command
     1001- Bug: Fixing the serialization of a service description with custom data
     1002- Made it easier to deal with exceptions thrown when transferring commands or requests in parallel by providing
    10061003  an array of successful and failed responses
    1007 * Moved getPath from Guzzle\Service\Resource\Model to Guzzle\Common\Collection
    1008 * Added Guzzle\Http\IoEmittingEntityBody
    1009 * Moved command filtration from validators to location visitors
    1010 * Added `extends` attributes to service description parameters
    1011 * Added getModels to ServiceDescriptionInterface
     1004- Moved getPath from Guzzle\Service\Resource\Model to Guzzle\Common\Collection
     1005- Added Guzzle\Http\IoEmittingEntityBody
     1006- Moved command filtration from validators to location visitors
     1007- Added `extends` attributes to service description parameters
     1008- Added getModels to ServiceDescriptionInterface
    10121009
    10131010## 3.0.7 - 2012-12-19
    10141011
    1015 * Fixing phar detection when forcing a cacert to system if null or true
    1016 * Allowing filename to be passed to `Guzzle\Http\Message\Request::setResponseBody()`
    1017 * Cleaning up `Guzzle\Common\Collection::inject` method
    1018 * Adding a response_body location to service descriptions
     1012- Fixing phar detection when forcing a cacert to system if null or true
     1013- Allowing filename to be passed to `Guzzle\Http\Message\Request::setResponseBody()`
     1014- Cleaning up `Guzzle\Common\Collection::inject` method
     1015- Adding a response_body location to service descriptions
    10191016
    10201017## 3.0.6 - 2012-12-09
    10211018
    1022 * CurlMulti performance improvements
    1023 * Adding setErrorResponses() to Operation
    1024 * composer.json tweaks
     1019- CurlMulti performance improvements
     1020- Adding setErrorResponses() to Operation
     1021- composer.json tweaks
    10251022
    10261023## 3.0.5 - 2012-11-18
    10271024
    1028 * Bug: Fixing an infinite recursion bug caused from revalidating with the CachePlugin
    1029 * Bug: Response body can now be a string containing "0"
    1030 * Bug: Using Guzzle inside of a phar uses system by default but now allows for a custom cacert
    1031 * Bug: QueryString::fromString now properly parses query string parameters that contain equal signs
    1032 * Added support for XML attributes in service description responses
    1033 * DefaultRequestSerializer now supports array URI parameter values for URI template expansion
    1034 * Added better mimetype guessing to requests and post files
     1025- Bug: Fixing an infinite recursion bug caused from revalidating with the CachePlugin
     1026- Bug: Response body can now be a string containing "0"
     1027- Bug: Using Guzzle inside of a phar uses system by default but now allows for a custom cacert
     1028- Bug: QueryString::fromString now properly parses query string parameters that contain equal signs
     1029- Added support for XML attributes in service description responses
     1030- DefaultRequestSerializer now supports array URI parameter values for URI template expansion
     1031- Added better mimetype guessing to requests and post files
    10351032
    10361033## 3.0.4 - 2012-11-11
    10371034
    1038 * Bug: Fixed a bug when adding multiple cookies to a request to use the correct glue value
    1039 * Bug: Cookies can now be added that have a name, domain, or value set to "0"
    1040 * Bug: Using the system cacert bundle when using the Phar
    1041 * Added json and xml methods to Response to make it easier to parse JSON and XML response data into data structures
    1042 * Enhanced cookie jar de-duplication
    1043 * Added the ability to enable strict cookie jars that throw exceptions when invalid cookies are added
    1044 * Added setStream to StreamInterface to actually make it possible to implement custom rewind behavior for entity bodies
    1045 * Added the ability to create any sort of hash for a stream rather than just an MD5 hash
     1035- Bug: Fixed a bug when adding multiple cookies to a request to use the correct glue value
     1036- Bug: Cookies can now be added that have a name, domain, or value set to "0"
     1037- Bug: Using the system cacert bundle when using the Phar
     1038- Added json and xml methods to Response to make it easier to parse JSON and XML response data into data structures
     1039- Enhanced cookie jar de-duplication
     1040- Added the ability to enable strict cookie jars that throw exceptions when invalid cookies are added
     1041- Added setStream to StreamInterface to actually make it possible to implement custom rewind behavior for entity bodies
     1042- Added the ability to create any sort of hash for a stream rather than just an MD5 hash
    10461043
    10471044## 3.0.3 - 2012-11-04
    10481045
    1049 * Implementing redirects in PHP rather than cURL
    1050 * Added PECL URI template extension and using as default parser if available
    1051 * Bug: Fixed Content-Length parsing of Response factory
    1052 * Adding rewind() method to entity bodies and streams. Allows for custom rewinding of non-repeatable streams.
    1053 * Adding ToArrayInterface throughout library
    1054 * Fixing OauthPlugin to create unique nonce values per request
     1046- Implementing redirects in PHP rather than cURL
     1047- Added PECL URI template extension and using as default parser if available
     1048- Bug: Fixed Content-Length parsing of Response factory
     1049- Adding rewind() method to entity bodies and streams. Allows for custom rewinding of non-repeatable streams.
     1050- Adding ToArrayInterface throughout library
     1051- Fixing OauthPlugin to create unique nonce values per request
    10551052
    10561053## 3.0.2 - 2012-10-25
    10571054
    1058 * Magic methods are enabled by default on clients
    1059 * Magic methods return the result of a command
    1060 * Service clients no longer require a base_url option in the factory
    1061 * Bug: Fixed an issue with URI templates where null template variables were being expanded
     1055- Magic methods are enabled by default on clients
     1056- Magic methods return the result of a command
     1057- Service clients no longer require a base_url option in the factory
     1058- Bug: Fixed an issue with URI templates where null template variables were being expanded
    10621059
    10631060## 3.0.1 - 2012-10-22
    10641061
    1065 * Models can now be used like regular collection objects by calling filter, map, etc.
    1066 * Models no longer require a Parameter structure or initial data in the constructor
    1067 * Added a custom AppendIterator to get around a PHP bug with the `\AppendIterator`
     1062- Models can now be used like regular collection objects by calling filter, map, etc.
     1063- Models no longer require a Parameter structure or initial data in the constructor
     1064- Added a custom AppendIterator to get around a PHP bug with the `\AppendIterator`
    10681065
    10691066## 3.0.0 - 2012-10-15
    10701067
    1071 * Rewrote service description format to be based on Swagger
    1072     * Now based on JSON schema
    1073     * Added nested input structures and nested response models
    1074     * Support for JSON and XML input and output models
    1075     * Renamed `commands` to `operations`
    1076     * Removed dot class notation
    1077     * Removed custom types
    1078 * Broke the project into smaller top-level namespaces to be more component friendly
    1079 * Removed support for XML configs and descriptions. Use arrays or JSON files.
    1080 * Removed the Validation component and Inspector
    1081 * Moved all cookie code to Guzzle\Plugin\Cookie
    1082 * Magic methods on a Guzzle\Service\Client now return the command un-executed.
    1083 * Calling getResult() or getResponse() on a command will lazily execute the command if needed.
    1084 * Now shipping with cURL's CA certs and using it by default
    1085 * Added previousResponse() method to response objects
    1086 * No longer sending Accept and Accept-Encoding headers on every request
    1087 * Only sending an Expect header by default when a payload is greater than 1MB
    1088 * Added/moved client options:
    1089     * curl.blacklist to curl.option.blacklist
    1090     * Added ssl.certificate_authority
    1091 * Added a Guzzle\Iterator component
    1092 * Moved plugins from Guzzle\Http\Plugin to Guzzle\Plugin
    1093 * Added a more robust backoff retry strategy (replaced the ExponentialBackoffPlugin)
    1094 * Added a more robust caching plugin
    1095 * Added setBody to response objects
    1096 * Updating LogPlugin to use a more flexible MessageFormatter
    1097 * Added a completely revamped build process
    1098 * Cleaning up Collection class and removing default values from the get method
    1099 * Fixed ZF2 cache adapters
     1068- Rewrote service description format to be based on Swagger
     1069  - Now based on JSON schema
     1070  - Added nested input structures and nested response models
     1071  - Support for JSON and XML input and output models
     1072  - Renamed `commands` to `operations`
     1073  - Removed dot class notation
     1074  - Removed custom types
     1075- Broke the project into smaller top-level namespaces to be more component friendly
     1076- Removed support for XML configs and descriptions. Use arrays or JSON files.
     1077- Removed the Validation component and Inspector
     1078- Moved all cookie code to Guzzle\Plugin\Cookie
     1079- Magic methods on a Guzzle\Service\Client now return the command un-executed.
     1080- Calling getResult() or getResponse() on a command will lazily execute the command if needed.
     1081- Now shipping with cURL's CA certs and using it by default
     1082- Added previousResponse() method to response objects
     1083- No longer sending Accept and Accept-Encoding headers on every request
     1084- Only sending an Expect header by default when a payload is greater than 1MB
     1085- Added/moved client options:
     1086  - curl.blacklist to curl.option.blacklist
     1087  - Added ssl.certificate_authority
     1088- Added a Guzzle\Iterator component
     1089- Moved plugins from Guzzle\Http\Plugin to Guzzle\Plugin
     1090- Added a more robust backoff retry strategy (replaced the ExponentialBackoffPlugin)
     1091- Added a more robust caching plugin
     1092- Added setBody to response objects
     1093- Updating LogPlugin to use a more flexible MessageFormatter
     1094- Added a completely revamped build process
     1095- Cleaning up Collection class and removing default values from the get method
     1096- Fixed ZF2 cache adapters
    11001097
    11011098## 2.8.8 - 2012-10-15
    11021099
    1103 * Bug: Fixed a cookie issue that caused dot prefixed domains to not match where popular browsers did
     1100- Bug: Fixed a cookie issue that caused dot prefixed domains to not match where popular browsers did
    11041101
    11051102## 2.8.7 - 2012-09-30
    11061103
    1107 * Bug: Fixed config file aliases for JSON includes
    1108 * Bug: Fixed cookie bug on a request object by using CookieParser to parse cookies on requests
    1109 * Bug: Removing the path to a file when sending a Content-Disposition header on a POST upload
    1110 * Bug: Hardening request and response parsing to account for missing parts
    1111 * Bug: Fixed PEAR packaging
    1112 * Bug: Fixed Request::getInfo
    1113 * Bug: Fixed cases where CURLM_CALL_MULTI_PERFORM return codes were causing curl transactions to fail
    1114 * Adding the ability for the namespace Iterator factory to look in multiple directories
    1115 * Added more getters/setters/removers from service descriptions
    1116 * Added the ability to remove POST fields from OAuth signatures
    1117 * OAuth plugin now supports 2-legged OAuth
     1104- Bug: Fixed config file aliases for JSON includes
     1105- Bug: Fixed cookie bug on a request object by using CookieParser to parse cookies on requests
     1106- Bug: Removing the path to a file when sending a Content-Disposition header on a POST upload
     1107- Bug: Hardening request and response parsing to account for missing parts
     1108- Bug: Fixed PEAR packaging
     1109- Bug: Fixed Request::getInfo
     1110- Bug: Fixed cases where CURLM_CALL_MULTI_PERFORM return codes were causing curl transactions to fail
     1111- Adding the ability for the namespace Iterator factory to look in multiple directories
     1112- Added more getters/setters/removers from service descriptions
     1113- Added the ability to remove POST fields from OAuth signatures
     1114- OAuth plugin now supports 2-legged OAuth
    11181115
    11191116## 2.8.6 - 2012-09-05
    11201117
    1121 * Added the ability to modify and build service descriptions
    1122 * Added the use of visitors to apply parameters to locations in service descriptions using the dynamic command
    1123 * Added a `json` parameter location
    1124 * Now allowing dot notation for classes in the CacheAdapterFactory
    1125 * Using the union of two arrays rather than an array_merge when extending service builder services and service params
    1126 * Ensuring that a service is a string before doing strpos() checks on it when substituting services for references
     1118- Added the ability to modify and build service descriptions
     1119- Added the use of visitors to apply parameters to locations in service descriptions using the dynamic command
     1120- Added a `json` parameter location
     1121- Now allowing dot notation for classes in the CacheAdapterFactory
     1122- Using the union of two arrays rather than an array_merge when extending service builder services and service params
     1123- Ensuring that a service is a string before doing strpos() checks on it when substituting services for references
    11271124  in service builder config files.
    1128 * Services defined in two different config files that include one another will by default replace the previously
     1125- Services defined in two different config files that include one another will by default replace the previously
    11291126  defined service, but you can now create services that extend themselves and merge their settings over the previous
    1130 * The JsonLoader now supports aliasing filenames with different filenames. This allows you to alias something like
    1131   '_default' with a default JSON configuration file.
     1127- The JsonLoader now supports aliasing filenames with different filenames. This allows you to alias something like
     1128  '\_default' with a default JSON configuration file.
    11321129
    11331130## 2.8.5 - 2012-08-29
    11341131
    1135 * Bug: Suppressed empty arrays from URI templates
    1136 * Bug: Added the missing $options argument from ServiceDescription::factory to enable caching
    1137 * Added support for HTTP responses that do not contain a reason phrase in the start-line
    1138 * AbstractCommand commands are now invokable
    1139 * Added a way to get the data used when signing an Oauth request before a request is sent
     1132- Bug: Suppressed empty arrays from URI templates
     1133- Bug: Added the missing $options argument from ServiceDescription::factory to enable caching
     1134- Added support for HTTP responses that do not contain a reason phrase in the start-line
     1135- AbstractCommand commands are now invokable
     1136- Added a way to get the data used when signing an Oauth request before a request is sent
    11401137
    11411138## 2.8.4 - 2012-08-15
    11421139
    1143 * Bug: Custom delay time calculations are no longer ignored in the ExponentialBackoffPlugin
    1144 * Added the ability to transfer entity bodies as a string rather than streamed. This gets around curl error 65. Set `body_as_string` in a request's curl options to enable.
    1145 * Added a StreamInterface, EntityBodyInterface, and added ftell() to Guzzle\Common\Stream
    1146 * Added an AbstractEntityBodyDecorator and a ReadLimitEntityBody decorator to transfer only a subset of a decorated stream
    1147 * Stream and EntityBody objects will now return the file position to the previous position after a read required operation (e.g. getContentMd5())
    1148 * Added additional response status codes
    1149 * Removed SSL information from the default User-Agent header
    1150 * DELETE requests can now send an entity body
    1151 * Added an EventDispatcher to the ExponentialBackoffPlugin and added an ExponentialBackoffLogger to log backoff retries
    1152 * Added the ability of the MockPlugin to consume mocked request bodies
    1153 * LogPlugin now exposes request and response objects in the extras array
     1140- Bug: Custom delay time calculations are no longer ignored in the ExponentialBackoffPlugin
     1141- Added the ability to transfer entity bodies as a string rather than streamed. This gets around curl error 65. Set `body_as_string` in a request's curl options to enable.
     1142- Added a StreamInterface, EntityBodyInterface, and added ftell() to Guzzle\Common\Stream
     1143- Added an AbstractEntityBodyDecorator and a ReadLimitEntityBody decorator to transfer only a subset of a decorated stream
     1144- Stream and EntityBody objects will now return the file position to the previous position after a read required operation (e.g. getContentMd5())
     1145- Added additional response status codes
     1146- Removed SSL information from the default User-Agent header
     1147- DELETE requests can now send an entity body
     1148- Added an EventDispatcher to the ExponentialBackoffPlugin and added an ExponentialBackoffLogger to log backoff retries
     1149- Added the ability of the MockPlugin to consume mocked request bodies
     1150- LogPlugin now exposes request and response objects in the extras array
    11541151
    11551152## 2.8.3 - 2012-07-30
    11561153
    1157 * Bug: Fixed a case where empty POST requests were sent as GET requests
    1158 * Bug: Fixed a bug in ExponentialBackoffPlugin that caused fatal errors when retrying an EntityEnclosingRequest that does not have a body
    1159 * Bug: Setting the response body of a request to null after completing a request, not when setting the state of a request to new
    1160 * Added multiple inheritance to service description commands
    1161 * Added an ApiCommandInterface and added `getParamNames()` and `hasParam()`
    1162 * Removed the default 2mb size cutoff from the Md5ValidatorPlugin so that it now defaults to validating everything
    1163 * Changed CurlMulti::perform to pass a smaller timeout to CurlMulti::executeHandles
     1154- Bug: Fixed a case where empty POST requests were sent as GET requests
     1155- Bug: Fixed a bug in ExponentialBackoffPlugin that caused fatal errors when retrying an EntityEnclosingRequest that does not have a body
     1156- Bug: Setting the response body of a request to null after completing a request, not when setting the state of a request to new
     1157- Added multiple inheritance to service description commands
     1158- Added an ApiCommandInterface and added `getParamNames()` and `hasParam()`
     1159- Removed the default 2mb size cutoff from the Md5ValidatorPlugin so that it now defaults to validating everything
     1160- Changed CurlMulti::perform to pass a smaller timeout to CurlMulti::executeHandles
    11641161
    11651162## 2.8.2 - 2012-07-24
    11661163
    1167 * Bug: Query string values set to 0 are no longer dropped from the query string
    1168 * Bug: A Collection object is no longer created each time a call is made to `Guzzle\Service\Command\AbstractCommand::getRequestHeaders()`
    1169 * Bug: `+` is now treated as an encoded space when parsing query strings
    1170 * QueryString and Collection performance improvements
    1171 * Allowing dot notation for class paths in filters attribute of a service descriptions
     1164- Bug: Query string values set to 0 are no longer dropped from the query string
     1165- Bug: A Collection object is no longer created each time a call is made to `Guzzle\Service\Command\AbstractCommand::getRequestHeaders()`
     1166- Bug: `+` is now treated as an encoded space when parsing query strings
     1167- QueryString and Collection performance improvements
     1168- Allowing dot notation for class paths in filters attribute of a service descriptions
    11721169
    11731170## 2.8.1 - 2012-07-16
    11741171
    1175 * Loosening Event Dispatcher dependency
    1176 * POST redirects can now be customized using CURLOPT_POSTREDIR
     1172- Loosening Event Dispatcher dependency
     1173- POST redirects can now be customized using CURLOPT_POSTREDIR
    11771174
    11781175## 2.8.0 - 2012-07-15
    11791176
    1180 * BC: Guzzle\Http\Query
    1181     * Query strings with empty variables will always show an equal sign unless the variable is set to QueryString::BLANK (e.g. ?acl= vs ?acl)
    1182     * Changed isEncodingValues() and isEncodingFields() to isUrlEncoding()
    1183     * Changed setEncodeValues(bool) and setEncodeFields(bool) to useUrlEncoding(bool)
    1184     * Changed the aggregation functions of QueryString to be static methods
    1185     * Can now use fromString() with querystrings that have a leading ?
    1186 * cURL configuration values can be specified in service descriptions using `curl.` prefixed parameters
    1187 * Content-Length is set to 0 before emitting the request.before_send event when sending an empty request body
    1188 * Cookies are no longer URL decoded by default
    1189 * Bug: URI template variables set to null are no longer expanded
     1177- BC: Guzzle\Http\Query
     1178  - Query strings with empty variables will always show an equal sign unless the variable is set to QueryString::BLANK (e.g. ?acl= vs ?acl)
     1179  - Changed isEncodingValues() and isEncodingFields() to isUrlEncoding()
     1180  - Changed setEncodeValues(bool) and setEncodeFields(bool) to useUrlEncoding(bool)
     1181  - Changed the aggregation functions of QueryString to be static methods
     1182  - Can now use fromString() with querystrings that have a leading ?
     1183- cURL configuration values can be specified in service descriptions using `curl.` prefixed parameters
     1184- Content-Length is set to 0 before emitting the request.before_send event when sending an empty request body
     1185- Cookies are no longer URL decoded by default
     1186- Bug: URI template variables set to null are no longer expanded
    11901187
    11911188## 2.7.2 - 2012-07-02
    11921189
    1193 * BC: Moving things to get ready for subtree splits. Moving Inflection into Common. Moving Guzzle\Http\Parser to Guzzle\Parser.
    1194 * BC: Removing Guzzle\Common\Batch\Batch::count() and replacing it with isEmpty()
    1195 * CachePlugin now allows for a custom request parameter function to check if a request can be cached
    1196 * Bug fix: CachePlugin now only caches GET and HEAD requests by default
    1197 * Bug fix: Using header glue when transferring headers over the wire
    1198 * Allowing deeply nested arrays for composite variables in URI templates
    1199 * Batch divisors can now return iterators or arrays
     1190- BC: Moving things to get ready for subtree splits. Moving Inflection into Common. Moving Guzzle\Http\Parser to Guzzle\Parser.
     1191- BC: Removing Guzzle\Common\Batch\Batch::count() and replacing it with isEmpty()
     1192- CachePlugin now allows for a custom request parameter function to check if a request can be cached
     1193- Bug fix: CachePlugin now only caches GET and HEAD requests by default
     1194- Bug fix: Using header glue when transferring headers over the wire
     1195- Allowing deeply nested arrays for composite variables in URI templates
     1196- Batch divisors can now return iterators or arrays
    12001197
    12011198## 2.7.1 - 2012-06-26
    12021199
    1203 * Minor patch to update version number in UA string
    1204 * Updating build process
     1200- Minor patch to update version number in UA string
     1201- Updating build process
    12051202
    12061203## 2.7.0 - 2012-06-25
    12071204
    1208 * BC: Inflection classes moved to Guzzle\Inflection. No longer static methods. Can now inject custom inflectors into classes.
    1209 * BC: Removed magic setX methods from commands
    1210 * BC: Magic methods mapped to service description commands are now inflected in the command factory rather than the client __call() method
    1211 * Verbose cURL options are no longer enabled by default. Set curl.debug to true on a client to enable.
    1212 * Bug: Now allowing colons in a response start-line (e.g. HTTP/1.1 503 Service Unavailable: Back-end server is at capacity)
    1213 * Guzzle\Service\Resource\ResourceIteratorApplyBatched now internally uses the Guzzle\Common\Batch namespace
    1214 * Added Guzzle\Service\Plugin namespace and a PluginCollectionPlugin
    1215 * Added the ability to set POST fields and files in a service description
    1216 * Guzzle\Http\EntityBody::factory() now accepts objects with a __toString() method
    1217 * Adding a command.before_prepare event to clients
    1218 * Added BatchClosureTransfer and BatchClosureDivisor
    1219 * BatchTransferException now includes references to the batch divisor and transfer strategies
    1220 * Fixed some tests so that they pass more reliably
    1221 * Added Guzzle\Common\Log\ArrayLogAdapter
     1205- BC: Inflection classes moved to Guzzle\Inflection. No longer static methods. Can now inject custom inflectors into classes.
     1206- BC: Removed magic setX methods from commands
     1207- BC: Magic methods mapped to service description commands are now inflected in the command factory rather than the client \_\_call() method
     1208- Verbose cURL options are no longer enabled by default. Set curl.debug to true on a client to enable.
     1209- Bug: Now allowing colons in a response start-line (e.g. HTTP/1.1 503 Service Unavailable: Back-end server is at capacity)
     1210- Guzzle\Service\Resource\ResourceIteratorApplyBatched now internally uses the Guzzle\Common\Batch namespace
     1211- Added Guzzle\Service\Plugin namespace and a PluginCollectionPlugin
     1212- Added the ability to set POST fields and files in a service description
     1213- Guzzle\Http\EntityBody::factory() now accepts objects with a \_\_toString() method
     1214- Adding a command.before_prepare event to clients
     1215- Added BatchClosureTransfer and BatchClosureDivisor
     1216- BatchTransferException now includes references to the batch divisor and transfer strategies
     1217- Fixed some tests so that they pass more reliably
     1218- Added Guzzle\Common\Log\ArrayLogAdapter
    12221219
    12231220## 2.6.6 - 2012-06-10
    12241221
    1225 * BC: Removing Guzzle\Http\Plugin\BatchQueuePlugin
    1226 * BC: Removing Guzzle\Service\Command\CommandSet
    1227 * Adding generic batching system (replaces the batch queue plugin and command set)
    1228 * Updating ZF cache and log adapters and now using ZF's composer repository
    1229 * Bug: Setting the name of each ApiParam when creating through an ApiCommand
    1230 * Adding result_type, result_doc, deprecated, and doc_url to service descriptions
    1231 * Bug: Changed the default cookie header casing back to 'Cookie'
     1222- BC: Removing Guzzle\Http\Plugin\BatchQueuePlugin
     1223- BC: Removing Guzzle\Service\Command\CommandSet
     1224- Adding generic batching system (replaces the batch queue plugin and command set)
     1225- Updating ZF cache and log adapters and now using ZF's composer repository
     1226- Bug: Setting the name of each ApiParam when creating through an ApiCommand
     1227- Adding result_type, result_doc, deprecated, and doc_url to service descriptions
     1228- Bug: Changed the default cookie header casing back to 'Cookie'
    12321229
    12331230## 2.6.5 - 2012-06-03
    12341231
    1235 * BC: Renaming Guzzle\Http\Message\RequestInterface::getResourceUri() to getResource()
    1236 * BC: Removing unused AUTH_BASIC and AUTH_DIGEST constants from
    1237 * BC: Guzzle\Http\Cookie is now used to manage Set-Cookie data, not Cookie data
    1238 * BC: Renaming methods in the CookieJarInterface
    1239 * Moving almost all cookie logic out of the CookiePlugin and into the Cookie or CookieJar implementations
    1240 * Making the default glue for HTTP headers ';' instead of ','
    1241 * Adding a removeValue to Guzzle\Http\Message\Header
    1242 * Adding getCookies() to request interface.
    1243 * Making it easier to add event subscribers to HasDispatcherInterface classes. Can now directly call addSubscriber()
     1232- BC: Renaming Guzzle\Http\Message\RequestInterface::getResourceUri() to getResource()
     1233- BC: Removing unused AUTH_BASIC and AUTH_DIGEST constants from
     1234- BC: Guzzle\Http\Cookie is now used to manage Set-Cookie data, not Cookie data
     1235- BC: Renaming methods in the CookieJarInterface
     1236- Moving almost all cookie logic out of the CookiePlugin and into the Cookie or CookieJar implementations
     1237- Making the default glue for HTTP headers ';' instead of ','
     1238- Adding a removeValue to Guzzle\Http\Message\Header
     1239- Adding getCookies() to request interface.
     1240- Making it easier to add event subscribers to HasDispatcherInterface classes. Can now directly call addSubscriber()
    12441241
    12451242## 2.6.4 - 2012-05-30
    12461243
    1247 * BC: Cleaning up how POST files are stored in EntityEnclosingRequest objects. Adding PostFile class.
    1248 * BC: Moving ApiCommand specific functionality from the Inspector and on to the ApiCommand
    1249 * Bug: Fixing magic method command calls on clients
    1250 * Bug: Email constraint only validates strings
    1251 * Bug: Aggregate POST fields when POST files are present in curl handle
    1252 * Bug: Fixing default User-Agent header
    1253 * Bug: Only appending or prepending parameters in commands if they are specified
    1254 * Bug: Not requiring response reason phrases or status codes to match a predefined list of codes
    1255 * Allowing the use of dot notation for class namespaces when using instance_of constraint
    1256 * Added any_match validation constraint
    1257 * Added an AsyncPlugin
    1258 * Passing request object to the calculateWait method of the ExponentialBackoffPlugin
    1259 * Allowing the result of a command object to be changed
    1260 * Parsing location and type sub values when instantiating a service description rather than over and over at runtime
     1244- BC: Cleaning up how POST files are stored in EntityEnclosingRequest objects. Adding PostFile class.
     1245- BC: Moving ApiCommand specific functionality from the Inspector and on to the ApiCommand
     1246- Bug: Fixing magic method command calls on clients
     1247- Bug: Email constraint only validates strings
     1248- Bug: Aggregate POST fields when POST files are present in curl handle
     1249- Bug: Fixing default User-Agent header
     1250- Bug: Only appending or prepending parameters in commands if they are specified
     1251- Bug: Not requiring response reason phrases or status codes to match a predefined list of codes
     1252- Allowing the use of dot notation for class namespaces when using instance_of constraint
     1253- Added any_match validation constraint
     1254- Added an AsyncPlugin
     1255- Passing request object to the calculateWait method of the ExponentialBackoffPlugin
     1256- Allowing the result of a command object to be changed
     1257- Parsing location and type sub values when instantiating a service description rather than over and over at runtime
    12611258
    12621259## 2.6.3 - 2012-05-23
    12631260
    1264 * [BC] Guzzle\Common\FromConfigInterface no longer requires any config options.
    1265 * [BC] Refactoring how POST files are stored on an EntityEnclosingRequest. They are now separate from POST fields.
    1266 * You can now use an array of data when creating PUT request bodies in the request factory.
    1267 * Removing the requirement that HTTPS requests needed a Cache-Control: public directive to be cacheable.
    1268 * [Http] Adding support for Content-Type in multipart POST uploads per upload
    1269 * [Http] Added support for uploading multiple files using the same name (foo[0], foo[1])
    1270 * Adding more POST data operations for easier manipulation of POST data.
    1271 * You can now set empty POST fields.
    1272 * The body of a request is only shown on EntityEnclosingRequest objects that do not use POST files.
    1273 * Split the Guzzle\Service\Inspector::validateConfig method into two methods. One to initialize when a command is created, and one to validate.
    1274 * CS updates
     1261- [BC] Guzzle\Common\FromConfigInterface no longer requires any config options.
     1262- [BC] Refactoring how POST files are stored on an EntityEnclosingRequest. They are now separate from POST fields.
     1263- You can now use an array of data when creating PUT request bodies in the request factory.
     1264- Removing the requirement that HTTPS requests needed a Cache-Control: public directive to be cacheable.
     1265- [Http] Adding support for Content-Type in multipart POST uploads per upload
     1266- [Http] Added support for uploading multiple files using the same name (foo[0], foo[1])
     1267- Adding more POST data operations for easier manipulation of POST data.
     1268- You can now set empty POST fields.
     1269- The body of a request is only shown on EntityEnclosingRequest objects that do not use POST files.
     1270- Split the Guzzle\Service\Inspector::validateConfig method into two methods. One to initialize when a command is created, and one to validate.
     1271- CS updates
    12751272
    12761273## 2.6.2 - 2012-05-19
    12771274
    1278 * [Http] Better handling of nested scope requests in CurlMulti. Requests are now always prepares in the send() method rather than the addRequest() method.
     1275- [Http] Better handling of nested scope requests in CurlMulti. Requests are now always prepares in the send() method rather than the addRequest() method.
    12791276
    12801277## 2.6.1 - 2012-05-19
    12811278
    1282 * [BC] Removing 'path' support in service descriptions. Use 'uri'.
    1283 * [BC] Guzzle\Service\Inspector::parseDocBlock is now protected. Adding getApiParamsForClass() with cache.
    1284 * [BC] Removing Guzzle\Common\NullObject. Use https://github.com/mtdowling/NullObject if you need it.
    1285 * [BC] Removing Guzzle\Common\XmlElement.
    1286 * All commands, both dynamic and concrete, have ApiCommand objects.
    1287 * Adding a fix for CurlMulti so that if all of the connections encounter some sort of curl error, then the loop exits.
    1288 * Adding checks to EntityEnclosingRequest so that empty POST files and fields are ignored.
    1289 * Making the method signature of Guzzle\Service\Builder\ServiceBuilder::factory more flexible.
     1279- [BC] Removing 'path' support in service descriptions. Use 'uri'.
     1280- [BC] Guzzle\Service\Inspector::parseDocBlock is now protected. Adding getApiParamsForClass() with cache.
     1281- [BC] Removing Guzzle\Common\NullObject. Use https://github.com/mtdowling/NullObject if you need it.
     1282- [BC] Removing Guzzle\Common\XmlElement.
     1283- All commands, both dynamic and concrete, have ApiCommand objects.
     1284- Adding a fix for CurlMulti so that if all of the connections encounter some sort of curl error, then the loop exits.
     1285- Adding checks to EntityEnclosingRequest so that empty POST files and fields are ignored.
     1286- Making the method signature of Guzzle\Service\Builder\ServiceBuilder::factory more flexible.
    12901287
    12911288## 2.6.0 - 2012-05-15
    12921289
    1293 * [BC] Moving Guzzle\Service\Builder to Guzzle\Service\Builder\ServiceBuilder
    1294 * [BC] Executing a Command returns the result of the command rather than the command
    1295 * [BC] Moving all HTTP parsing logic to Guzzle\Http\Parsers. Allows for faster C implementations if needed.
    1296 * [BC] Changing the Guzzle\Http\Message\Response::setProtocol() method to accept a protocol and version in separate args.
    1297 * [BC] Moving ResourceIterator* to Guzzle\Service\Resource
    1298 * [BC] Completely refactored ResourceIterators to iterate over a cloned command object
    1299 * [BC] Moved Guzzle\Http\UriTemplate to Guzzle\Http\Parser\UriTemplate\UriTemplate
    1300 * [BC] Guzzle\Guzzle is now deprecated
    1301 * Moving Guzzle\Common\Guzzle::inject to Guzzle\Common\Collection::inject
    1302 * Adding Guzzle\Version class to give version information about Guzzle
    1303 * Adding Guzzle\Http\Utils class to provide getDefaultUserAgent() and getHttpDate()
    1304 * Adding Guzzle\Curl\CurlVersion to manage caching curl_version() data
    1305 * ServiceDescription and ServiceBuilder are now cacheable using similar configs
    1306 * Changing the format of XML and JSON service builder configs. Backwards compatible.
    1307 * Cleaned up Cookie parsing
    1308 * Trimming the default Guzzle User-Agent header
    1309 * Adding a setOnComplete() method to Commands that is called when a command completes
    1310 * Keeping track of requests that were mocked in the MockPlugin
    1311 * Fixed a caching bug in the CacheAdapterFactory
    1312 * Inspector objects can be injected into a Command object
    1313 * Refactoring a lot of code and tests to be case insensitive when dealing with headers
    1314 * Adding Guzzle\Http\Message\HeaderComparison for easy comparison of HTTP headers using a DSL
    1315 * Adding the ability to set global option overrides to service builder configs
    1316 * Adding the ability to include other service builder config files from within XML and JSON files
    1317 * Moving the parseQuery method out of Url and on to QueryString::fromString() as a static factory method.
     1290- [BC] Moving Guzzle\Service\Builder to Guzzle\Service\Builder\ServiceBuilder
     1291- [BC] Executing a Command returns the result of the command rather than the command
     1292- [BC] Moving all HTTP parsing logic to Guzzle\Http\Parsers. Allows for faster C implementations if needed.
     1293- [BC] Changing the Guzzle\Http\Message\Response::setProtocol() method to accept a protocol and version in separate args.
     1294- [BC] Moving ResourceIterator\* to Guzzle\Service\Resource
     1295- [BC] Completely refactored ResourceIterators to iterate over a cloned command object
     1296- [BC] Moved Guzzle\Http\UriTemplate to Guzzle\Http\Parser\UriTemplate\UriTemplate
     1297- [BC] Guzzle\Guzzle is now deprecated
     1298- Moving Guzzle\Common\Guzzle::inject to Guzzle\Common\Collection::inject
     1299- Adding Guzzle\Version class to give version information about Guzzle
     1300- Adding Guzzle\Http\Utils class to provide getDefaultUserAgent() and getHttpDate()
     1301- Adding Guzzle\Curl\CurlVersion to manage caching curl_version() data
     1302- ServiceDescription and ServiceBuilder are now cacheable using similar configs
     1303- Changing the format of XML and JSON service builder configs. Backwards compatible.
     1304- Cleaned up Cookie parsing
     1305- Trimming the default Guzzle User-Agent header
     1306- Adding a setOnComplete() method to Commands that is called when a command completes
     1307- Keeping track of requests that were mocked in the MockPlugin
     1308- Fixed a caching bug in the CacheAdapterFactory
     1309- Inspector objects can be injected into a Command object
     1310- Refactoring a lot of code and tests to be case insensitive when dealing with headers
     1311- Adding Guzzle\Http\Message\HeaderComparison for easy comparison of HTTP headers using a DSL
     1312- Adding the ability to set global option overrides to service builder configs
     1313- Adding the ability to include other service builder config files from within XML and JSON files
     1314- Moving the parseQuery method out of Url and on to QueryString::fromString() as a static factory method.
    13181315
    13191316## 2.5.0 - 2012-05-08
    13201317
    1321 * Major performance improvements
    1322 * [BC] Simplifying Guzzle\Common\Collection. Please check to see if you are using features that are now deprecated.
    1323 * [BC] Using a custom validation system that allows a flyweight implementation for much faster validation. No longer using Symfony2 Validation component.
    1324 * [BC] No longer supporting "{{ }}" for injecting into command or UriTemplates. Use "{}"
    1325 * Added the ability to passed parameters to all requests created by a client
    1326 * Added callback functionality to the ExponentialBackoffPlugin
    1327 * Using microtime in ExponentialBackoffPlugin to allow more granular backoff strategies.
    1328 * Rewinding request stream bodies when retrying requests
    1329 * Exception is thrown when JSON response body cannot be decoded
    1330 * Added configurable magic method calls to clients and commands. This is off by default.
    1331 * Fixed a defect that added a hash to every parsed URL part
    1332 * Fixed duplicate none generation for OauthPlugin.
    1333 * Emitting an event each time a client is generated by a ServiceBuilder
    1334 * Using an ApiParams object instead of a Collection for parameters of an ApiCommand
    1335 * cache.* request parameters should be renamed to params.cache.*
    1336 * Added the ability to set arbitrary curl options on requests (disable_wire, progress, etc.). See CurlHandle.
    1337 * Added the ability to disable type validation of service descriptions
    1338 * ServiceDescriptions and ServiceBuilders are now Serializable
     1318- Major performance improvements
     1319- [BC] Simplifying Guzzle\Common\Collection. Please check to see if you are using features that are now deprecated.
     1320- [BC] Using a custom validation system that allows a flyweight implementation for much faster validation. No longer using Symfony2 Validation component.
     1321- [BC] No longer supporting "{{ }}" for injecting into command or UriTemplates. Use "{}"
     1322- Added the ability to passed parameters to all requests created by a client
     1323- Added callback functionality to the ExponentialBackoffPlugin
     1324- Using microtime in ExponentialBackoffPlugin to allow more granular backoff strategies.
     1325- Rewinding request stream bodies when retrying requests
     1326- Exception is thrown when JSON response body cannot be decoded
     1327- Added configurable magic method calls to clients and commands. This is off by default.
     1328- Fixed a defect that added a hash to every parsed URL part
     1329- Fixed duplicate none generation for OauthPlugin.
     1330- Emitting an event each time a client is generated by a ServiceBuilder
     1331- Using an ApiParams object instead of a Collection for parameters of an ApiCommand
     1332- cache._ request parameters should be renamed to params.cache._
     1333- Added the ability to set arbitrary curl options on requests (disable_wire, progress, etc.). See CurlHandle.
     1334- Added the ability to disable type validation of service descriptions
     1335- ServiceDescriptions and ServiceBuilders are now Serializable
  • visual-search/trunk/vendor/guzzlehttp/guzzle/Dockerfile

    r3455463 r3455518  
    66
    77RUN set -xe \
    8     && composer init --name=guzzlehttp/test --description="Simple project for testing Guzzle scripts" --author="Márk Sági-Kazár <[email protected]>" --no-interaction \
    9     && composer require guzzlehttp/guzzle
     8    && composer init --name=ImpreseeGuzzleHttp/test --description="Simple project for testing Guzzle scripts" --author="Márk Sági-Kazár <[email protected]>" --no-interaction \
     9    && composer require ImpreseeGuzzleHttp/guzzle
    1010
    1111
  • visual-search/trunk/vendor/guzzlehttp/guzzle/README.md

    r3455463 r3455518  
    1 Guzzle, PHP HTTP client
    2 =======================
     1# Guzzle, PHP HTTP client
    32
    43[![Latest Version](https://img.shields.io/github/release/guzzle/guzzle.svg?style=flat-square)](https://github.com/guzzle/guzzle/releases)
    54[![Build Status](https://img.shields.io/travis/guzzle/guzzle.svg?style=flat-square)](https://travis-ci.org/guzzle/guzzle)
    6 [![Total Downloads](https://img.shields.io/packagist/dt/guzzlehttp/guzzle.svg?style=flat-square)](https://packagist.org/packages/guzzlehttp/guzzle)
     5[![Total Downloads](https://img.shields.io/packagist/dt/ImpreseeGuzzleHttp/guzzle.svg?style=flat-square)](https://packagist.org/packages/ImpreseeGuzzleHttp/guzzle)
    76
    87Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and
     
    2120
    2221```php
    23 $client = new \GuzzleHttp\Client();
     22$client = new \ImpreseeGuzzleHttp\Client();
    2423$response = $client->request('GET', 'https://api.github.com/repos/guzzle/guzzle');
    2524
     
    2928
    3029# Send an asynchronous request.
    31 $request = new \GuzzleHttp\Psr7\Request('GET', 'http://httpbin.org');
     30$request = new \ImpreseeGuzzleHttp\Psr7\Request('GET', 'http://httpbin.org');
    3231$promise = $client->sendAsync($request)->then(function ($response) {
    3332    echo 'I completed! ' . $response->getBody();
     
    4241- [Stack Overflow](http://stackoverflow.com/questions/tagged/guzzle)
    4342- [Gitter](https://gitter.im/guzzle/guzzle)
    44 
    4543
    4644## Installing Guzzle
     
    5755
    5856```bash
    59 composer require guzzlehttp/guzzle
     57composer require ImpreseeGuzzleHttp/guzzle
    6058```
    6159
     
    6866You can then later update Guzzle using composer:
    6967
    70  ```bash
     68```bash
    7169composer update
    72  ```
    73 
     70```
    7471
    7572## Version Guidance
    7673
    77 | Version | Status     | Packagist           | Namespace    | Repo                | Docs                | PSR-7 | PHP Version |
    78 |---------|------------|---------------------|--------------|---------------------|---------------------|-------|-------------|
    79 | 3.x     | EOL        | `guzzle/guzzle`     | `Guzzle`     | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No    | >= 5.3.3    |
    80 | 4.x     | EOL        | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A                 | No    | >= 5.4      |
    81 | 5.x     | EOL        | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No    | >= 5.4      |
    82 | 6.x     | Latest     | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes   | >= 5.5      |
     74| Version | Status | Packagist                   | Namespace            | Repo                | Docs                | PSR-7 | PHP Version |
     75| ------- | ------ | --------------------------- | -------------------- | ------------------- | ------------------- | ----- | ----------- |
     76| 3.x     | EOL    | `guzzle/guzzle`             | `Guzzle`             | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No    | >= 5.3.3    |
     77| 4.x     | EOL    | `ImpreseeGuzzleHttp/guzzle` | `ImpreseeGuzzleHttp` | [v4][guzzle-4-repo] | N/A                 | No    | >= 5.4      |
     78| 5.x     | EOL    | `ImpreseeGuzzleHttp/guzzle` | `ImpreseeGuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No    | >= 5.4      |
     79| 6.x     | Latest | `ImpreseeGuzzleHttp/guzzle` | `ImpreseeGuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes   | >= 5.5      |
    8380
    8481[guzzle-3-repo]: https://github.com/guzzle/guzzle3
  • visual-search/trunk/vendor/guzzlehttp/guzzle/UPGRADING.md

    r3455463 r3455518  
    1 Guzzle Upgrade Guide
    2 ====================
    3 
    4 5.0 to 6.0
    5 ----------
     1# Guzzle Upgrade Guide
     2
     3## 5.0 to 6.0
    64
    75Guzzle now uses [PSR-7](http://www.php-fig.org/psr/psr-7/) for HTTP messages.
    86Due to the fact that these messages are immutable, this prompted a refactoring
    97of Guzzle to use a middleware based system rather than an event system. Any
    10 HTTP message interaction (e.g., `GuzzleHttp\Message\Request`) need to be
     8HTTP message interaction (e.g., `ImpreseeGuzzleHttp\Message\Request`) need to be
    119updated to work with the new immutable PSR-7 request and response objects. Any
    1210event listeners or subscribers need to be updated to become middleware
    1311functions that wrap handlers (or are injected into a
    14 `GuzzleHttp\HandlerStack`).
    15 
    16 - Removed `GuzzleHttp\BatchResults`
    17 - Removed `GuzzleHttp\Collection`
    18 - Removed `GuzzleHttp\HasDataTrait`
    19 - Removed `GuzzleHttp\ToArrayInterface`
    20 - The `guzzlehttp/streams` dependency has been removed. Stream functionality
    21   is now present in the `GuzzleHttp\Psr7` namespace provided by the
    22   `guzzlehttp/psr7` package.
     12`ImpreseeGuzzleHttp\HandlerStack`).
     13
     14- Removed `ImpreseeGuzzleHttp\BatchResults`
     15- Removed `ImpreseeGuzzleHttp\Collection`
     16- Removed `ImpreseeGuzzleHttp\HasDataTrait`
     17- Removed `ImpreseeGuzzleHttp\ToArrayInterface`
     18- The `ImpreseeGuzzleHttp/streams` dependency has been removed. Stream functionality
     19  is now present in the `ImpreseeGuzzleHttp\Psr7` namespace provided by the
     20  `ImpreseeGuzzleHttp/psr7` package.
    2321- Guzzle no longer uses ReactPHP promises and now uses the
    24   `guzzlehttp/promises` library. We use a custom promise library for three
     22  `ImpreseeGuzzleHttp/promises` library. We use a custom promise library for three
    2523  significant reasons:
    2624  1. React promises (at the time of writing this) are recursive. Promise
     
    3634     overhead is no longer needed, reducing stack sizes, reducing complexity,
    3735     and improving performance.
    38 - `GuzzleHttp\Mimetypes` has been moved to a function in
    39   `GuzzleHttp\Psr7\mimetype_from_extension` and
    40   `GuzzleHttp\Psr7\mimetype_from_filename`.
    41 - `GuzzleHttp\Query` and `GuzzleHttp\QueryParser` have been removed. Query
     36- `ImpreseeGuzzleHttp\Mimetypes` has been moved to a function in
     37  `ImpreseeGuzzleHttp\Psr7\mimetype_from_extension` and
     38  `ImpreseeGuzzleHttp\Psr7\mimetype_from_filename`.
     39- `ImpreseeGuzzleHttp\Query` and `ImpreseeGuzzleHttp\QueryParser` have been removed. Query
    4240  strings must now be passed into request objects as strings, or provided to
    4341  the `query` request option when creating requests with clients. The `query`
     
    4543  need a different serialization technique, you will need to pass the query
    4644  string in as a string. There are a couple helper functions that will make
    47   working with query strings easier: `GuzzleHttp\Psr7\parse_query` and
    48   `GuzzleHttp\Psr7\build_query`.
     45  working with query strings easier: `ImpreseeGuzzleHttp\Psr7\parse_query` and
     46  `ImpreseeGuzzleHttp\Psr7\build_query`.
    4947- Guzzle no longer has a dependency on RingPHP. Due to the use of a middleware
    5048  system based on PSR-7, using RingPHP and it's middleware system as well adds
    5149  more complexity than the benefits it provides. All HTTP handlers that were
    5250  present in RingPHP have been modified to work directly with PSR-7 messages
    53   and placed in the `GuzzleHttp\Handler` namespace. This significantly reduces
     51  and placed in the `ImpreseeGuzzleHttp\Handler` namespace. This significantly reduces
    5452  complexity in Guzzle, removes a dependency, and improves performance. RingPHP
    5553  will be maintained for Guzzle 5 support, but will no longer be a part of
     
    6462  - Removed `RequestFsm`
    6563  - Removed `RingBridge`
    66   - `GuzzleHttp\Subscriber\Cookie` is now provided by
    67     `GuzzleHttp\Middleware::cookies`
    68   - `GuzzleHttp\Subscriber\HttpError` is now provided by
    69     `GuzzleHttp\Middleware::httpError`
    70   - `GuzzleHttp\Subscriber\History` is now provided by
    71     `GuzzleHttp\Middleware::history`
    72   - `GuzzleHttp\Subscriber\Mock` is now provided by
    73     `GuzzleHttp\Handler\MockHandler`
    74   - `GuzzleHttp\Subscriber\Prepare` is now provided by
    75     `GuzzleHttp\PrepareBodyMiddleware`
    76   - `GuzzleHttp\Subscriber\Redirect` is now provided by
    77     `GuzzleHttp\RedirectMiddleware`
    78 - Guzzle now uses `Psr\Http\Message\UriInterface` (implements in
    79   `GuzzleHttp\Psr7\Uri`) for URI support. `GuzzleHttp\Url` is now gone.
    80 - Static functions in `GuzzleHttp\Utils` have been moved to namespaced
    81   functions under the `GuzzleHttp` namespace. This requires either a Composer
     64  - `ImpreseeGuzzleHttp\Subscriber\Cookie` is now provided by
     65    `ImpreseeGuzzleHttp\Middleware::cookies`
     66  - `ImpreseeGuzzleHttp\Subscriber\HttpError` is now provided by
     67    `ImpreseeGuzzleHttp\Middleware::httpError`
     68  - `ImpreseeGuzzleHttp\Subscriber\History` is now provided by
     69    `ImpreseeGuzzleHttp\Middleware::history`
     70  - `ImpreseeGuzzleHttp\Subscriber\Mock` is now provided by
     71    `ImpreseeGuzzleHttp\Handler\MockHandler`
     72  - `ImpreseeGuzzleHttp\Subscriber\Prepare` is now provided by
     73    `ImpreseeGuzzleHttp\PrepareBodyMiddleware`
     74  - `ImpreseeGuzzleHttp\Subscriber\Redirect` is now provided by
     75    `ImpreseeGuzzleHttp\RedirectMiddleware`
     76- Guzzle now uses `Impresee\Psr\Http\Message\UriInterface` (implements in
     77  `ImpreseeGuzzleHttp\Psr7\Uri`) for URI support. `ImpreseeGuzzleHttp\Url` is now gone.
     78- Static functions in `ImpreseeGuzzleHttp\Utils` have been moved to namespaced
     79  functions under the `ImpreseeGuzzleHttp` namespace. This requires either a Composer
    8280  based autoloader or you to include functions.php.
    83 - `GuzzleHttp\ClientInterface::getDefaultOption` has been renamed to
    84   `GuzzleHttp\ClientInterface::getConfig`.
    85 - `GuzzleHttp\ClientInterface::setDefaultOption` has been removed.
     81- `ImpreseeGuzzleHttp\ClientInterface::getDefaultOption` has been renamed to
     82  `ImpreseeGuzzleHttp\ClientInterface::getConfig`.
     83- `ImpreseeGuzzleHttp\ClientInterface::setDefaultOption` has been removed.
    8684- The `json` and `xml` methods of response objects has been removed. With the
    8785  migration to strictly adhering to PSR-7 as the interface for Guzzle messages,
     
    109107
    110108```php
    111 use GuzzleHttp\Event\BeforeEvent;
    112 $client = new GuzzleHttp\Client();
     109use ImpreseeGuzzleHttp\Event\BeforeEvent;
     110$client = new ImpreseeGuzzleHttp\Client();
    113111// Get the emitter and listen to the before event.
    114112$client->getEmitter()->on('before', function (BeforeEvent $e) {
     
    126124
    127125```php
    128 use GuzzleHttp\Middleware;
     126use ImpreseeGuzzleHttp\Middleware;
    129127// Create a handler stack that has all of the default middlewares attached
    130 $handler = GuzzleHttp\HandlerStack::create();
     128$handler = ImpreseeGuzzleHttp\HandlerStack::create();
    131129// Push the handler onto the handler stack
    132130$handler->push(Middleware::mapRequest(function (RequestInterface $request) {
     
    135133}));
    136134// Inject the handler into the client
    137 $client = new GuzzleHttp\Client(['handler' => $handler]);
     135$client = new ImpreseeGuzzleHttp\Client(['handler' => $handler]);
    138136```
    139137
     
    147145option is now used to send a multipart/form-data POST request.
    148146
    149 `GuzzleHttp\Post\PostFile` has been removed. Use the `multipart` option to add
     147`ImpreseeGuzzleHttp\Post\PostFile` has been removed. Use the `multipart` option to add
    150148POST files to a multipart/form-data request.
    151149
     
    155153The `base_url` option has been renamed to `base_uri`.
    156154
    157 4.x to 5.0
    158 ----------
     155## 4.x to 5.0
    159156
    160157## Rewritten Adapter Layer
    161158
    162159Guzzle now uses [RingPHP](http://ringphp.readthedocs.org/en/latest) to send
    163 HTTP requests. The `adapter` option in a `GuzzleHttp\Client` constructor
     160HTTP requests. The `adapter` option in a `ImpreseeGuzzleHttp\Client` constructor
    164161is still supported, but it has now been renamed to `handler`. Instead of
    165 passing a `GuzzleHttp\Adapter\AdapterInterface`, you must now pass a PHP
     162passing a `ImpreseeGuzzleHttp\Adapter\AdapterInterface`, you must now pass a PHP
    166163`callable` that follows the RingPHP specification.
    167164
     
    171168from the following classes:
    172169
    173 - `GuzzleHttp\Collection`
    174 - `GuzzleHttp\Url`
    175 - `GuzzleHttp\Query`
    176 - `GuzzleHttp\Post\PostBody`
    177 - `GuzzleHttp\Cookie\SetCookie`
     170- `ImpreseeGuzzleHttp\Collection`
     171- `ImpreseeGuzzleHttp\Url`
     172- `ImpreseeGuzzleHttp\Query`
     173- `ImpreseeGuzzleHttp\Post\PostBody`
     174- `ImpreseeGuzzleHttp\Cookie\SetCookie`
    178175
    179176## Removed functions.php
     
    182179functions can be used as replacements.
    183180
    184 - `GuzzleHttp\json_decode` -> `GuzzleHttp\Utils::jsonDecode`
    185 - `GuzzleHttp\get_path` -> `GuzzleHttp\Utils::getPath`
    186 - `GuzzleHttp\Utils::setPath` -> `GuzzleHttp\set_path`
    187 - `GuzzleHttp\Pool::batch` -> `GuzzleHttp\batch`. This function is, however,
    188   deprecated in favor of using `GuzzleHttp\Pool::batch()`.
     181- `ImpreseeGuzzleHttp\json_decode` -> `ImpreseeGuzzleHttp\Utils::jsonDecode`
     182- `ImpreseeGuzzleHttp\get_path` -> `ImpreseeGuzzleHttp\Utils::getPath`
     183- `ImpreseeGuzzleHttp\Utils::setPath` -> `ImpreseeGuzzleHttp\set_path`
     184- `ImpreseeGuzzleHttp\Pool::batch` -> `ImpreseeGuzzleHttp\batch`. This function is, however,
     185  deprecated in favor of using `ImpreseeGuzzleHttp\Pool::batch()`.
    189186
    190187The "procedural" global client has been removed with no replacement (e.g.,
    191 `GuzzleHttp\get()`, `GuzzleHttp\post()`, etc.). Use a `GuzzleHttp\Client`
     188`ImpreseeGuzzleHttp\get()`, `ImpreseeGuzzleHttp\post()`, etc.). Use a `ImpreseeGuzzleHttp\Client`
    192189object as a replacement.
    193190
     
    213210
    214211Removed the `asArray` parameter from
    215 `GuzzleHttp\Message\MessageInterface::getHeader`. If you want to get a header
     212`ImpreseeGuzzleHttp\Message\MessageInterface::getHeader`. If you want to get a header
    216213value as an array, then use the newly added `getHeaderAsArray()` method of
    217214`MessageInterface`. This change makes the Guzzle interfaces compatible with
    218215the PSR-7 interfaces.
    219216
    220 3.x to 4.0
    221 ----------
     217## 3.x to 4.0
    222218
    223219## Overarching changes:
     
    230226- No longer requiring the Symfony EventDispatcher. A custom event dispatcher
    231227  based on the Symfony EventDispatcher is
    232   now utilized in `GuzzleHttp\Event\EmitterInterface` (resulting in significant
     228  now utilized in `ImpreseeGuzzleHttp\Event\EmitterInterface` (resulting in significant
    233229  speed and functionality improvements).
    234230
     
    251247- `FromConfigInterface` has been removed.
    252248- `Guzzle\Common\Version` has been removed. The VERSION constant can be found
    253   at `GuzzleHttp\ClientInterface::VERSION`.
     249  at `ImpreseeGuzzleHttp\ClientInterface::VERSION`.
    254250
    255251### Collection
     
    265261
    266262Guzzle no longer requires Symfony's EventDispatcher component. Guzzle now uses
    267 `GuzzleHttp\Event\Emitter`.
     263`ImpreseeGuzzleHttp\Event\Emitter`.
    268264
    269265- `Symfony\Component\EventDispatcher\EventDispatcherInterface` is replaced by
    270   `GuzzleHttp\Event\EmitterInterface`.
     266  `ImpreseeGuzzleHttp\Event\EmitterInterface`.
    271267- `Symfony\Component\EventDispatcher\EventDispatcher` is replaced by
    272   `GuzzleHttp\Event\Emitter`.
     268  `ImpreseeGuzzleHttp\Event\Emitter`.
    273269- `Symfony\Component\EventDispatcher\Event` is replaced by
    274   `GuzzleHttp\Event\Event`, and Guzzle now has an EventInterface in
    275   `GuzzleHttp\Event\EventInterface`.
     270  `ImpreseeGuzzleHttp\Event\Event`, and Guzzle now has an EventInterface in
     271  `ImpreseeGuzzleHttp\Event\EventInterface`.
    276272- `AbstractHasDispatcher` has moved to a trait, `HasEmitterTrait`, and
    277273  `HasDispatcherInterface` has moved to `HasEmitterInterface`. Retrieving the
     
    319315  concept of the HTTP layer. Instead, you must use the `complete` and `error`
    320316  events to asynchronously manage parallel request transfers.
    321 - `Guzzle\Http\Url` has moved to `GuzzleHttp\Url`.
    322 - `Guzzle\Http\QueryString` has moved to `GuzzleHttp\Query`.
     317- `Guzzle\Http\Url` has moved to `ImpreseeGuzzleHttp\Url`.
     318- `Guzzle\Http\QueryString` has moved to `ImpreseeGuzzleHttp\Query`.
    323319- QueryAggregators have been rewritten so that they are simply callable
    324320  functions.
    325 - `GuzzleHttp\StaticClient` has been removed. Use the functions provided in
     321- `ImpreseeGuzzleHttp\StaticClient` has been removed. Use the functions provided in
    326322  `functions.php` for an easy to use static client instance.
    327 - Exceptions in `GuzzleHttp\Exception` have been updated to all extend from
    328   `GuzzleHttp\Exception\TransferException`.
     323- Exceptions in `ImpreseeGuzzleHttp\Exception` have been updated to all extend from
     324  `ImpreseeGuzzleHttp\Exception\TransferException`.
    329325
    330326### Client
     
    347343```
    348344
    349 `GuzzleHttp\ClientInterface` has changed.
     345`ImpreseeGuzzleHttp\ClientInterface` has changed.
    350346
    351347- The `send` method no longer accepts more than one request. Use `sendAll` to
     
    357353  like `$client->setConfig('defaults/verify', true)`.
    358354
    359 `GuzzleHttp\Client` has changed.
     355`ImpreseeGuzzleHttp\Client` has changed.
    360356
    361357- The constructor now accepts only an associative array. You can include a
     
    376372longer has a reference to it's response, and a response no loger has a
    377373reference to its request). This association is now managed through a
    378 `GuzzleHttp\Adapter\TransactionInterface` object. You can get references to
     374`ImpreseeGuzzleHttp\Adapter\TransactionInterface` object. You can get references to
    379375these transaction objects using request events that are emitted over the
    380376lifecycle of a request.
     
    382378#### Requests with a body
    383379
    384 - `GuzzleHttp\Message\EntityEnclosingRequest` and
    385   `GuzzleHttp\Message\EntityEnclosingRequestInterface` have been removed. The
     380- `ImpreseeGuzzleHttp\Message\EntityEnclosingRequest` and
     381  `ImpreseeGuzzleHttp\Message\EntityEnclosingRequestInterface` have been removed. The
    386382  separation between requests that contain a body and requests that do not
    387   contain a body has been removed, and now `GuzzleHttp\Message\RequestInterface`
     383  contain a body has been removed, and now `ImpreseeGuzzleHttp\Message\RequestInterface`
    388384  handles both use cases.
    389 - Any method that previously accepts a `GuzzleHttp\Response` object now accept a
    390   `GuzzleHttp\Message\ResponseInterface`.
    391 - `GuzzleHttp\Message\RequestFactoryInterface` has been renamed to
    392   `GuzzleHttp\Message\MessageFactoryInterface`. This interface is used to create
     385- Any method that previously accepts a `ImpreseeGuzzleHttp\Response` object now accept a
     386  `ImpreseeGuzzleHttp\Message\ResponseInterface`.
     387- `ImpreseeGuzzleHttp\Message\RequestFactoryInterface` has been renamed to
     388  `ImpreseeGuzzleHttp\Message\MessageFactoryInterface`. This interface is used to create
    393389  both requests and responses and is implemented in
    394   `GuzzleHttp\Message\MessageFactory`.
     390  `ImpreseeGuzzleHttp\Message\MessageFactory`.
    395391- POST field and file methods have been removed from the request object. You
    396   must now use the methods made available to `GuzzleHttp\Post\PostBodyInterface`
     392  must now use the methods made available to `ImpreseeGuzzleHttp\Post\PostBodyInterface`
    397393  to control the format of a POST body. Requests that are created using a
    398   standard `GuzzleHttp\Message\MessageFactoryInterface` will automatically use
    399   a `GuzzleHttp\Post\PostBody` body if the body was passed as an array or if
     394  standard `ImpreseeGuzzleHttp\Message\MessageFactoryInterface` will automatically use
     395  a `ImpreseeGuzzleHttp\Post\PostBody` body if the body was passed as an array or if
    400396  the method is POST and no body is provided.
    401397
     
    408404#### Headers
    409405
    410 - `GuzzleHttp\Message\Header` has been removed. Header values are now simply
     406- `ImpreseeGuzzleHttp\Message\Header` has been removed. Header values are now simply
    411407  represented by an array of values or as a string. Header values are returned
    412408  as a string by default when retrieving a header value from a message. You can
    413409  pass an optional argument of `true` to retrieve a header value as an array
    414410  of strings instead of a single concatenated string.
    415 - `GuzzleHttp\PostFile` and `GuzzleHttp\PostFileInterface` have been moved to
    416   `GuzzleHttp\Post`. This interface has been simplified and now allows the
     411- `ImpreseeGuzzleHttp\PostFile` and `ImpreseeGuzzleHttp\PostFileInterface` have been moved to
     412  `ImpreseeGuzzleHttp\Post`. This interface has been simplified and now allows the
    417413  addition of arbitrary headers.
    418 - Custom headers like `GuzzleHttp\Message\Header\Link` have been removed. Most
     414- Custom headers like `ImpreseeGuzzleHttp\Message\Header\Link` have been removed. Most
    419415  of the custom headers are now handled separately in specific
    420   subscribers/plugins, and `GuzzleHttp\Message\HeaderValues::parseParams()` has
     416  subscribers/plugins, and `ImpreseeGuzzleHttp\Message\HeaderValues::parseParams()` has
    421417  been updated to properly handle headers that contain parameters (like the
    422418  `Link` header).
     
    424420#### Responses
    425421
    426 - `GuzzleHttp\Message\Response::getInfo()` and
    427   `GuzzleHttp\Message\Response::setInfo()` have been removed. Use the event
     422- `ImpreseeGuzzleHttp\Message\Response::getInfo()` and
     423  `ImpreseeGuzzleHttp\Message\Response::setInfo()` have been removed. Use the event
    428424  system to retrieve this type of information.
    429 - `GuzzleHttp\Message\Response::getRawHeaders()` has been removed.
    430 - `GuzzleHttp\Message\Response::getMessage()` has been removed.
    431 - `GuzzleHttp\Message\Response::calculateAge()` and other cache specific
     425- `ImpreseeGuzzleHttp\Message\Response::getRawHeaders()` has been removed.
     426- `ImpreseeGuzzleHttp\Message\Response::getMessage()` has been removed.
     427- `ImpreseeGuzzleHttp\Message\Response::calculateAge()` and other cache specific
    432428  methods have moved to the CacheSubscriber.
    433429- Header specific helper functions like `getContentMd5()` have been removed.
    434430  Just use `getHeader('Content-MD5')` instead.
    435 - `GuzzleHttp\Message\Response::setRequest()` and
    436   `GuzzleHttp\Message\Response::getRequest()` have been removed. Use the event
     431- `ImpreseeGuzzleHttp\Message\Response::setRequest()` and
     432  `ImpreseeGuzzleHttp\Message\Response::getRequest()` have been removed. Use the event
    437433  system to work with request and response objects as a transaction.
    438 - `GuzzleHttp\Message\Response::getRedirectCount()` has been removed. Use the
     434- `ImpreseeGuzzleHttp\Message\Response::getRedirectCount()` has been removed. Use the
    439435  Redirect subscriber instead.
    440 - `GuzzleHttp\Message\Response::isSuccessful()` and other related methods have
     436- `ImpreseeGuzzleHttp\Message\Response::isSuccessful()` and other related methods have
    441437  been removed. Use `getStatusCode()` instead.
    442438
     
    444440
    445441Streaming requests can now be created by a client directly, returning a
    446 `GuzzleHttp\Message\ResponseInterface` object that contains a body stream
     442`ImpreseeGuzzleHttp\Message\ResponseInterface` object that contains a body stream
    447443referencing an open PHP HTTP stream.
    448444
     
    479475
    480476EntityBody interfaces and classes have been removed or moved to
    481 `GuzzleHttp\Stream`. All classes and interfaces that once required
    482 `GuzzleHttp\EntityBodyInterface` now require
    483 `GuzzleHttp\Stream\StreamInterface`. Creating a new body for a request no
    484 longer uses `GuzzleHttp\EntityBody::factory` but now uses
    485 `GuzzleHttp\Stream\Stream::factory` or even better:
    486 `GuzzleHttp\Stream\create()`.
    487 
    488 - `Guzzle\Http\EntityBodyInterface` is now `GuzzleHttp\Stream\StreamInterface`
    489 - `Guzzle\Http\EntityBody` is now `GuzzleHttp\Stream\Stream`
    490 - `Guzzle\Http\CachingEntityBody` is now `GuzzleHttp\Stream\CachingStream`
    491 - `Guzzle\Http\ReadLimitEntityBody` is now `GuzzleHttp\Stream\LimitStream`
     477`ImpreseeGuzzleHttp\Stream`. All classes and interfaces that once required
     478`ImpreseeGuzzleHttp\EntityBodyInterface` now require
     479`ImpreseeGuzzleHttp\Stream\StreamInterface`. Creating a new body for a request no
     480longer uses `ImpreseeGuzzleHttp\EntityBody::factory` but now uses
     481`ImpreseeGuzzleHttp\Stream\Stream::factory` or even better:
     482`ImpreseeGuzzleHttp\Stream\create()`.
     483
     484- `Guzzle\Http\EntityBodyInterface` is now `ImpreseeGuzzleHttp\Stream\StreamInterface`
     485- `Guzzle\Http\EntityBody` is now `ImpreseeGuzzleHttp\Stream\Stream`
     486- `Guzzle\Http\CachingEntityBody` is now `ImpreseeGuzzleHttp\Stream\CachingStream`
     487- `Guzzle\Http\ReadLimitEntityBody` is now `ImpreseeGuzzleHttp\Stream\LimitStream`
    492488- `Guzzle\Http\IoEmittyinEntityBody` has been removed.
    493489
     
    498494it easier to understand how to extend the behavior of a request. All events
    499495emitted during the lifecycle of a request now emit a custom
    500 `GuzzleHttp\Event\EventInterface` object that contains context providing
     496`ImpreseeGuzzleHttp\Event\EventInterface` object that contains context providing
    501497methods and a way in which to modify the transaction at that specific point in
    502498time (e.g., intercept the request and set a response on the transaction).
    503499
    504500- `request.before_send` has been renamed to `before` and now emits a
    505   `GuzzleHttp\Event\BeforeEvent`
     501  `ImpreseeGuzzleHttp\Event\BeforeEvent`
    506502- `request.complete` has been renamed to `complete` and now emits a
    507   `GuzzleHttp\Event\CompleteEvent`.
     503  `ImpreseeGuzzleHttp\Event\CompleteEvent`.
    508504- `request.sent` has been removed. Use `complete`.
    509505- `request.success` has been removed. Use `complete`.
    510 - `error` is now an event that emits a `GuzzleHttp\Event\ErrorEvent`.
     506- `error` is now an event that emits a `ImpreseeGuzzleHttp\Event\ErrorEvent`.
    511507- `request.exception` has been removed. Use `error`.
    512508- `request.receive.status_line` has been removed.
     
    520516`headers` is a new event that is emitted after the response headers of a
    521517request have been received before the body of the response is downloaded. This
    522 event emits a `GuzzleHttp\Event\HeadersEvent`.
     518event emits a `ImpreseeGuzzleHttp\Event\HeadersEvent`.
    523519
    524520You can intercept a request and inject a response using the `intercept()` event
    525 of a `GuzzleHttp\Event\BeforeEvent`, `GuzzleHttp\Event\CompleteEvent`, and
    526 `GuzzleHttp\Event\ErrorEvent` event.
     521of a `ImpreseeGuzzleHttp\Event\BeforeEvent`, `ImpreseeGuzzleHttp\Event\CompleteEvent`, and
     522`ImpreseeGuzzleHttp\Event\ErrorEvent` event.
    527523
    528524See: http://docs.guzzlephp.org/en/latest/events.html
     
    552548`Guzzle\Log` namespace has been removed. Guzzle now relies on
    553549`Psr\Log\LoggerInterface` for all logging. The MessageFormatter class has been
    554 moved to `GuzzleHttp\Subscriber\Log\Formatter`.
     550moved to `ImpreseeGuzzleHttp\Subscriber\Log\Formatter`.
    555551
    556552## Parser
     
    562558
    563559- Cookie: Cookie parsing logic has been moved to
    564   `GuzzleHttp\Cookie\SetCookie::fromString`.
     560  `ImpreseeGuzzleHttp\Cookie\SetCookie::fromString`.
    565561- Message: Message parsing logic for both requests and responses has been moved
    566   to `GuzzleHttp\Message\MessageFactory::fromMessage`. Message parsing is only
     562  to `ImpreseeGuzzleHttp\Message\MessageFactory::fromMessage`. Message parsing is only
    567563  used in debugging or deserializing messages, so it doesn't make sense for
    568564  Guzzle as a library to add this level of complexity to parsing messages.
    569565- UriTemplate: URI template parsing has been moved to
    570   `GuzzleHttp\UriTemplate`. The Guzzle library will automatically use the PECL
     566  `ImpreseeGuzzleHttp\UriTemplate`. The Guzzle library will automatically use the PECL
    571567  URI template library if it is installed.
    572 - Url: URL parsing is now performed in `GuzzleHttp\Url::fromString` (previously
     568- Url: URL parsing is now performed in `ImpreseeGuzzleHttp\Url::fromString` (previously
    573569  it was `Guzzle\Http\Url::factory()`). If custom URL parsing is necessary,
    574   then developers are free to subclass `GuzzleHttp\Url`.
     570  then developers are free to subclass `ImpreseeGuzzleHttp\Url`.
    575571
    576572## Plugin
    577573
    578 The `Guzzle\Plugin` namespace has been renamed to `GuzzleHttp\Subscriber`.
     574The `Guzzle\Plugin` namespace has been renamed to `ImpreseeGuzzleHttp\Subscriber`.
    579575Several plugins are shipping with the core Guzzle library under this namespace.
    580576
    581 - `GuzzleHttp\Subscriber\Cookie`: Replaces the old CookiePlugin. Cookie jar
    582   code has moved to `GuzzleHttp\Cookie`.
    583 - `GuzzleHttp\Subscriber\History`: Replaces the old HistoryPlugin.
    584 - `GuzzleHttp\Subscriber\HttpError`: Throws errors when a bad HTTP response is
     577- `ImpreseeGuzzleHttp\Subscriber\Cookie`: Replaces the old CookiePlugin. Cookie jar
     578  code has moved to `ImpreseeGuzzleHttp\Cookie`.
     579- `ImpreseeGuzzleHttp\Subscriber\History`: Replaces the old HistoryPlugin.
     580- `ImpreseeGuzzleHttp\Subscriber\HttpError`: Throws errors when a bad HTTP response is
    585581  received.
    586 - `GuzzleHttp\Subscriber\Mock`: Replaces the old MockPlugin.
    587 - `GuzzleHttp\Subscriber\Prepare`: Prepares the body of a request just before
     582- `ImpreseeGuzzleHttp\Subscriber\Mock`: Replaces the old MockPlugin.
     583- `ImpreseeGuzzleHttp\Subscriber\Prepare`: Prepares the body of a request just before
    588584  sending. This subscriber is attached to all requests by default.
    589 - `GuzzleHttp\Subscriber\Redirect`: Replaces the RedirectPlugin.
     585- `ImpreseeGuzzleHttp\Subscriber\Redirect`: Replaces the RedirectPlugin.
    590586
    591587The following plugins have been removed (third-parties are free to re-implement
    592588these if needed):
    593589
    594 - `GuzzleHttp\Plugin\Async` has been removed.
    595 - `GuzzleHttp\Plugin\CurlAuth` has been removed.
    596 - `GuzzleHttp\Plugin\ErrorResponse\ErrorResponsePlugin` has been removed. This
     590- `ImpreseeGuzzleHttp\Plugin\Async` has been removed.
     591- `ImpreseeGuzzleHttp\Plugin\CurlAuth` has been removed.
     592- `ImpreseeGuzzleHttp\Plugin\ErrorResponse\ErrorResponsePlugin` has been removed. This
    597593  functionality should instead be implemented with event listeners that occur
    598594  after normal response parsing occurs in the guzzle/command package.
     
    611607  https://github.com/guzzle/message-integrity-subscriber
    612608- `Guzzle\Http\Plugin\Mock\MockPlugin` has moved to
    613   `GuzzleHttp\Subscriber\MockSubscriber`.
     609  `ImpreseeGuzzleHttp\Subscriber\MockSubscriber`.
    614610- `Guzzle\Http\Plugin\Oauth\OauthPlugin` has moved to
    615611  https://github.com/guzzle/oauth-subscriber
     
    640636- `getStream` and `setStream` have been removed to better encapsulate streams.
    641637- `getMetadata` and `setMetadata` have been removed in favor of
    642   `GuzzleHttp\Stream\MetadataStreamInterface`.
     638  `ImpreseeGuzzleHttp\Stream\MetadataStreamInterface`.
    643639- `getWrapper`, `getWrapperData`, `getStreamType`, and `getUri` have all been
    644640  removed. This data is accessible when
    645   using streams that implement `GuzzleHttp\Stream\MetadataStreamInterface`.
     641  using streams that implement `ImpreseeGuzzleHttp\Stream\MetadataStreamInterface`.
    646642- `rewind` has been removed. Use `seek(0)` for a similar behavior.
    647643
     
    652648- `ftell` has been renamed to `tell`.
    653649- `readLine` has moved from an instance method to a static class method of
    654   `GuzzleHttp\Stream\Stream`.
     650  `ImpreseeGuzzleHttp\Stream\Stream`.
    655651
    656652## Metadata streams
    657653
    658 `GuzzleHttp\Stream\MetadataStreamInterface` has been added to denote streams
     654`ImpreseeGuzzleHttp\Stream\MetadataStreamInterface` has been added to denote streams
    659655that contain additional metadata accessible via `getMetadata()`.
    660 `GuzzleHttp\Stream\StreamInterface::getMetadata` and
    661 `GuzzleHttp\Stream\StreamInterface::setMetadata` have been removed.
     656`ImpreseeGuzzleHttp\Stream\StreamInterface::getMetadata` and
     657`ImpreseeGuzzleHttp\Stream\StreamInterface::setMetadata` have been removed.
    662658
    663659## StreamRequestFactory
     
    666662was used in Guzzle 3 broke the actual interface of sending streaming requests
    667663(instead of getting back a Response, you got a StreamInterface). Streaming
    668 PHP requests are now implemented through the `GuzzleHttp\Adapter\StreamAdapter`.
    669 
    670 3.6 to 3.7
    671 ----------
     664PHP requests are now implemented through the `ImpreseeGuzzleHttp\Adapter\StreamAdapter`.
     665
     666## 3.6 to 3.7
    672667
    673668### Deprecations
     
    694689  `$client->setDefaultOption('auth', array('user', 'pass', 'Basic|Digest|NTLM|Any'));`
    695690
    696 3.7 introduces `request.options` as a parameter for a client configuration and as an optional argument to all creational
    697 request methods. When paired with a client's configuration settings, these options allow you to specify default settings
    698 for various aspects of a request. Because these options make other previous configuration options redundant, several
    699 configuration options and methods of a client and AbstractCommand have been deprecated.
     691  3.7 introduces `request.options` as a parameter for a client configuration and as an optional argument to all creational
     692  request methods. When paired with a client's configuration settings, these options allow you to specify default settings
     693  for various aspects of a request. Because these options make other previous configuration options redundant, several
     694  configuration options and methods of a client and AbstractCommand have been deprecated.
    700695
    701696- Marked `Guzzle\Service\Client::getDefaultHeaders()` as deprecated. Use `$client->getDefaultOption('headers')`.
     
    738733
    739734- Removed `Guzzle\Http\ClientInterface::setDefaultHeaders(). Use
    740   `$client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. or
    741   `$client->getConfig()->setPath('request.options/headers', array('header_name' => 'value'))` or
    742   `$client->setDefaultOption('headers/{header_name}', 'value')`. or
     735`$client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. or
     736  `$client->getConfig()->setPath('request.options/headers', array('header_name' => 'value'))`or`$client->setDefaultOption('headers/{header_name}', 'value')`. or
    743737  `$client->setDefaultOption('headers', array('header_name' => 'value'))`.
    744738- Removed `Guzzle\Http\ClientInterface::getDefaultHeaders(). Use `$client->getConfig()->getPath('request.options/headers')`.
     
    757751- Default cache TTLs are now handled by the CacheStorageInterface of a CachePlugin
    758752- `CacheStorageInterface::cache($key, Response $response, $ttl = null)` has changed to `cache(RequestInterface
    759   $request, Response $response);`
     753$request, Response $response);`
    760754- `CacheStorageInterface::fetch($key)` has changed to `fetch(RequestInterface $request);`
    761755- `CacheStorageInterface::delete($key)` has changed to `delete(RequestInterface $request);`
    762756- Added `CacheStorageInterface::purge($url)`
    763757- `DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin
    764   $plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache,
    765   CanCacheStrategyInterface $canCache = null)`
     758$plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache,
     759CanCacheStrategyInterface $canCache = null)`
    766760- Added `RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)`
    767761
    768 3.5 to 3.6
    769 ----------
    770 
    771 * Mixed casing of headers are now forced to be a single consistent casing across all values for that header.
    772 * Messages internally use a HeaderCollection object to delegate handling case-insensitive header resolution
    773 * Removed the whole changedHeader() function system of messages because all header changes now go through addHeader().
     762  3.5 to 3.6
     763
     764---
     765
     766- Mixed casing of headers are now forced to be a single consistent casing across all values for that header.
     767- Messages internally use a HeaderCollection object to delegate handling case-insensitive header resolution
     768- Removed the whole changedHeader() function system of messages because all header changes now go through addHeader().
    774769  For example, setHeader() first removes the header using unset on a HeaderCollection and then calls addHeader().
    775770  Keeping the Host header and URL host in sync is now handled by overriding the addHeader method in Request.
    776 * Specific header implementations can be created for complex headers. When a message creates a header, it uses a
     771- Specific header implementations can be created for complex headers. When a message creates a header, it uses a
    777772  HeaderFactory which can map specific headers to specific header classes. There is now a Link header and
    778773  CacheControl header implementation.
    779 * Moved getLinks() from Response to just be used on a Link header object.
     774- Moved getLinks() from Response to just be used on a Link header object.
    780775
    781776If you previously relied on Guzzle\Http\Message\Header::raw(), then you will need to update your code to use the
     
    784779### Interface changes
    785780
    786 * Removed from interface: Guzzle\Http\ClientInterface::setUriTemplate
    787 * Removed from interface: Guzzle\Http\ClientInterface::setCurlMulti()
    788 * Removed Guzzle\Http\Message\Request::receivedRequestHeader() and implemented this functionality in
     781- Removed from interface: Guzzle\Http\ClientInterface::setUriTemplate
     782- Removed from interface: Guzzle\Http\ClientInterface::setCurlMulti()
     783- Removed Guzzle\Http\Message\Request::receivedRequestHeader() and implemented this functionality in
    789784  Guzzle\Http\Curl\RequestMediator
    790 * Removed the optional $asString parameter from MessageInterface::getHeader(). Just cast the header to a string.
    791 * Removed the optional $tryChunkedTransfer option from Guzzle\Http\Message\EntityEnclosingRequestInterface
    792 * Removed the $asObjects argument from Guzzle\Http\Message\MessageInterface::getHeaders()
     785- Removed the optional $asString parameter from MessageInterface::getHeader(). Just cast the header to a string.
     786- Removed the optional $tryChunkedTransfer option from Guzzle\Http\Message\EntityEnclosingRequestInterface
     787- Removed the $asObjects argument from Guzzle\Http\Message\MessageInterface::getHeaders()
    793788
    794789### Removed deprecated functions
    795790
    796 * Removed Guzzle\Parser\ParserRegister::get(). Use getParser()
    797 * Removed Guzzle\Parser\ParserRegister::set(). Use registerParser().
     791- Removed Guzzle\Parser\ParserRegister::get(). Use getParser()
     792- Removed Guzzle\Parser\ParserRegister::set(). Use registerParser().
    798793
    799794### Deprecations
    800795
    801 * The ability to case-insensitively search for header values
    802 * Guzzle\Http\Message\Header::hasExactHeader
    803 * Guzzle\Http\Message\Header::raw. Use getAll()
    804 * Deprecated cache control specific methods on Guzzle\Http\Message\AbstractMessage. Use the CacheControl header object
     796- The ability to case-insensitively search for header values
     797- Guzzle\Http\Message\Header::hasExactHeader
     798- Guzzle\Http\Message\Header::raw. Use getAll()
     799- Deprecated cache control specific methods on Guzzle\Http\Message\AbstractMessage. Use the CacheControl header object
    805800  instead.
    806801
    807802### Other changes
    808803
    809 * All response header helper functions return a string rather than mixing Header objects and strings inconsistently
    810 * Removed cURL blacklist support. This is no longer necessary now that Expect, Accept, etc. are managed by Guzzle
     804- All response header helper functions return a string rather than mixing Header objects and strings inconsistently
     805- Removed cURL blacklist support. This is no longer necessary now that Expect, Accept, etc. are managed by Guzzle
    811806  directly via interfaces
    812 * Removed the injecting of a request object onto a response object. The methods to get and set a request still exist
     807- Removed the injecting of a request object onto a response object. The methods to get and set a request still exist
    813808  but are a no-op until removed.
    814 * Most classes that used to require a `Guzzle\Service\Command\CommandInterface` typehint now request a
     809- Most classes that used to require a `Guzzle\Service\Command\CommandInterface` typehint now request a
    815810  `Guzzle\Service\Command\ArrayCommandInterface`.
    816 * Added `Guzzle\Http\Message\RequestInterface::startResponse()` to the RequestInterface to handle injecting a response
     811- Added `Guzzle\Http\Message\RequestInterface::startResponse()` to the RequestInterface to handle injecting a response
    817812  on a request while the request is still being transferred
    818 * `Guzzle\Service\Command\CommandInterface` now extends from ToArrayInterface and ArrayAccess
    819 
    820 3.3 to 3.4
    821 ----------
     813- `Guzzle\Service\Command\CommandInterface` now extends from ToArrayInterface and ArrayAccess
     814
     815  3.3 to 3.4
     816
     817---
    822818
    823819Base URLs of a client now follow the rules of http://tools.ietf.org/html/rfc3986#section-5.2.2 when merging URLs.
    824820
    825 3.2 to 3.3
    826 ----------
     821## 3.2 to 3.3
    827822
    828823### Response::getEtag() quote stripping removed
     
    843838'emit_io' key. This was previously set under a request's parameters using 'curl.emit_io'
    844839
    845 3.1 to 3.2
    846 ----------
     840## 3.1 to 3.2
    847841
    848842### CurlMulti is no longer reused globally
     
    896890responsible for handling the aggregation of multi-valued query string variables into a flattened hash.
    897891
    898 2.8 to 3.x
    899 ----------
     892## 2.8 to 3.x
    900893
    901894### Guzzle\Service\Inspector
  • visual-search/trunk/vendor/guzzlehttp/guzzle/composer.json

    r3455463 r3455518  
    2121        }
    2222    ],
     23    "repositories":[
     24        {
     25            "type": "vcs",
     26            "url": "[email protected]:Impresee/http-message.git"
     27        },
     28        {
     29            "type": "vcs",
     30            "url": "[email protected]:Impresee/Impresee/guzzle-psr7"
     31        }
     32    ],
    2333    "require": {
    2434        "php": ">=5.5",
    2535        "ext-json": "*",
    2636        "symfony/polyfill-intl-idn": "^1.17.0",
    27         "guzzlehttp/promises": "^1.0",
    28         "guzzlehttp/psr7": "^1.6.1"
     37        "GuzzleHttp/promises": "^1.0",
     38        "GuzzleHttp/psr7": "1.x-dev"
    2939    },
    3040    "require-dev": {
     
    4656    "autoload": {
    4757        "psr-4": {
    48             "GuzzleHttp\\": "src/"
     58            "ImpreseeGuzzleHttp\\": "src/"
    4959        },
    5060        "files": [
    51             "src/functions_include.php"
     61            "src/impresee_functions_include.php"
    5262        ]
    5363    },
    5464    "autoload-dev": {
    5565        "psr-4": {
    56             "GuzzleHttp\\Tests\\": "tests/"
     66            "ImpreseeGuzzleHttp\\Tests\\": "tests/"
    5767        }
    5868    }
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Client.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
    3 
    4 use GuzzleHttp\Cookie\CookieJar;
    5 use GuzzleHttp\Exception\GuzzleException;
     2namespace ImpreseeGuzzleHttp;
     3
     4use ImpreseeGuzzleHttp\Cookie\CookieJar;
     5use ImpreseeGuzzleHttp\Exception\GuzzleException;
    66use GuzzleHttp\Promise;
    7 use GuzzleHttp\Psr7;
    8 use Psr\Http\Message\RequestInterface;
    9 use Psr\Http\Message\ResponseInterface;
    10 use Psr\Http\Message\UriInterface;
     7use ImpreseeGuzzleHttp\Psr7;
     8use Impresee\Psr\Http\Message\RequestInterface;
     9use Impresee\Psr\Http\Message\ResponseInterface;
     10use Impresee\Psr\Http\Message\UriInterface;
    1111
    1212/**
     
    5858     * @param array $config Client configuration settings.
    5959     *
    60      * @see \GuzzleHttp\RequestOptions for a list of available request options.
     60     * @see \ImpreseeGuzzleHttp\RequestOptions for a list of available request options.
    6161     */
    6262    public function __construct(array $config = [])
     
    100100     *
    101101     * @param array $options Request options to apply to the given
    102      *                       request and to the transfer. See \GuzzleHttp\RequestOptions.
     102     *                       request and to the transfer. See \ImpreseeGuzzleHttp\RequestOptions.
    103103     *
    104104     * @return Promise\PromiseInterface
     
    119119     *
    120120     * @param array $options Request options to apply to the given
    121      *                       request and to the transfer. See \GuzzleHttp\RequestOptions.
     121     *                       request and to the transfer. See \ImpreseeGuzzleHttp\RequestOptions.
    122122     *
    123123     * @return ResponseInterface
     
    140140     * @param string              $method  HTTP method
    141141     * @param string|UriInterface $uri     URI object or string.
    142      * @param array               $options Request options to apply. See \GuzzleHttp\RequestOptions.
     142     * @param array               $options Request options to apply. See \ImpreseeGuzzleHttp\RequestOptions.
    143143     *
    144144     * @return Promise\PromiseInterface
     
    172172     * @param string              $method  HTTP method.
    173173     * @param string|UriInterface $uri     URI object or string.
    174      * @param array               $options Request options to apply. See \GuzzleHttp\RequestOptions.
     174     * @param array               $options Request options to apply. See \ImpreseeGuzzleHttp\RequestOptions.
    175175     *
    176176     * @return ResponseInterface
     
    326326     * as-is without merging in default options.
    327327     *
    328      * @param array $options See \GuzzleHttp\RequestOptions.
     328     * @param array $options See \ImpreseeGuzzleHttp\RequestOptions.
    329329     *
    330330     * @return Promise\PromiseInterface
     
    395395
    396396        if (isset($options['json'])) {
    397             $options['body'] = \GuzzleHttp\json_encode($options['json']);
     397            $options['body'] = \ImpreseeGuzzleHttp\json_encode($options['json']);
    398398            unset($options['json']);
    399399            // Ensure that we don't have the header in different case and set the new value.
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/ClientInterface.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
     2namespace ImpreseeGuzzleHttp;
    33
    4 use GuzzleHttp\Exception\GuzzleException;
     4use ImpreseeGuzzleHttp\Exception\GuzzleException;
    55use GuzzleHttp\Promise\PromiseInterface;
    6 use Psr\Http\Message\RequestInterface;
    7 use Psr\Http\Message\ResponseInterface;
    8 use Psr\Http\Message\UriInterface;
     6use Impresee\Psr\Http\Message\RequestInterface;
     7use Impresee\Psr\Http\Message\ResponseInterface;
     8use Impresee\Psr\Http\Message\UriInterface;
    99
    1010/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Cookie;
    3 
    4 use Psr\Http\Message\RequestInterface;
    5 use Psr\Http\Message\ResponseInterface;
     2namespace ImpreseeGuzzleHttp\Cookie;
     3
     4use Impresee\Psr\Http\Message\RequestInterface;
     5use Impresee\Psr\Http\Message\ResponseInterface;
    66
    77/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Cookie;
     2namespace ImpreseeGuzzleHttp\Cookie;
    33
    4 use Psr\Http\Message\RequestInterface;
    5 use Psr\Http\Message\ResponseInterface;
     4use Impresee\Psr\Http\Message\RequestInterface;
     5use Impresee\Psr\Http\Message\ResponseInterface;
    66
    77/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Cookie;
     2namespace ImpreseeGuzzleHttp\Cookie;
    33
    44/**
     
    5757        }
    5858
    59         $jsonStr = \GuzzleHttp\json_encode($json);
     59        $jsonStr = \ImpreseeGuzzleHttp\json_encode($json);
    6060        if (false === file_put_contents($filename, $jsonStr, LOCK_EX)) {
    6161            throw new \RuntimeException("Unable to save file {$filename}");
     
    8080        }
    8181
    82         $data = \GuzzleHttp\json_decode($json, true);
     82        $data = \ImpreseeGuzzleHttp\json_decode($json, true);
    8383        if (is_array($data)) {
    8484            foreach (json_decode($json, true) as $cookie) {
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Cookie;
     2namespace ImpreseeGuzzleHttp\Cookie;
    33
    44/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Cookie;
     2namespace ImpreseeGuzzleHttp\Cookie;
    33
    44/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Exception;
     2namespace ImpreseeGuzzleHttp\Exception;
    33
    4 use Psr\Http\Message\RequestInterface;
    5 use Psr\Http\Message\ResponseInterface;
     4use Impresee\Psr\Http\Message\RequestInterface;
     5use Impresee\Psr\Http\Message\ResponseInterface;
    66
    77/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Exception/ClientException.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Exception;
     2namespace ImpreseeGuzzleHttp\Exception;
    33
    44/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Exception;
     2namespace ImpreseeGuzzleHttp\Exception;
    33
    4 use Psr\Http\Message\RequestInterface;
     4use Impresee\Psr\Http\Message\RequestInterface;
    55
    66/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Exception;
     2namespace ImpreseeGuzzleHttp\Exception;
    33
    44use Throwable;
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php

    r3455463 r3455518  
    11<?php
    22
    3 namespace GuzzleHttp\Exception;
     3namespace ImpreseeGuzzleHttp\Exception;
    44
    55final class InvalidArgumentException extends \InvalidArgumentException implements GuzzleException
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Exception;
     2namespace ImpreseeGuzzleHttp\Exception;
    33
    44use GuzzleHttp\Promise\PromiseInterface;
    5 use Psr\Http\Message\RequestInterface;
    6 use Psr\Http\Message\ResponseInterface;
    7 use Psr\Http\Message\UriInterface;
     5use Impresee\Psr\Http\Message\RequestInterface;
     6use Impresee\Psr\Http\Message\ResponseInterface;
     7use Impresee\Psr\Http\Message\UriInterface;
    88
    99/**
     
    125125    public static function getResponseBodySummary(ResponseInterface $response)
    126126    {
    127         return \GuzzleHttp\Psr7\get_message_body_summary($response);
     127        return \ImpreseeGuzzleHttp\Psr7\get_message_body_summary($response);
    128128    }
    129129
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Exception/SeekException.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Exception;
     2namespace ImpreseeGuzzleHttp\Exception;
    33
    4 use Psr\Http\Message\StreamInterface;
     4use Impresee\Psr\Http\Message\StreamInterface;
    55
    66/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Exception/ServerException.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Exception;
     2namespace ImpreseeGuzzleHttp\Exception;
    33
    44/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Exception;
     2namespace ImpreseeGuzzleHttp\Exception;
    33
    44class TooManyRedirectsException extends RequestException
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Exception/TransferException.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Exception;
     2namespace ImpreseeGuzzleHttp\Exception;
    33
    44class TransferException extends \RuntimeException implements GuzzleException
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Handler;
    3 
    4 use GuzzleHttp\Exception\ConnectException;
    5 use GuzzleHttp\Exception\RequestException;
     2namespace ImpreseeGuzzleHttp\Handler;
     3
     4use ImpreseeGuzzleHttp\Exception\ConnectException;
     5use ImpreseeGuzzleHttp\Exception\RequestException;
    66use GuzzleHttp\Promise\FulfilledPromise;
    7 use GuzzleHttp\Psr7;
    8 use GuzzleHttp\Psr7\LazyOpenStream;
    9 use GuzzleHttp\TransferStats;
    10 use Psr\Http\Message\RequestInterface;
     7use ImpreseeGuzzleHttp\Psr7;
     8use ImpreseeGuzzleHttp\Psr7\LazyOpenStream;
     9use ImpreseeGuzzleHttp\TransferStats;
     10use Impresee\Psr\Http\Message\RequestInterface;
    1111
    1212/**
     
    380380            $sink = $options['sink'];
    381381            if (!is_string($sink)) {
    382                 $sink = \GuzzleHttp\Psr7\stream_for($sink);
     382                $sink = \ImpreseeGuzzleHttp\Psr7\stream_for($sink);
    383383            } elseif (!is_dir(dirname($sink))) {
    384384                // Ensure that the directory exists before failing in curl.
     
    432432                    $host = $easy->request->getUri()->getHost();
    433433                    if (!isset($options['proxy']['no']) ||
    434                         !\GuzzleHttp\is_host_in_noproxy($host, $options['proxy']['no'])
     434                        !\ImpreseeGuzzleHttp\is_host_in_noproxy($host, $options['proxy']['no'])
    435435                    ) {
    436436                        $conf[CURLOPT_PROXY] = $options['proxy'][$scheme];
     
    492492
    493493        if (!empty($options['debug'])) {
    494             $conf[CURLOPT_STDERR] = \GuzzleHttp\debug_resource($options['debug']);
     494            $conf[CURLOPT_STDERR] = \ImpreseeGuzzleHttp\debug_resource($options['debug']);
    495495            $conf[CURLOPT_VERBOSE] = true;
    496496        }
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Handler;
     2namespace ImpreseeGuzzleHttp\Handler;
    33
    4 use Psr\Http\Message\RequestInterface;
     4use Impresee\Psr\Http\Message\RequestInterface;
    55
    66interface CurlFactoryInterface
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Handler;
     2namespace ImpreseeGuzzleHttp\Handler;
    33
    4 use GuzzleHttp\Psr7;
    5 use Psr\Http\Message\RequestInterface;
     4use ImpreseeGuzzleHttp\Psr7;
     5use Impresee\Psr\Http\Message\RequestInterface;
    66
    77/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Handler;
     2namespace ImpreseeGuzzleHttp\Handler;
    33
    44use GuzzleHttp\Promise as P;
    55use GuzzleHttp\Promise\Promise;
    6 use GuzzleHttp\Utils;
    7 use Psr\Http\Message\RequestInterface;
     6use ImpreseeGuzzleHttp\Utils;
     7use Impresee\Psr\Http\Message\RequestInterface;
    88
    99/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Handler;
     2namespace ImpreseeGuzzleHttp\Handler;
    33
    4 use GuzzleHttp\Psr7\Response;
    5 use Psr\Http\Message\RequestInterface;
    6 use Psr\Http\Message\ResponseInterface;
    7 use Psr\Http\Message\StreamInterface;
     4use ImpreseeGuzzleHttp\Psr7\Response;
     5use Impresee\Psr\Http\Message\RequestInterface;
     6use Impresee\Psr\Http\Message\ResponseInterface;
     7use Impresee\Psr\Http\Message\StreamInterface;
    88
    99/**
     
    5151        // HTTP-version SP status-code SP reason-phrase
    5252        $startLine = explode(' ', array_shift($this->headers), 3);
    53         $headers = \GuzzleHttp\headers_from_lines($this->headers);
    54         $normalizedKeys = \GuzzleHttp\normalize_header_keys($headers);
     53        $headers = \ImpreseeGuzzleHttp\headers_from_lines($this->headers);
     54        $normalizedKeys = \ImpreseeGuzzleHttp\normalize_header_keys($headers);
    5555
    5656        if (!empty($this->options['decode_content'])
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Handler;
     2namespace ImpreseeGuzzleHttp\Handler;
    33
    4 use GuzzleHttp\Exception\RequestException;
    5 use GuzzleHttp\HandlerStack;
     4use ImpreseeGuzzleHttp\Exception\RequestException;
     5use ImpreseeGuzzleHttp\HandlerStack;
    66use GuzzleHttp\Promise\PromiseInterface;
    77use GuzzleHttp\Promise\RejectedPromise;
    8 use GuzzleHttp\TransferStats;
    9 use Psr\Http\Message\RequestInterface;
    10 use Psr\Http\Message\ResponseInterface;
     8use ImpreseeGuzzleHttp\TransferStats;
     9use Impresee\Psr\Http\Message\RequestInterface;
     10use Impresee\Psr\Http\Message\ResponseInterface;
    1111
    1212/**
     
    109109                    } elseif (is_string($sink)) {
    110110                        file_put_contents($sink, $contents);
    111                     } elseif ($sink instanceof \Psr\Http\Message\StreamInterface) {
     111                    } elseif ($sink instanceof \Impresee\Psr\Http\Message\StreamInterface) {
    112112                        $sink->write($contents);
    113113                    }
     
    141141            } else {
    142142                throw new \InvalidArgumentException('Expected a response or '
    143                     . 'exception. Found ' . \GuzzleHttp\describe_type($value));
     143                    . 'exception. Found ' . \ImpreseeGuzzleHttp\describe_type($value));
    144144            }
    145145        }
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Handler;
     2namespace ImpreseeGuzzleHttp\Handler;
    33
    4 use GuzzleHttp\RequestOptions;
    5 use Psr\Http\Message\RequestInterface;
     4use ImpreseeGuzzleHttp\RequestOptions;
     5use Impresee\Psr\Http\Message\RequestInterface;
    66
    77/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp\Handler;
    3 
    4 use GuzzleHttp\Exception\ConnectException;
    5 use GuzzleHttp\Exception\RequestException;
     2namespace ImpreseeGuzzleHttp\Handler;
     3
     4use ImpreseeGuzzleHttp\Exception\ConnectException;
     5use ImpreseeGuzzleHttp\Exception\RequestException;
    66use GuzzleHttp\Promise\FulfilledPromise;
    77use GuzzleHttp\Promise\PromiseInterface;
    8 use GuzzleHttp\Psr7;
    9 use GuzzleHttp\TransferStats;
    10 use GuzzleHttp\Utils;
    11 use Psr\Http\Message\RequestInterface;
    12 use Psr\Http\Message\ResponseInterface;
    13 use Psr\Http\Message\StreamInterface;
     8use ImpreseeGuzzleHttp\Psr7;
     9use ImpreseeGuzzleHttp\TransferStats;
     10use ImpreseeGuzzleHttp\Utils;
     11use Impresee\Psr\Http\Message\RequestInterface;
     12use Impresee\Psr\Http\Message\ResponseInterface;
     13use Impresee\Psr\Http\Message\StreamInterface;
    1414
    1515/**
     
    104104        $status = $parts[1];
    105105        $reason = isset($parts[2]) ? $parts[2] : null;
    106         $headers = \GuzzleHttp\headers_from_lines($hdrs);
     106        $headers = \ImpreseeGuzzleHttp\headers_from_lines($hdrs);
    107107        list($stream, $headers) = $this->checkDecode($options, $headers, $stream);
    108108        $stream = Psr7\stream_for($stream);
     
    159159        // Automatically decode responses when instructed.
    160160        if (!empty($options['decode_content'])) {
    161             $normalizedKeys = \GuzzleHttp\normalize_header_keys($headers);
     161            $normalizedKeys = \ImpreseeGuzzleHttp\normalize_header_keys($headers);
    162162            if (isset($normalizedKeys['content-encoding'])) {
    163163                $encoding = $headers[$normalizedKeys['content-encoding']];
     
    414414            if (isset($value[$scheme])) {
    415415                if (!isset($value['no'])
    416                     || !\GuzzleHttp\is_host_in_noproxy(
     416                    || !\ImpreseeGuzzleHttp\is_host_in_noproxy(
    417417                        $request->getUri()->getHost(),
    418418                        $value['no']
     
    438438            // < 5.6, use the Guzzle bundled cacert.
    439439            if (PHP_VERSION_ID < 50600) {
    440                 $options['ssl']['cafile'] = \GuzzleHttp\default_ca_bundle();
     440                $options['ssl']['cafile'] = \ImpreseeGuzzleHttp\default_ca_bundle();
    441441            }
    442442        } elseif (is_string($value)) {
     
    505505            'bytes_transferred', 'bytes_max'];
    506506
    507         $value = \GuzzleHttp\debug_resource($value);
     507        $value = \ImpreseeGuzzleHttp\debug_resource($value);
    508508        $ident = $request->getMethod() . ' ' . $request->getUri()->withFragment('');
    509509        $this->addNotification(
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/HandlerStack.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
     2namespace ImpreseeGuzzleHttp;
    33
    44use GuzzleHttp\Promise\PromiseInterface;
    5 use Psr\Http\Message\RequestInterface;
    6 use Psr\Http\Message\ResponseInterface;
     5use Impresee\Psr\Http\Message\RequestInterface;
     6use Impresee\Psr\Http\Message\ResponseInterface;
    77
    88/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/MessageFormatter.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
     2namespace ImpreseeGuzzleHttp;
    33
    4 use Psr\Http\Message\MessageInterface;
    5 use Psr\Http\Message\RequestInterface;
    6 use Psr\Http\Message\ResponseInterface;
     4use Impresee\Psr\Http\Message\MessageInterface;
     5use Impresee\Psr\Http\Message\RequestInterface;
     6use Impresee\Psr\Http\Message\ResponseInterface;
    77
    88/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Middleware.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
    3 
    4 use GuzzleHttp\Cookie\CookieJarInterface;
    5 use GuzzleHttp\Exception\RequestException;
     2namespace ImpreseeGuzzleHttp;
     3
     4use ImpreseeGuzzleHttp\Cookie\CookieJarInterface;
     5use ImpreseeGuzzleHttp\Exception\RequestException;
    66use GuzzleHttp\Promise\RejectedPromise;
    7 use GuzzleHttp\Psr7;
    8 use Psr\Http\Message\ResponseInterface;
     7use ImpreseeGuzzleHttp\Psr7;
     8use Impresee\Psr\Http\Message\ResponseInterface;
    99use Psr\Log\LoggerInterface;
    1010
     
    2929                    return $handler($request, $options);
    3030                } elseif (!($options['cookies'] instanceof CookieJarInterface)) {
    31                     throw new \InvalidArgumentException('cookies must be an instance of GuzzleHttp\Cookie\CookieJarInterface');
     31                    throw new \InvalidArgumentException('cookies must be an instance of ImpreseeGuzzleHttp\Cookie\CookieJarInterface');
    3232                }
    3333                $cookieJar = $options['cookies'];
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Pool.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
     2namespace ImpreseeGuzzleHttp;
    33
    44use GuzzleHttp\Promise\EachPromise;
    55use GuzzleHttp\Promise\PromiseInterface;
    66use GuzzleHttp\Promise\PromisorInterface;
    7 use Psr\Http\Message\RequestInterface;
     7use Impresee\Psr\Http\Message\RequestInterface;
    88
    99/**
     
    9292     * @param array|\Iterator $requests Requests to send concurrently.
    9393     * @param array           $options  Passes through the options available in
    94      *                                  {@see GuzzleHttp\Pool::__construct}
     94     *                                  {@see ImpreseeGuzzleHttp\Pool::__construct}
    9595     *
    9696     * @return array Returns an array containing the response or an exception
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
     2namespace ImpreseeGuzzleHttp;
    33
    44use GuzzleHttp\Promise\PromiseInterface;
    5 use GuzzleHttp\Psr7;
    6 use Psr\Http\Message\RequestInterface;
     5use ImpreseeGuzzleHttp\Psr7;
     6use Impresee\Psr\Http\Message\RequestInterface;
    77
    88/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
    3 
    4 use GuzzleHttp\Exception\BadResponseException;
    5 use GuzzleHttp\Exception\TooManyRedirectsException;
     2namespace ImpreseeGuzzleHttp;
     3
     4use ImpreseeGuzzleHttp\Exception\BadResponseException;
     5use ImpreseeGuzzleHttp\Exception\TooManyRedirectsException;
    66use GuzzleHttp\Promise\PromiseInterface;
    7 use GuzzleHttp\Psr7;
    8 use Psr\Http\Message\RequestInterface;
    9 use Psr\Http\Message\ResponseInterface;
    10 use Psr\Http\Message\UriInterface;
     7use ImpreseeGuzzleHttp\Psr7;
     8use Impresee\Psr\Http\Message\RequestInterface;
     9use Impresee\Psr\Http\Message\ResponseInterface;
     10use Impresee\Psr\Http\Message\UriInterface;
    1111
    1212/**
     
    1414 *
    1515 * Apply this middleware like other middleware using
    16  * {@see \GuzzleHttp\Middleware::redirect()}.
     16 * {@see \ImpreseeGuzzleHttp\Middleware::redirect()}.
    1717 */
    1818class RedirectMiddleware
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/RequestOptions.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
     2namespace ImpreseeGuzzleHttp;
    33
    44/**
     
    5959
    6060    /**
    61      * cookies: (bool|GuzzleHttp\Cookie\CookieJarInterface, default=false)
     61     * cookies: (bool|ImpreseeGuzzleHttp\Cookie\CookieJarInterface, default=false)
    6262     * Specifies whether or not cookies are used in a request or what cookie
    6363     * jar to use or what cookies to send. This option only works if your
    6464     * handler has the `cookie` middleware. Valid values are `false` and
    65      * an instance of {@see GuzzleHttp\Cookie\CookieJarInterface}.
     65     * an instance of {@see ImpreseeGuzzleHttp\Cookie\CookieJarInterface}.
    6666     */
    6767    const COOKIES = 'cookies';
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
     2namespace ImpreseeGuzzleHttp;
    33
    44use GuzzleHttp\Promise\PromiseInterface;
    55use GuzzleHttp\Promise\RejectedPromise;
    6 use GuzzleHttp\Psr7;
    7 use Psr\Http\Message\RequestInterface;
    8 use Psr\Http\Message\ResponseInterface;
     6use ImpreseeGuzzleHttp\Psr7;
     7use Impresee\Psr\Http\Message\RequestInterface;
     8use Impresee\Psr\Http\Message\ResponseInterface;
    99
    1010/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/TransferStats.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
     2namespace ImpreseeGuzzleHttp;
    33
    4 use Psr\Http\Message\RequestInterface;
    5 use Psr\Http\Message\ResponseInterface;
    6 use Psr\Http\Message\UriInterface;
     4use Impresee\Psr\Http\Message\RequestInterface;
     5use Impresee\Psr\Http\Message\ResponseInterface;
     6use Impresee\Psr\Http\Message\UriInterface;
    77
    88/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/UriTemplate.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
     2namespace ImpreseeGuzzleHttp;
    33
    44/**
  • visual-search/trunk/vendor/guzzlehttp/guzzle/src/Utils.php

    r3455463 r3455518  
    11<?php
    2 namespace GuzzleHttp;
     2namespace ImpreseeGuzzleHttp;
    33
    4 use GuzzleHttp\Exception\InvalidArgumentException;
    5 use Psr\Http\Message\UriInterface;
     4use ImpreseeGuzzleHttp\Exception\InvalidArgumentException;
     5use Impresee\Psr\Http\Message\UriInterface;
    66use Symfony\Polyfill\Intl\Idn\Idn;
    77
  • visual-search/trunk/vendor/impresee/impresee-creative-search-bar-php-base/composer.json

    r3455463 r3455518  
    3232        "caseyamcl/guzzle_retry_middleware": "^2.3",
    3333        "guzzlehttp/promises": "^1.3",
    34         "guzzlehttp/guzzle": "^6.5"
     34        "guzzlehttp/guzzle": "6.5.x-dev"
    3535    },
    3636    "require-dev": {
Note: See TracChangeset for help on using the changeset viewer.