Nothing New
Undocumented features have always been in software products. Developers think ahead and thus put in what we call 'hooks' for future requirements. These are then tested over a few releases. They might be changed, or even dropped.
If they were released to developers early without testing, then removed, developers would have to spend a lot of money updating - there would be screaming all round.
But this also works the other way. There might be feature which they want to deimplement. In this case, APIs go through a 'deprecated' phase. This allows developers to remove dependence on APIs that will disappear in the future.
So you don't want APIs appearing and disappearing quickly - you want to have a deal of stability. The only reason to have less stability is to have progress.
This is all nothing new. It is good software development practices actually being practiced. There is nothing devious about this - there will always be APIs that are for low-level OS use only. Anything else that attempts to use these APIs is probably a hacking attempt. Security is the most important consideration in 2017.