KDevelop 4.0.1 released

Good news everyone!

I’m happy to announce the availability of our first patch level release for KDevelop 4. You can get it and the related packages from:

This is a bugfix only release and everyone is urged to upgrade as soon as possible. Below you find a list of changes that went into this release.

Users should wait for their distributions to provide packages for them.

Thanks to the KDevelop contributors for making this possible and to the users for giving us valuable feedback.

PS: I hope to release a second patch level release in a month, assuming we find more to fix.


KDevplatform 1.0.1 Changelog

    * Milian Wolff: don't emit documentJumpPerformed when nothing changed
    * Milian Wolff: prevent infinite loop when url gets saved and triggers loading of new language plugin
    * Milian Wolff: fix ${selection} in snippets
    * Milian Wolff: properly handle manual document switches in context browser toolbar
    * Milian Wolff: fix: make it possible to activate repository in singleclick mode
    * Andras Mantia: Really load (and use as a replace source) the global ui.rc file, not the local one.
    * Milian Wolff: properly add codecompletion to existing documents
    * Mantia Andras: Enable select all/copy in the frame widget.
    * Mantia Andras: Propagate shortcuts setting to all the opened editor views.
    * Andreas Pakulat: Fix accessing of temp-files for windows.
    * Milian Wolff: properly handle unterminated strings in comments, fixes code completion after those
    * Milian Wolff: properly remove watcher to prevent crashes in smartrange dtor
    * Andreas Pakulat: Also set CMAKE_INSTALL_RPATH
    * Andreas Pakulat: Make sure kdevplatform is properly linked
    * Milian Wolff: put snippets completion items at end of list
    * Milian Wolff: fix clearComments for unterminated comments
    * Nicolás Alvarez: Create Class: Refresh move button state when a list item is removed too.
    * Nicolás Alvarez: When moving items in Create Class inheritance list, update selection.
    * Nicolás Alvarez: Update move up/down buttons when selection changes in inheritance list.
    * Milian Wolff: prevent endless recursion
    * Nicolás Alvarez: Change "Stop Jobs" icon from dialog-close to process-stop.
    * Andreas Pakulat: Fix documentation for the .desktop files
    * Milian Wolff: don't go into edit-item mode on doubleclick or single click
    * Niko Sams: Fix crash when closing kdevelop with running debug session
    * Niko Sams: Fix crash that can happen during shutdown with an active debug session
    * Andras Mantia: Avoid calling emitResult() in failed case. internalJobDone() is called anyway, and that calls emitResult(). The problem is: when the error message is shown, the eventLoop is reentered, the job is deleted. The emitResult() call after tries to use the deleted job -> crash. This might be only a workaround, but fixes bug 229557 (and its duplicates), bug 227823, bug 232444, 227584.
    * Milian Wolff: properly escape dot before git folder
    * Andreas Pakulat: End the namespace before the macros.
    * Jonathan Schmidt-Dominé: Fixed syntax-errors in ibrowsableversioncontrol.
    * Milian Wolff: add a \c where appropriate, add missing dot
    * Andreas Pakulat: Add some api dox how to get at plugins and load them properly.
    * Andreas Pakulat: Use the complete url of the active document.
    * Milian Wolff: make snippet invalid when name contains spaces
    * Milian Wolff: allow anything non-space in snippet's code completion model
    * Eike Hein: Meet HIG rules about alignment in forms.
    * Milian Wolff: make QuickOpen look like a proper menu/dropdown
    * Hugo Pereira Da Costa: Fixed setting of maximum height for button and stack so that expander arrow pixmap is not trunkated when small font is used.
    * Hugo Pereira Da Costa: Removed unnecessary calls to "setAutoFillBackground(true)". this allows main window background gradient (if any) to be painted right. (like in e.g. oxygen, bespin). Does not affect other styles.
    * Hugo Pereira Da Costa: Keep vertical size policy unchanged when embedding KLineEdit inside toolbar.
    * Hugo Pereira Da Costa: Rotate back icon so that it is still painted horizontally even for vertical buttons Use option->iconSize to decide which pixmap must be rotated.
    * Hugo Pereira Da Costa: This patch modifies the painting of sidebar vertical toolbuttons so that - the button frame is painted "non-rotated" - only the text is painted rotated. This fixes how buttons shadows are rendered. Screenshot at
    * Andreas Pakulat: Increase minor version.
    * Andreas Pakulat: Remove kross from subdirs list
    * Bertjan Broeksema: Port away from deprecated KLibLoader::self to KPluing loader.
    * Bertjan Broeksema: Initialize members in the right order.
    * Bertjan Broeksema: Clean up
    * Bertjan Broeksema: Fix warning and clean up.
    * Bertjan Broeksema: Fix a compile warning related to deprecated hash_map.
    * Bertjan Broeksema: Fix a bunch of trivial compile time warnings.
    * Milian Wolff: fix LGPL file as proposed by TZander
    * Milian Wolff: fix compile when ifDebug is enabled
    * Niko Sams: Debugger: Only switch back to code area if there is an active MainWindow.
    * Volker Krause: build with -pedantic
    * Andreas Pakulat: Don't crash if dynamic_cast fails.
    * Thomas McGuire: Fix progress popups being transparent.

