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
Copy file name to clipboardExpand all lines: change-notes/1.20/analysis-javascript.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## General improvements
4
4
5
-
* Support for popular libraries has been improved. Consequently, queries may produce more results on code bases that use the following features:
5
+
* Support for popular libraries has been improved. Consequently, queries may produce better results on code bases that use the following features:
6
6
- client-side code, for example [React](https://reactjs.org/)
7
7
- cookies and webstorage, for example [js-cookie](https://github.com/js-cookie/js-cookie)
8
8
- server-side code, for example [hapi](https://hapijs.com/)
@@ -18,15 +18,18 @@
18
18
| Incomplete regular expression for hostnames (`js/incomplete-hostname-regexp`) | correctness, security, external/cwe/cwe-020 | Highlights hostname sanitizers that are likely to be incomplete, indicating a violation of [CWE-020](https://cwe.mitre.org/data/definitions/20.html). Results are shown on LGTM by default.|
19
19
| Incomplete URL substring sanitization | correctness, security, external/cwe/cwe-020 | Highlights URL sanitizers that are likely to be incomplete, indicating a violation of [CWE-020](https://cwe.mitre.org/data/definitions/20.html). Results shown on LGTM by default. |
20
20
| Incorrect suffix check (`js/incorrect-suffix-check`) | correctness, security, external/cwe/cwe-020 | Highlights error-prone suffix checks based on `indexOf`, indicating a potential violation of [CWE-20](https://cwe.mitre.org/data/definitions/20.html). Results are shown on LGTM by default. |
21
+
| Loop iteration skipped due to shifting (`js/loop-iteration-skipped-due-to-shifting`) | correctness | Highlights code that removes an element from an array while iterating over it, causing the loop to skip over some elements. Results are shown on LGTM by default. |
21
22
| Useless comparison test (`js/useless-comparison-test`) | correctness | Highlights code that is unreachable due to a numeric comparison that is always true or always false. Results are shown on LGTM by default. |
| Client-side cross-site scripting | More results| This rule now recognizes WinJS functions that are vulnerable to HTML injection. |
28
+
| Client-side cross-site scripting | More true-positive results, fewer false-positive results.| This rule now recognizes WinJS functions that are vulnerable to HTML injection, and no longer flags certain safe uses of jQuery. |
28
29
| Insecure randomness | More results | This rule now flags insecure uses of `crypto.pseudoRandomBytes`. |
30
+
| Uncontrolled data used in network request | More results | This rule now recognizes host values that are vulnerable to injection. |
29
31
| Unused parameter | Fewer false-positive results | This rule no longer flags parameters with leading underscore. |
30
32
| Unused variable, import, function or class | Fewer false-positive results | This rule now flags fewer variables that are implictly used by JSX elements, and no longer flags variables with leading underscore. |
33
+
| Uncontrolled data used in path expression | Fewer false-positive results | This rule now recognizes the Express `root` option, which prevents path traversal. |
0 commit comments