Releases: SonarSource/SonarJS
12.0.0.38664
Release notes - SonarJS - 12.0
False Positive
JS-1096 Fix FP on S6324: Control chars in RFC/standards-compliant validation patterns
JS-1099 Fix FP on S6324: Control chars in regex for ANSI escape sequence matching
JS-1100 Fix FP on S6819: Inline SVGs with ARIA roles flagged despite valid use cases
JS-1101 Fix FP on S6819: role="img" flagged on non-image visual content and containers
JS-1102 Fix FP on S6819: Custom table widgets with legitimate ARIA roles
JS-1103 Fix FP on S1848: Framework constructors with DOM initialization side effects
JS-1108 Fix FP on S7739: Custom Promise/Thenable implementations with required then method
JS-1112 Fix FP on S2699: Database operations that validate through exceptions
JS-1113 Fix FP on S7759: Polyfill fallback using Date#getTime() for Date.now()
JS-1114 Fix FP on S3504: TypeScript ambient 'declare var' not runtime declarations
JS-1115 Fix FP on S4335: string & {} and number & {} patterns for type autocomplete
JS-1116 Fix FP on S4335: Intersections with {} in generic type manipulation patterns
JS-1120 Fix FP on S2310: Iterator variable reassignment in for-of/for-in loops
JS-1121 Fix FP on S2310: Intentional loop counter skip-ahead in parsing code
JS-1123 Fix FP on S7718: Minified code with auto-generated catch parameter names
JS-1124 Fix FP on S7718: Semantically meaningful catch parameter names flagged
JS-1155 Fix FP on S6661: Custom 'assign' functions flagged as Object.assign
JS-1173 Fix S2301 false positive for boolean parameters in JSX contexts
JS-1176 Fix FP on S5256: Reusable table wrapper components flagged incorrectly
JS-1177 Fix FP on S7739: Validation library 'then' config property flagged incorrectly
JS-1179 Fix FP on S5850: Regex anchors with alternation for trimming operations
JS-1303 Fix FP on S6440: underscore-prefixed components flagged despite being valid FC
Bug
JS-1192 Do not crash when semver fails to get minimum version of react
Improvement
JS-168 Fix S4328 (no-implicit-dependencies): Support query parameters
JS-290 Fix FP S4165 (no-redundant-assignments)
JS-627 Fix FP S2699 (assertions-in-tests): support other test libraries
Task
JS-1158 remove failing projects
JS-1159 fix issues
JS-1160 Fix bump-versions workflow to update revision property
JS-1161 fix issues with project
JS-1162 Add new projects 2026-01-26
JS-1163 Add new projects 2026-01-26
JS-1164 Add new projects 2026-01-26
JS-1165 Add new projects 2026-01-27
JS-1166 Add new projects 2026-01-27
JS-1167 remove broken projects, fixed install and added retry around checkout…
JS-1168 Automate eslint-plugin-sonarjs changelog update
JS-1169 Skip eslint-plugin label for external/decorated rules
JS-1172 Add new projects 2026-01-28
JS-1174 Fix SQ quality gate
JS-1175 fix projects
JS-1183 Add new projects 2026-01-28
JS-1184 Add new projects 2026-01-28
JS-1187 Always bundle API classes in the final artifact
JS-1188 remoe failing projects
JS-1189 Add A3S Docker workflow for Repox publishing
JS-1194 feat(S2077): Add use getFullyQualifiedname & add sqlite3
JS-1195 Add new projects 2026-01-30
JS-1196 Add new projects 2026-01-30
JS-1197 feat: add branded types for Unix path handling
JS-1198 Fix S2234 performance issue with complex destructuring patterns
JS-1203 Add Tailwind CSS v4 at-rules to S4662 ignore list
JS-1204 Add new projects 2026-02-02
JS-1205 Add new projects 2026-02-02
JS-1207 Skip minified/bundled JavaScript embedded in HTML/YAML files
JS-1208 feat(S6418): Add support for MemberExpression
JS-1209 feat(S6437): Add support for express-session
JS-1210 Add new projects 2026-02-03
JS-1211 Add new projects 2026-02-03
JS-1212 Add ACLI Jira formatting guide for Claude
JS-1213 Remove raw types
JS-1214 feat (S5247): Add support for Swig
JS-1215 Use aggregate option to report JaCoCo coverage
JS-1216 feat: add test execution reporting for SonarCloud
JS-1218 Simplified sourcefile store
JS-1219 Add ignoreFunctions option to S4653 (unit-no-unknown)
JS-1222 Clean up failing projects
JS-1223 Add new projects 2026-02-06
JS-1229 S3799: Enable allowObjectPatternsAsParameters to fix Playwright FPs
JS-1230 Revert "Update dependency eslint to v10"
JS-1232 Add AWS TLS PFS policies to the valid ones
JS-1234 Use new jacoco aggregate report paths property
JS-1298 Allow bot PRs to trigger eslint-plugin Jira labeling
JS-1311 PoC: Babel parserOverride for TC39 module declarations
JS-1312 Fix ESLint plugin release action
JS-1313 Test: Re-enable rspec-maven-plugin for rule data generation
JS-1314 drop mavenCentralSync and update slack channel
JS-1317 Fix changelog workflow permissions by using default GITHUB_TOKEN
JS-1318 add annotation
JS-1327 Update CssMetricsTest expected ncloc for SonarHtml 3.24
JS-1329 Fix promote job being skipped on non-schedule builds
JS-1332 Fix implementation value for decorated rules in meta.ts
JS-1333 fix(S7790): Prevent references to target FQNs from raising
JS-1336 Fix infinite loop in getFullyQualifiedNameTS when import is shadowed
JS-1338 Remove obsolete release.yml workflow
JS-1339 Fix Jira labeling workflow failing on PR titles with backticks
JS-1340 Add sonar.javascript.createTSProgramForOrphanFiles flag
11.8.0.37897
Release notes - SonarJS - 11.8
New Feature
JS-222 Create rule: do not provide to map() a callback function that takes (optionally) more than 1 parameter as it might have unexpected results
Bug
JS-999 Avoid infinite loop in module-ts
Improvement
JS-90 Fix FP S3801 (no-inconsistent-returns): Ignore switch handling all variants
JS-106 FP in S3801 when throw is in child functions
JS-121 Add quick fix for S1125 (no-redundant-boolean): Boolean literals should not be used in comparisons
JS-124 Fix FP S3353 (prefer-const): uninitialized variable
JS-384 S1854 Useless assignment false-positive when using variables in try/catch blocks
JS-506 FP in S6759 props should be readonly
JS-638 Fix S4721 (os-command) location error
JS-754 S6418: Should handle ternary expression and obejct assignments
JS-861 Implement new logic for rule S7727 (no-array-callback-reference) and add to Sonarway: only raise when callback has multiple arguments
JS-888 Add exception to S7763 when default export is renamed.
JS-917 Fix S7728 Check if object is iterable before raising issue
JS-1007 Fix S6582: Prefer optional chaining expressions
JS-1008 Fix S4325: Remove unnecessary type assertions
JS-1025 Fix S6478 false positives for react-intl rich text formatting
Task
JS-971 Automatically apply jira label eslint-plugin to tickets touching packages/jsts/src/rules
JS-978 Ignore own version for renovate
JS-979 Prepare for release 10.21.2
JS-983 Remove orchestrator cache from Win Sonarlint job
JS-986 Make nodejs-runtime dependency explicit
JS-990 Cache nodejs-runtime dependency separately in CI
JS-991 Replace config-maven with get-build-number in CI
JS-992 Fix red master
JS-993 Split Windows QA jobs for faster CI
JS-994 Fix S2699 to recognize chained expect expressions
JS-995 Add orchestrator cache to fast-tests jobs
JS-996 Cache SonarJS artifacts per CI run to avoid re-downloading
JS-997 Migrate from deprecated cache action to gh-action_cache
JS-998 Optimize CI caches: save only on master, restore on branches
JS-1000 Experiment: Use artifacts for SonarJS m2 cache
JS-1002 Run DEV tests only on nightly schedule and skip cache
JS-1004 Use rolling cache for orchestrator with monthly invalidation
JS-1005 sonar-jasmine-plugin to follow dev/release versioning
JS-1006 Disable Renovate updates for @typescript/native-preview
JS-1022 Add automatic ruling update for PRs
JS-1028 Add build-time quickfix validation script
JS-1029 Improve ruling report: compare against master and reuse comments
JS-1033 Add CLAUDE.md for Claude Code guidance
JS-1037 Fix npm vulnerability in dependencies
JS-1062 Fix reliability issues (S7723, S7727)
JS-1063 Fix S7727 false positives on non-array method calls
JS-1064 Fix S7739: Skip no-thenable rule when Yup or Joi are dependencies
JS-1065 Fix S6747: Ignore Next.js and Emotion specific props
JS-1066 Fix S6774: Skip propTypes check for forwardRef in React 19+
JS-1067 Fix S1848: Add Obsidian to exceptions for unused instantiation
JS-1070 Fix S7770: Skip type predicate functions
JS-1125 Bump version to 11.8.0-SNAPSHOT
JS-1127 Fix releasability workflow not running
JS-1128 Fix: Update crypto.verify in S6437
JS-1129 Move releasability check into build workflow
JS-1131 Fix CSS ruling tests
JS-1133 add new projects
JS-1134 Remove redundant npm build scripts
JS-1136 Fix SonarCloud quality gate code smells
JS-1137 Fix maven cache miss on PR branches
JS-1145 Fix projects
JS-1146 Add new projects 2026-01-22
JS-1148 Set runner-environment to github-ubuntu-latest-s for automated-release
JS-1157 Fix automated-release workflow configuration
11.7.1
Rotation of binary signing keys
What's Changed
- Update dependency esbuild to v0.27.1 by @renovate[bot] in #6023
- JS-982 Prepare version 11.7.1 by @saberduck in #6030
- Update dependency org.sonarsource.sslr:sslr-core to v1.25.1.3886 by @renovate[bot] in #6031
- Update dependency org.sonarsource.orchestrator:sonar-orchestrator-junit5 to v6.0.2.3904 by @renovate[bot] in #6027
Full Changelog: 11.7.0.36965...11.7.1.36988
10.26.0
10.21.2
11.7.0
What's Changed
- JS-824 Add rule S7639 by @loris-s-sonarsource in #5919
- JS-860 Add Rule S7790 by @loris-s-sonarsource in #5931
- JS-955 Fix S1541: Support nullish coalescing operator by @vdiez in #5940
- JS-830 Add Rule S6437 by @loris-s-sonarsource in #5947
- JS-831 Improve detection of S1523 and S2755 by @loris-s-sonarsource in #5951
- JS-965 Align colspan/rowspan handling with WHATWG HTML specification by @zglicz in #5972
- JS-960 Fix S6819 false positives for custom components by @zglicz in #5979
- JS-974 fix CVE issues by @jdkandersson in #5986
New Contributors
- @jdkandersson made their first contribution in #5986
Full Changelog: 11.6.0.36606...11.7.0.36965
11.6.0
What's Changed
- JS-916 Remove logic related to SonarSec by @vdiez in #5872
- SONARARMOR-1576 Implement parsing support of JSX nodes by @samuele-buro-sonarsource in #5884
- JS-918 bump to node 24 by @zglicz in #5873
- JS-823 Improve S2068: Add support for TS PropertyDefinition by @loris-s-sonarsource in #5917
- JS-947 Update DEV.md by @zglicz in #5924
- JS-951 Remove S7728 from Sonar way by @vdiez in #5925
- Updated dependencies
New Contributors
- @samuele-buro-sonarsource made their first contribution in #5884
Full Changelog: 11.5.0.35357...11.6.0.36606
11.5.0
What's Changed
- JS-876 Migrate CssIssuesTest to scanner-integration-tester by @zglicz in #5753
- JS-878 More integration tests migrated to SonarScannerIntegration by @zglicz in #5754
- JS-887 Refactor Stylelint rule tester by @vdiez in #5784
- JS-871 Add S7923 by @vdiez in #5785
- JS-893 Add "type" to all imports which are importing types only by @zglicz in #5801
- JS-872 Add S7924 by @vdiez in #5786
- JS-899 Fix S7749: Do not require a minimum number of digits by @vdiez in #5810
- JS-873 Implement CSS rule S7925 by @vdiez in #5811
- JS-485 Fix rule S1135 to ignore ESLint pragma comments by @vdiez in #5814
- JS-901 Fix its & remove deprecated properties for jasmin/armor/jared by @vdiez in #5820
- JS-900 Fix S7924: Raise once per CSS rule by @vdiez in #5819
- JS-904 Stop defining security rules by @vdiez in #5833
- JS-180 Fix S2187: Support tagged template literals by @vdiez in #5832
- JS-908 Default type-checking analysis should use latest ECMAScript spec libs by @vdiez in #5847
- JS-905 Fix S7755 Check for array type by @vdiez in #5834
- JS-914 Enforce usage of suggestions and fixes on all rules by @vdiez in #5853
Full Changelog: 11.4.0.34681...11.5.0.35357
11.4.1
Full Changelog: 11.4.0.34681...11.4.1.34873
11.4.0
What's Changed
- JS-843 Prepare next development iteration by @vdiez in #5662
- Update dependency @types/node to v22.18.0 by @renovate[bot] in #5664
- JS-844 Update changelog for eslint-plugin-sonarjs by @vdiez in #5665
- JS-794 Make all Sensors global by @vdiez in #5523
- Update typescript-eslint monorepo to v8.41.0 by @renovate[bot] in #5666
- Update dependency @typescript/native-preview to v7.0.0-dev.20250826.1 by @renovate[bot] in #5668
- Update dependency expect to v30.1.0 by @renovate[bot] in #5670
- Update dependency memfs to v4.38.2 by @renovate[bot] in #5669
- Update dependency expect to v30.1.1 by @renovate[bot] in #5672
- Update dependency @typescript/native-preview to v7.0.0-dev.20250827.1 by @renovate[bot] in #5671
- Update dependency @typescript/native-preview to v7.0.0-dev.20250828.1 by @renovate[bot] in #5673
- Update dependency expect to v30.1.2 by @renovate[bot] in #5675
- Update dependency typedoc to v0.28.12 by @renovate[bot] in #5676
- Update dependency @typescript/native-preview to v7.0.0-dev.20250901.1 by @renovate[bot] in #5677
- Update sonarlint.plugin.api.version to v10.29.0.82203 by @renovate[bot] in #5674
- JS-846 Test merging lcov branches by @vdiez in #5667
- Update dependency org.jetbrains:annotations to v26.0.2-1 by @renovate[bot] in #5678
- Update sonar.version to v25.9.0.112764 by @renovate[bot] in #5679
- Update sonarlint.plugin.api.version to v10.30.0.82224 by @renovate[bot] in #5680
- JS-853 Add more cleanup scripts in maven by @zglicz in #5682
- Update typescript-eslint monorepo to v8.42.0 by @renovate[bot] in #5683
- Update actions/setup-node action to v5 by @renovate[bot] in #5688
- Update dependency knip to v5.63.1 by @renovate[bot] in #5687
- Update dependency @types/semver to v7.7.1 by @renovate[bot] in #5686
- Update dependency @typescript/native-preview to v7.0.0-dev.20250903.1 by @renovate[bot] in #5684
- JS-854 Dont raise on arrow function as lambda argument by @zglicz in #5685
- JS-855 Make SQ green on master by @zglicz in #5690
- Update dependency @types/node to v22.18.1 by @renovate[bot] in #5691
- Update dependency eslint to v9.35.0 by @renovate[bot] in #5694
- Update babel monorepo to v7.28.4 by @renovate[bot] in #5693
- Update dependency @typescript/native-preview to v7.0.0-dev.20250904.1 by @renovate[bot] in #5689
- JS-857 Deprecate Node 18 by @zglicz in #5696
- Update typescript-eslint monorepo to v8.43.0 by @renovate[bot] in #5698
- JS-856 Add
eslint-plugin-unicornselected rules by @zglicz in #5692 - JS-757 Refactor package.json cache by @vdiez in #5697
- Update dependency globals to v16.4.0 by @renovate[bot] in #5702
- Update typescript-eslint monorepo to v8.43.0 by @renovate[bot] in #5700
- Update dependency memfs to v4.38.3 by @renovate[bot] in #5699
- Update dependency eslint-plugin-unicorn to v61 by @renovate[bot] in #5701
- Update dependency prettier-plugin-java to v2.7.5 by @renovate[bot] in #5703
- Update dependency com.google.code.gson:gson to v2.13.2 by @renovate[bot] in #5706
- Update dependency memfs to v4.39.0 by @renovate[bot] in #5704
- JS-859 Add strict null checks for tests by @zglicz in #5707
- JS-849 USER-902 add exception for @cdktf by @zglicz in #5708
- Update dependency typedoc to v0.28.13 by @renovate[bot] in #5717
- Update dependency @inquirer/prompts to v7.8.5 by @renovate[bot] in #5716
- Update dependency @angular-eslint/eslint-plugin to v20.3.0 by @renovate[bot] in #5715
- Update sonar.api.version to v13.1.0.3124 by @renovate[bot] in #5713
- Update dependency org.apache.maven.plugins:maven-shade-plugin to v3.6.1 by @renovate[bot] in #5711
- Update dependency @types/node to v22.18.3 - autoclosed by @renovate[bot] in #5710
- Update dependency @inquirer/prompts to v7.8.6 by @renovate[bot] in #5718
- Update dependency type-fest to v5 by @renovate[bot] in #5714
- Update protobuf monorepo to v4.32.1 by @renovate[bot] in #5712
- JS-820 Provide new sonar property to disallow FS access by @vdiez in #5705
- Update sonarlint.plugin.api.version to v10.31.0.82282 by @renovate[bot] in #5720
- Update sonar.api.version to v13.2.0.3137 by @renovate[bot] in #5719
- Update dependency @types/node to v22.18.4 by @renovate[bot] in #5721
- JS-862 Fix unicorn issues by @zglicz in #5709
- Update typescript-eslint monorepo to v8.44.0 by @renovate[bot] in #5722
- JS-864 Fix existing js SQ issues by @zglicz in #5723
- Update sonarlint.plugin.api.version to v10.32.0.82302 by @renovate[bot] in #5724
- JS-865 Upgrade ESLint stylistic to v5 by @vdiez in #5725
- Update dependency memfs to v4.40.0 by @renovate[bot] in #5726
- Update dependency @types/node to v22.18.5 by @renovate[bot] in #5728
- Update dependency memfs to v4.41.0 by @renovate[bot] in #5727
- Update dependency memfs to v4.42.0 by @renovate[bot] in #5729
Full Changelog: 11.3.0.34350...11.4.0.34681