February 2020 (version 1.34.0)

1.34.0 Update

Welcome to the new DeepScan updates!

Breaking Changes
Require login to view files in public projects due to an authorization deprecation from GitHub.

Please kindly go ahead with the highlights for the latest release.

Release Summary

This version includes a number of updates that we hope you've found some of them helpful.
The key highlights are:

New Rules

We keep enhancing our rules. Check out the newly introduced rules!

Improved Rules

Analysis Improvements

  • Recognize the resolved value type of Promise type annotation
  • Analyze Generator and AsyncGenerator objects more precisely
  • Analyze React this.setState() return value as undefined
  • Improve the precision of recognizing React PropType declarations when object spreads are used

ESLint Integration

We have added more ESLint plugins which are missing in the analysis.

For details about ESLint analysis, see the Using ESLint.

Miscellaneous

  • Require login to view files in public projects due to an authorization deprecation from GitHub. To read files from GitHub, DeepScan now uses a user's token rather than its own token.
  • In the project settings, support a filter on rule name to Rules for easier rule selection
  • In the Files view, trim trailing whitespaces of a search input
  • Show an error message explicitly when showing files over 1 MB
  • Show the branch name in the analysis result email
  • Update rule examples up-to-date
  • [DeepScan On-premise] Refine license checks and error messages
  • Instead of UNUSED_REQUIRE, detect UNUSED_VAR_ASSIGN alarm when the require() result is overwritten by another assignment

Bug Fixes

  • Notification for new analysis results does not work properly
  • In the ESLint analysis, sometimes an error message is truncated
  • In the code fragment of the Issues view, a newline character is appended for an alarm at the last line
  • A false alarm for REACT_MISMATCHED_TYPE_OF_PROP may occur when a JSX spread attribute is used
  • An AMBIGUOUS_BRANCH_BODY alarm is missed when for loop has a variable declaration
  • An async generator function is incorrectly treated as an async function

Thank You

Thank you to the following folks who help to make DeepScan better!