kde Syndicate content

» KDevelop 4.1.2 released

Fri, 01/14/2011 - 17:55

Good news everyone, part 1 for today:

I’m happy to announce the immediate availability of KDevelop 4.1.2, a pure bug fix release without new features. Anyone using the 4.1 branch is urged to upgrade to this new version as soon as possible. Keep in mind that if you are using KDE 4.6 or higher, you need the 4.2 branch. This release works fine with KDE 4.4 or 4.5 though.

Note: This is - probably - the last release in this branch. We are now concentrating on 4.2 and what will become 4.3 eventually.

Download

You can grab the source tarballs at the usual location: http://download.kde.org/download.php?url=stable/kdevelop/4.1.2/src/

Packagers will hopefully update the distributions, hence most people should get this release automatically via a software update.

Changelog
  1. ChangeLog for KDevPlatform v1.1.2
  2. =================================
  3.  
  4. * Milian Wolff: make sure we generate colors in the ctor (undelayed)
  5. * Milian Wolff: properly emitResult when internal SVN job failed, prevents indefinite wait in isVersionControlled on invalid URLS
  6. * Nicolás Alvarez: Simplify code in DUContextDynamicData assertion.
  7. * Milian Wolff: make sure we don't think a project is still being opened when it's import was canceled
  8. * Dmitry Risenberg: Check for unloaded version control plugin in ProjectPrivate.
  9. * Nicolás Alvarez: DumpChain: avoid double quotes around indentation in debug messages.
  10. * Milian Wolff: hide non-project kcms from project config (e.g. php documentation)
  11. * Milian Wolff: backport from 1.2: safely iterate over job list where kill can delete child jobs
  12. * Andreas Pakulat: Fix link-interface
  13. * Milian Wolff: initialize even more static data in a controlled way to prevent random crashes
  14. * Milian Wolff: also init repository for modification revision sets properly
  15. * Milian Wolff: move initialization of static DUChain data to DUChain::initialize()
  16. * Andreas Pakulat: Declare the new function
  17. * Andreas Pakulat: Extract duchain-item-repo initialization into a separate function.
  18. * Andreas Pakulat: Fix a crash when loading a project, by initializing static data
  19. * Aleix Pol: When working with directories, use the actual directory to get the cwd instead of the parent.
  20. * Milian Wolff: show prefix, postfix and arguments in snippets tree view
  21. * Milian Wolff: use Disabled palette also for snippets in disabled repositoreis
  22. * Nicolás Alvarez: Fix comment typo.
  23. * Milian Wolff: sort actions by name in 'Add Tool View' context menu
  1. ChangeLog for KDevelop v4.1.2
  2. =============================
  3.  
  4. * Nicolás Alvarez: Fix build error.
  5. * Milian Wolff: set version to 4.1.2 in preparation of KDevelop 4.2 release
  6. * Aleix Pol: Applied Valentyn Pavliuchenko patch to fix GLOB_RECURSIVE behaviour.
  7. * Milian Wolff: fix entry list being empty for some Qt versions
  8. * Milian Wolff: don't try to non-text/plain cmake files (e.g. due to problematic include)
  9. * Aleix Pol: Support as variables, variables that end with a number. This small problem made macro_optional_find_package not to work, have to be careful about that.
  10. * Aleix Pol: Properly reload when a CMakeLists.txt file has been deleted from the FS. If the CMakeLists.txt wasn't found, cleanup the directory.
  11. * Aleix Pol: Also watch non-cmake directory changes.
  12. * Aleix Pol: Properly store the cached variables doc string.
  13. * Aleix Pol: Small coding style change.
  14. * Aleix Pol: When checking if a directory exists, check that it's not a root's parent. CMake returns false in that case.
  15. * Milian Wolff: backport from master: optimize: remove existing entries from the list and don't call potentially slow hasFileOrfolder over and over again on them
  16. * Milian Wolff: optimize: don't protect static getter with mutex, instead set it up in a controlled fashion
  17. * Aleix Pol: Properly add relative globs. BUG: 259099 CCBUG: 259135
  18. * Aleix Pol: Backport from master. Don't add unused stuff in the cmake project tree.
  19. * Aleix Pol: Add support for CMAKE_MATCH_* variable.
  20. * Aleix Pol: Remove useless code.
  21. * Aleix Pol: Add support for VERSION_* commands.
  1. ChangeLog for KDevelop PHP v1.1.2
  2. ========================
  3.  
  4. * Milian Wolff: Allow null as type for class constants.