KDevelop 4.0.1 Changelog

    * Milian Wolff: fix overflow in CMakeFunctionArgument::unescapeValue
    * Andras Mantia: Remove some conflicting shortcuts from the katepart.
    * Milian Wolff: fix: allow incr as identifier, it's not the ++ token after all
    * Milian Wolff: don't crash on nullptr type in getPointerTarget
    * Milian Wolff: fix shouldStartCompletion when writing a path in a #include, inserted is not only a single char
    * Milian Wolff: don't crash when getContainerType does not find a declaration for the identified type in the given topcontext
    * Andreas Pakulat: Fix opening files with relative path.
    * Andreas Pakulat: Set CMAKE_INSTALL_RPATH to lib-installdir
    * Andreas Pakulat: Make sure kdevplatform is properly linked
    * Milian Wolff: use canonicalFilePath as absoluteFilePath might lead to problems when resolving relative includes in symlinked directories
    * Nicolás Alvarez: Fix another possible leak
    * Nicolás Alvarez: Fix memory leak in CMakeListsParser::readCMakeFile.
    * Milian Wolff: don't advance over EOF, might lead to invalid tokens and crashes
    * Aleix Pol: Prevent calling a null pointer.
    * Aleix Pol: Add proper support for the Break command.
    * Andreas Pakulat: Don't try to open a non-existing file.
    * Milian Wolff: make __volatile__ a synonym for volatile
    * Milian Wolff: don't recurse into the same class in typeutils::getMemberFunctions
    * Esben Mose Hansen: Find build directory even in root CMakeLists.txt
    * Milian Wolff: fix uses in argument lists of pure virtuals
    * Esben Mose Hansen: Use config mode as fallback if no module is found, and set package_DIR in all cases where a module was not found
    * David nolden: Turn an assertion into a warning BUG: 236411
    * Niko Sams: Remove support for building the whole extragear/sdk.
    * Kovarththanan Rajaratnam: Remove FindCppUnit.cmake now that the CppUnit plugin no longer exists
    * Kovarththanan Rajaratnam: Remove FindCheck.cmake now that the Check plugin no longer exists
    * Andreas Pakulat: Increase version number
    * Niko Sams: Quote variable expressions correctly.
    * Milian Wolff: set invalid range on final location of problem when include path resolver found more paths than the build manager
    * Andreas Pakulat: Fix kdevelop app icon for windows.
    * David nolden: Use a mutex to prevent setupStandardMacros() and setupStandardIncludePaths() from being called multiple times at the same time, preventing a crash.     BUG: 236434
    * Bertjan Broeksema: Fix compile warnings related to deprecated hash_map
    * Andreas Pakulat: Also search for qmake-qt4

