Skip to content

Releases: protofire/solhint

v3.0.0

04 May 14:18
fd4bf46
Compare
Choose a tag to compare

Solhint 3.0 is finally released! This release brings several changes, hopefully for good 🙂

You can try it out by upgrading your existing installation to 3.0.0. If you have feedback or found a bug, please open an issue.

Change underlying parser

We changed the solidity parser we were using for a higher level library. This might seem like an implementation detail, but the practical implication is that now writing plugins should be much easier. Of course, this also means that existing plugins will need to be re-written, but it shouldn't be a lot of work. If you have a plugin (or want to write one), feel free to ask us for help. And don't forget to read the plugins guide.

Autofix support

We added support for autofix in solhint, and implemented it for a couple of simple cases (avoid-throw and avoid-sha3), but we plan to add it to more rules.

Breaking changes

  • All the styling rules were removed. We recommend using prettier-solidity instead. You can combine it with solhint with this plugin.
  • compiler-fixed and compiler-gt-0_4 were removed. You can use compiler-version instead.
  • mark-callable-contracts was removed from the solhint:recommended ruleset.

v3.0.0-rc.8

18 Apr 15:46
81a8156
Compare
Choose a tag to compare
v3.0.0-rc.8 Pre-release
Pre-release

Fix problem with no-unused-vars and new call syntax.

Better error handling when a plugin is loaded.

v3.0.0-rc.7...v3.0.0-rc.8

v3.0.0-rc.7

10 Apr 03:04
89e8bae
Compare
Choose a tag to compare
v3.0.0-rc.7 Pre-release
Pre-release

v2.0.0-beta.2

01 Feb 19:25
Compare
Choose a tag to compare
v2.0.0-beta.2 Pre-release
Pre-release

This is a beta version of Solhint 2.0. This is a major version change, with some breaking changes but also with a lot of new stuff.

The three main changes are:

  • Rules are disabled by default. This means that you have to explicitly enable each rule that you want.
  • Since enabling a lot of rules may be cumbersome, we also added shareable configs. These are npm packages that start with solhint-config- and that allow you to extend to configuration from another one, and also to share a configuration between different projects. You can learn more here.
  • We also added support for plugins. Similar to shareable configs, plugins are npm packages that start with solhint-plugin-. You can learn more about plugins here.

To try it, install solhint@next:

npm install -g solhint@next

v1.4.0

22 Oct 12:17
Compare
Choose a tag to compare

Changelog:

  1. Add support for constructor and emit event syntax (#40)
  2. Add --quiet, --max-warnings and --ignore-path flags (#55, #57, #58)
  3. Add experimental prettier support (#72)

v1.1.10

20 Jan 18:12
Compare
Choose a tag to compare

Release Changelog:

  1. Add support of ignore files #18
  2. Improve the ident validation logic #25
  3. Throw error if config is not valid JSON #26
  4. space-after-comma error when ommiting vars in tuple assignment #23
  5. Scientific notation is not supported #21

v1.1.9

01 Dec 09:42
Compare
Choose a tag to compare

Release Changelog:

  1. single word constant variables trigger snake case error #11
  2. Add vim plugin to documentation #15
  3. func-order confused by modifiers and constructors. #13

v1.1.8

09 Nov 09:40
Compare
Choose a tag to compare

List of Changes:

  1. The byte keyword is not recognized as a keyword in inline assembly. #9
  2. Add placeholder statement to Solhint grammar #10

v1.1.7

28 Oct 14:32
Compare
Choose a tag to compare

List of Changes:

  • Support of stateMutability keywords (pure, view, etc.) enhancement good first issue #1
  • Change severity of compiler fixed issue to warn enhancement #4
  • Correct formatting of auto-created configuration file enhancement #3
  • Do not create configuration file when it already exists in current folder #2

v1.1.6

17 Oct 14:07
Compare
Choose a tag to compare
Implement reentrancy error validation rule #7