• Suriya released this 2026-09-30 12:07:29 +00:00 | 3 commits to main since this release

    The certificate fallback now actually fires

    v0.5.6 made the engine update properly — and that immediately revealed that
    the certificate fix inside it had never worked.

    Python's urllib does not report a certificate failure as a certificate
    failure: it catches it and re-raises a generic network error with the real
    cause tucked inside. The fallback was written to catch the first kind, so it
    matched nothing and never ran. It is now written to catch what urllib actually
    raises.

    The unit test passed the whole time, because the stub it used raised the error
    in the form that seemed obvious rather than the form Python really produces. So
    this release also adds a real test: it puts Python into the exact state a
    Mac is in with no certificate list, over the real network, and downloads a real
    model through the fallback. Putting the old code back makes it fail; the new
    code makes it pass.

    What this means on a Mac

    Model downloads work on a python.org Python, which ships with no list of
    trusted certificate authorities unless you find and double-click
    Install Certificates.command. Behavision carries its own list and falls back
    to it — while still preferring the machine's own where there is one, so a shop
    behind a corporate proxy is unaffected. A genuine network failure is still
    reported as a network failure, not retried as a certificate problem.

    Everything since v0.5.4, and all of it now installs

    • The engine updates again. Every release built the engine package under
      the same version, so pip install --upgrade did nothing on a computer that
      had run setup once — while the app and agent beside it updated normally. Each
      release now stamps its own version, setup forces the engine to be replaced,
      and /api/health reports the engine version so a stale one is visible.
    • Setup works with Python 3.14, and refuses a too-new one in a single line
      instead of trying to compile numpy from source.
    • A half-built environment from a failed run is rebuilt.
    • Signing in on a second computer no longer knocks a shop offline — every
      installation now has its own name on the message broker.
    • "Run setup" instead of a 200-character file path, and it detects macOS
      running the app from a temporary read-only copy.

    Installing

    1. Unzip.
    2. Move Behavision to your Applications folder and open it from there.
    3. Run behavision-setup and wait — the first run downloads about 300 MB of
      recognition models.
    4. Open Behavision.

    Upgrading over an earlier install is the same steps.

    On a computer that will not watch cameras — a laptop, an office machine — skip
    setup entirely and just sign in. You get Live and Cameras across all your
    shops, including Watch live on any camera.

    Downloads

    • Behavision-v0.5.7-demo-windows-x64.zip — Windows 10/11, 64-bit
    • Behavision-v0.5.7-demo-macos-arm64.zip — Apple Silicon
    Downloads