| Architecture | Windows | macOS | Linux |
|---|---|---|---|
| x86-64 (64-bit) | EXE MSI | Intel | AppImage DEB RPM |
| AArch64 (ARM64) | EXE MSI | Apple Silicon | AppImage DEB RPM |
For remote development (Linux x86-64 / Linux ARM64 / macOS x86-64 / macOS ARM64): openidea-server, checksums below
Already installed: OpenIDEA updates itself, use Check for Updates
Changelog
Agents
- Choose where conversations open from the Agents header: in the tool window or in editor tabs. The choice is remembered and applies to existing sessions and new tasks.
- Session history opens from the clock button. A docked conversation uses the whole tool window; Changes opens at full width with a back button, and file diffs open in the editor.
- Narrow tool windows use a compact composer: agent and model pickers, a settings popup for permissions and reasoning, and a separate attachment and send row. Drafts and scroll positions survive moving conversations between hosts.
- Claude Code turns that fail are reported as failed instead of Ready to Review.
Java
- Open library class files as source: attached sources when available, otherwise read-only decompiled code with breakpoint and step-into support. Output-directory classes open their project source when present.
- Java editors resolve compiled Kotlin APIs in Maven projects.
- Formatting profiles: Default, IntelliJ IDEA and custom Eclipse formatter XML, applied without restarting the language server.
- Filter Java field usages by reads and writes.
- Java launch builds mixed-language Maven dependencies first and reuses unchanged Maven build snapshots.
- Bundle the Lombok agent, apply unmanaged project source roots and explain recovery when a launch module has not been imported.
Editor and formatting
- Prettier formatting, using the project's installation, a managed installation, an explicit path or PATH. Configure it under Languages, Prettier; formatting on save is opt-in.
- Middle-click a symbol to go to its definition; Shift+click closes an editor tab.
- Shift+F6 renames the file when no language server covers it.
- Paste copied files into Markdown as links, support custom folding inside block comments and preserve existing Unicode escapes in properties files.
- Highlight Svelte files through the HTML UI mode.
Search and Project view
- Select and open multiple Search Everywhere or Recent Files results with Shift and Cmd/Ctrl selection, then Enter.
- Search popups can be dragged; Find and Replace in Files keeps its footer buttons inside the dialog.
- Outdated Find results are marked, and replacements are blocked until results are refreshed.
- Expand a file's members in the Project view; expanding nodes preserves the tree viewport.
Compare and Git
- Compare directories and synchronize entries, with file diffs available from the comparison.
- Compare selected folders with revisions across repositories.
Run and debug
- Quick Evaluate while paused with Alt/Option+click on a variable or expression. The editor context menu also offers Evaluate Expression, prefilled from the selection or caret.
- Go Generate actions support interactive input.
- Spring Boot configurations support Update and frame-deactivation policies; edited resources are published to the running application's classpath, with HotSwap when available.
- Windows Tomcat receives plain Windows paths.
Desktop, terminal and remote
- Linux restores saved window geometry after GTK mapping and preserves normal dimensions across maximize transitions.
- macOS window buttons no longer jitter; opening a local project from a remote window works, and clipboard reads run on the main thread.
- Custom UI fonts have a fallback font; macOS user fonts render through binary IPC.
- Toggle tool window badges under Appearance; update welcome-page spacing and Rust, Cargo and ignore-file icons.
- Terminal virtual environments use the resolved shell; dropped files insert paths at the prompt. Copied files paste as paths into editors and terminals, and stale file clipboard entries expire after OS clipboard replacement.
- Import local files into remote project trees, run remote commands on the main thread after authorization, show SSH password and passphrase fields, and allow application-level commands in Restricted Mode.
All changes
- fix(agent): report Claude Code turns that fail instead of ending them as ready by @l0ng-ai in #582
- feat(editor): close editor tabs with Shift+click by @iGink in #581
- fix(project): keep the tree viewport when expanding shifts rows above by @a-rookie-of-C-language in #579
- fix(java): explain recovery for unimported launch modules by @l0ng-ai in #585
- fix(project): copy files to the clipboard with their paths as text by @a-rookie-of-C-language in #576
- fix(project): import local files into remote project trees by @l0ng-ai in #587
- fix(i18n): remove stale remote import entries from the zh catalog by @l0ng-ai in #590
- fix(remote): run commands on the main thread after authorization by @l0ng-ai in #600
- feat(editor): paste copied files as Markdown links by @l0ng-ai in #599
- feat(vcs): compare folder selections with revisions across repositories by @l0ng-ai in #602
- fix(editor): support custom folding in block comments by @l0ng-ai in #606
- fix(settings): show SSH password and passphrase inputs by @l0ng-ai in #609
- fix(java): apply unmanaged project source roots by @l0ng-ai in #611
- fix(agents): use icon-only composer actions by @l0ng-ai in #613
- fix(ui): match file icons for Rust files and ignore files to IntelliJ by @a-rookie-of-C-language in #616
- fix(welcome): space the landing actions evenly by @a-rookie-of-C-language in #612
- feat(project-tree): show a file's members below it by @a-rookie-of-C-language in #624
- fix(search): make the search popups draggable by @a-rookie-of-C-language in #625
- fix(terminal): paste dropped file paths at the prompt instead of opening them by @a-rookie-of-C-language in #605
- fix(project): expire stale file clipboard after OS replacement by @l0ng-ai in #598
- feat(run): update Spring Boot resources and application policies by @l0ng-ai in #603
- feat(java): Add read/write filters for Java field usages by @NingYuanLin in #569
- Fix overflowing Find/Replace in Files footer actions by @l0ng-ai in #628
- fix(clipboard): read the macOS pasteboard on the main thread by @l0ng-ai in #629
- fix(languages): highlight .svelte files via the HTML ui mode by @a-rookie-of-C-language in #627
- fix(search): mark outdated find results and block stale replacements by @l0ng-ai in #630
- fix(run): pass plain Windows paths to Tomcat by @l0ng-ai in #608
- fix(editor): pause expensive decorations during fast scroll bursts by @a-rookie-of-C-language in #401
- feat(go): support interactive Generate actions by @l0ng-ai in #632
- revert(editor): restore live scroll decorations by @l0ng-ai in #635
- fix(tests): update code action tests for the interactive apply path by @a-rookie-of-C-language in #638
- feat(agents): dock a session in the Agents tool window by @a-rookie-of-C-language in #588
- feat(settings): add "Show tool window badges" by @a-rookie-of-C-language in #637
- fix(java): bundle Lombok agent with Equinox config lookup fix by @l0ng-ai in #642
- fix(fonts): render unavailable macOS user fonts through binary IPC by @l0ng-ai in #643
- fix: activate virtualenvs using the resolved terminal shell by @l0ng-ai in #646
- fix(editor): preserve Unicode escapes in properties saves by @l0ng-ai in #650
- fix: allow application commands in restricted mode by @l0ng-ai in #648
- Open Java class files as JDT source documents by @l0ng-ai in #657
- Compare directories and synchronize entries by @l0ng-ai in #661
- fix: build mixed-language Maven dependencies before Java launch by @l0ng-ai in #659
- fix(editor): Shift+F6 renames the file when no language server covers it by @a-rookie-of-C-language in #653
- feat(appearance): fallback font for the custom UI font by @a-rookie-of-C-language in #660
- feat(search): select and open multiple search results by @l0ng-ai in #670
- fix(java): reuse unchanged Maven launch snapshots by @l0ng-ai in #667
- test(jdtls): compare resolved source paths as paths, not strings by @a-rookie-of-C-language in #665
- feat(editor): navigate to definition on a plain middle-button click by @a-rookie-of-C-language in #666
- feat(debugger): add paused editor evaluation entry points by @l0ng-ai in #676
- Resolve compiled Kotlin APIs in Maven Java editors by @l0ng-ai in #669
- fix(ide-tools): move run_input above the tests module by @a-rookie-of-C-language in #677
- feat: add external formatting with managed Prettier by @l0ng-ai in #671
- fix(window): stop macOS traffic lights jittering and fix local open from remote windows by @l0ng-ai in #641
- fix(window): restore remembered geometry before windows are built on Wayland by @fuqiuluo in #619
- feat(java): add selectable formatting profiles by @l0ng-ai in #680
- fix(agents): make tool window sessions usable in narrow layouts by @l0ng-ai in aa2c24c
New Contributors
Full Changelog: v0.1.32...v0.1.33