New in version 2023.3
Version 2023.3 of Qodana contains new things, such as:
The Qodana Community for .NET linter is available starting from this version of Qodana
Code coverage is now available for the Qodana for .NET, Qodana for Python, and Qodana for Go linters
The native mode is now available for the Qodana for .NET linter
The Qodana for .NET linter now supports the license audit feature
The vulnerability checker feature now contains additional inspections
Inspection update
Several new inspections are now available across all Qodana linters as per 2023.3:
Id | Description | Severity | Default mode |
---|---|---|---|
| Invalid |
| Disabled |
| Invalid |
| Disabled |
This inspection was removed from all linters.
Id | Description | Severity | Default mode |
---|---|---|---|
| Vulnerable imported dependency |
| Disabled |
Qodana for JVM
Several inspections have been added to the Qodana for JVM linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Invalid |
| Disabled |
| Invalid |
| Disabled |
| Incorrect use of |
| Disabled |
| Call to |
| Disabled |
| SequencedCollection method can be used |
| Disabled |
| String template can be used |
| Disabled |
| Lombok |
| Disabled |
| Redundant embedded expression in string template |
| Disabled |
| Vulnerable API usage |
| Disabled |
|
|
| Disabled |
| OpenAPI documentation for current module is outdated |
| Disabled |
| Ktor application.yaml |
| Disabled |
| Unknown inspection id in meta information |
| Disabled |
| Eager creation of action presentation |
| Disabled |
| Application service assigned to a static final field or immutable property |
| Disabled |
| Incorrect service retrieving |
| Disabled |
| Listener implementation implements |
| Disabled |
| Simplifiable service retrieving |
| Disabled |
| Static initialization in extension point implementations |
| Disabled |
| Use |
| Disabled |
| Incorrectly referenced bean in @Scheduled annotation |
| Enabled |
|
|
| Enabled |
Here is the list of inspections that are no longer present in the Qodana for JVM linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Duplicate targets |
| Disabled |
| Missing properties file |
| Disabled |
| Ant references resolve problems |
| Disabled |
| Java annotator |
| Disabled |
| Constructor returns primitive value |
| Disabled |
| Eager creation of action presentation |
| Disabled |
| Application service assigned to a static final field/property |
| Disabled |
| Incorrect or simplifiable retrieving service |
| Disabled |
| Use |
| Disabled |
| Spring facet programmatic configuration |
| Enabled |
Qodana Community for Android
Several inspections have been added to the Qodana Community for Android linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Call to |
| Enabled |
| SequencedCollection method can be used |
| Disabled |
| String template can be used |
| Disabled |
| Redundant embedded expression in string template |
| Disabled |
|
|
| Disabled |
Qodana for Go
Several inspections have been added to the Qodana for Go linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Invalid |
| Disabled |
| Invalid |
| Disabled |
| Missing |
| Enabled |
| Vulnerable API usage |
| Enabled |
Here is the list of inspections that are no longer present in the Qodana for Go linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Constructor returns primitive value |
| Disabled |
| Vulnerable imported dependency |
| Disabled |
Qodana for JS
Several inspections have been added to the Qodana for JS linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Invalid binding type |
| Disabled |
| Inaccessible component member or directive input |
| Disabled |
| Invalid usage of imports in non-standalone components |
| Disabled |
| Invalid |
| Disabled |
| Invalid |
| Disabled |
| Vulnerable API usage |
| Enabled |
Here is the list of inspections that are no longer present in the Qodana for JS linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Inaccessible component member in AOT mode |
| Disabled |
| Constructor returns primitive value |
| Disabled |
| Vulnerable imported dependency |
| Disabled |
Qodana for PHP
Several inspections have been added to the Qodana for PHP linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Invalid |
| Disabled |
| Invalid |
| Disabled |
| Method does not override the method from its superclass |
| Enabled |
|
|
| Disabled |
| Field reference does not match object shape |
| Disabled |
Here is the list of inspections that are no longer present in the Qodana for PHP linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Constructor returns primitive value |
| Disabled |
Qodana for Python
Several inspections have been added to the Qodana for Python linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Invalid |
| Disabled |
| Invalid |
| Disabled |
| Vulnerable API usage |
| Disabled |
| Invalid usage of new-style type parameters and type aliases |
| Enabled |
| Invalid usages of |
| Enabled |
| Fixture is not requested by test functions |
| Enabled |
| Vulnerable API usage |
| Enabled |
Here is the list of inspections that are no longer present in the Qodana for Python linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Constructor returns primitive value |
| Disabled |
| The |
| Disabled |
| Vulnerable imported dependency |
| Disabled |
Qodana for .NET
Several inspections have been added to the Qodana for .NET linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Dictionary item removing can be simplified with single |
| Enabled |
| Dictionary lookup can be simplified with |
| Enabled |
| Can simplify |
| Enabled |
| Replace |
| Enabled |
| Possibly incorrect assignment to local which is the argument to a |
| Enabled |
| Parameter is captured into the state of the enclosing type and its value is also passed to the base constructor. The value might be captured by the base class as well. |
| Enabled |
| Parameter is captured into the state of the enclosing type and its value is also used to initialize a field, property, or event. |
| Enabled |
| Primary constructor parameter is shadowed by a member from base type. |
| Enabled |
| Inline array indexer will not be used for element access expression. |
| Enabled |
| Inline array |
| Enabled |
| Inline array conversion operator will not be used for conversion from expression of the declaring type. |
| Enabled |
|
|
| Enabled |
| The |
| Enabled |
| The |
| Enabled |
| Argument should be a variable because it is passed to a |
| Enabled |
| Argument should be passed with the |
| Enabled |
| Reference kind modifier of parameter doesn't match the corresponding parameter in overridden or implemented member. |
| Enabled |
| A default value is specified for |
| Enabled |
| Database function must not be called in non-database context |
| Enabled |
| The relationship defined by this property contributes to a dependency loop |
| Enabled |
| Possible performance issues due to unlimited string length |
| Enabled |
| Function is not convertible to SQL and must not be called in the database context |
| Enabled |
| Use collection expression syntax |
| Enabled |
| Use alias |
| Enabled |
|
|
| Enabled |
| Disposal of a variable already captured by the |
| Enabled |
| Meaningless |
| Enabled |
| Local variable hides primary constructor parameter |
| Enabled |
| Return value of a method annotated with |
| Enabled |
| Return value must be disposed but the method or function is not annotated with |
| Enabled |
| Return value of a property must be disposed by the callee |
| Enabled |
| Parameter hides primary constructor parameter |
| Enabled |
|
|
| Enabled |
| Vulnerable API usage |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| Multi-character character literal |
| Enabled |
| Multi-character wide character literal |
| Enabled |
| Missing a matching |
| Enabled |
| Missing a matching |
| Enabled |
| Conditional expression can be simplified |
| Enabled |
| Redundant conditional expression |
| Enabled |
| Keyword |
| Enabled |
| Method bound to delegate is not marked with |
| Enabled |
| Invalid |
| Disabled |
| Invalid |
| Disabled |
| Check .NET source code coverage |
| Disabled |
| Check dependency licenses |
| Disabled |
| Check module licenses |
| Disabled |
| Check third party software list |
| Disabled |
Here is the list of inspections that are no longer present in the Qodana for .NET linter:
Id | Description | Severity | Default mode |
---|---|---|---|
| Instance of |
| Enabled |
| Redundant set |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| No description |
| Enabled |
| Constructor returns primitive value |
| Disabled |