KDevelop-PHP 1.0.1 Changelog

    * Milian Wolff: fix compile
    * Milian Wolff: remove includebuilder
    * Milian Wolff: support $a->{$...}
    * Milian Wolff: dont fail parsing on $c::func(); or $c::const; BUG: 244076
    * Milian Wolff: fix use builder in static member arrays
    * Milian Wolff: remove obsolete cmake file that never got run in the first place
    * Milian Wolff: fix build of stable, we don't depend on kdevelop-pg-qt there
    * Milian Wolff: fix logic to find already up-to-date files in the parsejob
    * Milian Wolff: don't start include parsejob when there is already a background parsejob for that file, should prevent deadlock
    * Milian Wolff: invalidate declaration done in method body when it got added to class body
    * Milian Wolff: don't search in parent contexts for variables
    * Niko Sams: Improve implementation helper: don't add return statement for void functions
    * Niko Sams: Fix implementation helper for static methods
    * Niko Sams: increase version number
    * Niko Sams: Remove support for building the whole extragear sdk.

KDevelop-PHP-Docs 1.0.1 Changelog

    * Milian Wolff: remove cmake_minimum_required, obsolete (due to KDE requirement) and breaks build when po files are included
    * Niko Sams: Remove support for building the whole extragear sdk.


Want to comment? Send me an email!

Comment by Rathnadhar (not verified) (2010-08-21 18:32:00)

First I must thank you for the effort you have put in getting Kdevelop4 off ground. I read somewhere its 4 years of work..gosh that is a lot.

Of late i have switched to eclipse + CDT for my C++ work. I would not say its a great platform…but it has one great advantage…towering over all other IDEs I have seen, it has got tons and tons of plugins. I am falling in love with these plugins as they make my work easier and help me concentrate on my work.

One drawback on Eclipse is that is tuned to Java and its slow….but still suffice…

I downloaded and built the Kdevelop4 … sorry to say that build was a big pain…especially plugins…they are broken…however much i tried to build the plugins …especially cppunit, metrics, valgrind… they would not build. Even with latest downloads..they are borken…it was really frustrating …even after a build, a plugin will not show up in the environment (eg: coverage, gettersetter)…

Project integration is a long way to go…I cannot move files and rebuid the project…no support for unit testing…no refactoring…no documentation (All my code have extensive doxy-tags…I need a support like eclox in Eclipse). Rudimentary subversion support.

In the end what I get is a glorious editor and nothing else. Yes its way way faster than eclipse. BUT …I need something I use and call and IDE (rather than an editior)….. For me an IDE should have: 1. Good Code editing support. 2. Good Debugging support. 3. Good Refactoring support. 4. Good version management support. 5. Good unit test case support. 6. Good Code Documentation support. 7. If there is sql+database support, web support then its is truly fantastic.

I thought Kdevelop4 has all the above (except 7)..I am throughly disappointed….perhaps in future there will support…but for me for current for C++ i have to put with eclipse….

I wish you all the very best ….In a quarter’s time I will revisit Kdevelop4….I hope I by that time Kdevelop4 will be an IDE rather than a super browser….


Comment by Milian Wolff (2010-08-22 14:06:00)

all those plugins you talk about are in playground and unsupported and unmaintained, so no surprise that they don’t work…

regarding the rest: I agree that we need to integrate more tools, we are desperately looking forward to new contributors. The architecture would be there, someone just has to write the code.


PS: I really hope to fix the unit test plugin and make drag’n’drop work in the project view for 4.2. Lets see.

Comment by Rathnadhar (not verified) (2010-08-25 19:36:00)

Please go agile…

Fix one thing a day..however small it might be…go release it…and then take the next thing…

That way lots get done.

but at least the svn, cppunit and metrics plugin …PLEASE

Comment by ceviri (not verified) (2010-08-15 10:12:00)

good news, thanks for codes

Comment by Roland (not verified) (2010-07-30 13:49:00)

Great news, which should be on the kdevelop homepage in section “News of 2010”

Comment by Luc (not verified) (2010-07-29 18:59:00)

