| 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
Spring and Java
- Find a Spring endpoint by its request path in Search Everywhere, with or without the servlet context path, or by its handler method name. Enter opens the handler, and the index follows Java and Kotlin edits.
- Navigate Spring configuration keys: go from
application.ymland.propertieskeys to@ConfigurationPropertiesmembers,@Valueplaceholders andEnvironmentlookups, and back. Find Usages on a key lists its consumers; several profiles or modules are offered as candidates. - Spring Boot run consoles are coloured.
- Running a main class from its context reuses the matching run configuration.
- The Java language server runs on a full JDK so the debugger can start, reads jars JDK 25 rejects and uses the IDE proxy. Debug JVMs use the same encoding as Run, Gradle syncs re-sync the language server, and a configured JDK path that no longer exists is reported.
- The Kotlin bridge compiles a folder of sibling Maven projects.
Build tools
- Maven reloads a stale build after external changes to its files, including a
pom.xmlopen in an editor; saves from the IDE still offer Load Maven Changes. - The Maven tool window lists every goal a plugin declares; Maven 4
<subprojects>are read as modules, and the Maven model is read without remote SNAPSHOT checks. - Cargo dependency version inspections and updates.
- CMake profiles per project.
- The Project view shows Maven and Gradle module folders in bold.
Python
- Ruff language server for linting, formatting and organizing imports.
- Django test configurations: a detected
manage.py testconfiguration, a Django tests configuration type, results in the test tree with failures, errors, skips and subtests, Rerun Failed Tests and single tests from the gutter.
Languages and editor
- D language support, AsciiDoc recognition with basic highlighting and its own icon, and oxfmt/oxlint for JavaScript and TypeScript projects.
- Multi-file refactorings keep language server document versions, refuse to overwrite content changed after the preview, roll back failed writes and undo or redo as one step.
- With Apple's clangd, missing clang-tidy checks are explained; kotlin-lsp downloads the platform archive.
- Rapid file opening is faster, usage highlights stay readable and the scrollbar thumb can be dragged where overview marks cover it.
Run and debug
- .NET project run and debug configurations.
- Execution highlights stay synchronized while debugging, and console output selection is preserved.
- Closing a project stops its background processes.
Git
- Inline blame for the current line, off by default under Settings, Version Control, Git; falls back to plain blame when git rejects
--contentswith a revision. - Merge editor panes stay scrollable while they scroll together.
Terminal
- Reorder terminal tabs by dragging; paste clipboard images into remote SSH terminals.
- Terminal links open the file they name, not a same-named one.
Desktop and remote
- Exiting the IDE asks for confirmation by default.
- LightEdit sessions stay in Restricted Mode.
- Browse remote hosts and check connections without a project.
- macOS project windows respect the system tab preference.
- Windows: maximized windows stay inside the work area, rebuildable data is stored in Local AppData and the user PATH is read past
REG_EXPAND_SZquirks.
All changes
- Add project CMake profiles by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/679
- fix(debugger): keep execution highlights synchronized by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/681
- fix(java): align debug JVM encoding with Run by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/674
- Store rebuildable Windows data in Local by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/652
- fix(windows): keep maximized windows within the work area by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/644
- feat: add Cargo dependency version inspections and updates by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/684
- feat(run): add .NET project run and debug configurations by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/686
- fix: allow remote browsing and connection checks without a project by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/691
- fix(macos): respect system tab preferences for project windows by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/693
- fix(core): read the Windows user PATH past REG_EXPAND_SZ quirks by @a-rookie-of-C-language in https://github.com/l0ng-ai/openidea/pull/690
- test(inspections): expect the Cargo group [#684] added by @a-rookie-of-C-language in https://github.com/l0ng-ai/openidea/pull/695
- fix(java): Re-sync jdtls after a Gradle sync so new dependencies resolve by @jasi381 in https://github.com/l0ng-ai/openidea/pull/694
- feat(terminal): paste clipboard images into remote SSH terminals by @dvictor357 in https://github.com/l0ng-ai/openidea/pull/699
- fix(maven): Read Maven 4 <subprojects> as modules by @jasi381 in https://github.com/l0ng-ai/openidea/pull/700
- fix(tools): pick the platform archive for kotlin-lsp by @a-rookie-of-C-language in https://github.com/l0ng-ai/openidea/pull/726
- fix(java): pass the IDE proxy to language-server JVMs and read the Maven model without remote SNAPSHOT checks by @misswell in https://github.com/l0ng-ai/openidea/pull/745
- feat(editor): recognize AsciiDoc files with basic highlighting (#708) by @Bl0ck154 in https://github.com/l0ng-ai/openidea/pull/731
- fix(terminal): open the file a link names, not a same-named one by @a-rookie-of-C-language in https://github.com/l0ng-ai/openidea/pull/711
- feat(language): add D language support by @a-rookie-of-C-language in https://github.com/l0ng-ai/openidea/pull/728
- fix(editor): speed up rapid file opening by @kkMihai in https://github.com/l0ng-ai/openidea/pull/734
- fix(ui): give AsciiDoc files their own icon by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/763
- fix(cpp): explain missing clang-tidy checks with Apple's clangd by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/770
- feat: Add oxfmt/oxlint support for JS and TS projects by @d0whc3r in https://github.com/l0ng-ai/openidea/pull/717
- fix(java): let jdtls read jars JDK 25 rejects by @misswell in https://github.com/l0ng-ai/openidea/pull/771
- feat(vcs): inline blame for the current line by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/778
- test(tools): compare the oxfmt script path by components on every platform by @a-rookie-of-C-language in https://github.com/l0ng-ai/openidea/pull/786
- fix(vcs): fall back to plain blame when git rejects --contents with a revision by @a-rookie-of-C-language in https://github.com/l0ng-ai/openidea/pull/787
- feat(run): colour the console of a Spring Boot run by @ntbang0901 in https://github.com/l0ng-ai/openidea/pull/781
- feat(project-view): restore the persisted expansion state as the user left it by @ntbang0901 in https://github.com/l0ng-ai/openidea/pull/782
- feat(run): reuse the configuration of a main class run from its context by @ntbang0901 in https://github.com/l0ng-ai/openidea/pull/783
- fix(vcs): keep merge editor panes scrollable while they scroll together by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/758
- fix(java): run the language server on a JDK so the debugger can start by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/815
- test(sdk): match the too-old-JDK path as test_jdk writes it by @a-rookie-of-C-language in https://github.com/l0ng-ai/openidea/pull/840
- fix(code-insight): keep usage highlights readable by @kkMihai in https://github.com/l0ng-ai/openidea/pull/855
- feat(project-view): show Maven and Gradle module folders in bold by @kevinh458 in https://github.com/l0ng-ai/openidea/pull/835
- fix(run): preserve console output selection by @kkMihai in https://github.com/l0ng-ai/openidea/pull/854
- fix(trust): keep LightEdit sessions restricted by @kkMihai in https://github.com/l0ng-ai/openidea/pull/857
- fix(host): close a project's background processes with it by @misswell in https://github.com/l0ng-ai/openidea/pull/852
- fix(kotlin): compile a folder of sibling Maven projects in the Kotlin bridge by @ntbang0901 in https://github.com/l0ng-ai/openidea/pull/842
- fix(settings): confirm before exiting the IDE by default by @kevinh458 in https://github.com/l0ng-ai/openidea/pull/834
- fix(editor): let the scrollbar thumb drag where overview marks cover it by @HEOJUNFO in https://github.com/l0ng-ai/openidea/pull/807
- fix(maven): list every goal a plugin declares, not just the bound one by @misswell in https://github.com/l0ng-ai/openidea/pull/841
- refactor(core): share process-tree kill helpers across tool crates by @bograh in https://github.com/l0ng-ai/openidea/pull/853
- feat(terminal): reorder terminal tabs by dragging them by @kevinh458 in https://github.com/l0ng-ai/openidea/pull/836
- fix(java): say when a configured JDK path no longer exists by @l0ng-ai in https://github.com/l0ng-ai/openidea/pull/764
- feat(python): add ruff language server for lint, format and organize imports by @andreabasile in https://github.com/l0ng-ai/openidea/pull/859
- feat(maven): reload a stale Maven build after external changes to its files by @ntbang0901 in https://github.com/l0ng-ai/openidea/pull/780
- feat(search): find a Spring endpoint by its request path by @misswell in https://github.com/l0ng-ai/openidea/pull/820
- fix(refactor): preserve versions and recover multi-file workspace edits by @shohruh-genius in https://github.com/l0ng-ai/openidea/pull/488
- feat(java): navigate Spring configuration keys and usages by @qjlqyf in https://github.com/l0ng-ai/openidea/pull/823
- feat(run): Django test configurations with results in the test tree by @andreabasile in https://github.com/l0ng-ai/openidea/pull/869
- docs: remove the README build section by @l0ng-ai in https://github.com/l0ng-ai/openidea/commit/49f9c57bccbfd300f2bb6e4136e02ee806b93089
New Contributors
- @jasi381 made their first contribution in https://github.com/l0ng-ai/openidea/pull/694
- @misswell made their first contribution in https://github.com/l0ng-ai/openidea/pull/745
- @Bl0ck154 made their first contribution in https://github.com/l0ng-ai/openidea/pull/731
- @kkMihai made their first contribution in https://github.com/l0ng-ai/openidea/pull/734
- @d0whc3r made their first contribution in https://github.com/l0ng-ai/openidea/pull/717
- @ntbang0901 made their first contribution in https://github.com/l0ng-ai/openidea/pull/781
- @HEOJUNFO made their first contribution in https://github.com/l0ng-ai/openidea/pull/807
- @bograh made their first contribution in https://github.com/l0ng-ai/openidea/pull/853
- @andreabasile made their first contribution in https://github.com/l0ng-ai/openidea/pull/859
- @shohruh-genius made their first contribution in https://github.com/l0ng-ai/openidea/pull/488
- @qjlqyf made their first contribution in https://github.com/l0ng-ai/openidea/pull/823
Full Changelog: https://github.com/l0ng-ai/openidea/compare/v0.1.33...v0.1.34