I'm sure I should have paid more attention to the 6.0 dev cycle, so I can understand this is on me. That said, I'm here plodding along on 5.x and suddenly the next major release won't support a lot of what I spent the last year building.
For a datastore that people use for a lot of production data I would have expected something like:
5.x - opt-in to new behavior
6.x - opt-out of new behavior
7.x - the new behavior no matter what
True opt-out in 6.x would tell me (with hopefully plenty of time) that how I'm doing things is getting phased out, but does so in a way that doesn't bring my upgrades to a screeching halt.
5.x got opt-in a mere 2 months before 6 got released. 6.x is not opt-out because I cannot reproduce key functionality that I can with 5.x. If I were try to go to ES6 with typed indexes, I'd have to rebuild my testing framework to first create a fresh index on 5.6, do a 6.0 upgrade and then run my tests.
Further, types are more than just a "functionality" change, this is fundamental to the structure of ES from (I think) the beginning. I expect a production worthy datastore to support legacy behavior and phase it out in a more controlled way over a much longer period of time. I guess that's most of what irks me.
I can stay on 5.6 and probably will be forced to for a while. However, this means I'm going to fall even further behind in ES changes. It means I can't use any other new ELK features or fixes (Kibana 5.6 has a bug for me that is fixed in 6, but I have to use 5.5 instead).