Thank you! Keep up the good work!

Namespace alias auto-completion still missing / doesn’t work :( I hope it will be fixed in the next iteration though :)

Comment by Milian Wolff (2010-07-30 19:38:00)

it will, someone just stepped up with a patch for that :)


Comment by Luc (not verified) (2010-08-03 13:26:00)

Thank you! Wishing you the best! KDevelop rules :p

Comment by Milian Wolff (2010-07-31 15:59:00)

merged in git now, 4.0.2 should have it - at least for global namespace aliases. Local (i.e. inside a function body) are still somewhat broken and I hope the Author of the aforementioned patch will improve that situation as well.


Comment by tanuki (not verified) (2010-07-27 19:35:00)

Nice, but on thing remained. Same as in 4.0.0 kdevelop always exits with a segfault. Not really a problem since it happens when I quit anyway, but does not really invoke much trust in the code.

Btw. another question: The Context Browser plugin. On one hand an absolute useful plugin, on the other hand that annoying, that there is no alternative for me than to disable it. Would it be possible to change it that it does NOT use tooltip like popups wherever I move the mouse? Or at least do it only when, e.g. simultaneously the shift key is pressed?

Comment by Milian Wolff (2010-07-27 21:09:00)

That segfault is afaik fixed in a not-backportable way for KDevelop 4.1, stay tuned.

Regarding the other behavior: You’ll have to report such wish requests on, not in our blogs. And note that it will probably be very low priority as you are the first who is annoyed by that.

Comment by Tanuki (not verified) (2010-07-28 03:58:00)

And note that it will probably be very low priority as you are the first who is annoyed by that.

Yep. that’s why I don’t bother to register and fight against the probably existing captcha there. Too much effort for no expected results. These are not real bugs, but IMHO unfortunate design decisions someone made at some point and therefore are usually there to stay. So there are only three possibilities: Live with it, fix it myself, or use another IDE. I hate it, but currently it is eclipse for me. I loved kdevelop 3 and check out kdevelop 4 from time to time.

Comment by Tanuki (not verified) (2010-07-27 21:04:00)

Oh yes, forgot. The constantly running progress indicator for the indexer should be removed, too. Blinking, moving, popping. We need an adblock for kdevelop. Wonder why every useful program is sooner or later turned into a jukebox.

Comment by Milian Wolff (2010-07-31 16:00:00)

We’ll try to improve the progress indicator by introducing a (0.5s?) delay before showing it.

Anyhow, you have to report such issues on not in my blog. And the last sentence you can keep for yourself, that is simply inappropriate.

Comment by Tanuki (not verified) (2010-08-03 11:48:00)

And the last sentence you can keep for yourself, that is simply inappropriate.

You are right. I am sorry. It is just the disappointment. kdevelop 3 was IMHO just perfect. It might be a very small thing and sound stupid but the progress indicator makes kdevelop 4 unusable for me. I am constantly distracted from the code by something moving in the corner of my eye.

So since I cannot use kdevelop 4 and kdevelop 3 is more and more outdated and gets harder to maintain, I was looking for a replacement. Without naming some, which did not compile or constantly crashed only codeblocks and eclipse remained as remotely acceptable. codeblocks lost because of too limited key configs and in eclipse the inferior code folding feature sucks. Btw. eclipse also has some sort of progress indicator, but it isn’t as often active and when it is, it is much less intrusive. Nevertheless, I’d like to get rid of eclipse as soon as possible.

Actually I am thinking of searching the prograss indicator in kdevelop 4 and just ‘hide()’ it. I don’t think it provides an information, which I need.

Maybe I can even patch the Context Browser plugin to popup only when simutaneously the shift button is pressed. But I can live without this plugin.

Comment by Milian Wolff (2010-08-03 19:00:00)

Note: I just fixed the progressbar. It’s now only showing after a delay of 0.5s which works fine for me with small to medium sized source files.

And KDevelop 3 is essentially unmainted, I don’t know a single developer spending time on it.

