Releases: SonarSource/SonarJS
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
11.3.0
What's Changed
- JS-834 Add theme directive to S4662 by @zglicz in #5615
- JS-828 Add @angular-eslint/eslint-plugin by @zglicz in #5597
- JS-839 Clean up Maven dependencies by @vdiez in #5639
- JS-719 Replace dependency
jsx-ast-utilswithjsx-ast-utils-xby @guilhermesimoes in #5625 - JS-840 Fix handling of built-in modules in fully qualified name generation by @zglicz in #5645
New Contributors
- @katzj made their first contribution in #5631
- @guilhermesimoes made their first contribution in #5625
Full Changelog: 11.2.0.34013...11.3.0.34350