Hello everyone,
We would like to share with you important updates to the threading framework in the IntelliJ Platform 2026.2.
There are several changes in this release that affect threading behavior of the IDE:
- We migrated dumb mode status changes to background write action. For details, see IJPL-207743;
- We migrated workspace model modifications to background write actions. For details, see IJPL-222806;
It is now safe to say that the startup of the IDEs does not blocks on the Read-Write lock on the UI thread, which is a milestone on its own.
Additionally, there are important changes in the API:
- We strengthened the contract of
BulkFileListenerBackgroundable– now it always runs on background thread. It is also now a stable API – feel free to use it to run VFS updates in background threads, as this improves responsiveness of the IDEs. For details, see IJPL-246890. - Suspending
writeActionhas changed its semantics – it now runs on a background thread, and it is promoted to stable. As of 2026.2,writeActionandbackgroundWriteActionare the same function. For details, see IJPL-244829.
Finally, we’d like you to know our further direction.
We are working on removal of the read-write locks during processing of AWT input events (e.g. typing, mouse moving, action update and perform on shortcut). This task depends on many subsystems of the IntelliJ Platform – like the Document, PSI, and Highlighting. Backward compatibility is our top priority, and we are trying hard to avoid semantic incompatibilities with the existing language support.