Do major platform updates break OTA on ESP32?

I have to admit that I haven’t paid too much attention to platform versions until recently and just let PlatformIO update along. I have sometimes noticed, though, that ArduinoOTA flashes did not work anymore and I had to reflash once via Serial, after which everything worked again.
Now, due to another issue, I had to switch back and forth between espressif32 Version 2.1.0 and 3.3.2 and ran into the exact same problem again.
So, do major platform updates break OTA? Are there any settings for legacy support? I have a few hard-to-access projects that rely on OTA a bit, and I would prefer to have an alternative to Serial in these situations.

It should all depend on the Arduino core. PlatformIO builds the Arduino core and calls in the flasher tools (espota.py) provided by the Arduino core. Which Arduino core version it uses is configured in the platform version’s platform.json.

3.3.2:

2.1.0

so that’s core version 1.0.6 vs core version 1.0.4.

Can you reproduce the problem in the Arduino IDE when explicitly installing these Arduino-ESP32 core versions and testing OTA?

If yes, the breaking change lies in the Arudino core code (or OTA library).

Thanks, I’ll try to find some time to test this.