release-plugin

Preparar e executar um novo lançamento para o plugin flutter-intellij, incluindo atualização de dependências, limites de compatibilidade, changelogs e verificação.

npx skills add https://github.com/flutter/flutter-intellij --skill release-plugin

Skill: Release Plugin

You are tasked with preparing a new version release of the flutter-intellij plugin (e.g., releasing 95.0.0).

Objective

Systematically update plugin dependencies, compatibility parameters, and CHANGELOG.md, verify tests and plugin structure, and build the release zip artifact.


Workflow Instructions

1. Update Platform & Dependency Parameters

  • gradle.properties:
    • Update dartPluginVersion to the latest public Dart plugin release version. Fetch the latest version from JetBrains Marketplace (e.g. via curl -s "https://plugins.jetbrains.com/api/plugins/6351/updates?size=1" | jq -r '.[0].version' or by checking JetBrains Marketplace Dart Plugin) and set dartPluginVersion in gradle.properties to that version (e.g., dartPluginVersion= 508.0.0).
    • If dropping support for older platform versions, update sinceBuild to the new lower bound (e.g., sinceBuild=252). Note: untilBuild is omitted for open-ended platform compatibility.
  • New Platform Version Compatibility & Baselines:
    • When supporting/verifying a new platform release (e.g., IntelliJ 2026.3 / build 263):
      • Update the verification loop in tool/github.sh (for version in ...; do).
      • Run ./tool/update_baselines.sh to generate or update the plugin verifier baseline files in tool/baseline/<version>/verifier-baseline.txt.
  • JxBrowser License Key:
    • Ensure resources/jxbrowser/jxbrowser.properties is present (copy from local environment if creating a new git worktree).

2. Fix API & Dependency Compatibility

  • Check for compilation errors or API signature changes introduced by the updated dependencies (e.g., websocket/DTD exception handling changes in FlutterInitializer.java and FlutterApp.java).
  • Run ./gradlew testClasses to confirm the codebase compiles against updated dependencies.

3. Update Changelog (CHANGELOG.md)

  • Compatibility Changes PR:
    • Document compatibility updates under ### Changed in CHANGELOG.md with the PR reference (e.g., - Removed upper build constraint (\untilBuild`) for open-ended platform compatibility. (#9063)`).
  • Release Version Bump:
    • Rename ## Unreleased to ## <VERSION>.0.0 (e.g., ## 95.0.0).
    • Ensure all user-facing changes since the last release are categorized and tagged with PR numbers.
    • Insert a fresh empty ## Unreleased block at the top with:
      ## Unreleased
      
      ### Added
      
      ### Changed
      
      ### Removed
      
      ### Fixed
      

4. Build & Validation

  • Run ./gradlew testClasses to verify Java/Kotlin compilation.
  • Run ./gradlew verifyPluginStructure to validate plugin.xml structure.
  • Run ./gradlew test to ensure all unit tests pass.
  • Run ./gradlew buildPlugin -Prelease -PversionedName to build the prospective release plugin zip artifact (Flutter-<VERSION>-<COMMIT>.zip) in build/distributions/.
  • Upload Prospective Zip: Manually upload the generated release zip (Flutter-<VERSION>-<COMMIT>.zip) from build/distributions/ to the team's Google Drive folder (e.g. DevExp Flutter Releases) for team-wide manual testing prior to public publishing.

5. Manual Testing Checklist

Perform manual sanity checks across every supported platform version (e.g. IntelliJ IDEA 2025.3, 2026.1, 2026.2 and Android Studio 2025.3 / Meerkat):

  • Create New Project: Verify new Flutter project wizard succeeds.
  • Open Existing Project: Verify existing Flutter project opens cleanly.
  • Run & Debug: Run app, hit breakpoints, and inspect variables.
  • Hot Reload & Hot Restart: Perform Hot Reload (⚡) and Hot Restart on a running app.
  • DevTools: Open DevTools tool windows (Inspector, Memory, Network, etc.).
  • Version-Specific Features: Verify any release-specific fixes or changes (e.g. Flutter SDK path changes in Settings, DTD theme synchronization, EAP installation compatibility).

Mais skills de flutter

dart-modern-features
flutter
Para encontrar candidatos para modernização:
flutter-fix-layout-issues
flutter
Corrige erros de layout do Flutter (overflow, restrições ilimitadas) usando ferramentas Dart e Flutter MCP. Use ao lidar com "RenderFlex overflowed", "Vertical…
adding-release-notes
flutter
Adiciona descrições de mudanças voltadas ao usuário nas notas de versão do DevTools. Use ao documentar melhorias, correções ou novos recursos no arquivo NEXT_RELEASE_NOTES.md.
reviewing-devtools-prs
flutter
Fluxo de revisão de PR específico do repositório DevTools, aplicando as diretrizes de estilo do DevTools e padrões comuns de revisão. Use ao revisar pull requests no…
dart-use-primary-constructors
flutter
Ajude os usuários a escrever construtores primários sintática e semanticamente corretos em Dart, e a migrar/usar a nova sintaxe de construtores, a sintaxe de corpo vazio com ponto e vírgula,…
code-documentation
flutter
Guia para escrever documentação de código eficaz, incluindo docstrings, JSDoc, dartdoc e comentários de implementação. Use esta skill ao escrever novo código, adicionar…
api-review
flutter
Revisa o código especificado em relação às diretrizes canônicas de Design de API. Use esta skill quando o usuário pedir uma revisão de API ou para verificar o código em relação ao design de API…
flutter-accessibility
flutter
Implementa os padrões de acessibilidade WCAG 2 e EN 301 549 e layouts adaptativos em aplicativos Flutter. Aplica anotações semânticas, tamanhos mínimos de alvo de toque (48x48 dp) e taxas de contraste de texto (4,5:1 para texto pequeno, 3:1 para texto grande) nas plataformas mobile, web e desktop. Inclui lógica de decisão para inicialização de semântica web, encapsulamento de widgets interativos, alternância de layout baseada no tamanho da tela e tratamento de entrada por teclado/mouse. Gerencia o percurso de foco via FocusTraversalGroup e...