News Roadmap

What’s Next for CLion: The 2026.1 Roadmap

We’re now working on our next major release, which we plan to deliver in March. In our latest stable version (v2025.3), we introduced many features and enhancements, so for the next release, we’ve decided to focus on maintenance and bug fixes rather than introducing new functionality. With that in mind, we’ve prioritized the following areas for v2026.1:

Read on to learn more about our planned updates.

Our team is committed to creating an IDE that makes development smooth and productive. However, the following is only a preliminary roadmap. We can’t guarantee that all of the issues and features listed below will be addressed and implemented in CLion 2026.1. Unexpected circumstances could require us to modify our plans or implementation timelines for some items.

Language support

For CLion’s language support, we plan to concentrate on improving the coding experience, refining compile-time debugging capabilities, and updating testing framework integration.

Language and editor features

The CLion Nova language engine powers all of the recent performance and accuracy improvements in CLion. In v2025.3, this engine has become the default for all users, replacing the legacy CLion Classic engine.

While we’re not aiming for complete feature parity between CLion Nova and CLion Classic, we remain committed to implementing the most popular features from the legacy engine. Here’s what we’re adding in this release:

  • Support for Clang blocks (CPP-37839): This non-standard extension provides a lambda-like syntax for creating closures in C and C++. It’s useful for writing concise, type-safe, and context-aware callbacks or asynchronous code.
  • Support for GCC nested functions (RSCPP-35876): This GCC extension lets you define a function inside another function, with the inner function accessible only within the outer function’s scope. This is particularly valuable in embedded systems, where it can help users optimize code and better manage limited resources.
  • Code folding improvements: CLion automatically recognizes certain code structures and allows you to fold them. In v2026.1, we plan to support additional code structure types and regions that you can fold to help you better organize your code.
  • Go to Usages and Go to Declaration popup improvements (CPP-45132, CPP-46560): We want to address several UX issues with this popup, such as displaying unnecessary information and unintuitive grouping of a function’s declaration and usages.

Constexpr Debugger improvements

In v2025.3, we introduced the Constexpr Debugger, a tool that enables compile-time debugging of constexpr and consteval code, which is hard or impossible to debug at runtime. We’ll continue to refine the Constexpr Debugger and fix bugs in the next release.

Updates to unit testing frameworks

CLion supports multiple unit test frameworks, such as GoogleTest, Catch2, Boost.Test, and doctest. In v2026.1, we plan to revise our support for these frameworks and update it where necessary – for example, by adding support for the latest framework features or removing obsolete ones.

We also plan to make unit test integration independent of the CMake project format. This will allow other project formats, like Meson (CPP-35147) or the JSON compilation database, to utilize the comprehensive test functionality that is currently available only for CMake projects.

Build tools and project formats

Here, we’ll focus on enhancing Bazel support with new tools, optimizing the CLion update process, and expanding code insight capabilities for complex embedded projects.

Bazel support improvements

Last year, we took over the development of the Bazel for CLion plugin from Google and have since continued to improve its stability and user experience. For the upcoming release, we plan to add support for several new Bazel features and tools, including:

  • Starlark REPL: Bazel includes an official read-eval-print loop (REPL) for the Starlark language, allowing you to explore its semantics. We plan to bundle the REPL and offer a dedicated, interactive shell session directly within the IDE, facilitating easy experimentation with Starlark.
  • Execlog parser: Bazel’s build execution logs, for example, generated by using
    the --execution_log_compact_file flag, are a valuable resource for advanced build analysis and debugging performance issues. We’ll integrate the Bazel execution log parser, which will let you easily parse these logs and diff two log files simultaneously.
  • Configuration transitions: Transitions are a powerful Bazel feature that allows you to compile C and C++ projects for multiple architectures simultaneously. Currently, our plugin only supports the default configuration. If your project uses configuration transitions, the plugin ignores them, and it’s not possible to see code insight for different configurations. We plan to add full support for transitions so you can get accurate code insight for all configurations in your project.
  • Performance improvements: We continually work to enhance the plugin’s performance and will make related updates in v2026.1. One example is the header cache, which is used for headers generated during the build process or those from virtual include paths. This cache stores headers in a format optimized for CLion, improving overall performance.

Additionally, our plugin is already compatible with Bazel 9.

For more details on recent Bazel updates and announcements, check out our BazelCon 2025 recap.

Accelerating CLion updates on Windows

Some Windows users have reported that CLion updates take too long. To address this, we plan to remove unnecessary components and optimize packaging in the installer. This will reduce the installer size and speed up the updates for Windows and other supported operating systems.

Configuration profiles for West projects

We plan to add the ability to create configuration profiles for West projects, similar to CMake profiles (CPP-42799). This will streamline working with multiple build configurations that use different build parameters or target different boards, making it easy to switch between configurations on the fly.

Code insight features for external projects

Projects in popular embedded frameworks, such as West, STM32, and ESP-IDF, are often divided into multiple parts. Some of these parts may be external projects with respect to the primary project. These external projects are listed in the CMake ExternalProject_Add() section. For example, in a dual-core setup, one application acts as the primary application (a primary project), while the other one runs on the coprocessor and is responsible only for communication (an external project). Similarly, when using Arm® TrustZone® technology or a bootloader, one application may have elevated privileges, while the other retains regular privileges. An external project may also contain system dependencies used only for building.

These external projects would benefit from having the same code insight features as the primary project, such as error detection, warnings, search for usages, and refactoring. Currently, this is only possible if you load an external project as a separate project model, which can be unnecessary or cumbersome in many cases.

We want to generate a compile_commands.json file from an external project’s CMake configuration. This will enable you to load the external project as part of the primary CMake project and access code insight features, making it more convenient to work with complex, multi-part projects.

Unbundling Cygwin

We plan to remove the pre-defined Cygwin setup from our list of default CLion toolchains and release it as a separate plugin. This plugin will be available to download from JetBrains Marketplace. There are two main reasons behind this decision:

  • The very low number of users.
  • The uncertainty of the Cygwin project’s future, especially since WSL can replace Cygwin in most cases.

If you use Cygwin in CLion and have concerns about this change, please comment below or contact our Support team. We’ll do our best to help you find a suitable solution.

Embedded development

Most improvements in embedded development support will be related to live watches and debug servers.

Updates to live watches

In the latest release, live watches received several UX improvements, including the ability to export data in CSV format and view peripheral register values. For the upcoming release, we’ll continue refining the feature and fixing reported issues. To learn more about live watches, see our documentation.

OpenOCD debug server

We’ve developed dedicated debug servers for different projects, such as STM32CubeMX and ESP-IDF, but not yet for OpenOCD. Although OpenOCD users can still use a generic debug server, this isn’t optimal. In the next release, we plan to add a dedicated debug server for OpenOCD, making it even more convenient to create and manage debug configurations for different targets.

Debugger

In the last release, we introduced support for the Debug Adapter Protocol (DAP). This feature allows you to work with third-party debuggers that use DAP, expanding your options beyond LLDB and GDB.

Improving the DAP integration will be our main priority in the debugger updates. We plan to address reported issues and add the ability to communicate with DAP servers via a TCP port (CPP-46675).

Conclusion

The Early Access Program is just around the corner and will give you the chance to try all of the new features planned for the next major release for free. In the meantime, upgrade to CLion 2025.3 if you haven’t already done so, and let us know what you think!

DOWNLOAD CLION 2025.3

image description