A workaround right now for those affected is to remove quotes.
The syntax doesn’t make it clear whether the value is expected to be treated as a Bash expression or as a raw value – so I’m not sure what the “intuitive” behavior would be.
FWIW, removing quotes does not restore the old behavior. Tried it in https://github.com/nipy/nibabel/pull/895, and variables with spaces were not set correctly.
I’m not sure you need to catch every corner case… People are motivated to find a way to get the strings they want into their variables. Unless you’re worried about some kind of code injection, I would be inclined to let things like that fail.
I’m not personally invested in the quote syntax (apart from the time I’ll have to spend if we move away from the old style), just as long as I can get spaces and interpolate previously-defined variables. I’d rather not have to escape spaces, but if that’s what’s required, so be it.