You are correct, it works in bash. In fact the man page states (I have read a bit too quickly):
Read and execute commands from filename in the current shell en‐
vironment and return the exit status of the last command exe‐
cuted from filename. If filename does not contain a slash,
filenames in PATH are used to find the directory containing
filename. The file searched for in PATH need not be executable.
When bash is not in posix mode, the current directory is
searched if no file is found in PATH.
Anyway, on tinypilot 13:
tc@pypilot:~$ echo "echo hi" > foo
tc@pypilot:~$ . foo
-sh: .: foo: not found
tc@pypilot:~$ . ./foo
hi
A quick search about this ended up on this discussion
https://busybox.busybox.narkive.com/tfMJ...after-path . It's from 5 years ago, when devs struggled to decide whether to keep the current directory on the search list (seems to be a bashism) or to follow POSIX. I'd say they finally settled up on the latter, although I'm too lazy right now to find the exact change in busybox github...
This is not the only effect of the new busybox however, 'timeout' syntax did change as well (see
https://github.com/pypilot/pypilot/pull/119). And maybe others, who knows...