Sonar Python Versions Save

:snake: SonarQube Python plugin

4.18.0.15334

6 days ago

Release notes - SonarPython - 4.18

False-Positive

SONARPY-1777 S1128: Do not raise an unused import on from sklearn.experimental ...

New Feature

SONARPY-1768 Rule S6969 : "memory" parameter should be specified for Scikit-Learn Pipeline

SONARPY-1770 Rule S6971 : Transformers should not be accessed directly when a Scikit-Learn Pipeline uses caching

SONARPY-1771 Rule S6972: Nested estimator parameters adjustment in a Pipeline should refer to valid parameters

SONARPY-1775 Rule S6973 : Important hyperparameters should be specified for Scikit-Learn estimators

SONARPY-1780 Rule S6974: Subclasses of Scikit-Learn's "BaseEstimator" should not set attributes ending with "_" in the "__init__" method

Improvement

SONARPY-1769 Modify S6709: To include Scikit learn

4.17.0.14845

1 month ago

Release notes - SonarPython - 4.17

Bug

SONARPY-1732 Fix non-determinism on S2638 when positional-only parameters have no name available

New Feature

SONARPY-1647 S6929: The axis argument should be specified when using reduction operations

SONARPY-1648 S6928: Python side effects should not be used inside a tf.function

SONARPY-1649 S6908: tf.function should not be recursive

SONARPY-1650 S6911: tf.function should not depend on global or free python var

SONARPY-1652 S6918: "tf.Variable" objects should be singletons when created inside of a "tf.function"

SONARPY-1654 S6919: The input_shape parameter should not be specified for tf.keras.Model subclasses

SONARPY-1657 S6925: The validate_indices argument should not be set for tf.gather function call

Improvement

SONARPY-1686 Define sonar.python.version as a public property

4.16.0.14672

2 months ago

Release notes - SonarPython - 4.16

False-Positive

SONARPY-1685 Fix FP on S6742 when DataFrame class is not a pandas's library class

New Feature

SONARPY-1636 S6903: Using timezone aware "datetime"s should be preferred over using "datetime.datetime.utcnow" and "datetime.datetime.utcfromtimestamp"

SONARPY-1637 S6894: A date should be formatted correctly when using "pandas.to_datetime" with "dayfirst" or "yearfirst" arguments

SONARPY-1639 S6882: Constructor attributes of date and time objects should be in the range of possible values

SONARPY-1640 S6883: The 12-hour format should be used with the AM/PM marker, otherwise 24-hour format should be used

SONARPY-1643 S6900: Numpy weekmask should have a valid value

SONARPY-1644 Rule S6890: zoneinfo should be preferred to pytz when using Python 3.9 and later

SONARPY-1645 Rule S6887: pytz.timezone should not be passed to the datetime.datetime constructor

4.15.0.14551

2 months ago

Release notes - SonarPython - 4.15

Bug

SONARPY-1593 Add support for star symbol in type annotation

SONARPY-1635 OneStatementPerLine: do not raise an issue on dummy function and class implementations

False-Positive

SONARPY-1598 Fix FP on S6542 with re-exported/imported override

SONARPY-1600 Fix FP on S5655: boolean parameter incompatible with float type annotation.

SONARPY-1609 Fix FP on S5886 when returning optional unions of unknown symbols

SONARPY-1612 S905: should ignore assigned and unused Airflow operators.

SONARPY-1613 S905: should ignore __manifest__.py files

SONARPY-1617 S117: Ignore variable assigned to "namedtuple" or "NamedTuple"

SONARPY-1622 Fix FP on S5886 when returning collections.abc.AsyncIterable

SONARPY-1624 Fix FP on S5886 when the expected return type is a tuple subclass

SONARPY-1628 S1172: should not raise on methods of abstract classes

SONARPY-1629 Prevent S5756 from being raised on calls to instances of NamedTuple

SONARPY-1630 S1192: Ensure no issue is raised on test code

SONARPY-1660 Fix FP on S905 when using a decorator to declare an Airflow DAG

SONARPY-1662 Fix FP on S117 when a class is assigned to a variable

Improvement

SONARPY-1633 S1481: Add a quick fix to rename loop indices

SONARPY-1634 S1481: Add a quick fix to remove assignment target

4.14.0.14263

5 months ago

Release notes - SonarPython - 4.14

False Negative

SONARPY-1579 Fix FN on S6437 when library stubs are missing

New Feature

SONARPY-1553 Rule S4507: Add support for GraphQL endpoints with GraphiQL (interactive GraphQL) enabled

SONARPY-1555 Rule S6785: GraphQL queries should not be vulnerable to Denial of Service attacks

Task

SONARPY-1590 Update java protobuf version to 3.25.1

Improvement

