CLion Today and Tomorrow: Plans for 2021 and Roadmap for v2021.1

CLion 2020.3 provides an enhanced debugging experience and more capable unit testing with CTest support, takes the first steps toward an in-editor experience for MISRA C and C++ checks, has improvements for Qt and Makefile projects, and much more.

As you are giving this new version a try, our team is collecting and listening to feedback and preparing the first set of fixes for the 2020.3.1 update coming in a few weeks. We’re also drawing up our goals for 2021 and creating a roadmap for the 2021.1 release.

Special thanks

Before we talk about the plans for the next release, let’s keep up our tradition of thanking everyone who has made this release so great. First, we’d like to give our most sincere thanks to our Early Access Program users! More than six thousand people participated this time, and many have reported super valuable feedback that we’re really grateful for. Thank you, you rock! And as a special thank you to the most active EAPers, we provide them with a complimentary 1-year CLion subscription!

  • Roland Illig
  • Paul Geiter

We’ll email you in the next few days with a code for buying a new subscription or extending your current one. The code can be passed on to a friend or colleague, too.

CLion’s goals for 2021 and roadmap for v2021.1

Areas of focus for 2021

If you have been following us for the past year, none of this should be big news for you as our priorities have remained mostly unchanged.

  1. Performance and responsiveness. As our first priority, we’ll continue to improve CLion’s performance and the ways to measure our progress and success in this. We’ll keep addressing UI freezes and experiment with many internal prototypes for performance-critical components. Even more importantly, we’ll keep adapting (where possible and performance-wise) the Clangd-based engine to our needs.
  2. C++ language engine. Our overall goal is to make it even more stable and responsive, and to work on adding more modern C++ features to it. We’ll focus mainly on the Clangd-based engine. In 2020 we eliminated a lot of Clangd crashes, moved DFA analysis and completion to it, and adopted many of the new C++20 updates. We’ll keep advancing in the same areas in 2021.
  3. Quality (filling the gaps). With so many new things added to the product in recent years, we need to review and polish many of them to make sure they work consistently across all toolchains, project models, and configurations.
  4. Bring new value to embedded / automotive / remote workflows. The plan is to expand embedded development support, address many debugger and toolchain debts, improve the quality of remote development support and WSL support, and investigate native Docker support opportunities.

CLion 2021.1

Here are the main tasks we plan to work on during the next 2021.1 iteration. The next version should be out sometime around late March to early April.

Please note the following is only a preliminary plan, as some tasks will only be started but might not be finalized until after the actual release, or might be changed or rescheduled for various reasons. We cannot guarantee that all of the features listed below will be included in CLion 2021.1.
  • C++ language and Clangd:

    • Work on Clangd engine stability and better problem diagnostics.
    • Polish the Clangd-based completion, and add postfix completion for C++ (CPP-4039).
    • Continue with support for MISRA C and C++ checks.
    • Clazy analyzer integration for Qt projects (CPP-21588).
    • Update interprocedural data-flow analysis (CPP-23192) to enhance the code analysis experience.
  • Performance:

    • Eliminate more UI freezes.
    • Investigate and address slowness issues in formatter (for example, CPP-17439).
  • Project models

    • Support for custom compiler (CPP-9615).
    • In order to address resolve issues for non-project files, add heuristics for finding the most fitting project resolve configuration.
    • Store CMake Profile settings in VCS (CPP-7911).
  • Remote:

    • Support remote toolchain for Makefile projects (CPP-20695).
    • Valgrind/Sanitizers/Coverage support in remote mode.
    • Support for remote mode on hosts with BusyBox (CPP-22753).
  • Debugger:

  • Embedded:

    • We’ll investigate opportunities to improve hex formatting (CPP-11047), and disassembly and memory views (CPP-16571, CPP-16570). The actual results, however, are unlikely to appear in 2021.1 but should be available in further 2021.x updates.

That’s what our roadmap looks like for 2020.1 and beyond. If you have any new feature requests, please send them to our tracker. We’re listening!

Your CLion Team
The Drive to Develop

image description