» KDevelop 4.2 Beta 2 available

Sat, 01/01/2011 - 23:09

Good news everyone!

I’m happy to announce the immediate availability of KDevelop 4.2 Beta 2. This is a bugfix release over the first beta release two weeks ago. Every tester is urged to update, any updated feedback and bug reports are highly appreciated.

To download it: http://download.kde.org/download.php?url=unstable/kdevelop/4.1.81/src

Changes in KDevelop 4.2 Beta 2 since Beta 1

Highlights besides the usual bugfixes are probably the polished plugin configuration dialog as well as some performance improvements for huge projects.

  1. ChangeLog for kdevplatform v1.1.81
  2. ==================================
  3.  
  4. * Milian Wolff: set version to 1.1.81 for beta2
  5. * Milian Wolff: don't assert when a plugin gets updated from ProviderProvider to Provider or vice versa and the user forgot to rerun kbuildsycoca4
  6. * Milian Wolff: --debug
  7. * Milian Wolff: kill running import jobs for removed folders
  8. * Milian Wolff: make sure we compare dir urls with trialing slash
  9. * Milian Wolff: make sure we don't think a project is still being opened when it's import was canceled
  10. * Milian Wolff: remove dead code
  11. * Milian Wolff: move toolbutton to configure environment into it's own (reusable) class
  12. * Milian Wolff: fix: properly update outline on document change, was missing connect to signal from document controller
  13. * Dmitry Risenberg: Check for unloaded version control plugin in ProjectPrivate.
  14. * Dmitry Risenberg: Check for unloaded version control plugin in ProjectPrivate.
  15. * Milian Wolff: reintroduce the cleanup of 986ec7bb18211a7789e28c48fdc750668ae9b1d5 (no addViewSilently, no window->setArea in working set loadToArea), but fix the problem described in 2f586e506ac59153b0b95e008acc88cea490e7d3 (restoring of split views)
  16. * Nicolás Alvarez: DumpChain: avoid double quotes around indentation in debug messages.
  17. * Milian Wolff: hide non-project kcms from project config (e.g. php documentation)
  18. * Milian Wolff: properly sort kcms in settings dialog: language support user interface projects background parser source formatter environment plugins
  19. * Milian Wolff: also blacklist disabled plugins, if we now add the plugin to the X-KDE-ParentComponents of a kcm, it won't get loaded
  20. * Milian Wolff: mark generic project manager as project category, required for settings blacklisting
  21. * Dmitry Risenberg: Properly update Container's current widget when splitting views. BUG: 259908
  22. * Milian Wolff: document X-KDE-PluginInfo-Category
  23. * Milian Wolff: proper about data for cvs plugin
  24. * Milian Wolff: sort loaded plugins by name
  25. * Milian Wolff: greatly improve plugin useability by categorizing them
  26. * Milian Wolff: backport from 1.2: safely iterate over job list where kill can delete child jobs
  27. * Milian Wolff: safely iterate over job list where kill can delete child jobs
  28. * Milian Wolff: fix session-controller unit tests
  29. * Dmitry Risenberg: Check that git is installed when loading Git Support plugin. CCBUG: 257650.
  30. * Milian Wolff: remove debug I committed accidentally
  31. * Milian Wolff: port background parser away from slow QPointer to faster QWeakPointer, esp. useful for big projects
  32. * Milian Wolff: fix compilation for qt < 4.7
  33. * Milian Wolff: speed up ::index(), imo we don't need the call to hasIndex here as the itemFromIndex checks that as well
  34. * Milian Wolff: second approach: properly implement removeRows without takeRow and speed up deletion of folders containing many items
  35. * Milian Wolff: Revert "optimize shutdown for big projects with lots of items in single folders"
  36. * Milian Wolff: optimize shutdown for big projects with lots of items in single folders
  37. * Milian Wolff: Refactor context browser plugin to make it useable without a toolview.
  38. * Milian Wolff: --debug
  39. * Milian Wolff: don't overdesign the API: make setText protected, assume text == baseName for most items
  40. * Andreas Pakulat: Make the filename corner variable size instead of fixed.
  1. ChangeLog for kdevelop v4.1.81
  2. ==============================
  3.  
  4. * Milian Wolff: set version 4.1.81 for 4.2 beta2
  5. * Milian Wolff: fix entry list being empty for some Qt versions
  6. * Milian Wolff: make it possible to configure the environment from the makebuilder config kcm ui
  7. * Milian Wolff: add missing files
  8. * Milian Wolff: sort: put qthelp at end
  9. * Milian Wolff: --debug
  10. * Milian Wolff: don't load qthelp kcm if plugin is disabled
  11. * Milian Wolff: split KCM and Plugin of QtHelpPlugin, fixes crash when unloading the plugin and accessing the KCM
  12. * Milian Wolff: introduce categories
  13. * Milian Wolff: don't try to non-text/plain cmake files (e.g. due to problematic include)
  14. * Milian Wolff: update splashscreen for 4.2
  15. * Milian Wolff: optimize startup: don't use slow QWebElement.toPlainText(), instead use a simple QRegExp parser that is *much* faster
  16. * Milian Wolff: hide void-returning functions from code completion when we are inside an non-lvalue expression
  17. * Aleix Pol: Support as variables, variables that end with a number. This small problem made macro_optional_find_package not to work, have to be careful about that.
  18. * Aleix Pol: Don't propagate the URL change if the URL hasn't changed. Damn it, trailing slashes!! >.<
  19. * Aleix Pol: We don't need this recursive case anymore. The url change will be propagated by ProjectFolderItem itself.
  1. ChangeLog for php v1.1.81
  2. =========================
  3.  
  4. * Milian Wolff: set version to 1.1.81 for 1.2 beta 2
  5. * Milian Wolff: remove obsolete todo - doh
  6. * Milian Wolff: cleanup
  7. * Milian Wolff: introduce category, fix Name, remove GenericName as it's useless
  1. ChangeLog for php-docs v1.1.81
  2. ==============================
  3.  
  4. * Milian Wolff: set version to 1.1.81 for 1.2 beta2
  5. * Milian Wolff: set proper icon, use low weight
  6. * Milian Wolff: don't load kcm if plugin is disabled
  7. * Milian Wolff: introduce category, remove GenericName as it's useless and fix user-visible Name string

