KDevelop 5.6 released

We are happy to announce the availability of KDevelop 5.6 today.

This release brings half a year of work, focused mainly on stability, performance, and future maintainability. Many existing features have received small improvements again, and there is one highly-visible addition: optional display of inline notes for problems at the end of the line (commit). Learn more at David Redondo's blog post introducing this feature.

KDevelop 5.6.0 in action, showing inline problem notes

Improved CMake project support

  • Also highlight CMake 'Generating done' messages. (commit)
  • Do not remove project information when ChooseCMakeInterfaceJob fails. (commit)
  • Fix a cmake test linker error with Qt 5.9. (commit)
  • Optimize CMakeManager::fileInformation for path lookups. (commit)
  • CMake: trim build dir parameters we read from configuration files. (commit)
  • CMake: don't add .rule files to targets. (commit)
  • CMake: skip utility targets with empty sources. (commit)
  • Reload project when non-{generated,external} CMake file becomes dirty. (commit)
  • CMake-file-api: query for and parse cmakeFiles. (commit)
  • Support grouping of cmake targets into sub folders. (commit)
  • Actually use the cmake-file-api for project import, if possible. (commit. fixes bug #417202)
  • Increase error reporting on CLI when cmake import fails. (commit)
  • Actually parse the cmake-file-api response files. (commit. See bug #417202)
  • Start implementation of cmake-file-api support. (commit. See bug #417202)
  • Improve error handling when failing to create cmake build dir. (commit)

Improved C++ language support

  • Take -U into account when extracting defines from compile flags. (commit)
  • Allow passing custom args to clang through clang-parser utility. (commit)
  • KDev-clang: don't skip unexposed declarations from different files. (commit. fixes bug #402066)

Improved PHP language support

  • Update phpfunctions.php to phpdoc revision 350290. (commit)
  • Support PHP 7.1's syntax for catching multiple exceptions. (commit)

Improved Python language support

  • Support for Python 3.9. (commit. fixes bug #419290)
    • Distro packages may be compiled against an earlier CPython version, and thus not include this.
  • Set parser feature version correctly for Python 3.8+. (commit)
  • Fix highlighting range bugs with CPython 3.8.2+ (commit)

Other Changes

  • Fix keyboard focus for plasmoid. (commit. fixes bug #422774)
  • Only reload sessions in dataengine when relevant files/paths change. (commit)
  • Show empty sessions in data engine. (commit)
  • Sublime: fix tab bar base frame¬†not being drawn between tabs & view status. (commit)
  • Associate loaded breakpoints with a moving cursor. (commit. fixes bug #424431)
  • Make sure DebugController is initialized before UI is shown. (commit. fixes bug #424430)
  • Remove "text/x-diff" alias from supported MIME types. (commit)
  • Support also new name KSysGuard of what was before named KF5SysGuard. (commit)
  • Execute: remember the option to kill a process that is already running. (commit)
  • Make compile with MSVC++ 19.24. (commit)
  • Optimize and improve environment variable expansion. (commit)
  • Support escaping backslash before dollar in environment variables. (commit)
  • Consider catchpoint to be a code breakpoint. (commit)
  • Actually remove temporary item repository directories. (commit)
  • Workaround behavior change in QUrl::adjusted(QUrl::NormalizePathSegments). (commit)
  • Prevent recursion in environment variable expansion. (commit)
  • Don't crash when there is no documentation for a given URL. (commit)
  • Skip unexposed DecompositionDecl. (commit)
  • Allow expansion of custom defined variables inside other variables. (commit)
  • Allow usePreview=true for user-created source formatter styles. (commit)
  • Clean up AStyleFormatter declarations. (commit)
  • [Documentation] Allow link following between providers. (commit)
  • Only cache PCH and completion results for files opened in editor. (commit)
  • Fix Ctrl+mouse_scroll zoom of documentation view. (commit)
  • Use data-error/warning/information icons to mark problems. (commit)
  • Fix resetting documentation view's zoom factor via Ctrl+0 shortcut. (commit)
  • Allow navigating with forward & back mouse buttons from CMake and ManPage home pages. (commit)
  • Fix documentation view navigation via forward & back mouse buttons. (commit, commit)
  • Do not force update when reloading projects. (commit)
  • ProblemNavigationContext: fix pixel-scaled icons in problem tooltip. (commit)
  • Jump to declaration when definition file doesn't belong to a project. (commit)
  • Do not canonicalize paths to non-existent files. (commit)
  • Do not include end-of-line markers in build dir settings. (commit)
  • Don't crash when we fail to find a screen for the active tooltip. (commit. See bug #417151)
  • Unbreak duchainify. (commit)
  • Don't crash when signatures don't match in AdaptSignatureAssistant. (commit)

Get it

Together with the source code, we again provide a pre-built one-file-executable for 64-bit Linux as an AppImage. You can find it on our download page.

The 5.6.0 source code and signatures can be downloaded from download.kde.org.

Should you have any remarks or in case you find any issues in KDevelop 5.6, please let us know.

Category
Tags