## CodeScanner Release Notes v2.1.2

- Changes from Previous Releases
- What's new
- Fixed bugs and workarounds
- Technical support

### Changes from Previous Releases

- Added support for the following IAD user-defined rules. The new rules include:
  - <flags> - new IAD rule to check flag usage
  - <crepository> - new IAD rule to check Central Repository usage
  - <customizableicons> - new IAD rule to check customizable icons
- Added support for Knowledge Base Scanning, the ability to scan code and detect possible API issues related to a specific SDK, for example when porting to a new Touch UI SDK. For each SDK, specific porting information is defined as a set of rules specified in XML files. CodeScanner can merge these into the existing set of CodeScanner rules for scanning operations. The results are displayed in the Console view and as information markers in source code.

#### 2.1.1

- Added support for user-defined rules. This can be done by adding a <customrules> element to the configuration file.
- When scanning with low severity rules, CodeScanner now generates informative messages instead of warnings when the StdOut output format is selected.
- Added support to disable individual error/warning via CodeScanner command embedded in comments.
- Added new rule to check whether Cancel() function is called in active object's destructor.
- Updated active object checking rule to ignore After() from RTimer type member variables.
- Updated to skip excluded folders specified in configuration file when generating component summary reports.

#### 2.1.0

- Updated to skip excluded folders specified in configuration file when generating component summary reports.
- Updated configuration file format to allow passing arguments to CodeScanner. One can now add an <arguments> element to the
  configuration file.
- Added new rule to check stack-based resource objects not put on the cleanup stack.
- Added new rule to check inheritance order of M and C classes.
- Updated rule for L-functions that cannot leave. It is now possible to specify functions to be ignored by this rule in the
  configuration file. This is done by adding a <LFunctionIgnoreRE> element to the <LFunctionCantLeave> script element.
- Updated description of rule for badly-named enum members.
- Updated NULL equality check rule to ignore pointer comparisons with NULL inside various __ASSERT_XXX() macros.
- Removed duplicate rule for hard-coded external drive letters.
- Improved rule for accessing array element by [] without checking range.

#### 2.0.9

- Updated check for Open() to allow assignment of return value on a different line.

#### 2.0.8

- Updated check for C class not inheriting from another C class.
- Updated check for ignored Open() return value.
- Fixed a bug where some scripts cannot be disabled from the configuration file.

#### 2.0.7

- Updated standard console output to include severity level and category information in the error/warning messages.
- Incorporated Psyco module to improve scanning performance. Please refer to the document "MIT license.txt" for licensing info.

### What's New

- Added support to disable individual error/warning messages via CodeScanner command in comments.
- Added support to scan code for porting issues related to new SDKs.

### Fixed bugs and workarounds

- Complete list of CodeScanner bugs fixed

Workarounds for known issues:

- none to mention

### Technical support

The following support services are available:

- Customer feedback - send your comments and suggestions to feedback.carbide@nokia.com