w.r.t. tx_isolation:
In MySQL 8.0, it is called transaction_isolation which is the name used by configuration files. MySQL 5.7 supports both names, but now warns when using the old name.
Supporting old+new names is required to support distributed apps which may upgrade a shard at a time (i.e. you want your code to work on both MySQL 5.7 and 8.0). But there is a deprecation warning to let you know which version is preferred.
Calling it an incompatible change is perhaps a little strong. The idea behind the deprecation warning is to give you as much notice as possible.