If I’m understanding the history of this right, back in December (v4.6.0) there was a change from the STM32 Arduino core maintained by Roger Clark, to the official STM32duino core. As per the docs, the official STM32duino core is used by default. It seems from John’s observations that the official STM32 core doesn’t support DFU/USB updates - or at least without updating the bootloader? Hence the need to set the board_build.core
parameter in platformio.ini in order to revert to the old core.
Thankfully this has been found out by others before I pulled my own STM32 blue pills out again for a project!!!