Skip to content

Releases: protofire/solhint

v5.0.3

03 Aug 17:52
018c459
Compare
Choose a tag to compare

[5.0.3] - 2024-08-03

Fixed

  • New Rule: Imports order #593

v5.0.2

25 Jul 22:36
c4fa5c9
Compare
Choose a tag to compare

[5.0.2] - 2024-07-25

Fixed

Added

  • New Rule: Imports order #587

v5.0.1

13 May 14:17
e20b8c8
Compare
Choose a tag to compare

[5.0.1] - 2024-05-13

BREAKING CHANGES (refer to v5.0.0)

Fixed an issue on the returining values where only was evaluating the first report instead of all of them.

v5.0.0

11 May 23:04
7451f79
Compare
Choose a tag to compare

[5.0.0] - 2024-05-11

BREAKING CHANGES

Solhint EXIT codes

Solhint changed how the exit codes are implemented:

Exit with 0 code When execution was ok and there were no errors when evaluating the code according to the rules
Exit with 1 code When execution was ok and there are errors reported
Exit with 1 code When execution was ok and max warnings is lower than the reported warnings
Exit with 255 code When there's an error in the execution (bad config, writing not allowed, wrong parameter, file not found, etc)

Solhint QUIET mode

QUIET mode (-c quiet) option now works with the warnings and may exit with 1 if there are more than defined by user




Thanks to @juanpcapurro for providing the code

v4.5.4

10 Apr 13:43
8ea89a4
Compare
Choose a tag to compare

[4.5.4] - 2024-04-10

Fixed

  • gas-custom-errors improved logic to ranged pragma versions #573
  • gas-indexed-events #573

v4.5.0

15 Mar 18:42
37f5082
Compare
Choose a tag to compare

Updated

  • Update dependencies in package json #548
  • Custom errors rules checks from 0.8.4 forward before warning #555
  • Parser support up to Solidity 0.8.22 (*)

(*) Note: Solhint can work with latest Solidity versions.
If new grammar/syntax is added or changed, it could give some false positives or miss a rule.
But overall functionality will work as expected.

Added

  • New Rule: Interface starts with i #557

Gas Consumption Rules

  • New Rule: [GC] Mutlitoken1155 rule #541
  • New Rule: [GC] Small strings check #542
  • New Rule: [GC] Indexed events #543
  • New Rule: [GC] Calldata parameters #544
  • New Rule: [GC] Increment by one #545
  • New Rule: [GC] Struct packing #546
  • New Rule: [GC] Name Return Values #552
  • New Rule: [GC] Custom Errors #553 #555
  • New Rule: [GC] Dot Length in Loops #559
  • New Rule: [GC] Gas Strict Inequalities #560

Fixed

  • explicit-types logic improved and bug free #551
  • payable fallback Improved behavior #561

BREAKING CHANGES

  • named-return-values rule was renamed to gas-named-return-values and now it is part of Gas Consumption ruleset #552
  • custom-errors rule was renamed to gas-custom-errors and now it is part of Gas Consumption ruleset #553
  • Return error 0 when executed correctly #554
  • Default severity modified to WARN instead of OFF for
    foundry-test-functions and named-parameters-mapping rules #556

v4.5.2

15 Mar 20:39
5cfebdf
Compare
Choose a tag to compare

[4.5.2] - 2024-03-15

Updated

  • Update Readme file to include all autofix rules
  • Update docker file
  • Update package json file

[4.5.0] - 2024-03-15

Updated

  • Update dependencies in package json #548
  • Custom errors rules checks from 0.8.4 forward before warning #555
  • Parser support up to Solidity 0.8.22 (*)

(*) Note: Solhint can work with latest Solidity versions.
If new grammar/syntax is added or changed, it could give some false positives or miss a rule.
But overall functionality will work as expected.

Added

  • New Rule: Interface starts with i #557

Gas Consumption Rules

  • New Rule: [GC] Mutlitoken1155 rule #541
  • New Rule: [GC] Small strings check #542
  • New Rule: [GC] Indexed events #543
  • New Rule: [GC] Calldata parameters #544
  • New Rule: [GC] Increment by one #545
  • New Rule: [GC] Struct packing #546
  • New Rule: [GC] Name Return Values #552
  • New Rule: [GC] Custom Errors #553 #555
  • New Rule: [GC] Dot Length in Loops #559
  • New Rule: [GC] Gas Strict Inequalities #560

Fixed

  • explicit-types logic improved and bug free #551
  • payable fallback Improved behavior #561

BREAKING CHANGES

  • named-return-values rule was renamed to gas-named-return-values and now it is part of Gas Consumption ruleset #552
  • custom-errors rule was renamed to gas-custom-errors and now it is part of Gas Consumption ruleset #553
  • Return error 0 when executed correctly #554
  • Default severity modified to WARN instead of OFF for
    foundry-test-functions and named-parameters-mapping rules #556

v4.1.1

08 Jan 16:57
2738047
Compare
Choose a tag to compare

[4.1.1] - 2024-01-08

Fixed

  • Fix changelog typos

[4.1.0] - 2024-01-08

Updated

  • Included Sarif formatter #530 (Thanks to @eshaan7)
  • Cache npm on workflows #534

Added

  • Official Docker Image #524 (Thanks to @keypee)
  • Autofix for payable-fallback rule #528
  • Autofix for quotes rule #529
  • Autofix for avoid-suicide rule #531
  • Autofix for contract-name-camelcase rule #532
  • Autofix for event-name-camelcase rule #533

Fixed

  • Fix private vars leading underscore on libraries #525

v4.0.0

27 Oct 18:09
ca7ba78
Compare
Choose a tag to compare

JOIN OUR DISCORD SERVER: HERE

[4.0] - 2023-10-01

Updated

  • Enhance explicit types sensitivity #493 (Thanks to @vladyan18)
  • Docs on private-vars-leading-underscore rule to clarify its functionality
  • Changelog and docs for no-empty-blocks rule to clarify its functionality
  • Require package with full path #515 (Thanks to @zouguangxian)

Added

  • Check for updates on Solhint version to keep users up to date. There's an option to disable this check (--disc) #506
  • fix option now shows the report on screen #509
  • save option to store report on disk with the standard or the specified format #509
  • Autofix for explicit-types rule #504
  • Autofix for no-console rule #513
  • Autofix for private-vars-leading-underscore rule #511

Fixed

v3.6.2

17 Aug 20:55
400248d
Compare
Choose a tag to compare

[3.6.2] - 2023-08-17

Added

  • New Rule: one-contract-per-file - Enforces the use of ONE contract per file #487

Fixed

  • foundry-test-functions - Modified regex to include invariant and statefulFuzz tests #484
  • quotes - To allow quotes inside double quotes and viceversa #485
  • JSON - Formatter returning JS object instead of standard json #490