Skip to content

libuvcpp v1.8.2

Latest

Choose a tag to compare

@github-actions github-actions released this 20 Oct 18:10
· 5 commits to master since this release

下载 (Download)

六个平台各一份预编译包,点名字直接下载:

平台 包
mingw-x64 libuvcpp-1.8.2-mingw-x64.zip
mingw-arm64 libuvcpp-1.8.2-mingw-arm64.zip
msvc-x64 libuvcpp-1.8.2-msvc-x64.zip
msvc-arm64 libuvcpp-1.8.2-msvc-arm64.zip
linux-x64 libuvcpp-1.8.2-linux-x64.zip
linux-arm64 libuvcpp-1.8.2-linux-arm64.zip

v1.8.2 重点 (Highlights)

v1.8.1 之后的补丁版,把 uvscope 0.3 / 0.4 依赖的一批网络与协议能力一次落齐:
域名解析的 IPv6 回退、TLS 证书链可读、SOCKS5 会话统计、HTTP 客户端的流式与总
deadline、WebSocket 逐帧,以及 h2 / h3 / QUIC 的调试面。

网络与 TLS

  • 域名解析改 AF_UNSPEC,按 getaddrinfo 顺序逐个尝试(异步与同步),失败返回
    最后一次的真实错误;UDP 客户端也接受域名,并按 socket 地址族挑候选。
  • 公开对端证书链、X509_V_ERR 校验码与 SAN:peer_cert_chain_der() /
    peer_verify_result() / peer_verify_error()。
  • 阻塞 *_wait 的 timeout_ms 是整次请求的总 deadline;客户端解码 br,门槛可配。

SOCKS5

  • set_session_end_callback():每条会话恰好一次,带双方向字节数、UDP 计数、
    起止时间与结束原因。
  • socks5_proxy_connect_failed() 转发到 ws 客户端,区分「连代理失败」与
    「认证 / REP 码失败」。

WebSocket 与 HTTP

  • on_frame() / send_frame():逐帧观察与发送,RSV1 / FIN / 分片边界可见。
  • send_stream():HTTP/1.1 流式响应,on_body 返回 false 停读 socket,支持
    resume() / cancel_stream()。

HTTP/2、HTTP/3 与 QUIC

  • h2:set_h2_frame_callback()(HEADERS / DATA / RST_STREAM / GOAWAY /
    WINDOW_UPDATE)。
  • h3:GOAWAY 平滑退场(shutdown_notice() / shutdown())与 trailers。
  • QUIC:DATAGRAM(RFC 9221)与连接迁移的路径事件(on_path_validation /
    on_path_changed)。

兼容性:公开 API 只增不改;唯一有意的语义变化是阻塞 *_wait 的 timeout_ms
从「每次 I/O」变成「整次请求的总 deadline」。

明确不支持:0-RTT、extended CONNECT / WebSocket over h3、QPACK 连接级可观测
字段、主动迁移入口。


本版的逐条说明,以及按主题汇总的完整清单(每条都标出它首次出现的开发档号):
CHANGELOG.md。