Skip to content

v0.0.5

Latest

Choose a tag to compare

@github-actions github-actions released this 12 Oct 15:27
ef42b1c

CycleTLS 0.0.5 ships complete native libraries for Linux, macOS and Windows, with corrected source packaging and validation before publication. Use 0.0.5 instead of 0.0.4, whose partially published wheels omitted the Go runtime library.

This release includes the HTTP crash isolation and FFI lifetime fixes from #86. For long-running services, enable the isolated backend before the first request:

CYCLETLS_BACKEND=subprocess uv run python main.py

Synchronous, async and batch HTTP requests run in a separate worker. Worker death raises CycleTLSWorkerDied, and the next request starts a fresh worker. Failed requests are not replayed automatically. inprocess remains the default; WebSocket and SSE require it.

Other changes include safe descriptor duplication and async handle cleanup, event-loop notification readers, retained shared-library debug symbols, local_address, and fixes for dropped request options and TLS 1.3 JA3 retries. Runtime aborts remain unrecoverable in-process; process isolation contains their impact.

Install or upgrade:

uv add cycletls==0.0.5
# or
pip install --upgrade cycletls==0.0.5

Release validation loads the native library from every built wheel, checks its FFI exports, and checks the source archive's content and size. Linux, macOS and Windows passed the gated release rehearsal. Local unit/version and 24 focused packaging regressions passed.

What's Changed

Full Changelog: v0.0.4...v0.0.5