release-plugin
作成者: flutter
Prepare and execute a new release for the flutter-intellij plugin, including updating dependencies, compatibility bounds, changelogs, and verification.
npx skills add https://github.com/flutter/flutter-intellij --skill release-pluginSkill: 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
dartPluginVersionto the latest public Dart plugin release version. Fetch the latest version from JetBrains Marketplace (e.g. viacurl -s "https://plugins.jetbrains.com/api/plugins/6351/updates?size=1" | jq -r '.[0].version'or by checking JetBrains Marketplace Dart Plugin) and setdartPluginVersioningradle.propertiesto that version (e.g.,dartPluginVersion= 508.0.0). - If dropping support for older platform versions, update
sinceBuildto the new lower bound (e.g.,sinceBuild=252). Note:untilBuildis omitted for open-ended platform compatibility.
- Update
- 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.shto generate or update the plugin verifier baseline files intool/baseline/<version>/verifier-baseline.txt.
- Update the verification loop in
- When supporting/verifying a new platform release (e.g., IntelliJ 2026.3 / build
- JxBrowser License Key:
- Ensure
resources/jxbrowser/jxbrowser.propertiesis present (copy from local environment if creating a new git worktree).
- Ensure
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.javaandFlutterApp.java). - Run
./gradlew testClassesto confirm the codebase compiles against updated dependencies.
3. Update Changelog (CHANGELOG.md)
- Compatibility Changes PR:
- Document compatibility updates under
### ChangedinCHANGELOG.mdwith the PR reference (e.g.,- Removed upper build constraint (\untilBuild`) for open-ended platform compatibility. (#9063)`).
- Document compatibility updates under
- Release Version Bump:
- Rename
## Unreleasedto## <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
## Unreleasedblock at the top with:## Unreleased ### Added ### Changed ### Removed ### Fixed
- Rename
4. Build & Validation
- Run
./gradlew testClassesto verify Java/Kotlin compilation. - Run
./gradlew verifyPluginStructureto validateplugin.xmlstructure. - Run
./gradlew testto ensure all unit tests pass. - Run
./gradlew buildPlugin -Prelease -PversionedNameto build the prospective release plugin zip artifact (Flutter-<VERSION>-<COMMIT>.zip) inbuild/distributions/. - Upload Prospective Zip: Manually upload the generated release zip (
Flutter-<VERSION>-<COMMIT>.zip) frombuild/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).