» KDevelop 4.2 Beta 1 released

Fri, 12/17/2010 - 22:49

Hey all,

I’m happy to announce the immediate availability of KDevelop 4.2 Beta 1. This is a testing version and any kind of feedback would be welcome and appreciated. Please use our bugtracker. You can download the sources or wait for your distribution to create packages.

Note: Anyone who runs KDE 4.6 or later needs this version (or any later). This is because the SmartRange interface in Kate got nuked and replaced with MovingRange interface. Many thanks to David Nolden for more or less single handedly porting KDevelop to this new architecture.

The good news doesn’t end here though, KDevelop 4.2 ships with lots of notable changes and new features:

  • MovingRange` support (Thanks to David Nolden)
  • Grep Plugin rewrite with replace functionality (Thanks to Silvere Lestang, Julien Desgats, Benjamin Port)
  • QtHelp plugin now supports arbitrary .qch files (Thanks to Benjamin Port)
  • ManPage plugin (Thanks to Benjamin Port, Yannick Motta)
  • new look for code assistants (Thanks to Olivier JG)
  • filter for the project model view (Thanks to Eugene Agafonov)
  • improved “Problems” toolview, along with “TODO/FIXME” browsing (Thanks to Dmitry Risenberg)
  • better standards compliance in the C++ macro implementation (Thanks to Dmitry Risenberg)
  • argument dependent lookup for the C++ plugin (Thanks to Ciprian Ciubotariu)
  • open with external application by default (esp. useful for Qt Designer .ui files)
  • PHP: rainbow colors for all vars (and no nested functions or similar), esp. useful for scripts without Classes/Functions
  • code cleanup for working sets
  • better handling of locked sessions (locked session gets activated or the user gets asked whether he wants to remove the lock file)
  • improved Snippets editing usability

Along with these big changes, lots of small improvements have been made and we will continue to polish and harden out this branch in order to give you a stable, fast KDevelop 4.2 soon. Considering the impact and amount of changes, testing would be very welcome in order to prevent regressions and similar in the final 4.2 version.

Bye and thanks again to all contributors who made this possible. I’m especially thrilled to welcome so many new people, well done!

» Third Google CodeIn Screencast - Snippets

Sun, 12/12/2010 - 19:20

Hey everyone,

the third screencast for KDevelop is in: http://blip.tv/file/4500937

It shows the advanced snippets support in KDevelop, see also: Snippets in KDevelop & Kate.

In an unrelated note: I’ll do a talk at the Computer Science faculty of the FU Berlin tomorrow, see: http://talks.spline.de/

13.12.2010, 18 Uhr, Hörsaal der Informatik

“Wie und warum man sich als Open Source Entwickler/in engagieren sollte”

Viele Studenten könnten gute Programmierer sein, aber lassen Ihr Talent ungenutzt oder stecken es in private (kleinst) Projekte und One-Man-Vaporware. Würden sie sich hingegen in bestehenden Open Source Projekten engagieren, würde ihr Lieblingsprojekt nicht nur ein Stück besser werden, sondern sie selbst gewännen dabei eine Menge. Was ein paar dieser Vorteile sind, und wie man überhaupt damit anfängt sich in einem großen Projekt zu beteiligen, möchte ich am Beispiel von KDE zeigen und hoffe, dass dadurch ein paar mehr von euch aktiv in einem FOSS Projekt mitarbeiten werden.

Anyone is invited to attend of course :)

Bye

» Should all callgrind bottlenecks be optimized?

Thu, 12/09/2010 - 19:12

Hey all,

I’d like to have some feedback from you. Consider this code:

  1. #include <iostream>
  2. #include <memory.h>
  3.  
  4. using namespace std;
  5.  
  6. struct List {
  7. List(int size) {
  8. begin = new int[size];
  9. memset(begin, 0, size);
  10. end = begin + size;
  11. }
  12. ~List() {
  13. delete[] begin;
  14. }
  15. int at(int i) const {
  16. return begin[i];
  17. }
  18. int size() const {
  19. // std::cout << "size called" << std::endl;
  20. return end - begin;
  21. }
  22. int& operator[](int i) {
  23. return begin[i];
  24. }
  25.  
  26. private:
  27. int* begin;
  28. int* end;
  29. };
  30.  
  31. int main() {
  32. const int s = 1000000;
  33. for (int reps = 0; reps < 1000; ++reps) {
  34. List l(s);
  35. List l2(s);
  36. // version 1
  37. for ( int i = 0; i < l.size(); ++i ) {
  38. // version 2
  39. // for ( int i = 0, c = l.size(); i < c; ++i ) {
  40. l2[i] = l.at(i);;
  41. }
  42. }
  43. return 0;
  44. }

If you run this through callgrind, you’ll see quite some time being spent in l.size(), the compiler doesn’t seem to optimize that away. Now, fixing this “bottleneck” is simple, look at version 2. That way, l.size() will only be called once and you’ll save quite some instructions according to callgrind.

Now, my first impression was: Yes, lets fix this! On the other hand, this optimization is not really that noticable in terms of user-experience. So my question is: Is it worth it? Should everything one sees in callgrind that is easily avoidable and optimizable (like the stuff above) be optimized?

I ask because QTextEngine e.g. doesn’t use the optimized version and I wonder whether I should create a merge request for that. According to callgrind the difference is noticeable: One of my testcases shows ~8% of the time being spent in QVector<QScriptItem>::size() (via QTextEngine::setBoundary()). In Kate the difference is even bigger with ~16% of the time being spent in QList<QTextLayout:.FormatRange>::size() via QTextEngine::format(). Hence I’d say: yes, lets optimize that. I just wonder whether it’s noticeably in the end.

Bye

EDIT: See this comment thread for an answer.

» Second Google CodeIn Screencast: Advanced C++ Support in KDevelop 4

Tue, 12/07/2010 - 18:29

Hey all,

just a quick note: The second google code-in task for KDevelop got completed, this time by Furkan Üzümcü. He shows off some features in KDevelop 4 that together make up the advanced C++ support you can find in it. Take a look at it:

http://blip.tv/file/4479016

Thanks to Furkan and Google for doing this.

» KDevelop 4.1.1 released

Mon, 11/29/2010 - 00:26

Good news everyone!

I’m happy to announce the immediate availability of KDevelop 4.1.1, a pure bug fix release. Every user is urged to upgrade to this new and improved version.

You can download the sources from one of the mirros. Though most users should get this update via a distribution package update.

Changelog for KDevelop 4.1.1
  1. ChangeLog for kdevplatform v1.1.1
  2. =================================
  3.  
  4. * Milian Wolff: set version to 1.1.1
  5. * Aleix Pol: Make the build tool responsible for renaming the items when rename is triggered (it was already being done, but twice in abstractfilemanagerplugin).
  6. * Dmitry Risenberg: Fix line numbers in annotation bar for git. BUG:255599
  7. * Pino Toscano: i18n: do not extract messages from sources in 'tests' subdirectories
  8. * Nicolás Alvarez: Minor changes to apidox.
  9. * Aleix Pol: When removing a file or directory, check if it has git versioned stuff. In that case ask Git to remove it, otherwise trash it.
  10. * Nicolás Alvarez: Fix comment typos in iplugin.h.
  11. * ben2367: Correct FileManager contextMenu
  12. * Nicolás Alvarez: Add i18n comments to strings in codeutils plugin.
  13. * Nicolás Alvarez: DumpChain: code cleanup.
  14. * Milian Wolff: fix: don't crash when changing shortcuts without having an active document
  15. * Milian Wolff: set a proper minimum width when initializing the launch config dialog
  16. * Milian Wolff: make sure all projects are readable in launch config dialog
  17. * Milian Wolff: initialize CodeHighlightingColors after we initialized the required member vars, add test to run valgrind easily
  18. * Lambert CLARA: Fix lib APU find in FindSubversionLibrary.cmake
  19. * Milian Wolff: preserve remote parts of url of active document for 'open file' dialog
  20. * Aleix Pol: Copy the current directory instead of doing silly references.
  21. * Milian Wolff: add some icons in the launch config dialog
  22. * Milian Wolff: fix resize-to-column width algorithm and make launch config dialog have a sane size by default
  23. * Milian Wolff: disable target combobox when using custom executable
  24. * Milian Wolff: try to fix crash in KDevelop::ConfigurableHighlightingColors::getAttribute
  25. * Milian Wolff: fix up delegate deletion, prevents crash in generic manager test cases (was deleted but the static var in the getter function was not reset)
  26. * Milian Wolff: backport from master: only append subdirs to actual parent list jobs, fixes random crashes
  27. * Nicolás Alvarez: Add 'build' to .gitignore.
  28. * Milian Wolff: make project url canonical before inserting into m_currentlyOpening
  29. * Milian Wolff: don't leak temporary files
  1. ChangeLog for kdevelop v4.1.1
  2. =============================
  3.  
  4. * Milian Wolff: set version to 4.1.1
  5. * Pino Toscano: i18n: do not extract messages from sources in 'tests' subdirectories
  6. * Burkhard Lück: fix wrong usage of translation context in ui file messages to make the translated strings visible either use <string comment="bar">foo</string> or <string extracomment="@info">foo</string>
  7. * Milian Wolff: backport from master: when using parallel builds, make install with kdesudo uses a command string like: kdesudo -t -c make -j4 install
  8. * Nicolás Alvarez: Cleanup and typo fixes in code comments.
  9. * Nicolás Alvarez: Use qSwap instead of custom "tmp=a; a=b; b=tmp;" code.
  10. * Milian Wolff: fix: make sure we compare directores without slashes as KDevelop API's urls have slashes while QDir::entryInfoList will never have slashes
  11. * Aleix Pol: Provide support for break in foreach command.
  12. * Aleix Pol: comment for performance issues.
  13. * Aleix Pol: Added support for CMAKE_CURRENT_LIST_DIR variable.
  14. * Aleix Pol: When looking for cmake modules, look for the directories without lowercases. It should work too.
  15. * Milian Wolff: don't try to get namespace for dot and dotdot, prevents pesty warning:
  16. * Milian Wolff: fix: prevent crash, don't try to access duchainpointer blindly
  17. * Milian Wolff: fix: unbreak 'Force Tabs' in astyle formatter settings
  18. * Milian Wolff: fix: make sure to apply negative BlockBreakAll option
  19. * Milian Wolff: never switch to the implementation of a signal (i.e. the .moc file), instead use fallback and switch to .cpp
  20. * Milian Wolff: backport from master: disable DEBUG_UI_LOCKUP by default, if desired enabled it via cmake (BUILD_uiblocktester option)
  1. ChangeLog for php v1.1.1
  2. ========================
  3.  
  4. * Milian Wolff: set version to 1.1.1
  5. * Milian Wolff: fix: remove obsolete mention of application/x-gzip in supported mimetype list

Additional to these changes, the translations have been improved and updated.

As always, many thanks to all the contributors who made this possible.

» Google Code In: First KDevelop Documentation Screencast!

Sat, 11/27/2010 - 19:21

Woha, back when Lydia announced Google Code In and asked me whether I’d like to mentor some KDevelop projects, I wasn’t so sure this was a good thing. But then I saw that documentation could be requested from the students, and well… KDevelop 4 has no real documentation (except this) - why shouldn’t I try it?

So I put a few “screencast workflow XYZ” tasks into Google’s Melange Web Interface (which btw. sucks so much it’s incredible) and forgot about it. I didn’t really think there would be school students being interested in KDevelop, esp. not in writing documentation or doing a screencast. But thankfully I was proven wrong, and in all levels. Please behold, the first documentation screencast for KDevelop, showing you how to get started with a project, setting up a launch configuration, and doing some basic debugging:

http://blip.tv/file/4437001

I’m amazed by the quality of that video, very well done Geoffry and thanks already to Google for the Code In. Lets hope more students will provide me with such good work :) And I hope this helps some users to get started with KDevelop 4.

PS: KDevelop 4.1.1 will be anounced tomorrow, replace functionality was merged for the “Find in Files” plugin and development is actively continuing :)

PPS: We still want to improve the launch configuration dialog :D

» Quanta compiles against KDevelop master again!

Sun, 11/21/2010 - 20:57

Hey all,

another blog post today, I’m on fire :) This one is shorter though: I want to notify you all that Quanta compiles against KDevelop master again (i.e. what will become 4.2 and uses the MovingInterface from Kate).

If you are using KDevelop 4.1 and want to use one of the Quanta plugins, like XML or CSS language support or XDebug or Crossfire integration, checkout the 4.1 branch.

I hope to work more on Quanta again over the next days, hope I can finally get it into a usable state…

Bye!

» KDevelop and Kate advancements over the last weeks

Sun, 11/21/2010 - 17:38

Hey all,

I didn’t blog in a long while so I thought I’d dump some notable things I did over the last weeks. It’s probably neither complete nor thorough - you should try it all out to see it for yourself :)

Kate

Lets start small with my Kate contributions. I really concentrate on KDevelop nowadays since Kate works quite well for me and I don’t have many itches to scratch anymore :) So, what did I do these last weeks? Mostly cleanup and performance work, especially regarding MovingRanges which of course is mostly needed for a good experience in the upcoming KDevelop 4.2. With the help of Dominik Haumann I also went through our indentation unit tests and made sure we expect all currently failing test cases, as well as fixing those I could. Now we (finally!) have a passing test suite and get noticed about introduced regressions. Awesome!

KDevelop

Of course I still concentrate my contributions on KDevelop and related plugins. What I find quite interesting is that I’m now for over two months in a “polish-and-bugfixing”-mode, without adding much new features. I think that shows that I’m quite satisfied with the existing features, just not with the way they are integrated. E.g. the Kate performance improvements above were done in order to make “reformat source” not hang the IDE for a couple of seconds anymore, in KDevelop 4.2 it will only be like one second for really big source files. I’ve also tackled our black sheep, the “launch configuration” dialog. I didn’t rewrite it, but I did some polishing and have some more ideas to hopefully get it into a useable state. Oh, I just remember: I also spent some time on the “Snippets” plugin, restructured the editor dialogs a bit and made them use Katepart as well, for syntax highlighting and proper editor features :)

I generally care about small things nowadays, like e.g. that all widgets have a proper tooltip. This is also something where you all could help: If you find a widget in KDevelop master (4.2) that has no tooltip, please notify me! I’ve added those e.g. to the outline and quickopen toolbar widgets among others.

And since KDevelop 4.1 was in beta stage I’ve fixed lots of bugs and continue to do that. I triage each new bug for KDevelop/KDevplatform, request feedback and valgrind logs and try to fix whatever I can. Even now I can safely assume that KDevelop 4.2 will be more stable than 4.1, even though we did lots of architectural changes in the platform, esp. regarding MovingRanges.

And now to the last and to me most pleasing part: New features! Remember how I said I didn’t do lots of feature development at all these past days? This is basically true, instead I let others do the work :) We really get more and more patches and merge requests by other people, and I did merge quite some changes already. We have an improved “find in files” plugin now, and the French students are working hard on giving it replace functionality as well! We already merged their improved QtHelp plugin that gives you the ability to integrate arbitrary .qch files into KDevelop, e.g. the KDE Api documentation. They also work on [man integration](, which will be a joy for all STD C / C++ developers.

Furthermore we now have a “Filter…” line edit above the project manager view, “Argument Dependent Lookup” for the C++ plugin, a much improved “Problems” toolview, with the ability to show TODOs etc. pp.

This is just from the last few weeks, and it’s work done by many new contributors. It’s really very cool to see this happening.

Oh, and I personally worked a bit on the QMake support for KDevelop, I’m not sure whether I will manage to get this into a usable state for KDevelop 4.2, but I already use it at work.

Which brings me to the last part of this blog post, release schedules! I’ll finally release a KDevelop 4.1.1 bug fix version next week, and will make sure that there is a 4.2 release just before / shortly after the KDE 4.6 release in January. The big “issue” there is that KDevelop 4.1 will not work with KDE 4.6+, since there are no SmartRanges in Kate from 4.6 anymore. So a big fat warning to any adventurous tester out there: If you want to try KDE 4.6 betas, remember that you’ll have to get KDevelop master (== 4.2) as well somehow!

So, that’s it for now, have a nice sunday everyone :)