From 4c96945f60d9854dbec3301339099f9ce3b30860 Mon Sep 17 00:00:00 2001 From: Sheng Chen Date: Tue, 13 Oct 2026 15:02:31 +0800 Subject: [PATCH 1/2] Announce Eclipse 4.38 and Java 21 requirements for 0.23 Preserve existing compatibility for the 0.22 announcement release. Add affected-environment startup reminders with persisted dismissal, release notes, and retained-version installation guidance. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 113c8886-16b8-4f15-bc2e-849ec09228fb --- .github/skills/ui-action/REFERENCE.md | 5 + CHANGELOG.md | 8 ++ README.md | 25 +++++ .../copilot/eclipse/core/Constants.java | 1 + .../pom.xml | 5 + .../compatibility-notice-001.json | 39 +++++++ .../swtbot/test/probe/ProbeRunner.java | 16 +++ .../swtbot/test/probe/StepExecutor.java | 2 + .../eclipse/ui/CompatibilityNoticeTest.java | 103 ++++++++++++++++++ .../intro/whatsnew/WHATISNEW.md | 22 ++++ .../eclipse/ui/CompatibilityNotice.java | 53 +++++++++ .../microsoft/copilot/eclipse/ui/StartUp.java | 65 ++++++++++- .../copilot/eclipse/ui/dialogs/Messages.java | 5 + .../eclipse/ui/dialogs/messages.properties | 5 + 14 files changed, 353 insertions(+), 1 deletion(-) create mode 100644 com.microsoft.copilot.eclipse.swtbot.test/probe-scripts/compatibility-notice-001.json create mode 100644 com.microsoft.copilot.eclipse.ui.test/src/com/microsoft/copilot/eclipse/ui/CompatibilityNoticeTest.java create mode 100644 com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/CompatibilityNotice.java diff --git a/.github/skills/ui-action/REFERENCE.md b/.github/skills/ui-action/REFERENCE.md index 65d4fb3ef..f16beb740 100644 --- a/.github/skills/ui-action/REFERENCE.md +++ b/.github/skills/ui-action/REFERENCE.md @@ -11,6 +11,10 @@ Before the bot starts, the runner pre-populates configuration-scope preferences so Quick Start, What's New, Welcome, and "Terminal Support Unavailable" dialogs do not block normal probes. +Normal probes also suppress the compatibility announcement and close it if it +opened before the runner initialized. Scripts named `compatibility-notice-*.json` +retain that announcement so they can exercise the real startup flow. + `screenshot` and failure screenshots capture the active workbench shell with `java.awt.Robot`, then fall back to SWTBot's full-display capture if needed. Screenshots are diagnostic artifacts only; JSON assertions drive pass/fail. @@ -127,6 +131,7 @@ extend `Locator` and `StepExecutor` when the existing vocabulary is not enough. | `viewId` | `id` | Eclipse view by ID (`bot.viewById`). | | `label` | `text` | First label with the given text. | | `button` | `text` | First button with the given text. | +| `checkBox` | `text` | Checkbox with the given text; supports `click` and `waitForMethod` with `isChecked`. | | `buttonWithTooltip` | `tooltip` | First button whose tooltip matches; useful for icon-only buttons like Send. | | `text` | `index` default `0` | Nth text field. | | `styledText` | - | First `StyledText`. | diff --git a/CHANGELOG.md b/CHANGELOG.md index 1acf1c2ff..b22546a7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.22.0 (Unreleased) +### Added +- Announce that 0.23.0 will require Eclipse 2025-12 (4.38) or later and Java 21 or later to run Eclipse. + The 0.22.0 release retains existing environment compatibility and TM Terminal support. +- Show a startup reminder on affected environments, with a persistent "Don't remind me again" option. + This notice does not depend on sign-in or the automatic What's New setting. +- Document how users who cannot upgrade can install the last compatible 0.22.x release ZIP. + ## 0.21.0 ### Added - Support Ollama as a custom (BYOK) model provider. [#93](https://github.com/microsoft/copilot-for-eclipse/issues/93) diff --git a/README.md b/README.md index 31cddede1..52cd5a2c4 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,31 @@ To use GitHub Copilot, an active subscription is required. Learn more about busi - [Eclipse IDE](https://www.eclipse.org/downloads/) - An active [GitHub Copilot subscription](https://github.com/features/copilot) +### Upcoming requirements in 0.23.0 + +Starting with **GitHub Copilot for Eclipse 0.23.0**, the minimum supported environment will be +**Eclipse IDE 2025-12 (4.38)** and **Java 21** to run Eclipse. This does not require changing the +Java version used by your projects. + +**0.22.0 is the advance-notice release and retains the existing environment compatibility, +including TM Terminal support.** On affected environments (Eclipse older than 4.38 or an Eclipse +Java runtime older than 21), a startup notice explains the upcoming requirements. It appears at +most once per Eclipse startup until you select **Don't remind me again** or upgrade your +environment. Dismissal applies to this announcement in the same Eclipse configuration, including +when switching workspaces, and is independent of the automatic What's New setting. + +Before upgrading to 0.23.0, update Eclipse and the Java runtime used to launch it. If necessary, +set the Eclipse launcher runtime using the `-vm` option in `eclipse.ini`; keep it before `-vmargs`. +Your project JDK and compiler settings can remain unchanged. + +If you cannot upgrade your environment, you can continue using the last compatible **0.22.x** +version. Once published, its `GithubCopilotForEclipse.zip` installation archive will remain +available from [GitHub Releases](https://github.com/microsoft/copilot-for-eclipse/releases). +Download the ZIP from the selected 0.22.x release, then use **Help > Install New Software... > +Add... > Archive...** to select it and install GitHub Copilot. Eclipse may need access to update +sites for required dependencies; the ZIP is not a self-contained offline installer. The legacy +version will not have a separate online update site or a commitment to long-term maintenance. + ## Install and set up ### Option 1: Eclipse Marketplace diff --git a/com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/Constants.java b/com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/Constants.java index 73817770d..4ce1d6d5e 100644 --- a/com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/Constants.java +++ b/com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/Constants.java @@ -51,6 +51,7 @@ private Constants() { public static final String AUTO_BREAKPOINT_RESPONSE = "autoBreakpointResponse"; public static final String GITHUB_JOBS_VIEW_ID = "com.microsoft.copilot.eclipse.ui.jobs.JobsView"; public static final String SUPPRESS_TERMINAL_DEPENDENCY_DIALOG = "suppressTerminalDependencyDialog"; + public static final String SUPPRESS_COMPATIBILITY_NOTICE_0_23 = "suppressCompatibilityNotice0.23"; // Auto-Approve settings public static final String AUTO_APPROVE_TERMINAL_RULES = "autoApproveTerminalRules"; diff --git a/com.microsoft.copilot.eclipse.swtbot.test/pom.xml b/com.microsoft.copilot.eclipse.swtbot.test/pom.xml index 93543d165..e424539b7 100644 --- a/com.microsoft.copilot.eclipse.swtbot.test/pom.xml +++ b/com.microsoft.copilot.eclipse.swtbot.test/pom.xml @@ -60,6 +60,11 @@ + + eclipse-plugin + org.eclipse.platform + 0.0.0 +