Skip to content

v1.0.6 — Upstream sync 2026-08 + fork-only SetCipherList

Latest

Choose a tag to compare

@freitasjca freitasjca released this 03 Aug 19:32

What's changed

Upstream sync (winddriver/Delphi-Cross-Socket, August 2026)

  • `AddCACertificate` replaces `SetCACertificate` — additive API rename; multiple CA certs can be registered in sequence.
  • Password parameter on `SetPrivateKey` / `SetPrivateKeyFile` — `APassword: string = ''` is now a direct parameter; separate `SetPrivateKeyPassword` method removed.
  • HTTP request flow refactor (`07cf3dc7`) — improved connection lifecycle and TLS config locking.
  • HTTP parser CL=0 fix (`f543650e`) — `FHasBody` formula correctly handles `Content-Length: 0`; prevents `TCrossHttpClient` hang on empty responses.

Fork-only additions (preserved from v1.0.5)

  • `SetCipherList(ACipherList: string)` — overrides the TLS 1.2 cipher list via `SSL_CTX_set_cipher_list`. Not in upstream winddriver.
  • PATCH-CSHTTP-3 — retry-once on stale reused keep-alive connection in `TCrossHttpClient`; 50 ms backoff; forced fresh connect on retry.

Migration from v1.0.5

Old call New call
`SetCACertificateFile(file)` `AddCACertificateFile(file)`
`SetPrivateKeyPassword(pwd)` then `SetPrivateKeyFile(file)` `SetPrivateKeyFile(file, pwd)`
`SetCACertificate(buf, size)` `AddCACertificate(buf, size)`

`SetVerifyPeer` and `SetCipherList` are unchanged.