April 2017 (version 1.1.0-alpha)

1.1.0 Update

We've released a 1.1.0 DeepScan service to address performance and usability issues.

Keep reading for the highlights for this release.

Release Summary

This version includes a number of updates that we hope you will enjoy. The notable highlights are:

Analysis Improvements

To make it super-fast to analyze a project, we have constructed new analyzer service architecture. It dramatically reduced CPU and disk operations and enabled 6x more throughput for projects and 10x faster response time for demo requests.

It is now possible to get the results more quickly!

And some files or lines are excluded from analysis for efficiency. Please note the limitations.

Improved Message for Detection

To help you fix a problem, we are continuously improving a message for detection to show the cause of the problem.

We added support for showing the cause of detected problem for the following 10 rules:

Here are some examples:

Null pointer
if (x) {
    y = x;
} else {
    y = x.a;
}
  • 1.0.0: Variable 'x' has a falsy value, but its property is accessed at this point.
  • 1.1.0: Variable 'x' has a falsy value due to condition 'x' at line 1. But its property is accessed at this point.
Constant condition
if (x >= 10) {
    if (x >= 5) {
    }
}
  • 1.0.0: Condition 'x >= 5' is always true at this point because it is redundant.
  • 1.1.0: Condition 'x >= 5' is always true at this point because it is already checked by condition 'x >= 10' at line 1.

New Rules

The following rule has been added:

New File Viewer

We have newly implemented the file viewer with lightweight syntax highlighter, prism.js.

It brings up performance improvements around 2x faster than the old one.

New File Viewer

And you can browse the files more conveniently because Files view now supports sorting.

Files: Sorting

Repository Language

DeepScan is an inspection tool for JavaScript.

If you analyze a repository with Go language, we are afraid we cannot help you. So, when browsing repositories, a repository language is exposed and JavaScript ones are displayed first.

Repository Language

Miscellaneous

Analyzer

  • Increase impact level to medium for some CONSTANT_CONDITION issues that may cause omission of intended code execution.
  • Automatically identify whether analyzed file is a Node.js module and detect more alarms including newly added UNUSED_REQUIRE rule.
  • Filter-out UNUSED_DECL and UNUSED_EXPR issues corresponding to JSDoc type definitions.

Rules

Version information is provided in rule document, and Rule Viewer in Issues view now shows tag information.

Rule Viewer

Bug Fixes

  • The badge is not refreshed.
  • The number of issues in the file is wrong in Files view.
  • Project Dashboard does not work when the repository was deleted in GitHub.
  • Demo: Clear markText in editor when analysis is started.
  • Fix scrollbar overlay in Internet Explorer
  • Fixed many small bugs.

Known Issues

  • On Safari before 10.1, you cannot download a file in file viewer of Issues and Files view.