diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
index 24d0c2d2c..67ed6b7d7 100644
--- a/.github/copilot-instructions.md
+++ b/.github/copilot-instructions.md
@@ -13,7 +13,7 @@ This is the **GitHub Copilot for Eclipse** plugin - an Eclipse IDE extension tha
- **Multi-Platform Support**: Windows, macOS (x64/aarch64), and Linux (x64/aarch64)
### Tech Stack
-- **Java**: Primary language (Java 17+, with Eclipse 4.31+ requiring Java 21+)
+- **Java**: Primary language (Java 21+, with Eclipse 4.38+ requiring Java 21+)
- **Eclipse RCP/OSGi**: Plugin architecture using Eclipse platform APIs
- **Maven/Tycho**: Build system for Eclipse plugin development
- **LSP4E**: Language Server Protocol integration for Eclipse
@@ -46,7 +46,7 @@ You MUST verify compilation and code quality before declaring work complete!
- Root POM coordinates multi-module build with Tycho
- Each bundle/feature/test has its own POM inheriting from root
- Checkstyle validation runs during `verify` phase
-- Target platform defined in `base.target`, `target-terminal.target`, `target-tm-terminal.target`
+- Target platform defined in `target-platforms/2025-12.target`
### Code Change Review Trigger
@@ -569,7 +569,7 @@ distinguish repeated controls with stable context or an ordinal
**When** writing tests → use JUnit 5 for core logic; integration tests for Eclipse integration
-**When** adding dependencies → only add necessary bundles; check `base.target` for Eclipse 2024-03 version constraints
+**When** adding dependencies → only add necessary bundles; check `target-platforms/2025-12.target` for Eclipse 2025-12 version constraints
**When** targeting Eclipse versions → support multiple versions when possible
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a77cc8025..14852bcf1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -29,10 +29,10 @@ jobs:
working-directory: com.microsoft.copilot.eclipse.core/copilot-agent
run: npm i -f
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
- java-version: '17'
+ java-version: '21'
distribution: 'temurin'
cache: maven
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e78e21d46..93e05ad81 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -16,10 +16,10 @@ When you submit a pull request, a CLA bot will automatically determine whether y
### Prerequisites
-- **Java 17** or later (CI uses Temurin 17; use a newer JDK if required by your Eclipse IDE)
+- **Java 21** or later (CI uses Temurin 21; use a newer JDK if required by your Eclipse IDE)
- **Maven 3.8+** (or use the provided Maven wrapper `./mvnw`)
- **Node.js 22.13** or later, with npm
-- **Eclipse IDE for Eclipse Committers 2024-03** or later (for development)
+- **Eclipse IDE for Eclipse Committers 2025-12** or later (for development)
- Recommended: **Eclipse Checkstyle plugin** for code style compliance
(e.g. install from update site: https://checkstyle.org/eclipse-cs-update-site/)
@@ -61,8 +61,8 @@ The installable P2 repository is generated in `com.microsoft.copilot.eclipse.rep
* Do also import the agent bundle for your OS (e.g., `com.microsoft.copilot.eclipse.core.agent.win32`)
after building the project with npm and maven or import all OS-specific agent bundles.
2. Activate one of the target platforms, i.e. open one of the target definition files and select `Set As Active Target Platform`.
- * target-terminal.target (Eclipse 4.37+)
- * target-tm-terminal.target (Eclipse 4.36 and earlier)
+ * `target-platforms/2025-12.target` (Eclipse 4.38 and later)
+ * `target-platforms/2024-12.target` (Eclipse 4.36 and earlier)
3. For using the Checkstyle configuration (assuming you have installed the Eclipse Checkstyle plugin, see prerequisites),
add a new named Checkstyle configuration.
* Select *Window > Preferences > Checkstyle* and press the *New...* button.
diff --git a/base.target b/base.target
deleted file mode 100644
index a6fc6705a..000000000
--- a/base.target
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- org.mockito
- mockito-core
- 5.14.2
- jar
-
-
- org.mockito
- mockito-junit-jupiter
- 5.14.2
- jar
-
-
- org.objenesis
- objenesis
- 3.4
- jar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/com.microsoft.copilot.eclipse.core.agent.linux.aarch64/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.core.agent.linux.aarch64/META-INF/MANIFEST.MF
index e13e44f30..3d704da3f 100644
--- a/com.microsoft.copilot.eclipse.core.agent.linux.aarch64/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.core.agent.linux.aarch64/META-INF/MANIFEST.MF
@@ -6,5 +6,5 @@ Automatic-Module-Name: com.microsoft.copilot.eclipse.core.agent.linux.aarch64
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Fragment-Host: com.microsoft.copilot.eclipse.core
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Eclipse-PlatformFilter: (&(osgi.os=linux)(osgi.arch=aarch64))
diff --git a/com.microsoft.copilot.eclipse.core.agent.linux.x64/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.core.agent.linux.x64/META-INF/MANIFEST.MF
index b8a762acc..0c02a5db3 100644
--- a/com.microsoft.copilot.eclipse.core.agent.linux.x64/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.core.agent.linux.x64/META-INF/MANIFEST.MF
@@ -6,5 +6,5 @@ Automatic-Module-Name: com.microsoft.copilot.eclipse.core.agent.linux.x64
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Fragment-Host: com.microsoft.copilot.eclipse.core
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Eclipse-PlatformFilter: (&(osgi.os=linux)(osgi.arch=x86_64))
diff --git a/com.microsoft.copilot.eclipse.core.agent.macosx.aarch64/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.core.agent.macosx.aarch64/META-INF/MANIFEST.MF
index d2a335789..fd877242b 100644
--- a/com.microsoft.copilot.eclipse.core.agent.macosx.aarch64/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.core.agent.macosx.aarch64/META-INF/MANIFEST.MF
@@ -6,5 +6,5 @@ Automatic-Module-Name: com.microsoft.copilot.eclipse.core.agent.macosx.aarch64
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Fragment-Host: com.microsoft.copilot.eclipse.core
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Eclipse-PlatformFilter: (&(osgi.os=macosx) (osgi.arch=aarch64))
diff --git a/com.microsoft.copilot.eclipse.core.agent.macosx.x64/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.core.agent.macosx.x64/META-INF/MANIFEST.MF
index a6a5e998f..ee074624b 100644
--- a/com.microsoft.copilot.eclipse.core.agent.macosx.x64/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.core.agent.macosx.x64/META-INF/MANIFEST.MF
@@ -6,5 +6,5 @@ Automatic-Module-Name: com.microsoft.copilot.eclipse.core.agent.macosx.x64
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Fragment-Host: com.microsoft.copilot.eclipse.core
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Eclipse-PlatformFilter: (&(osgi.os=macosx)(osgi.arch=x86_64))
diff --git a/com.microsoft.copilot.eclipse.core.agent.win32/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.core.agent.win32/META-INF/MANIFEST.MF
index b9c752e5e..ca5678cb4 100644
--- a/com.microsoft.copilot.eclipse.core.agent.win32/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.core.agent.win32/META-INF/MANIFEST.MF
@@ -6,5 +6,5 @@ Automatic-Module-Name: com.microsoft.copilot.eclipse.core.agent.win32
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Fragment-Host: com.microsoft.copilot.eclipse.core
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Eclipse-PlatformFilter: (osgi.os=win32)
diff --git a/com.microsoft.copilot.eclipse.core.test/.classpath b/com.microsoft.copilot.eclipse.core.test/.classpath
index 38f401ad4..766df48f2 100644
--- a/com.microsoft.copilot.eclipse.core.test/.classpath
+++ b/com.microsoft.copilot.eclipse.core.test/.classpath
@@ -1,11 +1,15 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.microsoft.copilot.eclipse.core.test/.settings/org.eclipse.core.resources.prefs b/com.microsoft.copilot.eclipse.core.test/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..4824b8026
--- /dev/null
+++ b/com.microsoft.copilot.eclipse.core.test/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/com.microsoft.copilot.eclipse.core.test/.settings/org.eclipse.jdt.core.prefs b/com.microsoft.copilot.eclipse.core.test/.settings/org.eclipse.jdt.core.prefs
index 21eccc094..a98206bc4 100644
--- a/com.microsoft.copilot.eclipse.core.test/.settings/org.eclipse.jdt.core.prefs
+++ b/com.microsoft.copilot.eclipse.core.test/.settings/org.eclipse.jdt.core.prefs
@@ -1,12 +1,12 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
org.eclipse.jdt.core.formatter.align_arrows_in_switch_on_columns=false
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
diff --git a/com.microsoft.copilot.eclipse.core.test/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.core.test/META-INF/MANIFEST.MF
index efcd8dba1..8b8f5fc5c 100644
--- a/com.microsoft.copilot.eclipse.core.test/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.core.test/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-Name: com.microsoft.copilot.eclipse.core.test
Bundle-SymbolicName: com.microsoft.copilot.eclipse.core.test;singleton:=true
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Fragment-Host: com.microsoft.copilot.eclipse.core
Automatic-Module-Name: com.microsoft.copilot.eclipse.core.test
Import-Package: org.objenesis;version="[3.4.0,4.0.0)",
diff --git a/com.microsoft.copilot.eclipse.core.test/build.properties b/com.microsoft.copilot.eclipse.core.test/build.properties
index 100b378a5..3cb14ae9c 100644
--- a/com.microsoft.copilot.eclipse.core.test/build.properties
+++ b/com.microsoft.copilot.eclipse.core.test/build.properties
@@ -1,5 +1,5 @@
-source.. = src
-output.. = target/classes
+source.. = src/
+output.. = target/classes/
bin.includes = META-INF/,\
.
diff --git a/com.microsoft.copilot.eclipse.core/.classpath b/com.microsoft.copilot.eclipse.core/.classpath
index 8d8612144..b1415d56b 100644
--- a/com.microsoft.copilot.eclipse.core/.classpath
+++ b/com.microsoft.copilot.eclipse.core/.classpath
@@ -1,7 +1,11 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.microsoft.copilot.eclipse.core/.settings/org.eclipse.core.resources.prefs b/com.microsoft.copilot.eclipse.core/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..4824b8026
--- /dev/null
+++ b/com.microsoft.copilot.eclipse.core/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/com.microsoft.copilot.eclipse.core/.settings/org.eclipse.jdt.core.prefs b/com.microsoft.copilot.eclipse.core/.settings/org.eclipse.jdt.core.prefs
index 21eccc094..2fc4a03ea 100644
--- a/com.microsoft.copilot.eclipse.core/.settings/org.eclipse.jdt.core.prefs
+++ b/com.microsoft.copilot.eclipse.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,12 +1,17 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=21
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
org.eclipse.jdt.core.formatter.align_arrows_in_switch_on_columns=false
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
diff --git a/com.microsoft.copilot.eclipse.core/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.core/META-INF/MANIFEST.MF
index bfa152564..f52e73e3e 100644
--- a/com.microsoft.copilot.eclipse.core/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.core/META-INF/MANIFEST.MF
@@ -23,10 +23,10 @@ Export-Package: com.microsoft.copilot.eclipse.core,
com.microsoft.copilot.eclipse.core.lsp.protocol.quota,
com.microsoft.copilot.eclipse.core.lsp.protocol.tools,
com.microsoft.copilot.eclipse.core.nes;x-friends:="com.microsoft.copilot.eclipse.ui",
- com.microsoft.copilot.eclipse.core.persistence;x-friends:="com.microsoft.copilot.eclipse.ui,com.microsoft.copilot.eclipse.core.test,com.microsoft.copilot.eclipse.core.utils",
+ com.microsoft.copilot.eclipse.core.persistence;x-friends:="com.microsoft.copilot.eclipse.ui,com.microsoft.copilot.eclipse.core.test,com.microsoft.copilot.eclipse.core.utils",
com.microsoft.copilot.eclipse.core.utils
Bundle-Activator: com.microsoft.copilot.eclipse.core.CopilotCore
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Automatic-Module-Name: com.microsoft.copilot.eclipse.core
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.ui,
diff --git a/com.microsoft.copilot.eclipse.core/build.properties b/com.microsoft.copilot.eclipse.core/build.properties
index d6219466d..326a0702b 100644
--- a/com.microsoft.copilot.eclipse.core/build.properties
+++ b/com.microsoft.copilot.eclipse.core/build.properties
@@ -1,5 +1,5 @@
-source.. = src
-output.. = target/classes
+source.. = src/
+output.. = target/classes/
bin.includes = META-INF/,\
.,\
plugin.xml,\
diff --git a/com.microsoft.copilot.eclipse.repository/category.xml b/com.microsoft.copilot.eclipse.repository/category.xml
index 394c11c3d..27400f3ed 100644
--- a/com.microsoft.copilot.eclipse.repository/category.xml
+++ b/com.microsoft.copilot.eclipse.repository/category.xml
@@ -3,5 +3,15 @@
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
+
diff --git a/com.microsoft.copilot.eclipse.swtbot.test/.classpath b/com.microsoft.copilot.eclipse.swtbot.test/.classpath
index 38f401ad4..766df48f2 100644
--- a/com.microsoft.copilot.eclipse.swtbot.test/.classpath
+++ b/com.microsoft.copilot.eclipse.swtbot.test/.classpath
@@ -1,11 +1,15 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.microsoft.copilot.eclipse.swtbot.test/.settings/org.eclipse.core.resources.prefs b/com.microsoft.copilot.eclipse.swtbot.test/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..4824b8026
--- /dev/null
+++ b/com.microsoft.copilot.eclipse.swtbot.test/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/com.microsoft.copilot.eclipse.swtbot.test/.settings/org.eclipse.jdt.core.prefs b/com.microsoft.copilot.eclipse.swtbot.test/.settings/org.eclipse.jdt.core.prefs
index 62ef3488c..23fa13b17 100644
--- a/com.microsoft.copilot.eclipse.swtbot.test/.settings/org.eclipse.jdt.core.prefs
+++ b/com.microsoft.copilot.eclipse.swtbot.test/.settings/org.eclipse.jdt.core.prefs
@@ -1,9 +1,9 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
diff --git a/com.microsoft.copilot.eclipse.swtbot.test/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.swtbot.test/META-INF/MANIFEST.MF
index 8fbc5c1a5..a35198cdb 100644
--- a/com.microsoft.copilot.eclipse.swtbot.test/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.swtbot.test/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-Name: com.microsoft.copilot.eclipse.swtbot.test
Bundle-SymbolicName: com.microsoft.copilot.eclipse.swtbot.test;singleton:=true
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Automatic-Module-Name: com.microsoft.copilot.eclipse.swtbot.test
Require-Bundle: org.eclipse.swtbot.swt.finder;bundle-version="4.1.0",
org.eclipse.swtbot.eclipse.finder;bundle-version="4.1.0",
diff --git a/com.microsoft.copilot.eclipse.swtbot.test/build.properties b/com.microsoft.copilot.eclipse.swtbot.test/build.properties
index 8e6b406ec..73ec1c618 100644
--- a/com.microsoft.copilot.eclipse.swtbot.test/build.properties
+++ b/com.microsoft.copilot.eclipse.swtbot.test/build.properties
@@ -1,5 +1,5 @@
-source.. = src
-output.. = target/classes
+source.. = src/
+output.. = target/classes/
bin.includes = META-INF/,\
.,\
plugin.xml,\
diff --git a/com.microsoft.copilot.eclipse.terminal.api/.classpath b/com.microsoft.copilot.eclipse.terminal.api/.classpath
index 8d8612144..b1415d56b 100644
--- a/com.microsoft.copilot.eclipse.terminal.api/.classpath
+++ b/com.microsoft.copilot.eclipse.terminal.api/.classpath
@@ -1,7 +1,11 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.microsoft.copilot.eclipse.terminal.api/.settings/org.eclipse.core.resources.prefs b/com.microsoft.copilot.eclipse.terminal.api/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..4824b8026
--- /dev/null
+++ b/com.microsoft.copilot.eclipse.terminal.api/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/com.microsoft.copilot.eclipse.terminal.api/.settings/org.eclipse.jdt.core.prefs b/com.microsoft.copilot.eclipse.terminal.api/.settings/org.eclipse.jdt.core.prefs
index 62ef3488c..23fa13b17 100644
--- a/com.microsoft.copilot.eclipse.terminal.api/.settings/org.eclipse.jdt.core.prefs
+++ b/com.microsoft.copilot.eclipse.terminal.api/.settings/org.eclipse.jdt.core.prefs
@@ -1,9 +1,9 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
diff --git a/com.microsoft.copilot.eclipse.terminal.api/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.terminal.api/META-INF/MANIFEST.MF
index 75b5a9941..ecc33c85c 100644
--- a/com.microsoft.copilot.eclipse.terminal.api/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.terminal.api/META-INF/MANIFEST.MF
@@ -7,7 +7,7 @@ Bundle-Vendor: GitHub Copilot
Export-Package: com.microsoft.copilot.eclipse.terminal.api
Automatic-Module-Name: com.microsoft.copilot.eclipse.terminal.api
Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Import-Package: org.osgi.framework;version="[1.10.0,2.0.0)"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.30.0,4.0.0)",
com.microsoft.copilot.eclipse.core;bundle-version="0.20.0",
diff --git a/com.microsoft.copilot.eclipse.terminal.api/build.properties b/com.microsoft.copilot.eclipse.terminal.api/build.properties
index f38581b94..eb7c4c161 100644
--- a/com.microsoft.copilot.eclipse.terminal.api/build.properties
+++ b/com.microsoft.copilot.eclipse.terminal.api/build.properties
@@ -1,5 +1,5 @@
source.. = src/
-output.. = bin/
+output.. = target/classes/
bin.includes = META-INF/,\
.,\
scripts/
diff --git a/com.microsoft.copilot.eclipse.ui.jobs/.classpath b/com.microsoft.copilot.eclipse.ui.jobs/.classpath
index 5508535a4..b1415d56b 100644
--- a/com.microsoft.copilot.eclipse.ui.jobs/.classpath
+++ b/com.microsoft.copilot.eclipse.ui.jobs/.classpath
@@ -1,7 +1,11 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.microsoft.copilot.eclipse.ui.jobs/.settings/org.eclipse.core.resources.prefs b/com.microsoft.copilot.eclipse.ui.jobs/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..4824b8026
--- /dev/null
+++ b/com.microsoft.copilot.eclipse.ui.jobs/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/com.microsoft.copilot.eclipse.ui.jobs/.settings/org.eclipse.jdt.core.prefs b/com.microsoft.copilot.eclipse.ui.jobs/.settings/org.eclipse.jdt.core.prefs
index 20cc7b588..f7d4b5bfd 100644
--- a/com.microsoft.copilot.eclipse.ui.jobs/.settings/org.eclipse.jdt.core.prefs
+++ b/com.microsoft.copilot.eclipse.ui.jobs/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
diff --git a/com.microsoft.copilot.eclipse.ui.jobs/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.ui.jobs/META-INF/MANIFEST.MF
index 7c499bb23..64b090c52 100644
--- a/com.microsoft.copilot.eclipse.ui.jobs/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.ui.jobs/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@ Bundle-SymbolicName: com.microsoft.copilot.eclipse.ui.jobs;singleton:=true
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Bundle-Activator: com.microsoft.copilot.eclipse.ui.jobs.CopilotJobs
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Bundle-Localization: plugin
Automatic-Module-Name: com.microsoft.copilot.eclipse.ui.jobs
Bundle-ActivationPolicy: lazy
diff --git a/com.microsoft.copilot.eclipse.ui.jobs/build.properties b/com.microsoft.copilot.eclipse.ui.jobs/build.properties
index 18012dbed..2257d7129 100644
--- a/com.microsoft.copilot.eclipse.ui.jobs/build.properties
+++ b/com.microsoft.copilot.eclipse.ui.jobs/build.properties
@@ -1,5 +1,5 @@
source.. = src/
-output.. = bin/
+output.. = target/classes/
bin.includes = META-INF/,\
.,\
plugin.xml,\
diff --git a/com.microsoft.copilot.eclipse.ui.terminal.tm/pom.xml b/com.microsoft.copilot.eclipse.ui.terminal.tm/pom.xml
index 1d4b39049..a10893158 100644
--- a/com.microsoft.copilot.eclipse.ui.terminal.tm/pom.xml
+++ b/com.microsoft.copilot.eclipse.ui.terminal.tm/pom.xml
@@ -18,7 +18,7 @@
${tycho-version}
- ../target-tm-terminal.target
+ ../target-platforms/2024-12.target
diff --git a/com.microsoft.copilot.eclipse.ui.terminal/.classpath b/com.microsoft.copilot.eclipse.ui.terminal/.classpath
index e0ce1f7ec..b1415d56b 100644
--- a/com.microsoft.copilot.eclipse.ui.terminal/.classpath
+++ b/com.microsoft.copilot.eclipse.ui.terminal/.classpath
@@ -1,8 +1,11 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.microsoft.copilot.eclipse.ui.terminal/.settings/org.eclipse.core.resources.prefs b/com.microsoft.copilot.eclipse.ui.terminal/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..4824b8026
--- /dev/null
+++ b/com.microsoft.copilot.eclipse.ui.terminal/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/com.microsoft.copilot.eclipse.ui.terminal/.settings/org.eclipse.jdt.core.prefs b/com.microsoft.copilot.eclipse.ui.terminal/.settings/org.eclipse.jdt.core.prefs
index 62ef3488c..23fa13b17 100644
--- a/com.microsoft.copilot.eclipse.ui.terminal/.settings/org.eclipse.jdt.core.prefs
+++ b/com.microsoft.copilot.eclipse.ui.terminal/.settings/org.eclipse.jdt.core.prefs
@@ -1,9 +1,9 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
diff --git a/com.microsoft.copilot.eclipse.ui.terminal/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.ui.terminal/META-INF/MANIFEST.MF
index 5fdd2792e..43daf5623 100644
--- a/com.microsoft.copilot.eclipse.ui.terminal/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.ui.terminal/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-Name: com.microsoft.copilot.eclipse.ui.terminal
Bundle-SymbolicName: com.microsoft.copilot.eclipse.ui.terminal;singleton:=true
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Automatic-Module-Name: com.microsoft.copilot.eclipse.ui.terminal
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/component.xml
diff --git a/com.microsoft.copilot.eclipse.ui.terminal/build.properties b/com.microsoft.copilot.eclipse.ui.terminal/build.properties
index 4aee9b7ab..367dd831e 100644
--- a/com.microsoft.copilot.eclipse.ui.terminal/build.properties
+++ b/com.microsoft.copilot.eclipse.ui.terminal/build.properties
@@ -1,5 +1,5 @@
source.. = src/
-output.. = bin/
+output.. = target/classes/
bin.includes = META-INF/,\
.,\
OSGI-INF/component.xml
\ No newline at end of file
diff --git a/com.microsoft.copilot.eclipse.ui.terminal/pom.xml b/com.microsoft.copilot.eclipse.ui.terminal/pom.xml
index f70016ec1..830edfbf6 100644
--- a/com.microsoft.copilot.eclipse.ui.terminal/pom.xml
+++ b/com.microsoft.copilot.eclipse.ui.terminal/pom.xml
@@ -18,7 +18,7 @@
${tycho-version}
- ../target-terminal.target
+ ../target-platforms/2025-12.target
diff --git a/com.microsoft.copilot.eclipse.ui.test/.classpath b/com.microsoft.copilot.eclipse.ui.test/.classpath
index 38f401ad4..766df48f2 100644
--- a/com.microsoft.copilot.eclipse.ui.test/.classpath
+++ b/com.microsoft.copilot.eclipse.ui.test/.classpath
@@ -1,11 +1,15 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.microsoft.copilot.eclipse.ui.test/.settings/org.eclipse.core.resources.prefs b/com.microsoft.copilot.eclipse.ui.test/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..4824b8026
--- /dev/null
+++ b/com.microsoft.copilot.eclipse.ui.test/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/com.microsoft.copilot.eclipse.ui.test/.settings/org.eclipse.jdt.core.prefs b/com.microsoft.copilot.eclipse.ui.test/.settings/org.eclipse.jdt.core.prefs
index 62ef3488c..23fa13b17 100644
--- a/com.microsoft.copilot.eclipse.ui.test/.settings/org.eclipse.jdt.core.prefs
+++ b/com.microsoft.copilot.eclipse.ui.test/.settings/org.eclipse.jdt.core.prefs
@@ -1,9 +1,9 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
diff --git a/com.microsoft.copilot.eclipse.ui.test/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.ui.test/META-INF/MANIFEST.MF
index fa2de66ba..f1f4fee62 100644
--- a/com.microsoft.copilot.eclipse.ui.test/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.ui.test/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-Name: com.microsoft.copilot.eclipse.ui.test
Bundle-SymbolicName: com.microsoft.copilot.eclipse.ui.test;singleton:=true
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Fragment-Host: com.microsoft.copilot.eclipse.ui
Automatic-Module-Name: com.microsoft.copilot.eclipse.ui.test
Import-Package: org.objenesis;version="[3.4.0,4.0.0)"
diff --git a/com.microsoft.copilot.eclipse.ui.test/build.properties b/com.microsoft.copilot.eclipse.ui.test/build.properties
index 07c97efed..8ffd63634 100644
--- a/com.microsoft.copilot.eclipse.ui.test/build.properties
+++ b/com.microsoft.copilot.eclipse.ui.test/build.properties
@@ -1,5 +1,5 @@
-source.. = src
-output.. = target/classes
+source.. = src/
+output.. = target/classes/
bin.includes = META-INF/,\
.,\
fragment.xml
diff --git a/com.microsoft.copilot.eclipse.ui/.classpath b/com.microsoft.copilot.eclipse.ui/.classpath
index 8d8612144..b1415d56b 100644
--- a/com.microsoft.copilot.eclipse.ui/.classpath
+++ b/com.microsoft.copilot.eclipse.ui/.classpath
@@ -1,7 +1,11 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.microsoft.copilot.eclipse.ui/.settings/org.eclipse.core.resources.prefs b/com.microsoft.copilot.eclipse.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..4824b8026
--- /dev/null
+++ b/com.microsoft.copilot.eclipse.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/com.microsoft.copilot.eclipse.ui/.settings/org.eclipse.jdt.core.prefs b/com.microsoft.copilot.eclipse.ui/.settings/org.eclipse.jdt.core.prefs
index 21eccc094..a98206bc4 100644
--- a/com.microsoft.copilot.eclipse.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/com.microsoft.copilot.eclipse.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,12 +1,12 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
org.eclipse.jdt.core.formatter.align_arrows_in_switch_on_columns=false
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
diff --git a/com.microsoft.copilot.eclipse.ui/META-INF/MANIFEST.MF b/com.microsoft.copilot.eclipse.ui/META-INF/MANIFEST.MF
index dc86d49af..876156345 100644
--- a/com.microsoft.copilot.eclipse.ui/META-INF/MANIFEST.MF
+++ b/com.microsoft.copilot.eclipse.ui/META-INF/MANIFEST.MF
@@ -21,7 +21,7 @@ Export-Package: com.microsoft.copilot.eclipse.ui,
com.microsoft.copilot.eclipse.ui.extensions,
com.microsoft.copilot.eclipse.ui.nes;x-friends:="com.microsoft.copilot.eclipse.ui.test"
Bundle-Activator: com.microsoft.copilot.eclipse.ui.CopilotUi
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Automatic-Module-Name: com.microsoft.copilot.eclipse.ui
Bundle-ActivationPolicy: lazy
Import-Package: org.osgi.framework;version="[1.10.0,2.0.0)"
diff --git a/com.microsoft.copilot.eclipse.ui/build.properties b/com.microsoft.copilot.eclipse.ui/build.properties
index 5ba08abef..9ce23e6a9 100644
--- a/com.microsoft.copilot.eclipse.ui/build.properties
+++ b/com.microsoft.copilot.eclipse.ui/build.properties
@@ -1,5 +1,5 @@
-source.. = src
-output.. = target/classes
+source.. = src/
+output.. = target/classes/
bin.includes = META-INF/,\
.,\
plugin.xml,\
diff --git a/launch/Verify Copilot for Eclipse.launch b/launch/Verify Copilot for Eclipse.launch
new file mode 100644
index 000000000..e2537bd26
--- /dev/null
+++ b/launch/Verify Copilot for Eclipse.launch
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launch/plugin_debug_configuration.launch b/launch/plugin_debug_configuration.launch
index 8c8419e65..eedd1787c 100644
--- a/launch/plugin_debug_configuration.launch
+++ b/launch/plugin_debug_configuration.launch
@@ -19,7 +19,7 @@
-
+
diff --git a/pom.xml b/pom.xml
index ae073c4a9..6effd5f96 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,7 +18,7 @@
-
+
com.microsoft.copilot.eclipse.terminal.api
com.microsoft.copilot.eclipse.ui.terminal
com.microsoft.copilot.eclipse.ui.terminal.tm
@@ -93,7 +93,7 @@
${tycho-version}
- ../base.target
+ ../target-platforms/2025-12.target
JavaSE-21
diff --git a/target-platforms/2024-12.target b/target-platforms/2024-12.target
new file mode 100644
index 000000000..95161df87
--- /dev/null
+++ b/target-platforms/2024-12.target
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target-platforms/2025-12.target b/target-platforms/2025-12.target
new file mode 100644
index 000000000..d5ba85bde
--- /dev/null
+++ b/target-platforms/2025-12.target
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target-terminal.target b/target-terminal.target
deleted file mode 100644
index ad2e7c962..000000000
--- a/target-terminal.target
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/target-tm-terminal.target b/target-tm-terminal.target
deleted file mode 100644
index ff989f093..000000000
--- a/target-tm-terminal.target
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file