Приносим извинения за доставленные неудобства. Мы стараемся делать эти обновления максимально простыми и предоставляем несколько месяцев на их выполнение, но всегда есть компромисс. Если бы мы хранили переназначения (remappings) бесконечно, у нас уже было бы несколько их слоёв: V4 → V5 → V6, и это создало бы технический долг, требующий отдельного понимания и поддержки. Если бы мы поступали так с каждым фрагментом кода, Discourse стал бы гораздо больше, сложнее для понимания и работы.
Да, именно поэтому мы предоставляем предупреждения об устаревании и инструкции по обновлению. Мы не просто обновляем файл и перекладываем всю работу на других — каждый раз, когда мы делаем подобное обновление, мы должны написать документацию, реализовать системы предупреждений и обновить сотни тем, компонентов тем и плагинов самостоятельно. При обновлениях Ember наши инженеры разработали совершенно новые системы, чтобы сделать возможными устаревшие кастомизации.
Даже гораздо более крупные компании обновляют свои API с нарушением обратной совместимости. Мне пришлось обновлять наш компонент Google Fonts как минимум дважды из-за изменений в API, а Google стоит около двух триллионов долларов. Каждый сервис аутентификации, с которым мы интегрируемся для входа, требовал от нас обновлений из-за изменений в API.
Если у вас нет времени на периодическое обслуживание, мы рекомендуем максимально сократить количество кастомизаций. Если вы используете готовые темы, компоненты или плагины для Discourse, то в большинстве случаев мы будем обновлять их бесплатно.
Вы также можете отказаться от обновления Discourse, но всё постоянно меняется, и в конечном итоге вы столкнётесь с новыми проблемами безопасности или совместимости с браузерами. У каждого варианта есть свои издержки и компромиссы.