Repository navigation
Releases: Unity-Lab-AI/If-Only-I-Had-A-Brain
Release list
donor-v0.3.39
donor v0.3.39 — a crash now writes its own reason down
No protocol change. No new opcode. No behaviour change while connected.
This release adds a crash log, keeps symbols in the build, and moves the
GUI's three page links to the site's own domain.
Why
On 2026-10-18 the Windows donor died with exception 0xc0000409 (a Rust
abort) two seconds after the brain it was attached to went dark. Windows kept
a dump; the dump held no message; the binary was stripped, so the fault
offset named nothing; and the GUI build detaches from the console, so the
panic text Rust prints to stderr went nowhere. A donor that dies without a
word cannot be fixed.
What changed
| before | after | |
|---|---|---|
| panic / abort reason | stderr only — lost in the GUI build | <data dir>/unity-donor/crash.log — time, version, message, source location, backtrace; appended, never truncated |
| symbols in the release build | strip = true (no .pdb, offsets unnameable) |
line tables kept (debug = "line-tables-only"), so a dump maps to a file and line |
| GUI links (legend / dashboard / leaderboard) | https://unity-lab-ai.github.io/If-Only-I-Had-A-Brain/html/… |
https://theunitybrain.com/html/… |
The data dir is the same one that holds settings.json and donor-id
(%APPDATA%\unity-donor on Windows, ~/.local/share/unity-donor on Linux).
The hook runs before anything else in main, so a panic anywhere — the GPU
worker, the WebSocket loop, the GUI — lands in the file before the process
unwinds or aborts.
Nothing else
Same wire contract, same capability gates, same PROD_SERVER
(wss://dumbass.tailec58e0.ts.net/ws), same self-exit-when-silent behaviour.
The brain's DREAM_MIN_DONOR_VERSION floor is unchanged (0.3.26).
donor-v0.3.38
donor v0.3.38 — the brain moved house; the donor knows the new address
No protocol change. No new opcode. No behaviour change once connected.
This release changes one compiled-in constant and the three page links the GUI
opens, and it is published from a different place.
Why
The rented box that served wss://if-only-i-had-a-brain.git.unityailab.com/ws
is gone (its hostname no longer resolves). Every donor built before this one
dials that address by default and attaches to nothing — a stranger's download
and a RunPod pod alike.
What changed
| before | after | |
|---|---|---|
PROD_SERVER (default server) |
wss://if-only-i-had-a-brain.git.unityailab.com/ws |
wss://dumbass.tailec58e0.ts.net/ws |
| GUI links (legend / dashboard / leaderboard) | the old box | https://unity-lab-ai.github.io/If-Only-I-Had-A-Brain/html/… |
| where releases are published | Forgejo release + rsync to the box | GitHub Releases on this repository, then a Pages redeploy |
The brain now runs on the operator's own machine and is reached through a
Tailscale Funnel; /ws is one of the five read lanes the funnel forwards. The
public site is GitHub Pages. --local and a persisted custom server are
unaffected.
Nothing else
Same wire contract, same capability gates, same self-exit-when-silent behaviour
from 0.3.37. The brain's DREAM_MIN_DONOR_VERSION floor is unchanged (0.3.26),
so older donors still connect — they just have to be told the new server by
hand, which is the reason to ship this one.