engine-whats-new

作者: flutter

生成Flutter引擎(//engine/src/flutter)在两个版本(例如3.47与…)之间变更的“新内容”发布摘要和差异文件。

npx skills add https://github.com/flutter/flutter --skill engine-whats-new

Flutter Engine What's New & Diff Skill

Workflow

1. Identify Inputs

Extract the following from the user's request:

  • Target Release (<TARGET_RELEASE>): The Flutter release version to analyze (e.g., 3.47, 3.47.0, or flutter-3.47-candidate.0).
  • Base Release (<BASE_RELEASE>): Optional. The prior Flutter release to compare against (e.g., 3.44). If omitted by the user, the script will automatically calculate the predecessor release (e.g., for 3.47 it automatically selects 3.44).

2. Run the Generator Tool

Execute the Dart script from the Flutter repository root:

dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --release <TARGET_RELEASE>

If the user specifies a custom base release or output paths:

dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --release <TARGET_RELEASE> --from <BASE_RELEASE> --output-diff engine_diff_<BASE_RELEASE>_to_<TARGET_RELEASE>.diff --output-summary engine_whats_new_<TARGET_RELEASE>.md

To output structured JSON for programmatic consumption:

dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --release <TARGET_RELEASE> --format json

3. Review Generated Artifacts & Present to User

The tool produces two primary artifacts in the repository root:

  1. Diff File (engine_diff_<BASE_RELEASE>_to_<TARGET_RELEASE>.diff): The full unified git diff of all changes in //engine/src/flutter between the two releases.
  2. Summary Document (engine_whats_new_<TARGET_RELEASE>.md): A categorized Markdown summary covering:
    • Overview & Statistics: Total engine commits, files changed, additions, and deletions.
    • 🚀 Impeller & Graphics Rendering: Vulkan, Metal, OpenGL, shaders, and display list updates.
    • 🌐 Web Engine & Wasm: Web SDK, CanvasKit, and WebAssembly changes.
    • 📱 Android Embedding: Gradle/AGP updates, Android view rendering, and Java/Kotlin embedding changes.
    • 🍎 iOS & macOS Embeddings: Darwin platform view lifecycle, Metal views, and macOS/iOS updates.
    • 🪟 Windows & Linux Desktop Embeddings: Win32 compositor, Linux GTK embedding, and desktop shell fixes.
    • 🔤 Text, Typography & Accessibility: Semantics, IME, font fallback, and text layout improvements.
    • 🔄 Dependency Rolls: Skia, Dart SDK, ICU, HarfBuzz, and ANGLE rolls.
    • 🛠️ Build System, CI & Tooling: GN build files, luci scripts, and testing utilities.

Provide the user with a concise overview of the results and links to the generated diff and markdown summary files.

Examples

  • User: "Generate what's new in the engine for Flutter 3.47."

  • Agent:

    1. Identifies target release 3.47.
    2. Runs dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --release 3.47.
    3. Reports the summary statistics (e.g., 354 commits, 1179 files changed) and shares the generated engine_diff_3.44_to_3.47.diff and engine_whats_new_3.47.md.
  • User: "Diff the engine changes between Flutter 3.41 and 3.44."

  • Agent:

    1. Identifies base release 3.41 and target release 3.44.
    2. Runs dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --from 3.41 --to 3.44.
    3. Presents the breakdown of engine changes and the diff file.

来自 flutter 的更多技能

dart-modern-features
flutter
为了找到现代化的候选方案:
flutter-fix-layout-issues
flutter
使用Dart和Flutter MCP工具修复Flutter布局错误(溢出、无界约束)。适用于处理“RenderFlex溢出”、“垂直…
adding-release-notes
flutter
在 DevTools 发布说明中添加面向用户的变更描述。用于在 NEXT_RELEASE_NOTES.md 文件中记录改进、修复或新功能。
reviewing-devtools-prs
flutter
DevTools 仓库专属的PR审查工作流程,执行DevTools风格指南和常见审查模式。在审查……中的拉取请求时使用。
dart-use-primary-constructors
flutter
帮助用户在Dart中编写语法和语义正确的主构造函数,并迁移/使用新的构造函数语法、空体分号语法等。
code-documentation
flutter
编写有效代码文档的指南,包括docstrings、JSDoc、dartdoc和实现注释。在编写新代码、添加…时使用此技能。
api-review
flutter
对照规范的API设计指南审查指定代码。当用户要求进行API审查或根据API设计规范检查代码时,请使用此技能…
flutter-accessibility
flutter
在Flutter应用中实现WCAG 2和EN 301 549无障碍标准及自适应布局。在移动端、网页端和桌面端强制实施语义标注、点击目标尺寸(最小48x48 dp)和文本对比度(小文本4.5:1,大文本3:1)。提供网页语义初始化、交互式组件包裹、基于屏幕尺寸的布局切换以及键盘/鼠标输入处理的决策逻辑。包含通过FocusTraversalGroup实现的焦点遍历管理,以及...