Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4793 commits
Select commit Hold shift + click to select a range
84e8261
IJPL-257597 [find] rewrite FindInProjectTask as coroutine work queue …
gregsh Sep 3, 2026
816444b
KTIJ-40374 [kotlin] Suggest forEach/forEachIndexed for onEach/onEachI…
vladimirdolzhenko Oct 5, 2026
4226359
IJPL-256585 Update 'IDEA Home' toolwindows set
dmitriysmirnovjb Oct 5, 2026
24597fd
[UI, PV] IJPL-255170 Fix MarkRootGroup presentation
Sep 30, 2026
8d91d8a
[UI, PV] IJPL-255046 Sync UISettings.OPEN_IN_PREVIEW_TAB_IF_POSSIBLE
Oct 2, 2026
006e33a
[UI, PV] IJPL-255046 Set settings on both ends
Oct 2, 2026
bdea84f
[UI, PV] IJPL-255046 Sync all PV settings in remdev
Oct 2, 2026
61aa71a
[markdown] IJPL-257433, IJPL-257255 Align alert behavior with regular…
p3rmiashkin Oct 5, 2026
d707b4f
CPP-51899 [mcp-server] hand the headless MCP server over only after t…
zhrkvl Sep 22, 2026
02e08bb
PCQA-1863 add stages and adoption groups to the PyCharm dev workflow
denis-mashutin Oct 5, 2026
cf6ef77
IJPL-254167 Keep the .iml when a module changes source
ikorennoy Sep 25, 2026
932169a
IJPL-252267 Disable .analysisignore for 263
ikorennoy Oct 5, 2026
953ad42
[markdown] IJPL-257527 Support revealing and concealing reference lin…
p3rmiashkin Oct 5, 2026
af5d3d5
MRI-4379: Upgrade `llvm`, `rules_rs`, drop MSVC patch and enable `cc_…
ArchangelX360 Aug 27, 2026
01c01c5
[JEWEL-1440] JDialogRenderer loses Escape on a nested submenu when th…
DanielSouzaBertoldi Sep 22, 2026
c435add
[markdown] IJPL-257227 Hide Markdown Live Preview behind a registry key
p3rmiashkin Oct 5, 2026
9272245
[gitlab] support ssh aliases (IJPL-249378)
valeria-golovina Sep 30, 2026
457ec25
[gitlab] support custom host names for aliases (IJPL-249378)
valeria-golovina Sep 30, 2026
3278925
[gitlab] map aliased SSH remotes of a server with a web path (IJPL-24…
valeria-golovina Oct 2, 2026
fb91aa6
[gitlab] fix ssh uri for forks (IJPL-249378)
valeria-golovina Oct 2, 2026
32e3d76
[gitlab] fix ssh namespaces for case when they are equal to a group(I…
valeria-golovina Oct 2, 2026
ff82145
AND-147 [uast] Fix PsiInvalidElementAccessException
Oct 2, 2026
f143c3f
IJQA-464: Add editor folding tests
dmyud Sep 21, 2026
5b0c05d
IJPL-92231 stop resolving Markdown preview links against the document…
ekaterina-berezhko Oct 3, 2026
4fe1222
[qodana] QD-15664 Introduce nodes to graph translation for flat tree
evgenyim Sep 25, 2026
1b50471
[qodana] QD-15664 Await metadata fetching for package-checker
evgenyim Sep 30, 2026
286c085
[ktij] KTIJ-38840 CustomComponentDestructuringMigrationInspection: do…
OljaKli Oct 5, 2026
98246d3
[terminal] IJPL-248746 Add terminal startup customization EPs to the …
KonstantinHudyakov Oct 5, 2026
3ad56ba
[terminal] IJPL-248746 Edit comments
KonstantinHudyakov Oct 5, 2026
28614b7
PY-89117 capitalize "Python" in the interpreter set-up progress text
denis-mashutin Sep 29, 2026
d9e5b9c
misc [core]: remove unused sputnik api from DocumentSnapshot
trushev Oct 2, 2026
58bb4f8
misc [core]: remove document patch from document op interface
trushev Oct 5, 2026
11e445b
[file-chooser] IJPL-257128: Fall back to default file chooser if WslE…
rvishnyakov Oct 5, 2026
7084356
tests framework Introduce codeInsightProjectFixture to avoid repeatin…
MaXal Oct 5, 2026
1c89e02
[settings] IJPL-257508 declare the id and the label on 16 settings rows
SiERic Oct 2, 2026
8bd0f24
PY-92859 skip the template-folder scan on a non-Python directory open
batya239 Oct 2, 2026
3d635dd
[terminal] IJPL-254435 Specify COLORTERM env variable
KonstantinHudyakov Sep 3, 2026
4400f8f
[Kotlin] KTIJ-39627 Share a KMP project library only if it has all bi…
viakunin Oct 2, 2026
d218214
[python] PY-92560 don't operate on strings to resolve file paths
lancelote Oct 5, 2026
ab8a5a5
IJPL-257518 json: survive reformatting in 'add missing property' quic…
nd-work Oct 3, 2026
67cf4cc
PY-26068 Run unittest configurations through a custom runner script
Oct 4, 2026
4b19503
[gateway] IJPL-257128: Add MRFS support for the universal file choose…
rvishnyakov Oct 5, 2026
d7bfb6d
refactor [editor]: Convert FileEditorManager to Kotlin
nikolay-egorov Sep 30, 2026
a7f6b17
[editor] IJPL-207648: Introduce the async editor open API
nikolay-egorov Sep 23, 2026
71d9441
[editor] IJPL-207648: Await text editor readiness
nikolay-egorov Sep 23, 2026
fb0e536
tests [editor]: cover async opening, placement, and readiness
nikolay-egorov Sep 30, 2026
8ea227a
cleanup eel: Remove @NativeContext mentions
tejksat Sep 29, 2026
bd8dad7
IJPL-255612 Move a part of the modules to the new path annotations
tejksat Sep 24, 2026
598632a
[gradle][IDEA-394580] turn off the `gradle.build.toolwindow.single.co…
honourosis Oct 5, 2026
d0c770f
[terminal] IJPL-257646 Ghostty: report only the changed screen rows i…
KonstantinHudyakov Oct 5, 2026
825cfdd
[terminal] IJPL-218849 Ghostty: share one Cell instance for blank cells
KonstantinHudyakov Oct 5, 2026
8e9b9a0
[terminal] IJPL-218849 Ghostty: share the style of background-only cells
KonstantinHudyakov Oct 5, 2026
bcbda33
[terminal] IJPL-218849 Ghostty: allocate the scratch buffers in an au…
KonstantinHudyakov Oct 5, 2026
b9bc452
[qodana] QD-15783 Add the security tab module to the Problems View pl…
evgenyim Sep 22, 2026
d435215
[qodana] QD-15783 Show the security results in the merged Security tab
evgenyim Sep 22, 2026
9499d09
[qodana] QD-15783 Fix frontend backend markers
evgenyim Sep 23, 2026
5664224
[qodana] QD-15783 Fix subtabs order
evgenyim Sep 24, 2026
d048756
[qodana] QD-15783 Create separate security frontend module
evgenyim Sep 24, 2026
7200e97
[qodana] QD-15783 Fix layout tests
evgenyim Sep 24, 2026
3afe7e4
[qodana] QD-15783 Handle case with no security tab in problems view (…
evgenyim Sep 28, 2026
1e91511
[qodana] QD-15783 Make security and security.frontend modules on-demand
evgenyim Oct 2, 2026
57da62c
[qodana] QD-15783 Cleanup comments
evgenyim Oct 2, 2026
a707e54
[qodana] QD-15783 Review fixes
evgenyim Oct 2, 2026
c8e8b0e
[qodana] QD-15783 Add ultimate dependency for java.dfa modules, enabl…
evgenyim Oct 5, 2026
9c02da7
[qodana] QD-15783 Increment ProblemsViewStatsCollector version
evgenyim Oct 5, 2026
1384a65
PY-92880 call the code-insight extensions through the safe extension-…
Oct 4, 2026
5cb5d71
PY-92880 get the PSI element at an offset with PsiUtilCore.getElement…
Oct 4, 2026
b8d514c
PY-92880 move the inline returns out of the argument lists
Oct 4, 2026
80ffb30
PY-92880 replace the boolean let checks with named variables
Oct 4, 2026
f77c241
PY-92880 use the test disposable instead of Disposer.newDisposable()
Oct 4, 2026
b57e5f3
PY-92880 give PyInterpreterInspectionTest an explicit source root
Oct 4, 2026
2e11d42
PY-92880 replace orElse(...)!! with getOrDefault in PyTypeChecker
Oct 4, 2026
f839263
PY-92880 read a checked value once instead of asserting it with !!
Oct 4, 2026
f023546
PY-92880 qualify the getInstance calls instead of importing them
Oct 4, 2026
06d8730
PY-92880 replace the loops that only return false with all and none
Oct 4, 2026
81d7dfb
PY-92880 compile the constant regex patterns once
Oct 4, 2026
8226163
PY-92880 remove @JvmStatic from the private functions of PyDocumentat…
Oct 4, 2026
74baaae
PY-92880 filter with ContainerUtil.filter in PyReachingDefsSemilattice
Oct 4, 2026
87fcfda
PY-92880 add the missing @deprecated Javadoc tags
Oct 4, 2026
3bed3c2
PY-92880 move the inline return out of the findFile call in RuffDisab…
Oct 4, 2026
6368eb5
PY-92880 replace the boolean let check in PyreflyTypeEvalContext.isCa…
Oct 4, 2026
fcefa45
PY-92880 select the ty platform suffix with OS.CURRENT
Oct 4, 2026
1c29b62
IJPL-61208 Enable Switcher with enabled screen reader support
dmitrii-drobotov Oct 5, 2026
91db6fe
[kotlin] KTIJ-40216 Hide Kotlin configuration banner without actions
jqyp Oct 5, 2026
c703dd6
[kotlin] KTIJ-40216 Skip fractions for indeterminate progress
jqyp Oct 5, 2026
2a0dea7
IJPL-256855 LSP: don't keep in-memory files in per-file maps
tomblachut Oct 5, 2026
71e657a
IJPL-256855 LSP: drop pulled results when the client closes a file
tomblachut Oct 5, 2026
61a2ee0
cleanup [UI]: Removed deprecated API usage from FileNestingInProjectV…
pporvatov Oct 5, 2026
3c8d14d
[markdown] IJPL-257549 Ctrl+Z (Undo) Switches Markdown Preview Pane P…
p3rmiashkin Oct 5, 2026
7bf27c4
misc [ownership]: delete ownership of not existing teams and set owne…
annaMarchenkoJetBrains Oct 5, 2026
c0f4b87
[markdown] IJPL-257388 Light Mode: compare with... action produce exc…
p3rmiashkin Oct 5, 2026
dd0b96d
IJPL-257525 Rename the fallback option for modal Welcome screen
alexander-lobas Oct 5, 2026
ab7509d
[platform ui][se] IJPL-250999 Sort accumulated throttled batch with t…
Oct 5, 2026
9ed1440
IJPL-244978 cleanup: remove unused dependency from intellij.platform.…
chashnikov Oct 5, 2026
8b92cf4
IJPL-255686 keep the Passwords settings work off the EDT
SiERic Oct 5, 2026
4caeb5f
IJPL-254062 run the gpg key listing of the Passwords settings page in…
SiERic Oct 5, 2026
e167daf
IJPL-255686 reject an unsupported KeePass file before the password pr…
SiERic Oct 5, 2026
cb4c27a
make sorting more cancelable to fix IJPL-257069 Freeze in Slow non-ca…
cdracm Oct 5, 2026
1182d44
[maven] IDEA-387177 make Maven model-problem locations navigable in t…
nskvortsov Sep 21, 2026
5490299
[maven] IDEA-394030 navigate to dependency declarations from dependen…
nskvortsov Sep 21, 2026
9184ccf
[maven] improvements IDEA-394030 IDEA-387177
nskvortsov Sep 24, 2026
673c2bf
[maven] IDEA-394030 IDEA-387177 migrate tests to JUnit5
nskvortsov Oct 5, 2026
d0644b4
[maven] IDEA-394030 allow accessig data from test
nskvortsov Oct 5, 2026
1ff445b
QD-15992 adjusting handling of default vm options in qodana
krzysztof-waclawik Sep 23, 2026
1342aca
QD-15992 adding product layout changes
krzysztof-waclawik Sep 30, 2026
f2f2cec
IJPL-244978 lang: move registration of ANSIColoredConsoleColorsPage t…
chashnikov Oct 5, 2026
2c22f44
IJPL-244978 lang: move registration of ANSIColoredConsoleColorsPage t…
chashnikov Oct 5, 2026
b087803
IJPL-244978 execution: extract parts of JdkUtil that depend on other …
chashnikov Oct 5, 2026
f2bc617
IJPL-244978 execution: move JdkUtil, JavaSdkType and SimpleJavaSdkTyp…
chashnikov Oct 5, 2026
a0fbff5
IJPL-244978 execution: extract TargetBasedSdkAdditionalDataMarker mar…
chashnikov Oct 5, 2026
19c458c
IJPL-244978 execution: extract implementation of TerminalUtils to a s…
chashnikov Oct 5, 2026
7f45544
IJPL-244978 execution: get rid of dependency from `intellij.platform.…
chashnikov Oct 5, 2026
b8b1260
IJPL-244978 tests: update expected actionGroupStructure.txt after cha…
chashnikov Oct 5, 2026
9a72ad1
IJPL-244978 RemDev: update split mode compatibility baseline after mo…
chashnikov Oct 5, 2026
6994fc7
IJPL-255612 Move the terminal modules to the new path annotations
tejksat Oct 5, 2026
a65799f
IJPL-255612 Remove excessive annotation @NioPath from Path parameter
tejksat Oct 5, 2026
8ce4a50
[github] support extended aliases for custom servers (IJPL-257532)
valeria-golovina Oct 3, 2026
d67d4a6
[github] preserve aliases when creating fork remotes (IJPL-257532)
valeria-golovina Oct 3, 2026
f43a9d8
[git] share the remote descriptor creation for GitHub and GitLab (IJP…
valeria-golovina Oct 4, 2026
2ce7c5c
[git] move the remote descriptor URL tests to git4idea (IJPL-257532)
valeria-golovina Oct 4, 2026
f65bffa
[collaboration] share the host alias logic for GitHub and GitLab (IJP…
valeria-golovina Oct 4, 2026
73c6620
[collaboration] move the host alias tests to collaborationTools (IJPL…
valeria-golovina Oct 4, 2026
3670c83
cleanup InspectionProfile: revert harmful cleanup
cdracm Oct 5, 2026
a0a1dd3
IJPL-198043 LSP UI: refine UI layout in server configuration settings
Oct 5, 2026
7ea14d3
[UI, PV] IJPL-257616 Add spurious CFE logging
Oct 5, 2026
2c520e3
[UI, PV] IJPL-257616 Fix a possible reason for broken PV requests
Oct 5, 2026
8281c4c
[threading] IJPL-257352: Provide API for showing background progresse…
knisht Oct 1, 2026
743cb78
[threading] IJPL-257352: Use all-frames progress indicator in VFS ref…
knisht Oct 1, 2026
ee20ecb
[kotlin] update intention's after.kt.template
akozlova Oct 5, 2026
d271c1d
IJPL-255722 The welcome-screen Home directory grants unconditional, i…
alexander-lobas Oct 5, 2026
d9ca65b
IJPL-257408 Link FormRow labels and comments to controls as the Kotli…
MatkovIvan Oct 1, 2026
67d325b
IJPL-255549 Follow symlinks inside the VFS prefetch cache
AndreyZinchenko Oct 5, 2026
42fab44
[kotlin] `KDocUnresolvedLinkAnnotator`: compute fixes in `doAnnotate`
BlaBlaHuman Sep 29, 2026
29414c3
feat(QD-15581): set the newest qodana-sarif lib version
al-velsh Sep 30, 2026
22a727b
CPP-52016 batch the file index updates for one root
brm82 Sep 14, 2026
ca33761
DO-4094 [fus]: Upgrade FUS lib to `2.0.248`.
dennis-scheffer Oct 5, 2026
197cbcf
KTIJ-40152 kotlin: Load compiler plugins that declare explicit support
kyay10 Sep 6, 2026
761c321
tests kotlin: Add tests for KTIJ-40152 by modifying bundled compiler …
kyay10 Sep 6, 2026
f94ae0e
AIR-6104 Allow `+` in a Bazel label's target-name segment
manu-unter Sep 24, 2026
22b2389
AIR-6346 Fix providing compose compiler in bazel
kezc Aug 27, 2026
4688a0a
cleanup [ownership]: replace group aliases with current group names
Oct 5, 2026
28a2716
[debugger] IDEA-392374 Introduce MCP option to capture thread dump on…
AlexVanGogen Sep 29, 2026
267b359
refactor LSP: inline the per-cache getters of LspClientImpl
tomblachut Oct 5, 2026
5775b41
misc [core]: remove complex document patch
trushev Oct 5, 2026
9b529bc
misc [core]: expose DocumentText api
trushev Oct 5, 2026
84cfb16
[terminal] IJPL-251537 Report `<unknown>` process executable to FUS w…
KonstantinHudyakov Oct 2, 2026
4ce2c75
[terminal] IJPL-251537 Report shortcuts pressed in the terminal to FUS
KonstantinHudyakov Oct 2, 2026
a325eae
PY-86674 Derive the uv mode from the stored dependency file
alexkats Sep 21, 2026
111ea2b
PY-86674 Split the uv package manager by mode
alexkats Sep 21, 2026
ee3277b
PY-86674 Let the creation API choose the uv mode
alexkats Sep 21, 2026
cbc79ef
PY-86674 Add the uv mode choice to the Add Interpreter dialog
alexkats Sep 21, 2026
3443100
PY-86674 Explain the uv project in the New Project wizard
alexkats Sep 21, 2026
09c532f
PY-86674 Align the dialog directory rule and show the uv banner for C…
alexkats Sep 25, 2026
7730431
PY-86674 Rebuild the package manager when the dependency file changes
alexkats Sep 28, 2026
ef21608
PY-86674 Add actions that switch the uv mode
alexkats Oct 1, 2026
c0f7d9a
PY-86674 Make pip mode the default of the uv venv test fixture
alexkats Oct 5, 2026
046caf6
cleanup LSP: delete unused LspClientImpl.supportsCommand
tomblachut Oct 5, 2026
ea660d0
refactor LSP: move server capability checks out of LspClientImpl
tomblachut Oct 5, 2026
4a850ef
IJPL-257605 [platform]: optimization: setting 'idea.home.path' in the…
trespasserw Oct 5, 2026
5e80732
misc [platform]: native launcher: linter warnings; refreshing depende…
trespasserw Oct 5, 2026
f7ee184
[kotlin] KTIJ-38808 Added count of Kotlin and Java files to build pro…
FredyH Oct 5, 2026
888e035
[kotlin] KTIJ-38808 Fixed a potential deadlock in BlockBasedFeedbackD…
FredyH Oct 5, 2026
7d8128d
tests LSP: pass the fake LSP options in one FakeLspConfig
tomblachut Oct 5, 2026
13c6441
tests LSP: fail when fakeLspIntegrationFixture is set up twice for on…
tomblachut Oct 5, 2026
cd603a4
AIR-6111 Keep a speculative change from replaying a stale view cache
manu-unter Sep 30, 2026
a1f9ea3
IJPL-256937 Use the new OnOffButton in all New UI themes
helloeldar Sep 28, 2026
4b33877
IJPL-256937 Use the new OnOffButton in all New UI themes
pporvatov Oct 5, 2026
7834392
Fix CPP-51213 Extract Typedef refactoring is missing
Sep 24, 2026
42d8751
[MRI-5562] allow VFS access to Bazel test data
strdn Oct 5, 2026
5d2c521
[UI] IJPL-249881 Add IJPL UI OWNERSHIP file
tanya011 Oct 5, 2026
9045261
refactor LSP: move executeCommandExpectingWorkspaceEdit out of LspCli…
tomblachut Oct 5, 2026
53a9684
IJPL-257239: Explicitly drop any job on completion + prefer nullability
nikolay-egorov Oct 5, 2026
6571bb1
[kotlin] KTIJ-34340 Convert `RemoveQualifierQuickFix` to `KotlinModCo…
fedochet Oct 5, 2026
4209ebf
[kotlin] KTIJ-34340 Move `RemoveQualifierQuickFix` to top level and m…
fedochet Oct 5, 2026
ae40d56
[kotlin] KTIJ-34340 Add inspection for removable context-sensitive re…
fedochet Jul 17, 2026
fdb6237
[kotlin] KTIJ-34340 Add companion property and import tests for the C…
fedochet Oct 5, 2026
38b60a1
IJPL-156952 [vfs] add ApiStatus.OverrideOnly annotation to Utf8BomOpt…
vobal-jb Oct 5, 2026
bdf5cbe
IJPL-156952 [vfs,editorconfig] let EditorConfig prohibit a BOM in new…
vobal-jb Oct 5, 2026
bf8673d
IJPL-256803 [IDEA Home] Undo after "Don't save" temporal file restore…
alexander-lobas Oct 5, 2026
2da8d7f
PY-92854 [python]: run helpers on a legacy WSL target from ~/.pycharm…
nomorehumor Oct 5, 2026
a7ac33c
KTIJ-40354 [kotlin] Report original json on parse error in internal m…
vladimirdolzhenko Oct 5, 2026
68d6120
KTIJ-39601 [kotlin] Make K2 specific test data files as default for l…
vladimirdolzhenko Oct 5, 2026
16019bc
KTIJ-39601 [kotlin] Make K2 specific test data files as default for i…
vladimirdolzhenko Oct 5, 2026
965b235
[ktij] KTIJ-39239 suggest conversion to positional destructuring synt…
OljaKli Oct 5, 2026
4f2a2eb
IJPL-257503 revert the asynchronous LanguageTool creation
batya239 Oct 5, 2026
4ef3981
PY-85409 read the Ruff project config from the project base path
Oct 4, 2026
f6962d0
tests python: take the PyProject of RuffProjectConfigEnvTest after it…
Oct 4, 2026
74587c0
Revert "IJPL-257597 [find] rewrite FindInProjectTask as coroutine wor…
batya239 Oct 5, 2026
b8cc699
Revert "IJPL-257597 [find] add APIs for streaming, authority, scan ho…
batya239 Oct 5, 2026
d3a2e43
[terminal] IJPL-255707 Ghostty: type shifted characters under the Kit…
segrey Oct 5, 2026
073d553
[terminal] IJPL-247629 Ghostty: expose the Kitty keyboard flags and t…
segrey Oct 5, 2026
dc62592
tests terminal: mirror the Ghostty encoder tests and pin TerminalKey …
segrey Oct 5, 2026
3f4de80
[terminal] IJPL-247629 Ghostty: complete the key event the encoder re…
segrey Oct 5, 2026
338b21b
[terminal] IJPL-247629 Ghostty: keep Shift as a modifier of a typed c…
segrey Oct 5, 2026
1c9a5cc
[terminal] IJPL-247629 Ghostty: let the encoder apply the protocol to…
segrey Oct 5, 2026
304a936
[terminal] IJPL-247629 Ghostty: let the encoder answer Shift+Enter, a…
segrey Oct 5, 2026
e938a4f
[terminal] IJPL-247629 Ghostty: name the modifier, lock and function …
segrey Oct 5, 2026
4c96df3
[terminal] IJPL-247629 Ghostty: report key releases and repeats under…
segrey Oct 5, 2026
26823dd
[terminal] IJPL-247629 Ghostty: forward key releases and the focus lo…
segrey Oct 5, 2026
d7ec131
tests terminal: cover the mode wiring and the session policy of the G…
segrey Oct 5, 2026
1e2ba56
PY-92582 PythonInterpreterProjectRegistry adds and removes Python SDKs
vlegchilkin Oct 5, 2026
4bd6506
PY-92582 add PyProject.setPythonInterpreter and PythonInterpreter tes…
vlegchilkin Oct 5, 2026
c1570b8
PY-92582 SDK creation goes through PythonInterpreterProjectRegistry
vlegchilkin Oct 5, 2026
820c9af
PY-92582 PythonPackageManager holds a PythonInterpreter; the Sdk cons…
vlegchilkin Oct 5, 2026
7f9fb1c
PY-92582 setPythonInterpreter is the only production interpreter setter
vlegchilkin Oct 5, 2026
d468f85
PY-92582 Exec callers wait for the interpreter instead of reading it …
vlegchilkin Oct 5, 2026
7acb20a
PY-92582 Exec tests use the PythonInterpreter and PyProject fixtures
vlegchilkin Oct 5, 2026
a167bca
PY-92582 match the snapshot entry of a PyProject by module; awaitInte…
vlegchilkin Oct 5, 2026
91f13df
PY-92582 registry functions take the PyProject of the interpreter; sh…
vlegchilkin Oct 5, 2026
af462bc
PY-92582 SDK creation helpers take a ModuleOrProject; evo providers c…
vlegchilkin Oct 5, 2026
e283834
misc [eel]: keep deprecation warnings non-fatal under -Werror in inte…
vladimirlagunov Oct 5, 2026
c52f8da
IJPL-256578 IJent: the SSH agent forwarding setup no longer waits for…
vladimirlagunov Oct 5, 2026
e21efe9
IJPL-253541 Eel: make EelUnavailableException sealed, and let the kin…
vladimirlagunov Oct 4, 2026
3968bb0
refactor [ijent]: Inline `EelUnavailableException.ClosedByApplication`
vladimirlagunov Oct 5, 2026
0c2b250
IJPL-253541 IJent: let a clean exit win during the wait only when IJe…
vladimirlagunov Oct 4, 2026
d80a5b7
cleanup [ijent]: Inline `fun EelUnavailableException`
vladimirlagunov Oct 4, 2026
5fcb18e
IJPL-255612 Remove @NioPath from the Path return types
tejksat Oct 5, 2026
845e664
[plugins] IJPL-257502 Marketplace channel repository is shown as addi…
Leneshka-jb Oct 5, 2026
141287c
[plugins] IJPL-257701 Introduce action to initialize plugins with mis…
Leneshka-jb Oct 5, 2026
92a31f6
tests jhipster Migrate to JUnit 5
MaXal Oct 5, 2026
ffea553
tests commander Migrate to JUnit 5
MaXal Oct 5, 2026
6490234
tests util-rt Migrate to JUnit 5
MaXal Oct 5, 2026
22eddfa
tests stats-collector Migrate to JUnit 5
MaXal Oct 5, 2026
203909f
tests filePrediction Migrate to JUnit 5
MaXal Oct 5, 2026
fdff508
IJPL-257605 [platform]: optimization: setting 'idea.home.path' in the…
trespasserw Oct 5, 2026
6b77e0c
cleanup [platform]: suppressions; formatting
trespasserw Oct 5, 2026
90a84b7
cleanup ToolsImpl: do not copy list in a loop quadratically
cdracm Oct 5, 2026
8d351a8
cleanup CodeVision: compute lenses on daemon thread instead of app-gl…
cdracm Oct 5, 2026
df66b82
reduce inspection tool instantiations (part of IJPL-257488)
cdracm Oct 5, 2026
310c1df
[kotlin] KTIJ-40060 Hide the Declare with 'var' option for Kotlin pos…
jqyp Oct 5, 2026
877cdf9
[kotlin] KTIJ-33702, KTIJ-33731 infer not-null collection elements
imbananko Sep 17, 2026
bedc1e8
[kotlin] KTIJ-40399 implement DFA-based nullability inference for J2K
imbananko Oct 5, 2026
c0b2401
[kotlin] KTIJ-40399 always use DFA nullability in J2K
imbananko Oct 5, 2026
7f6a0c5
[kotlin] KTIJ-40399 infer nullability of type arguments and array ele…
imbananko Oct 5, 2026
f1d003a
cleanup [python]: Drop unused method: it was always false
throwable-one Oct 5, 2026
0ad502a
IJPL-252476 Inspections: run export inspections outside
cbusillo Oct 5, 2026
31b57b7
[terminal] IJPL-256824 no file link for a named pipe or a device
segrey Sep 30, 2026
698e895
[terminal] IJPL-256826 retry an absolute path candidate without trail…
segrey Sep 30, 2026
e817aa0
refactor terminal: move the file path filter to the backend module
segrey Oct 5, 2026
be4da9e
[terminal] IJPL-246952 expose terminal generic file link detection fo…
segrey Oct 5, 2026
113f5fd
IDEA-393885 JPA Console improvements
antonkozub-jb Sep 9, 2026
18930a8
RIDER-138333 [rider]: added file-based programs action on non-modal w…
imanninen Sep 22, 2026
bcfcec7
load inspection settings lazily (part of IJPL-257488)
cdracm Oct 5, 2026
ca45c92
Merge branch '263-base' into merge-263
DetachHead Oct 22, 2026
ebe2f99
fix build errors from merge
DetachHead Oct 22, 2026
0621a9b
run jpsModelToBazelCommunityOnly.cmd
DetachHead Oct 22, 2026
434a00d
fix tests command in ci
DetachHead Oct 22, 2026
03aab1f
remove the new badge from the indexing setting.
DetachHead Oct 22, 2026
dbc3a6d
asdf
DetachHead Oct 26, 2026
f5c4d87
asdf
DetachHead Oct 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
9 changes: 6 additions & 3 deletions .agents/skills/INDEX.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ One row per skill in this directory. `SKILL.md` holds the full instructions.
| [icons](icons/SKILL.md) | Create or review IntelliJ New UI SVG icons and theme variants. |
| [ide-diagnostics-mcp](ide-diagnostics-mcp/SKILL.md) | Inspect a running IntelliJ IDE for freezes or blocked threads via MCP. |
| [jewel-markdown](jewel-markdown/SKILL.md) | Build or debug Jewel Markdown parsing, rendering, and styling. |
| [jewel-pr-preparer](jewel-pr-preparer/SKILL.md) | Prepare a Jewel pull request: validate the commit, run local CI checks, draft release notes, and create the PR. |
| [jewel-release-helper](jewel-release-helper/SKILL.md) | Prepare a Jewel release: version bumps, checks, release notes, cherry-picks, artifact validation, and tagging. |
| [jewel-release](jewel-release/SKILL.md) | Prepare a Jewel PR or release: checks, release notes, cherry-picks, tagging. |
| [jna](jna/SKILL.md) | Implement or debug JNA bindings and ABI layouts in Kotlin or Java. |
| [kotlin-ui-dsl](kotlin-ui-dsl/SKILL.md) | Write IntelliJ dialogs and settings with Kotlin UI DSL v2 panels. |
| [kotlin-ui-swing-component-architecture](kotlin-ui-swing-component-architecture/SKILL.md) | Design IntelliJ Swing UI components, state flow, and EDT work. |
| [modcommand-migration](modcommand-migration/SKILL.md) | Convert LocalQuickFix or IntentionAction to the ModCommand API. |
| [module-dependencies](module-dependencies/SKILL.md) | Add or modify IntelliJ module dependencies in `.iml` files. |
| [module-set-pluginization](module-set-pluginization/SKILL.md) | Convert Product DSL module sets into bundled wrapper plugins. |
| [notebook-for-experiment](notebook-for-experiment/SKILL.md) | Create reproducible Jupyter notebooks for performance experiments. |
Expand All @@ -34,13 +34,16 @@ One row per skill in this directory. `SKILL.md` holds the full instructions.
| [poly-context](poly-context/SKILL.md) | Implement PolyContext feature gating and environment detection. |
| [poly-symbols](poly-symbols/SKILL.md) | Implement PolySymbols completion, references, and rename. |
| [pseudo-kmp](pseudo-kmp/SKILL.md) | Create or modify IntelliJ pseudo-KMP expect/actual modules. |
| [py-code-insight-counters](py-code-insight-counters/SKILL.md) | Count Python code insight work in tests with PyCodeInsightCounters. |
| [registry](registry/SKILL.md) | Use the IntelliJ Registry API for registry keys and feature flags. |
| [rust-code-style](rust-code-style/SKILL.md) | Write or review Rust in the build tools: errors, CLI grammar, crates, tests, lint, format and Bazel. |
| [safe-push](safe-push/SKILL.md) | Push IntelliJ repository changes through the Safe Push workflow. |
| [sibling-checkout-commits](sibling-checkout-commits/SKILL.md) | Take commits from a sibling checkout as patches, without a fetch. |
| [ssr](ssr/SKILL.md) | Create or modify IntelliJ Structural Search and Replace patterns. |
| [symbols-api](symbols-api/SKILL.md) | Use IntelliJ Symbol API for declarations, references, and rename. |
| [testing](testing/SKILL.md) | Run or troubleshoot IntelliJ `tests.cmd` tests and discovery. |
| [testing-internals](testing-internals/SKILL.md) | Debug IntelliJ `tests.cmd` execution, discovery, and runner internals. |
| [treehouse](treehouse/SKILL.md) | Safely acquire, inspect, and return leased Treehouse workspaces. |
| [ui-accessibility](ui-accessibility/SKILL.md) | Review IntelliJ UI accessibility for keyboard, focus, and labels. |
| [writing-tests](writing-tests/SKILL.md) | Write IntelliJ JUnit 5 tests with fixtures, lifecycle, and EDT. |
| [youtrack-community](youtrack-community/SKILL.md) | Use this bundled CLI only in community checkouts; monorepo users must use the monorepo-only `youtrack` skill instead. |
| [youtrack-community](youtrack-community/SKILL.md) | YouTrack CLI for a community checkout; the monorepo uses `youtrack`. |
2 changes: 1 addition & 1 deletion .agents/skills/bazel-test-migration/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ For a community-only module in a standalone community checkout, run the same pac
```

- Preserve required test attributes such as `tags`, `timeout`, `env`, `jvm_flags`, and `data`.
- Add a module to `COMMUNITY_AGGREGATOR_BAZEL_MIGRATED_MODULES` only after the target is fully migrated and verified.
- Add a module to `community/build/bazel-migrated-test-modules.txt` only after the target is fully migrated and verified. The community JPS aggregator then skips the module, and `tests.cmd` refuses it. The file documents its format.
- Do not use `copy_file` to patch missing jars or descriptors into runfiles. Prefer normal `.iml` dependencies, target runtime/data dependencies, or the existing shared mechanism for that class of test.

## Dependency Decisions
Expand Down
28 changes: 27 additions & 1 deletion .agents/skills/code-style/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,22 @@ Follow the IntelliJ Coding Guidelines with these IntelliJ-specific rules.

## Language

- **ALWAYS use Kotlin for new files** - Only use Java when modifying existing Java code
- Use Kotlin for new files unless the user explicitly requests Java.
- Keep existing Java files in Java unless the task requires a language conversion.
- Before writing or reviewing Java, read [Modern Java](references/modern-java.md).
- Use idiomatic Kotlin: extension functions, data classes, null safety
- Mark experimental APIs with `@ApiStatus.Experimental`
- **Build scripts Kotlin style**: Follow `community/platform/build-scripts/kotlin-style-recommendations.md` for build-scripts code:
- Use `@JvmField` for internal data class fields
- Use `.put()`/`.get()` instead of `[]` operator
- Use explicit `HashMap`/`HashSet`/`LinkedHashMap` instead of `mutableMapOf()`/`mutableSetOf()`

## Sealed hierarchies

- Before you list several subtypes in a `when` branch, an `is` check, or a `catch`, open the declaration of the type.
- If a common supertype covers exactly those subtypes, use the supertype. It stays correct when someone adds a new subtype.
- Check the value of a sealed type or an enum with an exhaustive `when`. Do not use an `is` check, an `as?` cast, an `==` comparison, or `else`. In Eel and IJent code, this is a rule, also for a `private` type. See `community/platform/eel/docs/api/exhaustive-when.md`.

## Formatting

- Read every applicable `.editorconfig` before you review or change formatting.
Expand All @@ -25,3 +33,21 @@ Follow the IntelliJ Coding Guidelines with these IntelliJ-specific rules.
- Line length: 140 characters max
- Braces: `else`, `catch`, and `finally` on new lines
- Only in `/rustrover` directory you must always use standard Kotlin formatting rules with 4 spaces indentation.

## Error handling

- In a `catch` block for `Throwable` or `Exception`, call `com.intellij.diagnostic.rethrowControlFlowException(e)` first.
It rethrows a control flow exception, such as `CancellationException`. A control flow exception must never reach the log.
- Do not catch or rethrow `CancellationException` explicitly, and do not test the exception type by hand.
- In Java, static-import `com.intellij.diagnostic.ControlFlowExceptionsKt.rethrowControlFlowException`.
- Do not use the deprecated `com.intellij.openapi.diagnostic.rethrowControlFlowException`.

```kotlin
try {
doWork()
}
catch (e: Throwable) {
rethrowControlFlowException(e)
LOG.error(e)
}
```
21 changes: 21 additions & 0 deletions .agents/skills/code-style/references/modern-java.LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2024 Ken Kousen

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
228 changes: 228 additions & 0 deletions .agents/skills/code-style/references/modern-java.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,228 @@
# Modern Java

Use modern Java for new and changed code within the target module's compatibility limits.
Use nearby code to understand behavior, not as a reason to repeat outdated idioms.
Keep unrelated code unchanged.

## Compatibility

- Check the module's effective language level and Java API target, including inherited build settings.
- The installed JDK is not the compatibility target. Do not assume that every module supports Java 21.
- Use stable features supported by that target.
Keep existing language levels and build settings unchanged unless the task requires an upgrade.
- Do not enable preview features for a style change. Check the target release documentation before using features absent from the table.
- Preserve public contracts, observable behavior, evaluation order, exception behavior, and null handling.

## Features

The table lists the first stable release for each feature, not its first preview.
Check the [language release guide][language] and the target release's API documentation for other features.

| Stable from | Prefer | Use when |
| --- | --- | --- |
| 9 | `List.of`, `Set.of`, `Map.of`, `Map.ofEntries`, `Map.entry` | Creating small unmodifiable collections. |
| 10 | `var` | Declaring local variables, subject to the exceptions below. |
| 10 | `List.copyOf`, `Set.copyOf`, `Map.copyOf` | Taking an unmodifiable snapshot. |
| 14 | Switch expressions and arrow cases | Selecting a value or avoiding unnecessary fall-through. |
| 15 | Text blocks | Representing multiline text without repeated escapes and concatenation. |
| 16 | Records, including local records | Defining data carriers with value equality. |
| 16 | Pattern matching for `instanceof` | Testing a type and then accessing the typed value. |
| 17 | Sealed classes and interfaces | Modeling a deliberately closed hierarchy. |
| 21 | Record patterns and pattern matching for `switch` | Deconstructing records or handling alternatives by type. |
| 21 | Sequenced collections | Accessing first or last elements, or reversed views, in encounter order. |
| 22 | Unnamed variables and patterns (`_`) | Declaring a value or matching a component that is deliberately unused. |
| 25 | Flexible constructor bodies | Validating or preparing arguments before `super(...)` or `this(...)`. |

### Local variables

Default to `var` where supported.
Use an explicit type when Java requires it, when it preserves semantics, or when it materially improves readability.
Check generic inference, primitive widths, overload selection, and later assignments before replacing a declared type.
Keep explicit types in fields, parameters, and return declarations.

### Data and control flow

- Prefer records for new value carriers.
For existing classes, first check accessors, equality, serialization, reflection, and inheritance requirements.
- Records do not make referenced objects immutable. Preserve defensive copies where required.
- Seal a hierarchy only when its extension contract permits it. Do not close an existing public extension point for style.
- Prefer exhaustive switches over closed alternatives. Preserve deliberate fall-through and existing behavior for `null`.
- Use record patterns where deconstruction makes the code clearer. Keep a named value when the code needs the whole record.
- Use `_` only when the value is unused. Keep required validation, side effects, and error handling.
- For `MethodHandle.invokeExact`, preserve the static argument types and the return cast, even when the result is unused.
A standalone invocation has the return type `void`, which can cause `WrongMethodTypeException`.
- Preserve the exact whitespace and trailing newline when replacing string literals with text blocks.
- Use flexible constructor bodies only where supported. Follow their restrictions on access to the instance under construction.

### Collections

Check the [collection guide][collections] and the [List API][list-api] before replacing a collection idiom.

- Factory methods and `copyOf` produce unmodifiable collections. Keep a mutable implementation when callers need mutation.
- These factories reject null elements, keys, or values. `Set.of` rejects duplicate elements, and map factories reject duplicate keys.
- `Set.of` and `Map.of` do not preserve insertion order. Keep an ordered implementation when iteration order matters.
- A snapshot differs from an unmodifiable view of a mutable collection. Preserve whether later source changes remain visible.
- Unmodifiable collections do not make their elements immutable.
- Check empty-collection behavior before replacing indexed access with `getFirst()` or `getLast()`.
- A `reversed()` result is a view, not an independent copy. Preserve the required relationship to the source collection.

### Concurrency

Virtual threads are not a general replacement for IntelliJ executors or coroutines.
Keep platform threading APIs, EDT requirements, read/write locks, cancellation, and lifecycle ownership.
Before changing coroutine scope ownership, read the [coroutine scope rules](../../platform-coroutines-structured-concurrency/SKILL.md).
Use virtual threads only when the target supports them and the task's concurrency design requires them.

## Examples

Apply each example only when the target supports it and the behavior checks above hold.

### Generic inference

Before:

```text
List<String> names = new ArrayList<>();
```

Prefer:

```java
var names = new ArrayList<String>();
```

Using `var names = new ArrayList<>();` instead infers `ArrayList<Object>` and loses the element type.
Keep constructor type arguments only when inference would otherwise change the required type.

### Unused method handle result

Before:

```text
int ignored = (int)handle.invokeExact(argument);
```

Prefer on Java 22 or later:

```java
var _ = (int)handle.invokeExact(argument);
```

Keep the named local on older targets.
Do not replace the assignment with `handle.invokeExact(argument);`.
That call expects a `void` return type instead of `int`.

### Type test and cast

Before:

```text
if (value instanceof String) {
String text = (String)value;
return text.length();
}
```

Prefer:

```java
if (value instanceof String text) {
return text.length();
}
```

### Value-returning switch

Before:

```text
switch (exitCode) {
case 0: return Result.SUCCESS;
default: return Result.FAILURE;
}
```

Prefer:

```java
return switch (exitCode) {
case 0 -> Result.SUCCESS;
default -> Result.FAILURE;
};
```

### Value carrier

For a new internal value type, avoid this class boilerplate:

```text
final class ExitCode {
private final int value;

ExitCode(int value) {
this.value = value;
}

int value() {
return value;
}
}
```

Prefer:

```java
record ExitCode(int value) { }
```

The record also defines value equality, hashing, and a string representation.
This is not an automatic replacement for an existing class with identity semantics.

### Multiline text

Before:

```text
String payload = "{\n \"enabled\": true\n}\n";
```

Prefer:

```java
var payload = """
{
"enabled": true
}
""";
```

### Collection creation

Before:

```text
List<String> names = Collections.unmodifiableList(Arrays.asList("alpha", "beta"));
```

Prefer on Java 10 or later:

```java
var names = List.of("alpha", "beta");
```

On Java 9, keep the explicit variable type and use `List.of`.

## Source and adaptations

Adapted from Ken Kousen's [modernize-java skill][upstream] at revision `aec3f82a47ac27928732de61ea8e58f4e192eeb5`.
The original MIT notice is in [modern-java.LICENSE.txt](modern-java.LICENSE.txt).

This adaptation adds feature versions, examples, and IntelliJ constraints.
It makes `var` the default and replaces blanket advice about virtual threads.
It covers writing and reviewing Java, not only refactoring. Repository instructions define how to build and test the affected modules.
Update the pinned source only as part of a reviewed change.

[upstream]: https://github.com/kousen/claude-code-training/blob/aec3f82a47ac27928732de61ea8e58f4e192eeb5/skills/modernize-java/SKILL.md
[language]: https://docs.oracle.com/en/java/javase/25/language/java-language-changes-summary.html
[collections]: https://docs.oracle.com/en/java/javase/25/core/creating-immutable-lists-sets-and-maps.html
[list-api]: https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html
Loading
Loading