diff --git a/CHANGELOG-old.md b/CHANGELOG-old.md index 8da382c9f..65bd867e6 100644 --- a/CHANGELOG-old.md +++ b/CHANGELOG-old.md @@ -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) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35918bfc2..d25d97b14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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) diff --git a/build.gradle.kts b/build.gradle.kts index be7430372..84705c85c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -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() @@ -156,10 +168,6 @@ dependencies { ) } -changelog { - headerParserRegex = """(\d+(\.\d+)*)""".toRegex() -} - intellijPlatform { pluginConfiguration { version = flutterPluginVersion diff --git a/docs/Milestones.md b/docs/Milestones.md index 6e24dc132..43eb419c5 100644 --- a/docs/Milestones.md +++ b/docs/Milestones.md @@ -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 diff --git a/docs/Releasing.md b/docs/Releasing.md deleted file mode 100644 index e636435b3..000000000 --- a/docs/Releasing.md +++ /dev/null @@ -1,14 +0,0 @@ -# Creating a new release - -## Building the plugin zip file: -- Make changes to the repository for the version. - - Edit `CHANGELOG.md` to include the current milestone and associated release notes. - - Increment the version for the dev release in `tool/kokoro/deploy.sh` (e.g. if the release about to go out is M90, the dev release version will be 91.0). - - Commit these changes. -- Update `gradle.properties` with the release number. -- Run `./gradlew buildPlugin` - this will generate a `flutter-intellij.zip` file in `build/distributions`. - -## Uploading the plugin: -- Sign in to https://plugins.jetbrains.com. -- From https://plugins.jetbrains.com/plugin/9212?pr=idea, select `'update plugin'`. -- Upload the `flutter-intellij.zip` file created from the earlier step (note: the `.zip` file). diff --git a/docs/building.md b/docs/building.md index 64d7106d6..ffd82f896 100644 --- a/docs/building.md +++ b/docs/building.md @@ -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 `` 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 `/build/distributions` ### Test and upload to the JetBrains Servers diff --git a/gradle.properties b/gradle.properties index 38938a1f1..53ebd2ce0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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 diff --git a/tool/kokoro/deploy.sh b/tool/kokoro/deploy.sh index 33e171a69..bdbda22b4 100755 --- a/tool/kokoro/deploy.sh +++ b/tool/kokoro/deploy.sh @@ -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"