| 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
Java and Spring
- Maven projects resolve with the profiles chosen in the Maven tool window, and Maven builds whose aggregate POM sits in
src/are recognized. - Library classes behind
jar:URIs open in the editor, and a file outside the language server's projects says so instead of staying silent. - Configuration indexing no longer blocks navigation and stays warm between uses.
- Lombok is bundled with the ECJ constructor-call fix; the jdt.ls classpath resolve is serialized with the build lock.
- Windows: module outputs are replaced with launch snapshots, and reserved device file names that abort the Java import are named.
- Spring run consoles are coloured with manual classpaths too.
Python
- Pyrefly language server.
- A Python script runs with the project interpreter, not a
runservercommand line; uv is named as the installer when it creates the virtualenv.
Languages and editor
- ERB with an HTML + Ruby editor mode, JSP highlighting, and a New Go Module template for
go.modfiles. - Clean saves are skipped and buffers refresh after disk operations.
- Reformat Code applies the Code Style indent override and re-detects indents afterwards.
- Call and type hierarchies no longer nest recursive symbols forever; string-literal navigation targets are labelled by their literal.
- Spell checking skips backslash commands such as
\briefand closes a Markdown code fence only on a matching fence. - The Markdown preview uses editor colours and keeps its scroll position.
Run and debug
- Run npm scripts from
package.jsongutter icons. - Select All selects and copies the whole console output.
- Toolchain-derived values stay out of saved run configurations.
Git
- Diff preview in the Git window's Local Changes tab.
- Push notifications say how many commits went where; test files are tinted green in the changes tree.
- Worktrees created while the project is open are discovered, shelf files resolve against their own repository, and a branch whose upstream was deleted stays pushable in the multi-repo Push dialog.
Agents
- Configurable executable for every built-in agent, with a tidier Built-in agents settings page.
- One-click ACP registry install and updates for GitHub Copilot.
- Agent tasks whose worktree git no longer recognizes can be deleted.
Web, HTTP and database
- The built-in web server stays inside the served root and redirects a root without a trailing slash.
- The HTTP client adds
http://to a URL whose query holds another URL. - Large database cell previews are bounded and edited in a dialog.
Terminal and plugins
- Paste clipboard media into the terminal as file paths.
- Plugin packages install from a
.zip.
Desktop
- Close other, left or right project tabs from the window-group tab menu.
- Directories are listed off the main thread; when the OS file watcher cannot start, the IDE polls for changes.
- Files of linked workspace projects are revealed in the Project view; long tooltips wrap inside the bubble; the scrollbar thumb shows over overview marks.
- The settings window has a shadow on Windows and a readable edge on Linux, and frameless windows draw GTK's shadow under Wayland.
- Update progress stays visible on the welcome screen; counts in Update Project and Hot Swap results are translated.
All changes
- feat(templates): New Go Module template for go.mod files by @a-rookie-of-C-language in #884
- fix(run): run a Python script with the project interpreter, not the runserver command line by @andreabasile in #897
- fix(run): enable Spring console colours with manual classpaths by @l0ng-ai in #888
- fix(web): keep the built-in server inside the served root by @jonaszuberbuehler in #887
- fix(run): select and copy the whole console output with Select All by @ntbang0901 in #903
- feat(run): run npm scripts from package.json gutter icons by @a-rookie-of-C-language in #898
- fix(plugins): install plugin packages from a .zip (#892) by @florentvdry in #896
- feat(terminal): paste clipboard media as file paths by @kkMihai in #880
- fix(vcs): resolve shelf files against their owning repository by @l0ng-ai in #919
- fix(editor): skip clean saves and refresh buffers after disk operations by @l0ng-ai in #920
- test(editor): make the detach-tab save-failure document dirty (fix main Frontend CI) by @a-rookie-of-C-language in #924
- chore: add bug report and feature request issue forms by @l0ng-ai in #878
- feat(agents): enable 1-click ACP registry install and updates for GitHub Copilot by @dengliu in #773
- feat(vcs): diff preview in the Git window's Local Changes tab by @a-rookie-of-C-language in #714
- fix(vcs): discover worktrees created while the project is open by @a-rookie-of-C-language in #930
- fix(tools): name uv as the installer for Python servers when it makes the virtualenv by @pcastro93 in #936
- fix(app): keep update progress visible on the welcome screen by @youngtseup in #951
- fix(lsp): serialize the jdt.ls classpath resolve with the build lock by @a-rookie-of-C-language in #946
- feat(vcs): tint test files green in the changes tree by @jaw52 in #940
- feat(python): add Pyrefly language server by @pcastro93 in #911
- fix(desktop): pass the real window label to project-requiring commands by @a-rookie-of-C-language in #960
- fix(format): apply the Code Style indent override to reformat requests by @a-rookie-of-C-language in #949
- feat(languages): add ERB with an HTML + Ruby editor mode by @retsef in #720
- fix(ui): prevent long tab path tooltips from overflowing the bubble (… by @yangyezhuang in #983
- fix(agents): delete agent tasks whose worktree git no longer recognizes by @a-rookie-of-C-language in #979
- perf(vfs): list directories off the main thread and reuse the repository lookup by @ntbang0901 in #973
- feat(vcs): push notifications say how many commits went where by @a-rookie-of-C-language in #961
- fix(i18n): translate counts inside the Update Project and Hot Swap results by @l0ng-ai in #994
- feat(editor): highlight JSP pages by @jaw52 in #937
- fix(vfs): poll for changes when the OS file watcher cannot start by @azeemhassni in #906
- feat(window): close other / left / right project tabs from the window-group tab menu by @jaw52 in #965
- perf(java): stop configuration indexing from blocking navigation and keep it warm by @l0ng-ai in #1012
- chore(ci): reformat types.ts and regenerate bindings to keep main green by @a-rookie-of-C-language in #990
- fix(run): keep toolchain-derived values out of saved run configurations by @l0ng-ai in #1023
- fix(navigation): label string-literal targets by their literal by @l0ng-ai in #1025
- fix(java): bundle Lombok with the ECJ constructor-call fix by @l0ng-ai in #1027
- fix(windows): de-parent settings window so DWM paints its shadow by @a-rookie-of-C-language in #607
- fix(format): re-detect indents after Reformat Code by @jaw52 in #957
- fix(web): redirect a served root without a trailing slash by @fhrmrk in #987
- fix(http): add http:// to a URL whose query holds another URL by @fhrmrk in #988
- fix(spell): skip backslash commands like \brief in comments by @fhrmrk in #985
- fix(spell): close a Markdown code fence only on a matching fence by @fhrmrk in #986
- fix(project-tree): reveal files of linked workspace projects by @jaw52 in #1035
- fix(code-insight): stop call/type hierarchy from nesting recursive symbols forever by @a-rookie-of-C-language in #1016
- fix(editor): show the scrollbar thumb over overview marks by @jaw52 in #1031
- fix(build): recognize Maven builds whose aggregate POM sits in src/ by @a-rookie-of-C-language in #1022
- fix(vcs): keep a deleted-upstream branch pushable in the multi-repo Push dialog by @a-rookie-of-C-language in #1004
- fix(markdown): use editor-side tokens in the preview by @norandom in #992
- fix(markdown): keep the preview-only scroll position across remounts by @a-rookie-of-C-language in #1009
- fix(java): replace module outputs with launch snapshots on Windows by @l0ng-ai in #1038
- fix(java): name reserved Windows device files that abort the Java import by @l0ng-ai in #1032
- fix(database): bound large cell previews and use dialog editing by @l0ng-ai in #1040
- chore: add issue/PR templates, PR check, AGENTS.md and shared agent skills by @l0ng-ai in #1043
- feat(agents): configurable built-in agent command (Claude Code binary) by @a-rookie-of-C-language in #682
- fix(java): resolve Maven projects with the profiles chosen in the Maven tool window by @l0ng-ai in #1044
- fix(editor): say when a file is outside the language server's projects by @l0ng-ai in #1046
- fix(lsp): open library classes behind jar: URIs by @l0ng-ai in #1048
- fix(agents): tidy the Built-in agents settings page by @l0ng-ai in 8c9ddb9
New Contributors
- @jonaszuberbuehler made their first contribution in #887
- @dengliu made their first contribution in #773
- @pcastro93 made their first contribution in #936
- @retsef made their first contribution in #720
- @yangyezhuang made their first contribution in #983
- @azeemhassni made their first contribution in #906
- @fhrmrk made their first contribution in #987
- @norandom made their first contribution in #992
Full Changelog: v0.1.34...v0.1.35