6.x allowed one type per index and 7 removes them entirely, which changes every document and search URL in every client.
# 5.x
PUT /shop/order/1
GET /shop/order/_search
# 7.x
PUT /orders/_doc/1
GET /orders/_search
# and include_type_name=true buys one version of grace, no more
The reason is that fields with the same name in different types shared one Lucene field, so status on an order and status on a customer were the same mapping whether that made sense or not. The migration is mechanical and touches every query. Doing it behind an alias means the index switch is one atomic operation rather than a deploy that has to be timed against a reindex.