v0.9.9 Maintenance Release
This maintenance release hardens cross-platform browser lifecycle handling and asynchronous query polling.
Fixed
- Windows CDP handoff now validates that a late listener belongs to the requested profile before accepting it.
- Home-directory resolution now survives constrained environments and honors the configured storage path for browser and Snap discovery.
- WSL browser startup preserves non-ASCII Windows temporary-profile paths through explicit UTF-8 subprocess handling.
- Completed and failed asynchronous query results remain available until their configured TTL.
- Externally managed local CDP browsers are closed only when profile ownership is verified, with replacement listeners protected from accidental cleanup.
Thanks
- Thanks to @insane66613 for PRs #288, #289, and #290.
- Thanks to @etadward and @Joystick01 for the detailed issue reports behind the WSL and async-query fixes.
Verification
- Focused regression tests pass for CDP ownership, home resolution, WSL encoding, Snap routing, and query retention.
- Full non-live suite passes: 1,402 passed, 38 skipped, and 1 live upload test deselected. Ruff lint, formatting, and package build pass.