In reply to Andrey Savchenko.

It appears that lots of plugins and themes are using this code in one form or the other.

It doesn't. There are about 600 hundreds of plugins in official repo that do it, by my count (those not calling it with UTC argument, which is harmless). None of them are especially widely installed (100K active and less) and a lot of instances seem to be in externals SDKs. libraries, unit tests, and such.

Why is there no “deprecated” notice at least a few month before such a breaking change?

I am not sure what do you consider breaking change here. The problem with permalink was certainly unfortunate, unplanned, and will be fixed in patch release.

While there were some changes to edge case behaviors in older Date/Time functions, the work was done with usual commitment to backwards compatibility and there are a lot of unit tests added to ensure that.

This change should be rolled back immediately, it probably affects millions of sites which did not even notice yet due to no monitoring at google or similar.

It is hard to estimate, but I would say millions is too pessimistic. There are no major plugins that break things in this way. And changing default timezone broke things long before 5.3, just not like this.

A weird quote can beo found here, “For the context while we consider date_i18() legacy function now”, but there is not one word about that in Code Reference nor is there a doing_it_wrong migration hint or similar.

To be clear "legacy" here does not signify a formal deprecation status, is signifies that a function is an old mess.

date_i18n() is not formally deprecated and there is no hard immediate need to migrate from it, though that is certainly advisable due to problems inherent in its design (chiefly use of WP timestamp).

Something went pretty wrong with this commit, sorry to say.

Certainly did, I very much would have preferred that permalink breakage was caught before release.