the numberOfPairs may not be negative when numberOfPairs*2 is negative
Merge pull request #289 from levelup/double-negative

the numberOfPairs may not be negative when numberOfPairs*2 is negative
Switch NPN from optional to provided.

Optional dependencies get included in the fat jar but are not transitive. Provided dependencies do NOT get included in the fat jar and are also not transitive.

I believe the former is a bug in the Maven assembly plugin so the latter case is used as a workaround.
Merge pull request #295 from square/jw/switch-optional

Switch NPN from optional to provided.
Prepare 1.2.1 release.
Update change log with an additional fix description.
[maven-release-plugin] prepare release parent-1.2.1
[maven-release-plugin] prepare for next development iteration
Drop Content-Length when redirected from POST to GET.

https://github.com/square/okhttp/issues/296
Merge pull request #297 from square/jwilson/post_to_get

Drop body headers when redirected from POST to GET.
Implement HPACK, HTTP header compression.
Merge pull request #299 from square/jwilson/hpack

Implement HPACK, HTTP header compression.
When invalid sizes are used to initialize the ArrayList, don't crash with an uncaught exception
Continue to read old bad cache responses.
Merge pull request #302 from square/jwilson/old_bad_cache_responses

Continue to read old bad cache responses.
safer check for invalid values, without catching OOM
Merge branch 'master' of https://github.com/square/okhttp into disk-garbage
Merge pull request #301 from levelup/disk-garbage

When invalid sizes are used to initialize the ArrayList
Use one callback for SYN_STREAM, SYN_REPLY and HEADERS.

This is closer to the semantics of HTTP/2.0, which uses the HEADERS
frame for all three types. SPDY is a bit more strict because it
relies on redundancy; it's an error to send a SYN_REPLY after a
HEADERS frame. With HTTP/2.0, there's only one type so there's
no error to detect.
Upstream changes made directly to AOSP.

This change is a combination of 4 separate commits
to fix various bugs observed during android platform
testing.

https://android-review.googlesource.com/#/c/63781/
--------------------------------------------
Allow certificate inspections after connect.

We don't have to wait for the request to be sent
before allowing inspection of SSL certs. They can be
inspected as soon as the connection is established.

Fixes CTS test UrlConnectionTest#testInspectSslAfterConnect

https://android-review.googlesource.com/#/c/63821/
---------------------------------------------
Respect read timeout on recycled connections.

Partial fix for CTS test : URLConnectionTest#testGetKeepAlive.

https://android-review.googlesource.com/#/c/63782/
-----------------------------------
Fix HttpUrlConnection#isUsingProxy.

The earlier implementation disregarded what the
ProxySelector had to say. We now query the selected
route (if one has been established).

Fixes compatibility test:
HttpURLConnectionTest#testUsingProxySelector

https://android-review.googlesource.com/#/c/63872/
--------------------------------------------
Don't support anything other than Basic auth.

We should disregard authentication schemes other than
"Basic" and let clients handle them themselves.

The java Authenticator API gives us a user name and
password combination, but we can't know how to format
that information for any scheme other than basic.

Historically:

The JB implementation responds to challenges from an
arbitrary scheme "X" by sending a header with scheme
"X" but formatted like the "Basic" scheme.

The current implementation responds to challenges from
an arbitrary scheme "X" by sending a header with scheme
"Basic" and formatter like the "Basic scheme".

Partial fix for test cases in URLConnectionTest:
- testAuthenticateWithCommaSeparatedAuthenticationMethods
- testAuthenticateWithMultipleAuthenticationHeaders