Skip to main content

News in 2020

This document describes notable changes on Sider in the year 2020.


Update environments and tools on December 15, 2020#

We have updated the following environments and tools. Please read each tool's documentation for details.

Environment:

  • Debian - buster-20201012 โ†’ buster-20201209
  • Go - 1.15.3 โ†’ 1.15.6
  • Gradle - 6.7 โ†’ 6.7.1
  • Java - 14.0.2 โ†’ 15.0.1
  • Node.js - 12.19.0 โ†’ 12.20.0
  • npm - 6.14.8 โ†’ 6.14.9
  • Pipenv - 2020.8.13 โ†’ 2020.11.15
  • Python - 3.9.0 โ†’ 3.9.1

Tool:


Analyzing branches#

We're so happy to announce a new feature: analyzing branches. ๐Ÿ™Œ

Now you can analyze any branches even if there are not related to any pull request.

For example, this feature should be useful in the following cases, compared to the existing pull request analysis:

  • when you want to know how many current issues on the main branch of your repository (especially, bugs or vulnerabilities)
  • when you want to find issues of a new security rule that you added recently
  • when you want to fix issues that you have temporarily closed in a pull request
  • and so on...

Let's check out the document and try it!

Python 2 EOL and environments/tools update#

In this release, we finally have dropped Python 2 support as announced earlier. If you have not migrated yet, please update your sider.yml. (see also Flake8)

Also, we now have enabled our recommended ruleset for cpplint as announced earlier.

And, this release includes the update of the following environments and tools. Please check out each document for details.

Other highlight:

  • HAML-Lint supports a new option: parallel

Environment:

  • Debian - buster-20200908 โ†’ buster-20201012
  • Go - 1.15.2 โ†’ 1.15.3
  • Gradle - 6.6 โ†’ 6.7
  • Node.js - 12.18.3 โ†’ 12.19.0
  • PHP - 7.4.10 โ†’ 7.4.12
  • Python - 2.7.16 โ†’ dropped
  • Python - 3.8.5 โ†’ 3.9.0
  • Ruby - 2.7.1 โ†’ 2.7.2
  • Swift - 5.2.5 โ†’ 5.3

Tool:


Recommended ruleset for cpplint#

We will release our recommended ruleset for cpplint in mid October 2020. Prior to the release, the warning message will be shown if the cpplint configuration file CPPLINT.cfg doesn't exist in your repository.

See our cpplint document.


Update environments and tools on September 24, 2020#

We have updated the following environments and tools. Please read each tool's documentation for details.

Highlight:

  • The environment variable EXTRA_CERTIFICATE is newly supported. When this variable is specified, the runner imports the certificate on the system. This feature allows you to connect GitHub Enterprise Server running with a self-signed certificate.
  • The parallel option of Cppcheck is newly supported. This option allows you to run multiple jobs in parallel by using the -j option of the cppcheck command.
  • The path option of SwiftLint is enhanced to support a special format "@path/to/file" (prefixed with @). You can create a file which contains a list of file names to be analyzed and pass it to the analyzer with this option.

Environment:

  • Debian - buster-20200803 โ†’ buster-20200908
  • Go - 1.15.0 โ†’ 1.15.2
  • Haskell - 8.10.1 โ†’ 8.10.2
  • PHP - 7.4.9 โ†’ 7.4.10

Tool:


Update environments and tools on August 21, 2020#

We have updated the following environments and tools. Please check each tool's document for details.

Environment:

  • Debian - buster-20200720 โ†’ buster-20200803
  • Go - 1.14.6 โ†’ 1.15.0
  • PHP - 7.4.8 โ†’ 7.4.9
  • Python - 3.8.2 โ†’ 3.8.5
  • Swift - 5.2.4 โ†’ 5.2.5
  • Gradle - 6.5.1 โ†’ 6.6
  • npm - 6.14.7 โ†’ 6.14.8

Tool:


Support third-party dependencies with JVM tools#

We have just supported third-party dependencies for JVM tools in this release! This feature allows you to load third-party rules or plugins via sider.yml. For example:

