Skip to content

Releases: protofire/solhint

v3.6.1

11 Aug 17:25
48258ca
Compare
Choose a tag to compare

[3.6.1] - 2023-08-11

BREAKING CHANGE

  • RULE: not-rely-on-time was REMOVED from RECOMMENDED ruleset

    This was long overdue.

    Beware!! If you are relying on this rule and it is not explicitly configured (meaning there's only solhint:recommended option).

    You should add this rule manually:
  {
    "extends": "solhint:recommended",
    "rules": { 
        "not-rely-on-time": "warn", 
        "compiler-version": "off" 
    },
  }

If not explicitly added, this rule will not be executed.

SPECIAL ATTENTION

  • RULE: compiler-version default was updated from ^0.5.2 to ^0.8.0

Added

  • New Rule: Enforces the use of Custom Errors over Require and Revert statements #475
  • New Rule: Enforces the test_ prefix on a file for Foundry users #476
  • New Rule: Enforces the naming of function return values #478
  • Notes option on docs to add more information of each rule. See foundry-test-functions. #476

Fixed

  • func-named-parameters - false positives on builtin functions #472
  • ordering - treat initializer weight same as constructor #474
  • check-send-result - false positive on `erc777.send()`` function #477
  • explicit-types - default value is now taking into account when no value is specified in config #481
  • compiler-version - default value is now taking into account when no value is specified in config #483

Updates

  • Rule: check-send-result added config clarification in the new Notes section #482
  • Rule: compiler-version default was updated from ^0.5.2 to ^0.8.0 #483

Full Changelog: 3.5.1...3.6.1

v3.5.1

04 Aug 19:36
3444491
Compare
Choose a tag to compare

[3.5.1] - 2023-08-04

Updated

  • Support ignoreConstructors option for no-empty-blocks #418
  • Bump json5 from 2.1.3 to 2.2.3 #376
  • Bump json-schema and jsprim #370
  • Bump semver from 6.3.0 to 7.5.2 #438
  • Corrected "Category" of quotes rule, added default rules list on readme #443
  • 'Deprecated' column on `rules.md`` #444
  • Information about maxCharacters allowed on reason-string rule #446
  • E2E tests for max-warnings #455
  • Replaced blacklist and whitelist words #459
  • Removed runtime dependencies on load-rules #462
  • Allowed $ symbol as part of naming #465
  • Disabled no-empty-blocks rule for receive() function #466

Added

  • New Rule: No unused imports #417
  • New Rule: To treat immutable as constants #458
  • New Rule: Explicit-types. To forbid/enforce full type or alias for variables declaration #467
  • New Rule: Naming of Function parameters. Enforce arguments naming #468
  • JSON formatter support #440
  • Rules List with list-rules command #449
  • E2E tests for formatters and new Compact formatter #457

Fixed

  • maxWarnings parameter waiting review #439
  • –fix option not working in avoid-throw rule #442
  • Formatter option fixed for stdin command #450

v3.4.1

07 Mar 15:19
0b016da
Compare
Choose a tag to compare

Several fixes. Check CHANGELOG.md file for more information.

v3.4.0

17 Feb 16:18
48d4f6e
Compare
Choose a tag to compare

Several fixes and new rules addition. Check CHANGELOG.md file for more information.

v3.3.8

18 Jan 13:25
afe7b6d
Compare
Choose a tag to compare

Updated solidity parser to 0.14.5 - Fixed source code typos and docs

v3.3.6

29 May 14:20
3443eee
Compare
Choose a tag to compare

This version upgrades @solidity-parser/parser to the latest version (v0.13.2). It also includes a fix for #290.

v3.3.4

12 Mar 15:16
Compare
Choose a tag to compare

This release fixes an issue with the ordering rule #274

v3.3.2

08 Nov 13:42
0d494eb
Compare
Choose a tag to compare

This release upgrades the parser, adding support for file-level functions and constants.

It also fixes issues #249 and #258.

v3.3.1

27 Oct 14:29
445bf32
Compare
Choose a tag to compare

This release fixes an issue that was making solhint's package to include a lot of unnecessary stuff.

Thanks to @cruzdanilo for the PR!

v3.3.0

26 Oct 19:39
65884d0
Compare
Choose a tag to compare

This release adds the comprehensive-interface rule, that checks that all your public methods are overrides. This is useful to make sure that the API of your contract is extracted to an interface. This rule is not included in the default or recommended rulesets.

Thanks to @nventuro for suggesting it!