SONARPY-1569 [S6779] Highlight on the line that actually contains the Flask secret

SONARPY-1582 Add SonarLintCache component and make it accessible to custom rules via the caching APIs

SONARPY-1583 Add sonarProduct() API to PythonInputFileContext

4.13.0.14130

5 months ago

Release notes - SonarPython - 4.13

Bug

SONARPY-1247 Fix inconsistencies in test rule results when test dirs are configured

SONARPY-1574 Correctly infer types in case of annotated assignments

False-Positive

SONARPY-1010 Fix FP on S5607, S5864, S2159, S5644, S3862 when using mocks

SONARPY-1166 Avoid FPs when variables are used inside 'pandas.DataFrame.query' expression argument

SONARPY-1251 Fix FP on S1940 Inverted boolean checks when comparing Sets

SONARPY-1252 S5886 (FunctionReturnTypeCheck) should consider type aliases

SONARPY-1256 Fix FP on S5886 when Iterator is an ambiguous symbol

SONARPY-1562 Fix FP on S139 when the comment is a Flake8 pragma comment

SONARPY-1563 Fix FPs on S1172 when the parameter is intentionally unused

SONARPY-1568 S6542 should not raise an issue on overrides and overloads

False Negative

SONARPY-1570 [S5332] Fix FN when calls are made to `http.server.HTTPServer.server_bind(self)` from within inherited classes.

Improvement

SONARPY-1556 Parameters should properly support union type as declared type

SONARPY-1558 Support declared types of class fields

4.12.0.13917

5 months ago

Release notes - SonarPython - 4.12

False Negative

SONARPY-1434 Rule S5122: Add support for flask_cors 2

New Feature

SONARPY-834 Support type inference at module level

SONARPY-1535 Rule S4830: Add support for HTTPX

SONARPY-1537 Rule S4830: Add support for aiohttp

SONARPY-1545 Rule S5659: Add support for python-jose

SONARPY-1546 Rule S2092: Add support for FastAPI

SONARPY-1547 Rule S3330: Add support for FastAPI

4.11.0.13826

6 months ago

Release notes - SonarPython - 4.11

New Feature

SONARPY-1468 Rule S6779: Flask secret keys should not be disclosed

SONARPY-1474 Rule S6781: JWT secret keys should not be disclosed

SONARPY-1498 [S6786] Python GraphQL introspection should be disabled

False Negative

SONARPY-1461 S4507: Add support for Flask applications

SONARPY-1475 [S5332] Support `http.server.HTTPServer` and subclasses

SONARPY-1478 Rule S5547: Add support for ssl module

SONARPY-1552 Rule S5332: Raise an issue on `server_bind` calls.

4.10.0.13725

6 months ago

Release notes - SonarPython - 4.10

Bug

SONARPY-1533 Fix Ruff report import to use the correct column and row location

False-Positive

SONARPY-1521 S4143: Fix FP when there is different collections value assignment for same key

SONARPY-1524 S3827: Fix FP when value is referenced in type alias

SONARPY-1525 S5953: fix FP when using generic types for parameters and return type hints

SONARPY-1530 S5806: Fix FN and FP regarding the Ellipsis and the ellipsis type.

SONARPY-1536 S6735: Fix false positive when left_on or right_on is specified for pandas.merge

New Feature

SONARPY-1484 Support type parameter syntax for classes

SONARPY-1486 Support generic type alias declaration syntax

SONARPY-1493 Support lexing of PEP701 f-strings

SONARPY-1494 Support grammar of PEP701 f-strings

SONARPY-1509 Rule S6799: f-strings should not be nested too deeply

SONARPY-1510 Rule S6792: Generic classes should be defined using the type parameter syntax

SONARPY-1511 Rule S6794: Type aliases should be declared with a "type" statement

SONARPY-1512 Rule S6796: Generic functions should be defined using the type parameter syntax

Improvement

SONARPY-1515 Support function and class type parameters for Symbol table

SONARPY-1529 Standardise rule message formatting across rules implemented in MMF-3335 and MMF-3336.

4.9.0.13528

7 months ago

Release notes - SonarPython - 4.9

New Feature

SONARPY-1455 Rule S6741: The 'pandas.DataFrame.to_numpy()' method should be preferred to the 'pandas.DataFrame.values' attribute

SONARPY-1456 Rule S6734: inplace=True should not be used when modifying a Pandas DataFrame

SONARPY-1458 Rule S6742: pandas.pipe method should be preferred over long chains of instructions

SONARPY-1459 Rule S6735: When using pandas.merge or pandas.join, the parameters on, how and validate should be specified

SONARPY-1460 Rule S6740: dtype parameter should be provided when using pandas.read_csv or pandas.read_table

SONARPY-1495 Expand the scope of rule S6735 to calls to merge and join on the DataFrame object.