linter:  checkstyle:    jvm_deps:      # [group, name, version] from Maven repositories      - [com.github.sevntu-checkstyle, sevntu-checks, 1.37.1]

See the linter.<analyzer_id>.jvm_deps for more details.

Also, with this release, the cli, maven, and gradle under linter.ktlint has been removed. See the ktlint for details.

In addition, this release includes the following updates:

Environment:

  • Node.js - 12.18.2 โ†’ 12.18.3
  • Git - 2.27.0 โ†’ 2.28.0

Tool:


Update languages and tools on July 28, 2020#

We have updated the following languages and tools. Please check each tool's document for details.

Environment:

  • Debian - buster-20200607 โ†’ buster-20200720
  • Go - 1.14.4 โ†’ 1.14.6
  • Java - 14.0.1 โ†’ 14.0.2
  • npm - 6.14.6 โ†’ 6.14.7
  • PHP - 7.4.7 โ†’ 7.4.8

Tool:


Clang-Tidy support and more#

We are happy to announce that Clang-Tidy is newly supported! ๐ŸŽ‰

Clang-Tidy is a part of the Clang toolchain, and it can detect style violations, common bugs, etc. in C/C++ code.

In addition, this release includes the following updates:

Environment:

  • Node.js - 12.18.0 โ†’ 12.18.2
  • Git - 2.20.1 โ†’ 2.27.0

Tool:

Also, some tool options in sider.yml have been added, changed, and deprecated since this release. Please see each tool's documentation for details.


Update Rails Best Practices#

We have updated Rails Best Practices to the latest version! ๐Ÿš€

The version change is from 1.19.4 to 1.20.0. Here is the changelog.


Update languages and tools on June 18, 2020#

We have updated the following languages and tools. Please each tool's document for details.

Highlight:

Language:

  • Go - 1.14.3 โ†’ 1.14.4
  • Node.js - 12.16.3 โ†’ 12.18.0
  • PHP - 7.4.6 โ†’ 7.4.7
  • Swift - 5.2.3 โ†’ 5.2.4

Tool:


New PMD CPD support#

We are happy to announce that PMD CPD is newly supported! (yet beta) ๐ŸŽ‰

This tool is a "Copy/Paste Detector" to find duplicate code in multiple languages like Java, Ruby, Python, and so on. It is disabled by default, so please enable it in your repository settings if you want to use it.


New Pylint support#

We are happy to announce that Pylint is newly supported! (yet beta) ๐ŸŽ‰

This tool can detect programming errors, help to enforce a coding standard, look for code smells, and offer simple refactoring suggestions in Python files, so it will surely help your code-review. It is disabled by default, so if you want to use, then please enable it in your repository settings.


Support addon option for Cppcheck#

We have newly supported the addon option for Cppcheck. The option can provide the additional predefined rules.

Also, Cppcheck has been updated from 1.90 to 2.0. See the changes for details.


Update languages and tools on May 20, 2020#

Language:

  • Go - 1.14.2 โ†’ 1.14.3
  • PHP - 7.4.5 โ†’ 7.4.6

Tool:

If you have any questions or feedback, feel free to ask us via chat.


Create sider.yml when a repository is added#

We have just released a new feature to automatically creates sider.yml via a pull request! ๐ŸŽ‰

  1. When you try adding your repository newly, you can see the following new checkbox:

    Create sider.yml checkbox

  2. When you check it and click the "Start..." button, the following pull request is created into the added repository:

    Create sider.yml pull request

You can enjoy the new feature if you accept new GitHub permissionยน that is requested.

If you have any questions or feedback, feel free to ask us via chat.

ยน If you do not want to use the feature, please ignore the permission request.


New LanguageTool support and more#

We are happy to announce that LanguageTool is newly supported! ๐ŸŽ‰

This tool is for natural languages like English or French, and it can detect typos or grammar mistakes and so on. We recommend using it for documents like Markdown. Try it!

FxCop improvements#

Since this release, FxCop has provided a static code analysis without a build, which makes it easier to analyze your C# code. Try it!

