跳到内容

OkHttp 1.x 更新日志

版本 1.6.0

2014-05-23

  • 提供桥梁,以便更轻松地从 OkHttp 1.x 迁移到 OkHttp 2.0。这增加了 OkUrlFactoryCache@Deprecated 注解,用于标记在 2.0 中删除的 API。

版本 1.5.4

2014-04-14

  • 取消在 Android 中的 ALPN 支持。所有当前发布的版本都存在并发错误。
  • 仅通过断开套接字来支持异步断开连接。这应该可以防止多个线程并发访问流时出现不稳定。

版本 1.5.3

2014-03-29

  • 修复了从 POST 重定向到 GET 时未始终丢弃 Content-Length 头部的错误。
  • 实现对 Thread.interrupt() 的基本支持。OkHttp 现在在执行阻塞调用之前检查是否发生中断。如果发生中断,则抛出 InterruptedIOException

版本 1.5.2

2014-03-17

  • 修复了删除 HttpResponseCache 中不存在的文件导致 IOException 的错误。
  • 修复了 HTTP/2 中的错误,该错误导致我们的 HPACK 解码器在某些逐出场景下不发出条目,从而导致响应头部丢失。

版本 1.5.1

2014-03-11

  • 修复 1.5.0 中的回归问题,该问题导致连接未被回收。
  • 修复 1.5.0 中的回归问题,该问题导致透明 Gzip 因尝试从另一个 I/O 故障中恢复而损坏。
  • 修复 spdy/3.1 头部可能未正确压缩的问题。
  • 修复 spdy/3.1 和 http/2 中使用错误窗口大小的问题。
  • 修复 1.5.0 中的回归问题,该问题导致条件缓存响应可能损坏连接池。

版本 1.5.0

2014-03-07

OkHttp 不再使用默认的 SSL 上下文。

希望将全局 SSL 上下文与 OkHttp 一起使用的应用程序应按如下配置其 OkHttpClient 实例

okHttpClient.setSslSocketFactory(HttpsURLConnection.getDefaultSSLSocketFactory());

一个更简单的解决方案是避免使用共享的默认 SSL 套接字工厂。相反,如果您需要自定义 SSL,请仅针对您特定的 OkHttpClient 实例进行。

合成头部已更改

之前 OkHttp 添加了一个合成响应头部 OkHttp-Selected-Transport。它已被一个新的合成头部 OkHttp-Selected-Protocol 取代。

变更
  • 新增:支持 HTTP-draft-09/2.0
  • 新增:支持 spdy/3.1。取消了对 spdy/3 的支持。
  • 新增:在支持 ALPN 的 Android 平台上使用它 (4.4+)。
  • 新增:CacheControl 模型和解析器。
  • 新增:MockWebServer 中的协议选择。
  • 修复:路由选择不应使用已知会失败的 TLS 模式。
  • 修复:即使响应体过早关闭,也缓存 SPDY 响应。
  • 修复:中止下载时使用严格超时。
  • 修复:支持 Shoutcast HTTP 响应,例如 ICY 200 OK
  • 修复:如果没有响应体,则不解压缩。
  • 修复:重定向时不泄露 gzip 流。
  • 修复:不对无效主机进行 DNS 查找。
  • 修复:读取 gzip 流时耗尽底层流。
  • 修复:支持 PATCH 方法。
  • 修复:支持 DELETE 方法上的请求体。
  • 修复:删除 okhttp-protocols 模块。
  • 内部:将内部字节数组缓冲区替换为池化缓冲区(“OkBuffer”)。

版本 1.3.0

2014-01-11

  • 新增:在客户端和 MockWebServer 中支持“PATCH” HTTP 方法。
  • 修复:从 POST 重定向到 GET 时丢弃 Content-Length 头部。
  • 修复:正确读取具有畸形头部名称的缓存头部条目。
  • 修复:除“Basic”外,不直接支持任何其他认证方案。
  • 修复:尊重回收连接上的读取超时。
  • 修复:将多个 cookie 值作为单个头部并使用分隔符传输。
  • 修复:确保连接的 getHeaderFields() 方法永不返回 null
  • 修复:为 GZip 响应将正确的 Content-Encoding 头部持久化到缓存。
  • 修复:消除 SPDY 流中导致连接无法重用的罕见竞争条件。
  • 修复:将 HTTP 日期格式更改为 UTC,以符合 RFC2616 第 3.3 节。
  • 修复:支持带有尾随字节的 SPDY 头部块。
  • 修复:允许使用 ; 作为 Cache-Control 头部的分隔符。
  • 修复:HTTPS POST 请求总是自动缓冲的错误。
  • 修复:解析 SPDY 头部时遵循读取超时。

版本 1.2.1

2013-08-23

  • 解决“jar-with-dependencies” artifact 创建问题。
  • 修复:支持空的 SPDY 头部值。

版本 1.2.0

2013-08-11

  • OkHttpClient 新增 API,用于设置连接和读取的默认超时。
  • 修复缓存 SPDY 响应时的错误。
  • 修复 SPDY 加半关闭流的错误。(感谢 kwuollett)
  • 修复 Apache HTTP 客户端适配器中 gzipped 流的 Content-Length 报告错误。(感谢 kwuollett)
  • 解决 Alcatel getByInetAddress 错误。(感谢 k.kocel)
  • 更积极地测试池化套接字后才重用。(感谢 warpspin)
  • 在 Apache HTTP 客户端适配器中包含 Content-TypeContent-Encoding。(感谢 kwuollett)
  • 为 OkHttp 添加媒体类型类。
  • 更改自定义头部前缀

    X-Android-Sent-Millis is now OkHttp-Sent-Millis
    X-Android-Received-Millis is now OkHttp-Received-Millis
    X-Android-Response-Source is now OkHttp-Response-Source
    X-Android-Selected-Transport is now OkHttp-Selected-Transport
    
    * 改进类 POST 请求的缓存失效处理。* 将 MockWebServer 引入 OkHttp 并使其支持 SPDY。

版本 1.1.1

2013-06-23

  • 修复:缓存从 HTTP 重定向到 HTTPS 的响应时出现 ClassCastException。

版本 1.1.0

2013-06-15

  • 修复:由于主机名验证器选择方式的错误,导致大多数 HTTPS 连接无法重用。
  • 修复:SpdyConnection 中的锁定错误。
  • 修复:忽略空头部值(为了与 HttpURLConnection 兼容)。
  • 添加 URLStreamHandlerFactory 支持,以便 URL.openConnection() 使用 OkHttp。
  • 通过魔术请求头部公开传输协议(“http/1.1”、“spdy/3”等)。使用 X-Android-Transports 写入首选传输协议,使用 X-Android-Selected-Transport 读取协商的传输协议。

版本 1.0.2

2013-05-11

  • 修复:移除 Java 6 专属 API 的使用。
  • 修复:查询 MTU 时正确处理来自 NetworkInterface 的异常。
  • 修复:确保 MTU 具有合理的默认值和上限。

版本 1.0.1

2013-05-06

  • 更正方法名中 SSL 的大小写(getSslSocketFactory/setSslSocketFactory)。

版本 1.0.0

2013-05-06

首次发布。