Skip to content

🔧 build: cap 2.3.x compatibility at IntelliJ Platform 261#184

Merged
gaborbernat merged 1 commit into
mainfrom
cap-2.3.x-until-261
May 29, 2026
Merged

🔧 build: cap 2.3.x compatibility at IntelliJ Platform 261#184
gaborbernat merged 1 commit into
mainfrom
cap-2.3.x-until-261

Conversation

@gaborbernat

@gaborbernat gaborbernat commented May 29, 2026

Copy link
Copy Markdown
Member

The published 2.3.1 ships with an open untilBuild, so the JetBrains Marketplace serves it to IntelliJ Platform 262 (2026.2). There it is binary incompatible and fails at runtime with NoSuchMethodError and NoSuchClassError, because build 262 reshaped several Python SDK entry points the plugin depends on. The UvSdkAdditionalData constructor now takes String? paths instead of Path?, VirtualEnvSdkFlavor.getInstance() moved to com.intellij.python.venv.sdk.flavors, PythonSdkUtil.isVirtualEnv(String) is gone, and the uv icons moved to com.intellij.python.uv.common.icons.

Capping untilBuild at 261.* keeps the 2.3.x line scoped to the 2026.1 API it was compiled against, so the Marketplace stops offering it to 2026.2. 🔒 Full 262 support arrives separately on the 2.4.x line, which lets both compatibility ranges live side by side on the Marketplace.

This also bumps the development version to 2.3.2-dev and supersedes the automated post-release bump in #183.

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 gaborbernat added the bug Something isn't working label May 29, 2026
@gaborbernat gaborbernat changed the title Cap 2.3.x compatibility at IntelliJ 261 🔧 build: cap 2.3.x compatibility at IntelliJ Platform 261 May 29, 2026
@gaborbernat gaborbernat merged commit 998842c into main May 29, 2026
9 checks passed
@gaborbernat gaborbernat deleted the cap-2.3.x-until-261 branch May 29, 2026 04:38
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant