KDevelop 5.2 released

A little more than half a year after the release of KDevelop 5.1, we are happy to announce the availability of KDevelop 5.2 today. Below is a summary of the significant changes -- you can find some additional information in the beta announcement.

We plan to do a 5.2.1 stabilization release soon, should any major issues show up.


With 5.1, KDevelop got a new menu entry Analyzer which features a set of actions to work with analyzer-like plugins. During the last 5.2 development phase, we merged more analyzer plugins into kdevelop.git which are now shipped to you out of the box:


Heaptrack is a heap memory profiler for C/C++ Linux applications.

heaptrack screenshot
Screenshot of heaptrack run from the KDevelop plugin, visualizing memory usage of KDevelop.


cppcheck is a well-known static analyzer for C++, and can now also be run from within KDevelop by default, showing issues inline.

KDevelop with Cppcheck integration
KDevelop with Cppcheck integration

Improved C++ support

A lot of work was done on stabilizing and improving our clang-based C++ language support. Notable fixes include:

  • Properly pass on some categories of compiler flags from the build system to the analyzer, fixing e. g. parse errors in some Qt header files which cannot be parsed if a certain compiler configuration is not respected
  • Improve performance of C++ code completion in some situations
  • Restore some completion features from 4.x, such as automatic insertion of semicolons in some cases

More improvements, such as better handling of template class member functions, are already being worked on and will be in one of the next versions of KDevelop.

Improved PHP language support

Thanks to Matthijs Tijink we've got many improvements for the PHP language support. The number of syntax warnings with modern PHP code should be greatly reduced, and the type inference is better. The improvements include added support for new language features, work on the type system, as well as bug fixes. Notable improvements include:

  • Add callable type to PHP. (commit. code review D7034)
  • Process member properties/calls for unsure types. (commit. code review D6923)
  • Fix uses of class in closure parameters and default values for functions. (commit. code review D6690)
  • Allow non-scalar constants. (commit. code review D6670)
  • Add spaceship and null coalesce operators. (commit. code review D6645)
  • Support more cases of function argument unpacking. (commit. code review D6271)
  • Support for variadic functions in documentation popup. (commit. code review D6256)
  • Implement syntax support for function argument unpacking. (commit. code review D5908)
  • Add support for variadic functions. (commit. code review D5703)
  • Support of Class::{expr}() syntax from Php 5.4. (commit. code review D4902)
  • Support for $this as an array when implementing ArrayAccess. (commit. code review D4776)
  • Php7 IIFE syntax parsing. (commit. fixes bug #370515. code review D4391)


PHP support in KDevelop 5.2

PHP support in KDevelop 5.2

Improved Python language support

Mostly thanks to Francis Herne, some cleanup has been done in the Python language plugin as well.

  • Fixed a false-positive warning when a name used in a closure was defined later in the file.
  • Fixed highlighting of local variables in comprehensions and of parameters in lambda definitions.
  • Infer the correct type when slicing a tuple with constant integers.
  • Infer the correct type from `and` or `or` expressions (Nicolás Alvarez).
  • Internal code cleanups.

Ongoing support for other platforms

We're continuously improving the Windows version of KDevelop. For the Windows version, we upgraded the Qt version to 5.9.1, the KF5 version to 5.37 and the LLVM/Clang version to 5.0.0. Also noteworthy, on Windows, we now also ship QtWebEngine instead of QtWebKit for the documentation browser.

Get it

Together with the source code, we again provide a prebuilt one-file-executable for 64-bit Linux, as well as binary installers for 32- and 64-bit Microsoft Windows. You can find them on our download page.

The 5.2.0 source code and signatures can be downloaded from here.

Should you find any issues in KDevelop 5.2, please let us know in the bug tracker.




In reply to by Bob (not verified)

KDevelop is not a compiler. It doesn't even really care about what compiler you use to build your software. It uses parts of clang internally for its C++ code analysis, yes, but that is of no concern at all to you as a user -- you never get to see any of that, it's all set up by the installer. Just install any compiler you like (I'd suggest MSVC on Windows) and it should work.

Sorry, I think You broke Qt Documentation because internal links don't work. Just try to open any page this documentation and clink on any link. You will go nowhere :(. Built documentation is no so much usable if I'm not able to navigate inside. Reported bug: 386929

Looking on changes in Cpp support, seems that KDevelop team focused here on improving python support. Skipping included addons like cppcheck and heaptrack the rest looks a bit poor :(.

Heaptrack looks absolutely fantastic, and is nicely integrated via the provided plugin - thanks a whole lot for this fantastic release once more, cementing my love for Kdevelop.

Keep it up folks!

This version is again better than the previous one. I finally got to make the click-on-file to output the right file instead of creating a new one when clicking on a file-line error/warning in the compilation output. The project from Makefile.am makes this work.
However, the code completion is very very slow and very very hungry. On a 16 cores CPU it still takes ages for a full indexing. And for simply updating little functions in a file, reindexing it can take up to one minute. Usual completion can work quite quickly or takes one minute to show up, or to show an irrelevant completion or even not show up.
But good work. I'm more and more please to use kedevelop which I use since before its 1.0 version :)

What about a section in which new features or bugfixes will be discussed for future versions. For example what a user should wait for 5.3?


In reply to by Petross404 (not verified)

It's quite difficult to do this. We don't exactly distribute developer resources among things some manager thinks are important, but rather there's a set of people who might or might not have time to work on what they might or might not find important. The general direction of the project is currently that we mostly aim to make the features we already have more stable, faster, and better.

thanks for such a great IDE! you mentioned full Support for CUDA in 5.2, but I couldn't find it in your release notes? is it rescheduled ?

Thanks a lot!


In reply to by stucash (not verified)

I think there is some cuda support in 5.2 but I have also seen another patch series which fixes several issues with it since this release ... sorry, I don't know cuda and i'm not super up-to-date with how the state is :/