Added the option to generate a JSON summary, this feature is only available with the Pro license.
In the HTML report at most one violation of the same type per line of code will be shown for the following checks:
Added severity levels to the check configurations. Existing configuration files without severity levels configured take over the default values. If the user wants to change the severity level of a check, this can be done in the Configuration Editor.
Bugfix: checkNoInputArg↑: Scripts called from functions are now correctly considered scripts and can no longer violate this check.
v2.9.0 - November 2021
Added a Fix all button to the report. By clicking this button, all violations for a specific check in all checked files are fixed. Applicable to checks for which fixes are currently available. See Section 3.11↑.
Added a new Preference to the Preferences tab, with Smart indent files before checking enabled the Code Checker for MATLAB smart indents the selected files before checking them. See Section 3.3.4↑.
When large files are selected for checking, you are now prompted to skip or check them. You can set a default response and the threshold for what is considered a ’large’ file in the Preferences tab. See Section3.3.4↑.
Links to violations in Live Editor files no longer refer to incorrect line numbers for MATLAB R2020a and newer.
Added a parameter to checkMagicNumber↑ that lets you choose whether or not to allow whole decimal numbers.
checkFunctionIndented no longer errors when a function is completely indented and it should be.
When configured, checkSurrBySpaces now reports equals signs in for-loop definitions if they are not surrounded by spaces.
Added a New button to the Configuration tab of the GUI.
Improved support for the Simulink Model Advisor. All configurations are available as “CC4M Task” and every individual check can be configured from the Model Advisor, when using them from the “By Product” section, see 3.2↑.
Added the Preferences tab with several new preferences. See Section 3.3.4↑.
Use the Report violations when not entirely sure preference to possibly reduce the number of reported violations that are not actually violations of your coding standards. This replaces the IgnoreUnknownTypeVariables parameter of reportBinaryExpressions and the IgnoreUnknownTypeCells parameter of reportCellArrays.
The Any option was added to parameter Location of checkCopyrightNotice ↑ that allows the copyright notice to be placed at the top, before the main code, or at the bottom.
Added a parameter tocheckLoopIteratorNaming↑ that lets you choose whether or not to use subsequent alphabetical starting letters for iterator names in nested for-loops.
Added a parameter to checkSurrBySpaces↑ that checks whether equals signs in Name=value syntax introduced in MATLAB R2021a are surrounded by spaces or not.
Improved detection of data types of variables, most notably for inputs of local and nested functions. This reduces the number of incorrect results, especially for struct-related checks. See Appendix B↓.
Added the MAB predefined configuration file. See Chapter 5↑.
Added two parameters to checkOneStatementPerLine↑ that lets you choose whether or not multiple global or persistent variables are allowed to be declared on a single line.
Added two parameters tocheckLoopIteratorNaming↑ that lets you define a minimum length for iterator variable names, and that lets you choose whether or not to use the casing parameters for variable casing.
The lowercasing option was added for all casing checks (see Section 3.7.76↑).
Implemented limited object detection (see Chapter Considerations and known limitations↑). This means that assigning property values is no longer in all cases reported as a struct field declaration/assignment.