Recommended migration to GolangCI-Lint#

As announced earlier, Golint, Govet, and Go Meta Linter will be stopped at the end of this month. Most repositories using the 3 tools above can easily migrate to GolangCI-Lint now. We strongly recommend the migration as soon as possible.

Languages and tools update on May 14, 2020#

Also, this release updates the following languages and tools.

Language:

  • Go - 1.14.1 โ†’ 1.14.2
  • Java - 12.0.2 โ†’ 14.0.1
  • Node.js - 12.16.1 โ†’ 12.16.3
  • PHP - 7.4.4 โ†’ 7.4.5
  • Python - 3.7.4 โ†’ 3.8.2
  • Ruby - 2.6.6 โ†’ 2.7.1
  • Swift - 5.1.5 โ†’ 5.2.3

Tool:

If you have any questions or feedback, feel free to ask us via chat.


New remark-lint support and more#

We are happy to announce that remark-lint is newly supported! ๐ŸŽ‰

This tool can detect possible mistakes in Markdown files, so it will surely help your code-review. It is disabled by default, so if you want to use, then please enable it in your repository settings.

New Reek options#

In this release, we have added the target and config options for Reek.

Languages and tools update on March 25, 2020#

Also, the following languages and tools have been updated:

Language:

  • Go - 1.14.0 โ†’ 1.14.1
  • PHP - 7.4.3 โ†’ 7.4.4
  • Swift - 5.1.4 โ†’ 5.1.5

Tool:

If you have any questions or feedback, please contact us via chat.


Newly support for GolangCI-Lint, detekt, and FxCop#

We are happy to announce the big news! The following tools are newly supported (yet beta): ๐ŸŽ‰

The tools above are disabled by default. If you want to try, please enable them on your repository settings.

Deprecated Go tools#

This newly GolangCI-Lint support makes the following other Go tools deprecated:

The deadline is scheduled for April 30, 2020. Please consider the migration as soon as possible.

Deprecated TSLint#

The TSLint team has marked TSLint deprecated on the version 6.0.0 and decided to stop the activity on Dec 2020 (see the discussion for details).

So, we also have marked our TSLint support deprecated. We will continue to support it for a while, but we strongly recommend the migration to TypeScript ESLint.

More strict sider.yml#

This release has made it more strict the schema checking of sider.yml. For example:

# Before; it is ignored and an analysis passes. ๐Ÿ™†rubocop:  # some options...
# After; it is forbidden and an analysis fails! ๐Ÿ™…linter:  rubocop:    # some options...

If you notice an error due to your invalid sider.yml, please confirm the error message and fix it. We could help you via our chat support if you would be hard to fix.

Languages and tools update on March 2020#

We have updated the following languages and tools as usual.

Language:

  • Node.js - 12.14.1 โ†’ 12.16.1
  • Go - 1.13.7 โ†’ 1.14.0
  • PHP - 7.4.2 โ†’ 7.4.3

Tool:


Update the default version of RuboCop to 0.80.0#

Yesterday, RuboCop 0.80.0 has been released! This release includes some breaking changes, so today we have updated our default version of RuboCop.

This does not affect repositories that use their own version of RuboCop defined in Gemfile.lock or sider.yml.

See also our RuboCop document.


Update languages and tools on Feb 13, 2020#

We have updated the following languages and tools.

Language:

  • Node.js - 12.14.0 โ†’ 12.14.1
  • Go - 1.13.5 โ†’ 1.13.7
  • PHP - 7.4.1 โ†’ 7.4.2
  • Swift - 5.1.3 โ†’ 5.1.4

Tool:


Beta support for Dockerfile#

Sider has started to support Dockerfile with hadolint. If you are interested in the tool, please enable it in your repository settings.


Update languages and tools on Jan 8, 2020#

We have updated the following languages and tools.

Language:

  • Java - 12.0.1 โ†’ 12.0.2
  • Swift - 5.1.2 โ†’ 5.1.3
  • PHP - 7.4.0 โ†’ 7.4.1
  • Node.js - 12.13.1 โ†’ 12.14.0

Tool: