Skip to content

build: extend IDE compatibility range to 2025.1 - 2026.3 - #542

Merged
AkibaAT merged 23 commits into
mainfrom
feature/541-2026.3-compatibility
Nov 5, 2026
Merged

AkibaAT merged 23 commits into
mainfrom
feature/541-2026.3-compatibility

Conversation

@AkibaAT

@AkibaAT AkibaAT commented Sep 18, 2026 •

Copy link
Copy Markdown
Collaborator

The Problem/Issue/Bug:

2026.3 released with some incompatibilities with the existing code

How this PR Solves the Problem:

Update the code, but keeping two variants going forward, so we don't support just the very latest versions anymore
The new target range is 2025+

Manual Testing Instructions:

Related Issue Link(s):

@AkibaAT
AkibaAT force-pushed the feature/541-2026.3-compatibility branch from 0d9c939 to 93f4fab Compare September 18, 2026 22:20
@AkibaAT AkibaAT linked an issue Sep 18, 2026 that may be closed by this pull request
2 tasks done
@AkibaAT
AkibaAT force-pushed the feature/541-2026.3-compatibility branch from e3b1fc4 to 1a061af Compare September 26, 2026 19:33
The state watcher runs `ddev describe` every 10 seconds, so a broken local
setup raised an IDE error on every poll. Failures of `ddev --version` and
`ddev describe` are now logged as warnings and shown once as a notification
carrying the message DDEV reported, until the command succeeds again or the
plugin is reloaded. Commands that exit successfully without output fail with
an explicit message instead of a JSON parse error.

Fixes DDEV-INTEGRATION-PLUGIN-WE
Fixes DDEV-INTEGRATION-PLUGIN-WJ
Fixes DDEV-INTEGRATION-PLUGIN-WM
Fixes DDEV-INTEGRATION-PLUGIN-12Z
Fixes DDEV-INTEGRATION-PLUGIN-144
Fixes DDEV-INTEGRATION-PLUGIN-1ZY
Fixes DDEV-INTEGRATION-PLUGIN-200
Fixes DDEV-INTEGRATION-PLUGIN-206
Fixes DDEV-INTEGRATION-PLUGIN-207
Fixes DDEV-INTEGRATION-PLUGIN-20B
… is gone

A ddev binary path stored in the settings stays there after DDEV is moved or
uninstalled, e.g. a Homebrew path on macOS or a Linux path on Windows outside
of WSL. A configured absolute path that no longer exists, or a binary that
cannot be started, is now replaced by the one found on the PATH.

Fixes DDEV-INTEGRATION-PLUGIN-139
Fixes DDEV-INTEGRATION-PLUGIN-13Q
Fixes DDEV-INTEGRATION-PLUGIN-119
Fixes DDEV-INTEGRATION-PLUGIN-13C
Fixes DDEV-INTEGRATION-PLUGIN-20G
Fixes DDEV-INTEGRATION-PLUGIN-20D
With json-output enabled in the global DDEV config, `ddev --version` prints a
JSON log line and the greedy version pattern captured the rest of that line.

Fixes DDEV-INTEGRATION-PLUGIN-20A
Offline machines, proxies and GitHub outages make the release check fail;
it is skipped with a warning instead of raising an IDE error.

Fixes DDEV-INTEGRATION-PLUGIN-RT
Fixes DDEV-INTEGRATION-PLUGIN-XV
Fixes DDEV-INTEGRATION-PLUGIN-205
Fixes DDEV-INTEGRATION-PLUGIN-124
The state watcher checks for .ddev/config.yaml every 10 seconds. A plain
file system check avoids a synchronous VFS refresh on each poll, which fails
on cancellation or while the VFS is being rebuilt.

Fixes DDEV-INTEGRATION-PLUGIN-20C
Fixes DDEV-INTEGRATION-PLUGIN-20E
Fixes DDEV-INTEGRATION-PLUGIN-1ZX
A state update finishing after the project was closed published to its
listeners, which then failed to resolve project services.

Fixes DDEV-INTEGRATION-PLUGIN-208
createTtyConnector(ShellStartupOptions) only exists from 2026.2 on, and the
TtyConnector resize strategy hook only from 2026.3. Sessions are created
through createProcess(options) and createTtyConnector(process), which every
supported platform version provides.
PluginManagerCore.isLoaded only exists from 2026.2 on, and
PluginManager.findEnabledPlugin is internal API from 2026.2 on.
ErrorReportSubmitter.getPluginDescriptor is override-only API in 2025.3 and
the plugin descriptor lookups are internal API from 2026.3 on. The build
writes the plugin version into a resource that the error reporter reads.
Release 1.2.9 raised the minimum to 2026.2, which left users of 2025.1 to
2026.1 on 1.2.8. The plugin is compiled against 2025.1 with Java 21 again and
verified against every release line from 2025.1 to 2026.3.

The 2025.1 test runtime needs the grid plugin and its chart dependencies for
the database plugin to load.
The terminal runner hooks createProcess(options) and
createTtyConnector(process) are scheduled for removal from 2025.3 on, but
2025.1 and 2025.2 have no createTtyConnector(options). Each platform variant
now compiles its own PlatformTerminalRunner from src/platform251 or
src/platform261, selected with -PplatformVariant.

The variants are separate Marketplace versions with a +251 or +261 suffix
and their own compatibility ranges. CI builds, tests and verifies both, and
the release workflow publishes both. The 261 verification fails on
scheduled-for-removal API usages.

The verifier resolves node-remote-interpreter from the Marketplace for some
DataGrip versions without its NodeJS dependency, which reports the Node.js
interpreter classes as missing. That plugin cannot load in DataGrip, so the
problem is ignored.
FileEditorManager.openFile(VirtualFile, boolean) is reported as deprecated
by the Marketplace. OpenFileDescriptor.navigate(true) opens and focuses the
file on every supported platform version.
- Gradle wrapper 9.6.1 -> 9.8.2
- org.jetbrains.intellij.platform 2.17.0 -> 2.20.0
- IntelliJ Plugin Verifier 1.408 -> 1.411
- Gson 2.14.0 -> 2.15.0
- Sentry 8.47.0 -> 8.63.0
- JUnit Jupiter and JUnit Platform 6.1.1 -> 6.1.3
- Mockito 5.23.0 -> 5.24.0
@AkibaAT
AkibaAT force-pushed the feature/541-2026.3-compatibility branch from d168761 to a934bd2 Compare November 5, 2026 21:15
@AkibaAT
AkibaAT force-pushed the feature/541-2026.3-compatibility branch from bb1c963 to 3fa1b13 Compare November 5, 2026 22:11
@sonarqubecloud

sonarqubecloud Bot commented Nov 5, 2026

Copy link
Copy Markdown

@AkibaAT AkibaAT changed the title 2026.3 compatibility build: extend IDE compatibility range to 2025.1 - 2026.3 Nov 5, 2026
@AkibaAT
AkibaAT merged commit 7291f3e into main Nov 5, 2026
13 checks passed
@AkibaAT
AkibaAT deleted the feature/541-2026.3-compatibility branch November 5, 2026 22:37
@github-project-automation github-project-automation Bot moved this from New to Done in Development Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PhpStorm 2026.3 compatibility

1 participant