Записал разбор — первый выпуск новой серии на YouTube.
Лето дало один стабильный релиз: 3.45 и 3.46 в stable не выходили вовсе, а 3.47 приехал 12 августа сразу с 1358 коммитами сверх 3.44. Главное в нём — не фичи, а переупаковка:
material и cupertino уехали из SDK в отдельные пакеты.Сегодня ничего не горит. Проверил на живом проекте: переезд с 3.44 на 3.47 даёт чистый
flutter analyze и зелёные тесты, библиотеки внутри SDK на месте и без пометок. Депрекейт назначен на ноябрьский релиз — вот там и начнётся.Миграция — одна команда, но с двумя граблями:
dart fix --apply --code=migrate_design_widgets
Просто
dart fix --apply её не сделает — код нужно указывать явно.И в
pubspec она впишет material_ui: any, что стоит сразу поправить на каретку с версией.«ChangeNotifier вынесли из SDK в package:listen» — сегодня это неправда. В 3.47.2 классы на месте и не помечены deprecated, а
listen — вторая независимая реализация тех же имён. Типы несовместимы: отдадите listen-овский ValueNotifier во ValueListenableBuilder — получите ошибку компиляции. Пакет годится для кода без Flutter: сервер, CLI, общая логика.Primary constructors в Dart 3.13 сами не включатся — без
sdk: ^3.13.0 в pubspec будет experiment_not_enabled даже на нужном SDK. И честно: экономия бойлерплейта заметно теряет в цене, когда его пишет не человек.Остальное — Impeller по умолчанию на десктопе, iOS 15 и macOS 12, Wasm — в видео.
https://youtu.be/kNXMVEj_7bA
