v0.2.8
Fix: runner cursor corruption on long-running scripts
The script runner polled duckdb_queries() on the same DuckDB connection the script thread was using. DuckDB connections are not thread-safe, so the concurrent probe corrupted the script's result cursor: chained db.execute(...).fetchone() returned None and unpacking blew up with "cannot unpack non-iterable NoneType object". Any db.execute(...) taking longer than the 5s poll interval was at risk.
Fix: run the probe on a separate connection via conn.cursor(), which gives an independent cursor over the same database.
Includes a deterministic regression test that monkeypatches the poll interval and runs a 1.5s script with 30 chained fetches.