Regarding the context browser: I’d welcome a patch that disables the mouse-hovering, maybe via a hidden configuration (i.e. not via UI but by editing the kdeveloprc direclty).


Comment by Tanuki (not verified) (2010-09-06 22:27:00)

Hi, took me some time. I am using Gentoo and they f***ed things up regarding kdevelop. But now I have compiled and installed it myself and was able to do some changes.

As I said, I switched off the context browser. I really don’t need it. But I still might look into it though I never wanted to delve that deep into the code.

Hehe, and in backgroundparser.cpp BackgroundParser::updateProgressBar I simple commented out the emit. No progressbar anymore and no really noticeable problems.

Another annoyance was the missing declaration popup. Neutered in languages/cpp/cppduchain/missingdeclarationassistant.cpp Or is there a way to switch it off properly?

I am now working for several days with this custom kdevelop and I must say…. perfect. So regardless of these small glitches… good job :-)

Comment by irshad (not verified) (2010-07-27 08:11:00)

It seems like there is a lot of activity going on in the project. Great. But I usually check the ChangeLog in the home page of, and the most recent change log entry is dated to May 12th 2010. I’d be very happy if someone can keep it updated. Thanks.

Comment by Milian Wolff (2010-07-27 13:19:00)

Yeah I already notified Amilcar but he was on vacation or something…


Comment by bretzel (not verified) (2010-07-26 15:14:00)

Many thanks to all of you KDevelop coders. Building it. Regarding comment for features by Alex: In contrary, “Rainbow” colors should stay. — But we should have access to the colors definitions in KDevelop preferences dlg. You could disable that ‘Rainbow’ or define your own colors(-gradients) ..and adding grades for colorizing relations between members methods scope { direct class members, immediate parent ‘s members, and so on… } About the variables, local vars “Rainbow” are still a good idea because it helps me recognize it very fast that the var is not a class attribute into a long & complex function/method.

That’s it I am (corrupted) addicted to KDevelop since kde1.x !!!!

Waiting for extragears to make it into KDevelop officials

Comment by Alex (not verified) (2010-07-22 21:20:00)

Thank you very much, building right now. :)

By the way, I think a comment of mine didn’t make it through on that other post, where you asked about improvement ideas. So I’m taking the liberty to summarize it here once more. Two things I still miss in Kdev4:

  1. I really liked the tag bars in Quanta 3.x. I didn’t only use them for HTML tags, but also for e.g. wrapping a string in a translation function and stuff like that. Very big time saver.

  2. The syntax highlighting is way over the top, in my humble opinion, and it causes a “Stroop effect” for me, meaning I have difficulties recognizing variables belonging together, because they are all rainbow-colored. I would like the variables to all have the same color, hence it would be great to have an option to disable the auto-coloring.

Comment by Alex (not verified) (2010-07-22 21:31:00)

Oops, forget the part about the other comment gotten lost, I see now that the comments here are in reverse order. Sorry for spamming. :)

Comment by Andreas (not verified) (2010-07-21 22:43:00)

Congrats for doing your first release. Seems it worked out well and I love the work you’ve put into the changelog, really good even if its just git’s shortlog.

Comment by AnT (not verified) (2010-07-21 19:04:00)

Thank you very much to all working on this wonderful IDE. It’s simply the best IDE for C++. BTW are there any news on Java support progress?

Comment by Mage (not verified) (2010-07-31 15:11:00)

Seems to be for my new IDE for Rails 3.

I’ve tried almost all. This is the best. Thank you.

Comment by Milian Wolff (2010-07-21 19:21:00)

I fixed a few things but it’s still much work, very experimental and not many features are working. I’d really like to see someone pick this up and work on it.


Comment by jospoortvliet (not verified) (2010-07-21 18:10:00)

Wow, quite a list of fixes, nice work…

Comment by Tobias Hunger (not verified) (2010-07-21 17:45:00)

Congratulations to a new release. Looking at the changelog you seem to have been busy:-)

Best Regards, Tobias

Published on July 21, 2010.