Rolling out a new version for "reasons" is way too common nowadays without the new version having feature parity with the old version.
Often just for a design refresh that could have been done on the old one just as well! And the new versions supposed to then be easier to maintain, but has some architecture that actually makes it hard to do the missing features due to choosing an architecture thats in fashion rather than an architecture for the codebase that suits the application being made, a non-architecture if you will.
Would you consider that a rendering engine, a git client, a bank app and a drawing app all should have the same structure and philosophy in regards of data and interface code? Probably not but thats the world we're living in. I'm sure they got tests for checking that the network codes middle classes though so it has yk be working correctly (that parse the data into an object that gets converted with a converter class to an object that gets used for the data for the ui).
So it's not that it feels like legacy software, it feels like new software!