You’d think I’d be done. There’s no more left to say about differentials, right? Wrong. If this were an infomercial, it would be now that I’d say “but wait, there’s more!” This time I’ll talk about the last few pieces of the differentials story I haven’t told you yet: alerts; filter values; extra differential periods; and version differentials, and about how to use them effectively.

The Sonar team is proud to announce the release of Sonar 3.2. This new version includes new features that we believe are worth stopping your daily work for a couple of minutes to check out: improve usability and and speed of administration to increase productivity, new differential period ‘Since Previous Version”, new rules on coverage, comments…

The team has been working for the last 2 years on Sonar 2.x versions, adding support for Continuous Inspection to manage Technical Debt. With Sonar 2.14, we felt that we had reach functional maturity for this support and that adding stability would make it a great candidate for a major release: Sonar 3.0.

Along with the new version, SonarSource is also launching a new commercial plugin, the Developer Cockpit, which enables each developer to see his own contribution, and a new web site.

But let’s come back to the specifics of Sonar 3.0: this new version includes 40+ improvements and fixes 40 bugs, that are described below in screenshots:

Last month, Sonar 1.6 was released. The main feature of the new version is the ability to manage quality profiles. The purpose of this post is to explain what gap the functionality fills, to define what is a quality profile and to explain how to use it.
Prior to Sonar 1.6, it was only possible to run analysis with one set of defined coding rules per instance of Sonar. It means that within an instance of Sonar, it was not possible to process differently various types of projects (legacy application, technical libraries, new projects, …). They were all analyzed with the same set of rules. Therefore there was sometimes unnecessary noise around the quality data that made it difficult to see quickly what real action was required. Sonar 1.6 turns off this noise by allowing to define and simultaneously use several quality profiles.

Sonar 1.6 has been released. On top of various bug-fixes and several improvements, it contains 3 new major features related to the management of quality profiles.

Define measure thresholds

It is now possible to define thresholds and to trigger alerts on metrics, for example if the code coverage is less than 35% or if complexity by class is greater than 40… On any metric, there are two levels of thresholds : warning and error

I have spent roughly 10 years in software development, continuously aiming to improve team collaboration. Two months ago, I was convinced that we had a complete set of very good tools for Sonar development, and that even if they were not the bests, switching would not make a big enough difference to be worth it. In other words, I could not possibly imagine that we might adopt instantaneously a $75 product, wondering two days later how it was possible to not have it before.

The miracle product is called Balsamiq Mockups. That’s a pretty simple Flash application, with a minimalist user interface, allowing to draw almost any kind of graphical interfaces in minutes just like if you have a pencil in hand. I know what you think : PowerPoint or OpenOffice Presentation are good enough to design mockups. I thought so too… Give a try to Balsamiq and I bet you’ll fell in love in less than 5 minutes.

SonarQube is an open platform to manage code quality. As such, it covers the 7 axes of code quality:

Extend with plugins

Covering new languages, adding rules engines, computing advanced metrics can be done through a powerful extension mechanism. More than 50 plugins are already available.

Languages covered

More than 20 programming languages are covered through plugins including Java, C#, C/C++, PL/SQL, Cobol, ABAP…

In 3 clicks

SonarQube has got a very efficient way of navigating, a balance between high-level view, dashboard, TimeMachine and defect hunting tools. This enables to quickly uncover projects and / or components that are in Technical Debt to establish action plans.

Quality is central

SonarQube is a web-based application. Rules, alerts, thresholds, exclusions, settings… can be configured online. By leveraging its database, SonarQube not only allows to combine metrics altogether but also to mix them with historical measures.

SonarQube 4.3.3 – July 31, 2014
Alert concept is replaced by Quality Gate concept. Technical Debt is now displayed everywhere in a user-friendly format which allows to work with durations in hours/minutes and not only in days. Clouds page has been replaced by a more configurable Cloud widget. When upgrading a language plugin, the relating SQALE analysis model is also updated (except for the users of the SQALE plugin and when the default SQALE model has been overridden).Download (md5) – Screenshots – Release notes- More details

This plugin provides a comprehensive integration of SonarQube in Eclipse for Java, C/C++ and Python projects. The objective of this integration is to remove the requirement that developers leave their favorite IDE to manage their source code quality.Documentation

SonarQube Plugin for Intellij IDEA

This plugin provides a comprehensive integration of SonarQube in IntelliJ IDEA for Java projects. The objective of this integration is to remove the requirement that developers leave their favorite IDE to manage their source code quality.Documentation

SonarLint for Visual Studio

SonarLint is a Visual Studio 2015 extension that provides on-the-fly feedback to developers on new bugs and quality issues injected into C# code..Web Site

License

SonarQube is distributed under the GNU Lesser GPL License, Version 3, under Swiss law. You may not use this application except in compliance with the License. You may obtain a copy of the License at http://www.gnu.org/licenses/lgpl.txt. The original GNU license from which this lesser license is derived can be found here. By downloading SonarQube software, you agree to the terms of this Lesser GPL v.3 license and that you are entering into a license agreement with a company located in Switzerland. Unless required by Swiss law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.