For PHP code, we have really excellent rules (which can be a real pain to live by as a developer) that you don't randomly change the signature of PHP funcitons, because that will break the code of plugins that use that API.
We don't yet have similar rules relating to CSS / class names in HTML, so we have changes like
MDL-69453 being pushed into stable branches, and breaking people's themes. Before that change, in Moodle forms, all the 'label' bits used to have a 'col-form-label' class name - a nice semantic name which we were using in our theme - and it gets removes with no warning. Nothing in any upgrade.txt. No release notes.
Please can we have similar rules for CSS/HTML changes on stable branches as we do for PHP API changes?