Компания Google выпусила новые версии языка Dart - Dart 3.11 и фрейморка для создания кроссплатформенных приложений - Flutter 3.41. В этих выпусках реализованы улучшения, направленные на повышение модульности, производительности и удобства работы с инструментами разработки.
## Flutter 3.41
Структурная прозрачность и модульность:
* Введены публичные окна релизов, чтобы разработчики могли лучше понимать, когда их изменения попадут в стабильную версию.
* Продолжается разделение библиотек Material и Cupertino на отдельные пакеты. Это ускоряет циклы выпуска обновлений дизайна и даёт больше гибкости при их внедрении.
Улучшения для работы с графикой:
* Добавлена функция синхронного декодирования изображений
decodeImageFromPixelsSync. Теперь можно генерировать текстуры и использовать их в качестве сэмплеров в том же кадре, что устраняет задержки в одном кадре при работе с шейдерами.* Поддерживаются текстуры с высоким битрейтом (до 128-битных чисел с плавающей запятой). Это открывает возможности для использования таблиц поиска (LUT) высокого разрешения в фотофильтрах и SDF-файлов с ускорением на GPU.
Новые API для настольных приложений:
* Экспериментальные API для создания всплывающих окон и окон с подсказками.
* Кроссплатформенная поддержка диалоговых окон в Linux, macOS и Windows.
* Новые API для тестирования многооконных приложений. Пример можно изучить в приложении
multiple_windows.Улучшения в Flutter для Linux:
* По умолчанию включено объединение потоков (merged threads), что упрощает модель многопоточности, повышает производительность и стабильность в Windows.
Инструменты разработчика:
* Инструменты разработчика теперь компилируются с использованием
dart2wasm, что повышает их производительность. При необходимости можно вернуться к dart2js через настройки.## Dart 3.11
В этом релизе нет новых обновлений языка нет, но есть множество бновлений инструментов:
* Поддержка Dart MCP для ИИ. Добавлен инструмент
read_package_uris, который позволяет агентам ИИ (например, Cursor, Gemini, Copilot) считывать URI пакетов из проектов и использовать их при генерации кода.* Улучшения сервера анализа Dart. Сервер теперь использует «детальные зависимости», что делает его более интеллектуальным в определении кода, требующего повторного анализа. Также улучшена производительность при анализе кода с циклами в структуре каталогов, вызванных символическими ссылками, или глубоких деревьев из множества константных объектов. Кэширование точек входа скомпилированного плагина анализатора ускоряет запуск в сессиях IDE и выполнение команд
dart analyze и flutter analyze. Улучшена поддержка «точечных сокращений» во многих функциях сервера анализа, особенно в части автозавершения кода, быстрых исправлений и подсказок.* Обновления Pub. В рабочих областях Pub теперь поддерживается объявление пакетов с использованием шаблонов (glob). Это позволяет легко включать все пакеты в каталоге в рабочей области, не перечисляя их вручную. Для использования этой функции требуется версия Dart 3.11 или выше.
* Команда `pub cache gc`. Удаляет неиспользуемые пакеты из глобального кэша PUB_CACHE, освобождая дисковое пространство. Команда перебирает все «живые» проекты, помечает версии пакетов, от которых они зависят, и удаляет остальные.
Полный список изменений:
https://docs.flutter.dev/release/release-notes/release-notes-3.41.0
https://dart.dev/changelog