Skip to content

v1.2.3

Choose a tag to compare

@pattonw pattonw released this 21 Oct 17:43
49ebecf

daisy v1.2.3

A bug-fix release for the 1.x line. It fixes runs that hang when a worker
process dies, and server address detection on hosts where the default-route
lookup gives the wrong interface. This is the last 1.x release before
daisy 2.0

Fixes

  • Dead workers are detected and replaced. A worker that dies without
    reporting back (SIGKILL, OOM kill, SystemExit) used to leave the server
    waiting forever, because no error was queued and no block came back. The
    server now checks worker liveness on every event-loop iteration and starts
    replacements. (#67)
  • Workers that exit normally are not replaced. This fixes a follow-on bug
    from #67, where workers that finished cleanly were replaced over and over,
    so the worker count grew without limit. (#68)
  • TCP server address detection falls back to loopback. The server finds
    its address by sending UDP toward 8.8.8.8 and reading the default-route IP.
    On some hosts that address can't be used (macOS's application firewall,
    for example, made every TCP test fail with ENOTCONN). daisy now checks
    the detected address with a loopback connection test and falls back to
    127.0.0.1 if it fails. Server and TCPServer take an optional host
    argument to set the address explicitly. (#66)
  • No SyntaxWarning on Python 3.14. A return inside a finally block
    is rewritten to suppress exceptions explicitly
    (PEP 765), which removes the warning
    from the logs of downstream daisy/volara workflows. (#65)

Documentation

  • The docs build with GitHub Actions, and the API and release pages are
    updated. A new tutorial runs as part of the docs build, so it stays
    up to date and runnable. The old minimal_example and visualize.py
    examples were removed. (#60)

Development

  • black is replaced by ruff in the dev extra. A new docs extra
    installs the docs build dependencies.

Full changelog: v1.2.2...v1.2.3