It's not a change in the implementation of BIP32, it's a change in Electrum's wallet implementation to BIP32. Electrum's deterministic wallets that you've been using for years came along before BIP32 even existed. Recent versions of Electrum (2.0.0+) have moved on to creating a BIP32 wallet by default, which of course uses the "xpub" representation of the master public key as defined in BIP32 instead of the hex representation. Key derivation is also different with BIP32, a BIP32 master public key is not compatible at all with tools like addrgen that were designed for Electrum's previous wallet format.
If you have the 12 word seed from an older Electrum wallet (or an older version of Electrum to create a new seed with), I do believe you can import that seed into recent BIP32-enabled versions of Electrum and it should use the old wallet format for that wallet. If so, that's your easiest path forward. If not, you'll need to find some PHP code that handles BIP32 key derivation, unfortunately I don't know of any off the top of my head.