You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All notable changes to this project will be documented in this file.
3
4
4
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
@@ -7,117 +8,158 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
8
## [Unreleased]
8
9
9
10
## [0.13.0] - 2022-08-09
11
+
10
12
### Added
13
+
11
14
- Support for Flake8 5 ([#45](https://github.com/dlint-py/dlint/issues/45))
12
15
13
16
### Changed
17
+
14
18
- Support `usedforsecurity=False` parameter to hashlib constructors ([#39](https://github.com/dlint-py/dlint/issues/39))
15
19
16
20
## [0.12.0] - 2021-10-27
21
+
17
22
### Added
23
+
18
24
- Support for Python 3.10
19
25
- Support for Flake8 4 ([#36](https://github.com/dlint-py/dlint/issues/36))
20
26
21
27
### Removed
28
+
22
29
- Support for Python 2.7 ([#3](https://github.com/dlint-py/dlint/issues/3))
23
30
24
31
## [0.11.0] - 2020-10-30
32
+
25
33
### Added
34
+
26
35
- Support for Python 3.9 ([#32](https://github.com/dlint-py/dlint/issues/32))
27
36
28
37
### Fixed
38
+
29
39
- False positive for `DUO107` when `xml.etree.ElementTree.{Element,SubElement}` used ([#28](https://github.com/dlint-py/dlint/issues/28))
30
40
- False positive for `DUO116` when `shell=False` used ([#31](https://github.com/dlint-py/dlint/pull/31))
31
41
32
42
### Removed
43
+
33
44
- Support for Python 3.5
34
45
35
46
## [0.10.3] - 2020-03-09
47
+
36
48
### Fixed
49
+
37
50
- False positive for `DUO138` when expressions aren't backtrackable ([#14](https://github.com/dlint-py/dlint/issues/14))
38
51
39
52
## [0.10.2] - 2020-02-19
53
+
40
54
### Changed
55
+
41
56
- Cache namespace results and minimize kwarg checks by grouping similar rules - ~500% speed up ([#18](https://github.com/dlint-py/dlint/issues/18))
42
-
- Only run linters that are selected - speed up depends on number of linters seleted ([#19](https://github.com/dlint-py/dlint/issues/19))
57
+
- Only run linters that are selected - speed up depends on number of linters selected ([#19](https://github.com/dlint-py/dlint/issues/19))
43
58
44
59
### Fixed
60
+
45
61
- The `--print-dlint-linters` flag on Windows ([#17](https://github.com/dlint-py/dlint/issues/17))
46
62
47
63
## [0.10.1] - 2020-01-21
64
+
48
65
### Fixed
66
+
49
67
- Crash in `DUO138` when malformed regular expression ([#15](https://github.com/dlint-py/dlint/issues/15))
50
68
51
69
## [0.10.0] - 2020-01-21
70
+
52
71
### Added
72
+
53
73
-`DUO137`: lint for insecure itsdangerous kwarg usage ([#36](https://github.com/duo-labs/dlint/issues/36))
54
74
-`DUO138`: lint for regular expression catastrophic backtracking in re module ([#41](https://github.com/duo-labs/dlint/issues/41))
55
75
56
76
### Fixed
77
+
57
78
- False positive for `DUO137` when kwarg missing ([#39](https://github.com/duo-labs/dlint/issues/39))
58
79
59
80
## [0.9.2] - 2019-11-21
81
+
60
82
### Fixed
83
+
61
84
- False negative with arbitrary depth from import alias in bad module attribute ([#32](https://github.com/duo-labs/dlint/issues/32))
62
85
- False negative with arbitrary depth from import wildcard in bad module attribute ([#33](https://github.com/duo-labs/dlint/issues/33))
63
86
64
87
## [0.9.1] - 2019-11-06
88
+
65
89
### Fixed
90
+
66
91
- False positive with `input` as variable name ([#31](https://github.com/duo-labs/dlint/issues/31))
67
92
68
93
## [0.9.0] - 2019-10-13
94
+
69
95
### Added
96
+
70
97
-`DUO116`: rule for `subprocess.run` ([#24](https://github.com/duo-labs/dlint/issues/24))
71
98
- The `--print-dlint-linters` command-line flag to print all Dlint linters ([#26](https://github.com/duo-labs/dlint/issues/26))
72
99
-`DUO136`: lint for insecure xmlsec usage ([#27](https://github.com/duo-labs/dlint/issues/27))
73
100
74
101
### Changed
102
+
75
103
- Visitor strategy to minimize node visits - ~25% speed up ([#28](https://github.com/duo-labs/dlint/issues/28))
76
104
77
105
### Fixed
106
+
78
107
- False negative with nested imports in bad module attribute ([#30](https://github.com/duo-labs/dlint/issues/30))
79
108
80
109
### Removed
110
+
81
111
-`dlint.linters.helpers.bad_kwarg_use`: use of `attribute_name` in favor of fully specified `module_path` ([#19](https://github.com/duo-labs/dlint/issues/19))
82
112
-`dlint.tree`: use of `kwarg_attribute` in favor of `kwarg_module_path` ([#21](https://github.com/duo-labs/dlint/issues/21))
83
113
-`dlint.linters.helpers.bad_name_attribute_use`: use of attribute list in favor of fully specified module path ([#20](https://github.com/duo-labs/dlint/issues/20))
84
114
85
115
## [0.8.0] - 2019-09-18
116
+
86
117
### Added
118
+
87
119
- Support for Python 3.8 ([#12](https://github.com/duo-labs/dlint/issues/12))
88
120
-`DUO134`: lint for insecure cryptography usage ([#6](https://github.com/duo-labs/dlint/issues/6))
89
121
-`DUO135`: lint for insecure defusedxml usage ([#5](https://github.com/duo-labs/dlint/issues/5))
90
122
91
123
### Deprecated
124
+
92
125
-`dlint.linters.helpers.bad_kwarg_use`: use of `attribute_name` in favor of fully specified `module_path` ([#19](https://github.com/duo-labs/dlint/issues/19))
93
126
-`dlint.tree`: use of `kwarg_attribute` in favor of `kwarg_module_path` ([#21](https://github.com/duo-labs/dlint/issues/21))
94
127
-`dlint.linters.helpers.bad_name_attribute_use`: use of attribute list in favor of fully specified module path ([#20](https://github.com/duo-labs/dlint/issues/20))
95
128
96
129
### Fixed
130
+
97
131
- False negative when deep imports are not fully specified in bad module attribute ([#1](https://github.com/duo-labs/dlint/issues/1))
98
132
- False negative - consider `async` functions in bad name attribute ([7bd249e](https://github.com/duo-labs/dlint/commit/7bd249e80a91f7c38f2c1f05045a826e0bef3246))
99
133
- False negative in various import scenarios when using `attribute_name` in bad kwarg ([#19](https://github.com/duo-labs/dlint/issues/19))
100
134
- False negative in various import scenarios when using `kwarg_attribute` in bad kwarg ([#21](https://github.com/duo-labs/dlint/issues/21))
101
135
- False negative in various import scenarios when using attribute list in bad name attribute ([#20](https://github.com/duo-labs/dlint/issues/20))
102
136
103
137
## [0.7.0] - 2019-08-24
138
+
104
139
### Added
140
+
105
141
-`DUO133`: lint for pycrypto usage ([#7](https://github.com/duo-labs/dlint/issues/7))
106
142
107
143
### Fixed
144
+
108
145
- False positive when bad builtin is overwritten by import ([#16](https://github.com/duo-labs/dlint/issues/16))
109
146
- False negative when bad module attribute uses import alias ([#2](https://github.com/duo-labs/dlint/issues/2))
110
147
- False positive when bad module attribute not imported ([#14](https://github.com/duo-labs/dlint/issues/14))
111
148
112
149
## [0.6.0] - 2019-08-12
150
+
113
151
### Added
152
+
114
153
- Support for Python 3.5 and 3.7 ([#9](https://github.com/duo-labs/dlint/issues/9))
115
154
-`DUO131`: lint for disabling urllib3 warnings
116
155
-`DUO132`: lint for disabling urllib3 HTTPS certification verification
117
156
118
157
### Removed
158
+
119
159
-`FormatStringLinter`, previously `DUO104`, as it was a disabled expirement ([#15](https://github.com/duo-labs/dlint/issues/15))
> For a static analysis project to succeed, developers must feel they benefit
17
18
> from and enjoy using it.
19
+
>
18
20
> -[Lessons from Building Static Analysis Tools at Google](https://cacm.acm.org/magazines/2018/4/226371-lessons-from-building-static-analysis-tools-at-google/fulltext)
19
21
20
22
For documentation and a list of rules see [docs](https://github.com/dlint-py/dlint/tree/master/docs).
0 commit comments