Skip to content

Releases: duaraghav8/Ethlint

v1.2.5

14 Sep 06:34
Compare
Choose a tag to compare

v1.2.4

08 Apr 04:00
Compare
Choose a tag to compare

v1.2.3

15 Feb 06:26
Compare
Choose a tag to compare

v1.2.2

13 Jan 11:45
Compare
Choose a tag to compare

v1.2.1

06 Jan 15:13
Compare
Choose a tag to compare

1.2.0

29 Dec 11:02
Compare
Choose a tag to compare

v1.1.8

10 Jul 15:08
6cf5340
Compare
Choose a tag to compare

Solium v1.1.8 has seen significant contributions and inputs from the blockchain community.

Rules introduced:

  • error-reason - Ensure that error message is provided for revert() and require() statements
  • linebreak-style - Enforce consistent line break style across the codebase (either windows or unix).
  • visibility-first - Ensure that the visibility modifier for a function comes before any custom modifiers

See the docs for complete description of these rules.

Several UX improvements were introduced in the CLI. This includes better help messages, writing messages to the appropriate streams (stdout or stderr) and better formatting for the reporters.

The default .soliumignore file now includes contracts/Migrations.sol. Earlier, developers using Truffle had to manually add this entry.

4 new options have been introduced in the CLI:

  • --no-soliumrc - Do not look for the .soliumrc.json file at all.
  • --no-soliumignore - Do not look for the .soliumignore file at all
  • --rule - Specify a rule apply. Example: solium --rule 'indentation: ["error", 4]' -d contracts/
  • --plugin - Specify a plugin to apply. Example: solium --plugin security -f myContract.sol

See the user guide for the complete description of these options.

v1.1.7

30 Apr 10:20
Compare
Choose a tag to compare

Solium v1.1.7 introduces 3 new lint rules:

  • no-constant: Recommends replacing constant modifier in function declarations with view, since constant will be deprecated starting solidity v0.5.0. This rule provides automatic fixing capability.
  • value-in-payable: Ensures that functions containing msg.value are declared payable.
  • max-len - Enforces an upper limit on the number of characters per line of code. Defaults to 145, but is customisable via .soliumrc.json.

The rule pragma-on-top can now fix experimental pragma statement positions.

Solium's parser and all rules (except for indentation and lbrace) now support the constructor() declaration syntax. The rules that don't yet support this syntax don't produce any false positives. The CLI introduces the --debug flag that can be used by developers to view stack traces for details about errors. Starting 1.1.7, Solium also displays the list of its backers on README.md.

This release saw significant contributions from @mushketyk & @ElOpio

v1.1.6

27 Mar 10:26
Compare
Choose a tag to compare
  • A massive performance improvement has been introduced in Solium's dependency parser with this release. For comparison, it now takes 2 seconds to lint Augur's core contracts vs ~9 seconds prior to v1.1.6.
  • The emit rule has been introduced that enforces triggering events using the emit keyword
  • A major bug was fixed in the mixedcase rule, thanks to @ElOpio
  • Solium CLI option descriptions and some rules' messages were improved.

v1.1.5

14 Feb 18:11
Compare
Choose a tag to compare
  • Starting v1.1.5, Solium no longer crashes altogether if there are parsing issues in a subset of solidity files. Instead, it reports Syntax error, i.e., has an exit code > 0 and hence, fails the build. It continues to lint other files and produces issues in them normally. See issue.
  • Default severities of all whitespace rules in solium:recommended ruleset have been lowered from error to warning. Note that this is not a breaking change. A breaking change would be increasing severity from warning to error, which would cause build failures. See commit
  • Solium is now fully compatible with windows environment. It produces the same results on linux, osx and windows given the same code and configuration. Note that a few tests currently fail on windows, but that doesn't affect functionality. The failures are merely due to how solidity code has been written in solium's test suite (as multi-line template strings, which treat line break as \n instead of \r\n on windows). See issue.
  • This release contains various bug fixes for Solium's solidity parser.