Roughly half a year and over a thousand commits after the first stable release, the KDevelop hackers are proud and happy to announce the release of KDevelop 4.1, the first of hopefully many feature releases. As with the previous bugfix releases, we also make available updated versions of the KDevelop PHP plugins.

KDevelop 4.1 is more stable and polished than 4.0; we suggest everyone should update to this new version.

Here are some statistics to show you how active the last months were for us:

New Features

KDevelop 4.1 comes with a list of new plugins and feature additions, which explains the growth of the KDevplatform codebase.

Git

Git integration (click image for larger version)

In addition to the SVN and CVS integration that was already shipped with KDevelop 4.0, KDevelop 4.1 finally supports Git natively.

That means that we have support for the basic features for management of a VCS-controlled project, like moving, adding and removing files inside the project. Additionally we integrate the basic VCS features like comparing and reviewing local changes, sending our changes back to the server, updating the local checkout and annotating files.

Additionally, there are two features that are unique to the Git support, which are Branch Management and Stash Management. The former lets the user switch branches easily, while the latter can be used to stash the current project changes in case there's something else to work on first. (For more information, check "git branch" and "git stash" help pages).

Patch Exporting

Whenever you're reviewing your changes, e.g. by comparing to a remote VCS server, you are now able to ask KDevelop to publish your changes using different methods like e-mail, pastebin or ReviewBoard. This can be considered the first social feature in KDevelop and we hope to see more of these in the future.

External Scripts

If you used to run scripts through an external console, KDevelop 4.1 now has a plugin just for you: The external scripts plugin lets you run arbitrary shell commands or external tools directly from inside the IDE. You can pipe editor contents into those tools and/or let your editor contents be replaced by the outputs of the external command. Alternatively, you can just see the output in a toolview.

This is a useful addition to Kate scripts, and makes it simple to compile simple "Hello World"-style applications, support arbitrary build scripts or run external helpers like linters, beautifiers. Or you could use it to paste selected text to a pastebin server. As you see, this plugin should increase the versatility of KDevelop greatly and help users of software that is not (yet?) integrated into KDevelop natively.

Project Fetching

With KDevelop 4.1, you are now able to import remote projects and start working on them directly. You can transparently create a local checkout of a SVN or CVS repository or clone a Git repository for example. For KDE projects, there is even a special provider that simplifies it even more to checkout a module to start working on it.

Hex Editor

Hex editing in KDevelop (click image for larger version)

Developers who work on input and output of files can now view and edit all files as raw data directly in KDevelop simply by selecting "Open as Byte Array" in the context menu of all file listing sidebar tools, thanks to the new Okteta plugin for KDevelop. It reuses the components of the Okteta program and in this first version already makes many of them available, including the great Structures tool.

PHP 5.3 Support

The PHP plugin for KDevelop has seen some work to support PHP 5.3 features. It now supports new syntax like goto, late static binding, closures, nowdoc and quoted heredocs, and namespaces. The latter is not yet perfectly supported, but this should improve over time.

More

There have been many more internal changes to the KDevelop codebase making it more robust and stable than ever. The features you found in KDevelop 4.0 have been polished and are better than ever.

Fixed a common crash on shutdown (which never resulted in data losses but was very annoying)

You can now select messages from the Build, Execute and Debug toolviews and copy them to the clipboard

Get It!

We invite everybody to get a copy of the source code from KDE mirrors or install packages from distributions. We wish you all many happy hacking hours. If you run into problems or have questions, do not hesitate to contact us either in #kdevelop on freenode, via Bugzilla or on our mailing lists.

I am using KDevelop for several years and really like it. The kdevelop 4.x series is a big leap forward. Its understanding for C++ is superb and programming with such support is a pleasure.

In particular, I like that KDevelop's parser understands the meaning of the underlying objects. Auto-completion just works (which saves a lot of time), refactoring is extremely helpful (and a real time-saver, too) and the syntax highlighting is very well.

The only problem I had with the 4.0.x series were random crashes here and there. However, using the 4.1 betas these seemed to be solved.