All it needs is a declaration of showString, in the main file:
static void showString (PGM_P s);
I usually insert those just above the first executable statement, viz:
OneWire oneWire(W1PIN);
static void showString (PGM_P s);
void setup()
{
... etc
Now why does this version need it, and V1.8.1 didn’t, and why does it not need definitions of all the other functions in the supporting files?
Methinks it’s a bug. In previous versions, the definition sufficed.