← На главную

Ember 7.0: релиз без фич, только чистка

29.05.2026 23:57 · hackernews

Вышел Ember v7.0. Это «чистящий» мажорный релиз: никаких новых фич, только удаление того, что помечено как устаревшее в 6.x, плюс багфиксы. Предыдущая версия, 6.12, теперь стала LTS.

Главное изменение, которое подвело к 7.0, случилось в серии 6.x. В 6.8 сделали новый билд-систему Embroider + Vite и строгий режим шаблонов (template-tag) дефолтными для новых проектов. Ember перестал быть монолитом: в 6.1 ember-source начали публиковать как v2-аддон, в 6.3 поддержали template-tag в роутах, в 6.8 добавили renderComponent API для рендеринга отдельных компонентов и встроили отслеживаемые версии нативных коллекций (trackedArray, trackedMap, trackedSet и т.д.). Параллельно glimmer-vm и router.js замержили в ember.js, обновили публикацию через OIDC, почистили зависимости и снизили число предупреждений о деприкации для свежесгенерированных приложений. Вышел v2 Glint, что позволило сделать template-tag форматом по умолчанию, а для миграции выпустили два кодмода: template tag и Vite.

Как обновляться: поднять проект до последнего патча 6.12, разрешить все deprecation warnings, затем перейти на 7.0 через npx ember-cli-update --to 7.0. Если у вас ранняя 6.x, советуют идти итерациями через LTS: 6.4 → 6.8 → 6.12. Внимание: при переходе через 6.8 придётся править конфиг под новый билд-систему.

Что конкретно сломали в 7.0: убрали import Ember from 'ember', публикацию AMD-бандлов от ember-source, импорт inject из @ember/service (теперь только import { service }). Новых деприкаций не добавили.

Из заметных багфиксов: починили LinkTo внутри inline SVG (он перегружал страницу), trackedMap и trackedWeakMap теперь корректно реагируют на изменение существующих ключей, EmberArray.reduce довели до нативного поведения, исправили краш {{#each}} с null/undefined в массиве и крэш при доступе к отрицательному индексу у позиционных аргументов хелперов. Ember CLI v7.0 — просто зеркальное удаление устаревшего кода без новых фич и багфиксов.

Читать оригинал →