Over a million developers have joined DZone.

Sonar 1.12

DZone's Guide to

Sonar 1.12

Free Resource

The Sonar Team is pleased to announce the 8th and last major Sonar release of the year.  Here is a summary of the new features included in the release :

Users, groups and project roles

Ability to manage credentials at project-level. Sonar now embarks a complete user management mechanism to secure any Sonar instances by defining who can access and administer each project. User management is both simple and flexible : add new users, group them and associate them project roles : Administrator, User or Source code viewer.



Project Roles

Highlighted code syntax

Because code is not just a bunch of plain black text, it becomes pleasant to read it and it’s now much easier to eradicate commented-out lines of code (see line 97) :

Highlighted code syntax

Ignore violations with the new ‘//NOSONAR’ comment

The NOSONAR tag tells Sonar to ignore all violations on a specific line whatever rule engines are being used to scan code. Of course, Sonar is still able to manage widely used //NOPMD and //CHECKSTYLE:OFF … ON. We have simply added a native way to manage false positives. This feature is a real improvement for users that have activated Findbugs rules as there was no clean way to tag a Findbugs as a false positive : there is now ‘//NOSONAR’.


Better source viewer

As surprising as it can be, the full package name was not displayed in previous versions : it is fixed now. Moreover the number of public APIs is added to the header. In Sonar, a public API is either a non empty public constructor or a public method that is not an accessor and does not starts with the ‘@Override’ annotation.

Source viewer

Quickly get the key of the rule that has been violated and click to get the full description :

Rule description

You can read the release notes to find out more on the 62 issues that are being fixed in the release… or you might want to give it a go right now !


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}