It's a pity that there isn't a ubiquitous way to communicate to programmers features that are at risk of being removed or at risk of causing incompatibility with other software. I don't mean some document you have to look up, I mean if you use an at-risk feature, you're given a warning many years before it actually gets removed. Programmers often discover features of APIs by trial and error, not just by reading the manual.
At-risk features should include things that may not get removed but aren't supported by every platform - like .Net classes that aren't present in Wine. Sure, MS asks you not to target non-Windows platforms but in reality, users will still try to do it.