Por que o comando source não funciona com a substituição de processos no bash 3.2?

Eu tenho o seguinte script de shell:

cat <(echo foo)
source <(echo bar=bar)
echo $bar

No entanto, ele funciona de maneira diferente no GNU bash 3.2 e 4.3, como mostrado abaixo:

$ /bin/bash foo.sh 
foo

3.2.53(1)-release

$ /usr/local/bin/bash foo.sh 
foo
bar
4.3.33(1)-release

Por que isso funciona apenas em uma versão? É um bug ou recurso adicionado?

Parece que a substituição do processo funciona bem, mas existe um problema ao obter o arquivo.

Se esse comportamento for esperado, que outra sintaxe devo usar parasource algo da entrada padrão para ser compatível entre diferentes versões do bash?

questionAnswers(1)

yourAnswerToTheQuestion