Angular 22.2.6 исправил HttpParams, навигацию и удержание памяти

Angular 22.2.6 исправил HttpParams, навигацию и удержание памяти
Содержание статьи

12 ноября опубликован стабильный Angular 22.2.6. Выпуск исправляет работу HTTP-параметров, роутера, форм и механизмов, связанных с памятью. На Mentoring.digital выделяем изменения, которые удобно превратить в конкретные проверки проекта перед обновлением.

Параметры запросов и навигация

В HttpParams исправлено поведение пустых массивов: теперь они исключаются из параметров. Если приложение собирает фильтры из списков, полезно проверить итоговые адреса для пустого и заполненного набора. Значение имеет фактический запрос, который получает сервер, а не только состояние формы на экране.

У роутера есть два отдельных исправления. При отмене навигации до первого успешного перехода больше не вызывается history.go(). При восстановлении URL через Navigation API исправлена лишняя перезагрузка страницы. Эти изменения стоит проверить в приложениях с перенаправлениями и запретом перехода через guards, особенно при первом открытии страницы.

Формы и освобождение ресурсов

Для Signal Forms исправлена потеря опций, переданных в SignalFormControl, и повторные события valueChanges при обновлении parseErrors. Также изменена обработка отложенных значений дочерних полей, когда поле получает состояние touched. Для форм с собственными валидаторами полезно проверить число событий и момент появления ошибки.

В списке изменений отмечены утечка памяти в рендерере анимаций, удержание замыканий и ссылок, а также сохранение ранних обработчиков событий после их повторного воспроизведения. В HTTP-части исправлена очистка незавершённых задач, если interceptor синхронно выбрасывает исключение. Выпуск содержит конкретные исправления, но не обещает одинакового снижения потребления памяти у всех приложений.

Проверки после установки

Обновление сначала стоит провести в отдельной ветке. Сравните запросы с пустыми фильтрами, отмену первого перехода, возврат по истории браузера и работу формы с ошибкой разбора. Для приложения с анимациями проверьте повторное открытие и закрытие затронутых экранов, используя привычные средства профилирования.

Релиз 22.2.6 нужно отличать от опубликованного отдельно кандидата 22.3.0-rc.0. Если задача состоит в исправлениях текущей стабильной ветки, случайный переход на RC не нужен. План проверок клиентского приложения можно разобрать с ментором по разработке на JavaScript.

Похожие статьи по данной теме