Новый функционал - это, большей частью, не что-то действительно новое, а способ сделать то же самое более удобно. Оставление в языке устаревших конструкций приводит к бессмысленному раздуванию языка и усложнению написания / чтения кода. Вместо одного способа сделать что-то получаем 10 похожих, но отличающихся деталями способов, каждый из которых надо знать и уметь использовать.
Просто посмотри, что творится в JavaScript - в котором ради мифической "совместимости" сохраняют все ляпы первых версий языка.
P.S. Тебя кто-то заставляет срочно переходить на новую версию компилятора? Никакой компилятор/интерпретатор не прекращает работу с выходом новой версии языка и ничего не мешает тебе продолжать его достаточно долго использовать. На то, чтобы внести правки в код, у тебя есть несколько ЛЕТ. И если автор кода дотянул до момента, когда старый компилятор перестал работать, то виноват в этом только он сам.