Releases: duaraghav8/Ethlint
v1.2.5
v1.2.4
v1.2.3
v1.2.2
v1.2.1
1.2.0
v1.1.8
Solium v1.1.8 has seen significant contributions and inputs from the blockchain community.
Rules introduced:
error-reason
- Ensure that error message is provided forrevert()
andrequire()
statementslinebreak-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
Solium v1.1.7 introduces 3 new lint rules:
no-constant
: Recommends replacingconstant
modifier in function declarations withview
, sinceconstant
will be deprecated starting solidity v0.5.0. This rule provides automatic fixing capability.value-in-payable
: Ensures that functions containingmsg.value
are declaredpayable
.max-len
- Enforces an upper limit on the number of characters per line of code. Defaults to145
, 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
- 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
- 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 fromerror
towarning
. Note that this is not a breaking change. A breaking change would be increasing severity fromwarning
toerror
, 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.