Commit d055075
chore(release): v0.16.4 (#216)
v0.16.3 could take a machine off the internet, and this is the release
that stops it. Anyone on v0.16.3 who runs `dns enable` on a desktop is
exposed, so this is worth taking promptly.
The check that decided whether to write catch-all routing asked whether
upstreams were discoverable — a fact about the machine — and inferred
from that the bridge would forward. Those are different questions, and
where they diverge the result is total:
Global: ~. every lookup goes to the bridge
DNS Servers: 127.0.0.1:5354 and the bridge is the only global server
Nothing to fall through to. A server whose provider drop-in happens to put
real upstreams in the same scope survives the identical config, which is
why this was not caught before it was shipped.
The bridge is now asked directly, before anything is written. Catch-all
requires either a bridge that demonstrably forwards or no bridge at all,
in which case enable starts ours. The probe uses a three-label name on
purpose: a two-label name is a Moshpit name to any build, an older bridge
answers it with the parking address, and that answer would read as working
forwarding.
Falling back to per-ending routing is worse — it truncates silently — but
its worst case is Moshpit names not resolving, against a machine that
cannot reach anything. The output now says which was chosen and why.
Also in this release: mcp and skills exit non-zero when an engine fails to
install (#215).
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 8ef4329 commit d055075
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments