Flutter Pulse
1K subscribers
606 photos
1 file
1.68K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Автоматизируйте версионирование и ведение changelog в проектах Flutter!
Устали вручную обновлять версию в pubspec.yaml и писать changelog? Есть решение!
В этой статье вы узнаете, как автоматизировать процесс версионирования и генерации changelog, сделав релизный workflow чистым, последовательным и надежным.
Вы научитесь использовать Conventional Commits, semantic_version или standard-version, а также Git hooks и GitHub Actions, чтобы упростить процесс релиза.
Кроме того, вы узнаете, как синхронизировать pubspec.yaml с Git тегами и автоматизировать процесс с помощью GitHub Actions.

🇷🇺Читать на русском
🇬🇧Read in English
🌐Original article

Все подобные новости ищите по хэштегу #FlutterPulseMedium Оцените новую рубрику!

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium #devtools #release #automation #githubactions
🔥2
🚀 Dart 3.11 вышел вместе с новым Flutter
Вчера одновременно с релизом новой версии Flutter вышел и Dart 3.11 — обновление без языковых изменений, но с важными инфраструктурными и tooling-улучшениями.

Разбираем критичные моменты!

❗️ Язык
Изменений в синтаксисе или семантике языка нет.
Фокус релиза — стабильность, производительность и инструменты.

🔥 Важные изменения SDK
🖥 dart:io — Unix domain sockets на Windows

Добавлена поддержка AF_UNIX сокетов в Windows.
Ограничения Windows:
нет datagram sockets
нет ancillary data
нет abstract socket addresses

Важно:
File(socketPath).existsSync() ведёт себя по-разному:

POSIX → true
Windows → false

Для кроссплатформенного поведения используйте:

FileSystemEntity.typeSync()

⚠️ dart2wasm больше не поддерживает dart:js_util

Это самое критичное изменение релиза.
🔹dart:js_util удалён из dart2wasm
🔹Код, использующий package:js, теперь не компилируется в wasm
🔹dart.library.js_util больше нельзя использовать в conditional imports

Если вы таргетируете WebAssembly — проверьте зависимости.

Issue: https://github.com/dart-lang/sdk/issues/61550

🧩 dart:js_interop
Расширена поддержка JSSymbol:
👉 новый конструктор
👉 key
👉 description
👉 статические well-known ECMAScript symbols

🧠 Analyzer — серьёзный буст производительности
Dart 3.11 ощутимо ускоряет анализ:
Fine-grained dependencies → меньше переанализа
Кэширование AOT snapshot плагинов (экономия ~10 сек при старте IDE)
Быстрее обработка symlink-циклов
Улучшена поддержка dot shorthand
Прогресс-индикатор для “Fix all in workspace”

Новый lint:
simplify_variable_pattern

Deprecated:
⚠️ avoid_null_checks_in_equality_operators
⚠️ prefer_final_parameters
⚠️ use_if_null_to_convert_nulls_to_bools

📦 Pub — полезные нововведения
Glob в workspaces (Dart ≥ 3.11)

Теперь можно подключать пакеты через шаблон:

workspace:
- pkgs/*

Без ручного перечисления.

🧹 dart pub cache gc

Новая команда для очистки неиспользуемых пакетов из глобального cache.

dart pub cache gc

Удаляет версии пакетов, которые не используются ни одним активным проектом.
Полезно для CI и освобождения диска.

🤖 AI / MCP Server

Добавлен инструмент read_package_uris для MCP —
AI-ассистенты (Gemini, Copilot, Cursor) теперь могут корректно подтягивать зависимости проекта в контекст.

Это явный шаг в сторону AI-first workflow.
Итог - Dart 3.11 — это:
⚙️ ускоренный analyzer
🧹 управляемый pub cache
🖥 AF_UNIX на Windows
⚠️ breaking change для dart2wasm
🤖 улучшенная AI-интеграция

Релиз не про язык, а про экосистему и инфраструктуру.

🔗 Анонс
🔗 Полный changelog

#dart #flutter #release #dart311 #flutterdev #flutterpulsenews
👍1🔥1