🔧 build: cap 2.3.x compatibility at IntelliJ Platform 261#184
Merged
Conversation
Build 262 (2026.2) changed the Python SDK API incompatibly (UvSdkAdditionalData, VirtualEnvSdkFlavor, PythonSdkUtil.isVirtualEnv, uv icon package). Set untilBuild=261.* so the marketplace stops serving the 2.3.x line to 2026.2; 262 support ships from the 2.4.x line.
gaborbernat
added a commit
that referenced
this pull request
May 29, 2026
PyCharm `262` (2026.2) reshaped the Python SDK API the plugin builds against, so the `2.3.x` line is binary incompatible there and was capped at `261` in #184. This brings the plugin forward onto the `262` API so 2026.2 gets a working build. 🚀 Four call sites had to move: `UvSdkAdditionalData` now takes interpreter paths as `String` rather than `Path`, `VirtualEnvSdkFlavor` relocated to `com.intellij.python.venv.sdk.flavors`, the uv icons relocated to `com.intellij.python.uv.common.icons`, and `PythonSdkUtil.isVirtualEnv(String)` was removed entirely. The first three are direct swaps. For the last one the detector now infers a virtualenv from the presence of `pyvenv.cfg` in the environment root, which every modern `venv`/`virtualenv` writes and which the uv and conda branches already rely on. One consequence worth noting: a legacy environment with no `pyvenv.cfg` now reports `SYSTEM` instead of `VIRTUALENV`. The build targets the latest `262` EAP (`262.6653.28-EAP-SNAPSHOT`, resolved from the snapshots channel), moves `sinceBuild` to `262`, reopens `untilBuild`, and bumps to `2.4.0-dev` (superseding the automated #185). The `261`-capped `2.3.x` line continues to serve 2026.1, so the two ranges coexist on the Marketplace. Because 2026.2 is still EAP, the API may shift again before GA and need a follow-up. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The published
2.3.1ships with an openuntilBuild, so the JetBrains Marketplace serves it to IntelliJ Platform262(2026.2). There it is binary incompatible and fails at runtime withNoSuchMethodErrorandNoSuchClassError, because build262reshaped several Python SDK entry points the plugin depends on. TheUvSdkAdditionalDataconstructor now takesString?paths instead ofPath?,VirtualEnvSdkFlavor.getInstance()moved tocom.intellij.python.venv.sdk.flavors,PythonSdkUtil.isVirtualEnv(String)is gone, and the uv icons moved tocom.intellij.python.uv.common.icons.Capping
untilBuildat261.*keeps the2.3.xline scoped to the2026.1API it was compiled against, so the Marketplace stops offering it to2026.2. 🔒 Full262support arrives separately on the2.4.xline, which lets both compatibility ranges live side by side on the Marketplace.This also bumps the development version to
2.3.2-devand supersedes the automated post-release bump in #183.