To enable textobj-user we had to allow parsing function names with # inside. previousle we stripped out everything before #. so for example foo#bar#baz resulted in just baz
2026.1 and Latest EAP ship JVM-target-25 bytecode, so their inline
functions can only be inlined into a build that also targets 25.
2025.3 and earlier stay on JVM target 21 (the platform doesn't run
on Java 25). Make TestingBuildType take javaVersion (default 25) and
derive jdkHome from it; pin the 2025.3 test config to Java 21.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Split the bookmark backend RPC into optional, self-gating content modules so JumpRemoteApi (and the rest of the backend RPC) no longer breaks when the intellij.platform.bookmarks module is absent, while bookmark sync still works whether bookmarks lives in platform core (≤2026.1) or in the separate plugin module
(2026.2+).
We had discreppancy between ideavim implementation of multi-cursor plugin and original one as we defined different mappings.
Here we restore original mapping and add flag to switch to old IdeaVim alt-based mappings
When command was executed against visual selection and there was additionally % passed visual selection was ignored and command was executed against whole file.
In vim % is ignored. this commit fixes this bug and match vim behaviour
Each time we wanted to do minor release we had to do eap first which commented youtrack issues as resolved in eap.
So we've simplified this process and we can release minro directly now.
`IdeaSelectionControl` is executed multiple times during creating live tempalte as IJ selects and deselcts parts of text. In combination with visual timer in sometimes results in VISUAL mode at the end. To prevent being left in VISUAL mode we keep mode before action and restore in in 'idearefcatormode=keep'
Add missing changelog entries for the mouse option and indentwise rename,
and rebuild the What's New page from the current [To Be Released] section.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
"U" undoes all changes and most recently edited line. Implemented in simmilar way as nvim does by tracking snapshot of last edited line and then just restoring that snapshot.
When undo was in macro it couldn't be replayed as it was already in single command executiion. So other commands modified editor and when undo was trying execute those commands didn't yet commit and in UndoManager in Ij there is
```
if (document.getTextLength() != fromLength) throw new UnexpectedUndoException("Unexpected document state");
```
So we have to execute each command separately during macro execution