Skip to content

Set versioning based on CHANGELOG #8456

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Aug 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions CHANGELOG-old.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,108 @@
## 86

- New message in DevTools windows for "Dock unpinned" IntelliJ feature (#8181)
- Fixes for Slow Operation notifications in the IDEA platform (#7792)
- Fix in Flutter project creation flow (#8259)
- Many code health improvements and code cleanups (#8025, #8027, #8021)
- Migration of deprecated API usages (#7718)
- Fix for empty menu item in the device selector (#8264)

## 85.3

- Add Property Editor side panel (#7957)
- Support removed for IDEA 2024.1 (Koala) and 2024.2 (Ladybug) (#8073)
- Various cleanups including migrating slow operations to non-blocking calls (#8089)

## 85.2

- Fix broken devtools inspector source navigation (#8041)

## 85.1

- Fix the disappearance of the New Flutter Project menu item (#8040)
- Add back the device name with the running tab (#7948)
- Update the `org.jetbrains.intellij.platform` version to `2.5.0` (#8038)
- Replace deprecated ComboBoxWithBrowserButton (#7931)
- Fix Flutter Outline View event over-subscriptions (#7980)

## 85

- Restored Test with coverage run configuration feature (#7810)
- Upgrade `org.jetbrains.intellij.platform` to 2.2.1 from 2.1.0 (#7936)
- Fix for DevTool windows not appearing (#8029)
- Support for Narwhal, Android Studio 2025.1 (#7963)
- Build changes to support newer required versions of Java to build the plugin (#7963)
- Cleanup: removal of pre Dart SDK 3.0 code (#7882)
- Cleanup: removal of the deprecated Swing-based Inspector window (#7861)
- Cleanup: removal of the deprecated Outline window (#7816)
- Cleanup: removal of the deprecated Performance page window (#7816)
- Migrated all instances of EditorNotifications.Provider to the new API (#7830)

## 84

- This version was not shipped due to issue #7968

## 83

- First version for Meerkat, Android Studio 2024.3 (#7799)
- Message in the Flutter Outline window that the window is now deprecated (#7778)
- Testing and cleanup now that the code is migrated to the new Gradle Plugin (#7670)

## 82.2

- Release of the plugin for 2024.3 (#7670)
- Migration to IntelliJ Platform Gradle Plugin (2.x) (#7670)
- The Flutter coverage runner support has been removed (#7670)

## 82.1

- Fix for Cannot invoke "com.intellij.openapi.wm.ToolWindow.setAvailable(boolean)" issue -- thanks to @parlough (#7691)
- New SDK notification to notify of old Flutter SDK usage (#7763)
- Progress on migrating off of old IDEA APIs (#7718)
- Significant code cleanup

## 82

- Various DevTools integration improvements (#7626) (#7621)
- Removal of the old Performance page, now replaced by DevTools (#7624)
- Add an option to reload a DevTools window (#7617)
- Fix to the developer build (#7625)

## 81.1

- Initial support 2024.2 & Android Studio Ladybug Canary 6 (#7595)

## 81

- New icons to match "New UI" features in IntelliJ and Android Studio (#6595)
- Restore Flutter test icons in the editor gutter (#7505)
- Fix widget tree highlighting in the editor (#7522)
- Resolve "Exception: Cannot invoke "org..AnAction.getTemplatePresentation()" exception (#7488)
- Resolve "Pubspec has been edited" editor notification is stuck (#7538)
- Resolve Released EditorImpl held by lambda in FlutterReloadManager (#7507)
- Configure the Project view for Flutter in AS, when creating a new Flutter project (#4470)
- Migrate to Kotlin UI DSL Version 2 (#7310)

## 80

- Resolve debugger issue with the new Dart macro file uri format (#7449)
- Hide deep links window when insufficient SDK version (#7478)
- Fix exceptions out of FlutterSampleNotificationProvider (#5634)
- Additional fixes for deprecation of `ActionUpdateThread.OLD_EDT` (#7330)
- Exception from EditorPerfDecorations fixed (#7432)
- Exception from FlutterColorProvider fixed (#7428)
- Fix top toolbar for new UI (#7423)
- Update JxBrowser to `v7.38.2` (#7413)
- "Open Android Module in Android Studio" action removed (#7103)
- Fix for deprecation of `ActionUpdateThread.OLD_EDT` (#7330)
- Deprecation of `ServiceExtensions.setPubRootDirectories` (#7142)
- Fix plugin not opening in Android Studio (#7305)
- Deadlock involving `WorkspaceCache.getInstance()` (#7333)
- Fix for `AlreadyDisposedException` from `DartVmServiceDebugProcess` (#7381)
- Memory leak fix out of `DartVmServiceDebugProcess` (7380)
- Memory leak fix in `FlutterSettings` and `JxBrowser` (#7377)
- Delete actions specific to legacy inspector (#7416)

# 79
- Support IntelliJ 2024.1 (#7269)
- Check version before starting ToolEvent stream (#7317)
Expand Down
109 changes: 2 additions & 107 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,121 +8,16 @@

- Resolved a "Slow operations are prohibited on EDT" exception on Flutter Project creation (#8446, #8447, #8448)

## 87.1
## 87.1.0

- Register VM service with DTD (#8436)
- Fix for ClassCastException: BadgeIcon on flutter runs (#8426)
- Fix the FlutterDependencyInspection for the analyzer workspaces (#8428)

## 87
## 87.0.0

- Fixes to Flutter test execution (#8233, #8325)
- Make Android dependencies optional, allowing the plugin to be used in more Jetbrains products (Rider, etc) (#7949, #8375)
- Internal: support for logging to a dedicated plugin log file (#8253)
- Fixes to ensure the Property Editor loads on all project opens (#8268)
- Fix the hang after opening a new project in Android Studio (#8390)

## 86

- New message in DevTools windows for "Dock unpinned" IntelliJ feature (#8181)
- Fixes for Slow Operation notifications in the IDEA platform (#7792)
- Fix in Flutter project creation flow (#8259)
- Many code health improvements and code cleanups (#8025, #8027, #8021)
- Migration of deprecated API usages (#7718)
- Fix for empty menu item in the device selector (#8264)

## 85.3

- Add Property Editor side panel (#7957)
- Support removed for IDEA 2024.1 (Koala) and 2024.2 (Ladybug) (#8073)
- Various cleanups including migrating slow operations to non-blocking calls (#8089)

## 85.2

- Fix broken devtools inspector source navigation (#8041)

## 85.1

- Fix the disappearance of the New Flutter Project menu item (#8040)
- Add back the device name with the running tab (#7948)
- Update the `org.jetbrains.intellij.platform` version to `2.5.0` (#8038)
- Replace deprecated ComboBoxWithBrowserButton (#7931)
- Fix Flutter Outline View event over-subscriptions (#7980)

## 85

- Restored Test with coverage run configuration feature (#7810)
- Upgrade `org.jetbrains.intellij.platform` to 2.2.1 from 2.1.0 (#7936)
- Fix for DevTool windows not appearing (#8029)
- Support for Narwhal, Android Studio 2025.1 (#7963)
- Build changes to support newer required versions of Java to build the plugin (#7963)
- Cleanup: removal of pre Dart SDK 3.0 code (#7882)
- Cleanup: removal of the deprecated Swing-based Inspector window (#7861)
- Cleanup: removal of the deprecated Outline window (#7816)
- Cleanup: removal of the deprecated Performance page window (#7816)
- Migrated all instances of EditorNotifications.Provider to the new API (#7830)

## 84

- This version was not shipped due to issue #7968

## 83

- First version for Meerkat, Android Studio 2024.3 (#7799)
- Message in the Flutter Outline window that the window is now deprecated (#7778)
- Testing and cleanup now that the code is migrated to the new Gradle Plugin (#7670)

## 82.2

- Release of the plugin for 2024.3 (#7670)
- Migration to IntelliJ Platform Gradle Plugin (2.x) (#7670)
- The Flutter coverage runner support has been removed (#7670)

## 82.1

- Fix for Cannot invoke "com.intellij.openapi.wm.ToolWindow.setAvailable(boolean)" issue -- thanks to @parlough (#7691)
- New SDK notification to notify of old Flutter SDK usage (#7763)
- Progress on migrating off of old IDEA APIs (#7718)
- Significant code cleanup

## 82

- Various DevTools integration improvements (#7626) (#7621)
- Removal of the old Performance page, now replaced by DevTools (#7624)
- Add an option to reload a DevTools window (#7617)
- Fix to the developer build (#7625)

## 81.1

- Initial support 2024.2 & Android Studio Ladybug Canary 6 (#7595)

## 81

- New icons to match "New UI" features in IntelliJ and Android Studio (#6595)
- Restore Flutter test icons in the editor gutter (#7505)
- Fix widget tree highlighting in the editor (#7522)
- Resolve "Exception: Cannot invoke "org..AnAction.getTemplatePresentation()" exception (#7488)
- Resolve "Pubspec has been edited" editor notification is stuck (#7538)
- Resolve Released EditorImpl held by lambda in FlutterReloadManager (#7507)
- Configure the Project view for Flutter in AS, when creating a new Flutter project (#4470)
- Migrate to Kotlin UI DSL Version 2 (#7310)

## 80

- Resolve debugger issue with the new Dart macro file uri format (#7449)
- Hide deep links window when insufficient SDK version (#7478)
- Fix exceptions out of FlutterSampleNotificationProvider (#5634)
- Additional fixes for deprecation of `ActionUpdateThread.OLD_EDT` (#7330)
- Exception from EditorPerfDecorations fixed (#7432)
- Exception from FlutterColorProvider fixed (#7428)
- Fix top toolbar for new UI (#7423)
- Update JxBrowser to `v7.38.2` (#7413)
- "Open Android Module in Android Studio" action removed (#7103)
- Fix for deprecation of `ActionUpdateThread.OLD_EDT` (#7330)
- Deprecation of `ServiceExtensions.setPubRootDirectories` (#7142)
- Fix plugin not opening in Android Studio (#7305)
- Deadlock involving `WorkspaceCache.getInstance()` (#7333)
- Fix for `AlreadyDisposedException` from `DartVmServiceDebugProcess` (#7381)
- Memory leak fix out of `DartVmServiceDebugProcess` (7380)
- Memory leak fix in `FlutterSettings` and `JxBrowser` (#7377)
- Delete actions specific to legacy inspector (#7416)
22 changes: 15 additions & 7 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,23 @@ plugins {
id("org.jetbrains.changelog") version "2.2.0" // Gradle Changelog Plugin
}

var flutterPluginVersion = providers.gradleProperty("flutterPluginVersion").get()
if (project.hasProperty("dev-version")) {
// By default (e.g. when we call `runIde` during development), the plugin version is SNAPSHOT
var flutterPluginVersion = "SNAPSHOT"

// Otherwise, we will decide on the proper semver-formatted version from the CHANGELOG.
// Note: The CHANGELOG follows the style from https://keepachangelog.com/en/1.0.0/ so that we can use the gradle changelog plugin.
if (project.hasProperty("release")) {
// If we are building for a release, the changelog should be updated with the latest version.
flutterPluginVersion = changelog.getLatest().version
} else if (project.hasProperty("dev")) {
// If we are building the dev version, the version label will increment the latest version from the changelog and append the date.
val latestVersion = changelog.getLatest().version
val majorVersion = latestVersion.substringBefore('.').toInt()
val nextMajorVersion = majorVersion + 1
val datestamp = DateTimeFormatter.ofPattern("yyyyMMdd").format(LocalDate.now())
flutterPluginVersion = project.property("dev-version").toString() + "-dev." + datestamp
flutterPluginVersion = "$nextMajorVersion.0.0-dev.$datestamp"
}

val ideaVersion = providers.gradleProperty("ideaVersion").get()
val dartPluginVersion = providers.gradleProperty("dartPluginVersion").get()
val sinceBuildInput = providers.gradleProperty("sinceBuild").get()
Expand Down Expand Up @@ -156,10 +168,6 @@ dependencies {
)
}

changelog {
headerParserRegex = """(\d+(\.\d+)*)""".toRegex()
}

intellijPlatform {
pluginConfiguration {
version = flutterPluginVersion
Expand Down
2 changes: 1 addition & 1 deletion docs/Milestones.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
- any work done or issues fixed should be assigned to the current milestone
- at the end of the milestone, we run through the [testing plan](https://github.com/flutter/flutter-intellij/blob/master/docs/testing.md) and validate the candidate release
- before releasing, we update the [changelog](https://github.com/flutter/flutter-intellij/blob/master/resources/META-INF/plugin.xml#L22) (based on the work tracking in the milestone)
- we then [ship](../docs/Releasing.md), and iterate
- we then [build and release](../docs/building.md), and iterate
14 changes: 0 additions & 14 deletions docs/Releasing.md

This file was deleted.

7 changes: 5 additions & 2 deletions docs/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,17 @@ Update the `gradle.properties` file
here: https://developer.android.com/studio/archive & https://plugins.jetbrains.com/docs/intellij/android-studio-releases-list.html
- To view the current sources from Android Studio, use https://cs.android.com/android-studio

Edit `CHANGELOG.md` to include the new version number and associated release notes.

Commit these changes.

Verify that the file `./resources/jxbrowser/jxbrowser.properties` has been copied from `./resources/jxbrowser/jxbrowser.properties.template`
with the `<KEY>` replaced with a valid JXBrowser key to be used in the built Flutter plugin.

Run gradle:

- Make `flutterPluginVersion` in `gradle.properties` the release number, e.g. 87.0.1
- Check that `$JAVA_HOME` is set (see CONTRIBUTING.md for instructions if not set)
- Run `./gradlew buildPlugin` to build the plugin for the settings specified in `gradle.properties`
- Run `./gradlew buildPlugin -Prelease` to build the plugin for the settings specified in `gradle.properties`
- The output .zip file will be in `<flutter-intellij root>/build/distributions`

### Test and upload to the JetBrains Servers
Expand Down
3 changes: 0 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@
# found in the LICENSE file.
#

# Change to version when releasing, e.g.
#flutterPluginVersion=87.0.1
flutterPluginVersion=SNAPSHOT
ideaVersion=2025.1.3.4
dartPluginVersion= 251.27623.5
sinceBuild=243
Expand Down
2 changes: 1 addition & 1 deletion tool/kokoro/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ echo "kokoro test finished"

echo "kokoro build start"

./gradlew buildPlugin -Pdev-version=88.0
./gradlew buildPlugin -Pdev

echo "kokoro build finished"

Expand Down