Skip to content

chore(deps): update dependency solhint to v6#166

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/solhint-6.x
Open

chore(deps): update dependency solhint to v6#166
renovate[bot] wants to merge 1 commit intomainfrom
renovate/solhint-6.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Aug 10, 2025

This PR contains the following updates:

Package Change Age Confidence
solhint (source) 3.3.76.2.1 age confidence

Release Notes

protofire/solhint (solhint)

v6.2.1

Compare Source

🧹 Chore: added poster

v6.2.0

Compare Source

🛠️ Fix: code-complexity rule no longer crashes when configured with a numeric option (e.g. ["error", 8]) (#​758)

🧹 Chore: bump glob to 13.0.6 — removes deprecated inflight transitive dependency

🧹 Chore: bump rimraf to 6.1.3 (devDep)

🧹 Chore: bump brace-expansion, picomatch and flatted to patched versions via overrides

🧰 Infra: drop Node.js 16 and 18 support (both EOL). Minimum supported version is now Node.js 20. CI matrix updated to [20, 22]

v6.1.0

Compare Source

🛠️ Fix: natspec rule no longer flags unnamed parameters, which Solidity prohibits documenting with @​param (#​749)

🛠️ Fix: natspec rule and import-path-check rules related issues (#​750)

🛠️ Fix: scoped package names now supported for shareable configs (#​741)

🛠️ Fix: misc minor issues and general polish (#​739)

🧱 Enhancement: added pluginPaths config option for resolving plugins from custom locations.
Supports editor integrations and external project setups. Failed plugins emit warnings instead of crashing (#​751)

🧹 Chore: bump ajv to 8.18.0

🧹 Chore: bump minimatch to 10.2.4

🧹 Chore: bump loadash to 4.17.23

🧹 Chore: update LICENSE copyright year to 2026 (thanks xiaobei0715!!) (#​745)

✨🛡️ Kudos to our contributors! 🛡️✨

v6.0.3

Compare Source

🛠️ Fix: removed unused files, normalized schema for validation, load-rules, base-checker and validator improvements

🛠️ Fix: removing console log from use-natspec rule (thanks brossetti1!!)

🛠️ Fix: misc minor issues and typos. General polish and stability

✨🛡️ Kudos to our contributors! 🛡️✨

v6.0.2

Compare Source

🛠️ Fix: corrected use-natspec enforcement behavior on internal functions

🛠️ Fix: misc minor issues and typos. General polish and stability

🆕 Rule: added foundry-no-block to detect usage of block.timestamp and block.number in Solidity tests

🆕 Rule: added no-unused-private-functions to prevent unused private function declarations

🆕 Rule: added no-immutable-before-declaration to enforce correct immutable declaration order

🧱 Enhancement: improvements to foundry-test-function rule, including naming and configuration updates

🧰 Infra: update GitHub Actions in CI workflows to v5 and v6. Keeps CI aligned with latest ecosystem changes

🧰 Infra: bump js-yaml dependency following security recommendations

🧹 Chore: stop publishing the test directory to npm packages. Reduces package size and noise

🧹 Chore: foundry-test-functions is deprecated and will be removed in v7.0.0. Please rename to foundry-test-function-naming.
WILL BE REPLACED IN v7

✨🛡️ Kudos to our contributors! 🛡️✨

v6.0.1

Compare Source

🛠️ Fix: no-unused-vars for modifiers

🛠️ Fix: no-unused-imports handled for multiline @​inheritdoc. Eliminates missed detections with multiline inheritance docs

🛠️ Fix: func-name-mixedcase improvement, added snake case exception in interface (naming). Aligns interface naming edge cases

🛠️ Fix: misc minor issues; docs link and typos. General polish and stability

🧰 Infra: Update GitHub Actions in CI workflows. Keeps CI up to date and consistent across jobs

🧰 Infra: Ignore enhancement to mimic as regular linters

🧹 Chore: Remove fs-extra dependency. Simplifies deps

🧹 Chore: Remove strip-ansi. Cleans unused/legacy deps

🧹 Chore: Changed changelog format

🧱 Enhancement: added config for no-unused-vars to validate parameters or not

🧱 Validation: Improve AJV schema validation and related caching approach. More robust/faster config validation

✨🛡️ Kudos to our contributors! 🛡️✨

v6.0.0

Compare Source

BREAKING CHANGE

Some rules were removed from the recommended ruleset and other were promoted. See below:
Rules revision - #​692

🟥 DEMOTED
  • payable-fallback: Outdated due to the introduction of receive(); rarely needed in modern Solidity.

✅ PROMOTED
  • interface-starts-with-i: Promotes clarity by clearly distinguishing interfaces from contracts.
  • gas-calldata-parameters: Encourages optimal memory usage for external functions.
  • gas-increment-by-one: Suggests using ++i style for gas-efficient increments.
  • gas-indexed-events: Improves event indexing for off-chain systems and reduces gas usage.
  • gas-small-strings: Recommends cheaper encoding using bytes32 for short strings.
  • gas-strict-inequalities: Helps avoid subtle off-by-one bugs in range conditions.
  • gas-struct-packing: Maximizes storage efficiency by suggesting tight struct packing.
  • duplicated-imports: Prevents redundant imports that bloat the AST and confuse code structure.
  • import-path-check: Ensures all imported files exist and resolve correctly, avoiding runtime errors.
  • function-max-lines: Encourages smaller, more readable and maintainable functions.
  • constructor-syntax: Enforces modern constructor syntax for consistency and clarity.
  • use-natspec: Promotes proper documentation with NatSpec for better audits and readability.
Fixed
Added
  • use-natspec: Promote the use of natspec and make several checks to enforce it - #​689



v5.2.0

Compare Source

Fixed
  • imports-order interference with no-unused-imports - #​684
Added
  • Added cache flag allowing to skip already evaluated files if no error was thrown and file did not change - #​685
  • Added multi-directory config support by hierarchy - #​678
  • Added better error handling on invalid configs - #​683

Thanks to @​smol-ninja - @​PaulRBerg @​lechpzn, @​otc-png, @​MamunC0der, @​kks-code, @​RidaMichofi

For making the time of proposing rules, pointing out typos, broken links, unused code, copyright, small reviews, etc. We really appreciate your contributions!



v5.1.0

Compare Source

Added
Updated
BREAKING CHANGE
  • Removed code for solhint:default ruleset - #​654

Thanks to @​fanqiaojun, @​maximevtush, @​MaxweLL22-22, @​PixelPil0t1, @​wgyt, @​operagxsasha, @​Hopium21, @​leopardracer, @​omahs, @​zeevick10, @​gap-editor, @​Olexandr88, @​jirutka

For making the time of pointing out typos, license update, broken links, unused code, copyright, small reviews, etc. We really appreciate your contributions!



v5.0.5

Compare Source

Fixed
  • gas-custom-errors #​620 - Support for Custom Errors inside require statements
  • compiler-version #​621 - Upgraded minimum requirement for the rule
  • reentrancy #​622 - Fixed path and typos
  • Typos #​623 - Fixed typos
  • Typo #​625 - Fixed typo
Added
  • New Rule: Duplicated Imports #​626
  • Cute Message on console report to gather community into discord channel



v5.0.4

Compare Source

Fixed
  • imports-order #​595 - Replaced single quotes with double quotes
  • gas-custom-errors #​613 - Allows the use of Requirement with Custom Errors
  • Typos and broken links #​611 - #​617
  • Upgraded solidity-parser dependency #​612
Added
  • .pre-commit-hooks.yaml to allow projects to run Solhint via pre-commit #​596 (Thanks to @​dbast)
  • Removed husky since it is not needed #​612



v5.0.3

Compare Source

Fixed



v5.0.2

Compare Source

Fixed
Added



v5.0.1

Compare Source

BREAKING CHANGES (refer to v5.0.0)

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



v5.0.0

Compare Source

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

Compare Source

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

v4.5.3

Compare Source

v4.5.2

Compare Source

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

v4.5.1

Compare Source

v4.5.0

Compare Source

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] Multitoken1155 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

Compare Source

Fixed
  • Fix changelog typos

v4.1.0

Compare Source

Updated
Added
Fixed
  • Fix private vars leading underscore on libraries #​525

v4.0.0

Compare Source

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

Compare Source

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 vice versa #​485
  • JSON - Formatter returning JS object instead of standard json #​490

v3.6.1

Compare Source

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
Updated
  • 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
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

v3.5.1

Compare Source

Updated
  • Ignores empty constructors when inheriting a base contract #​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

Compare Source

Updated
  • Updated solidity parser to 0.16.0 #​420
Added
  • Added github workflow to execute unit tests on each PR #​412
  • Added macOS and windows into E2E github workflow #​422
Fixed
  • False positive on for-loop Yul #​400
  • Ordering-rule support for Top Level statements #​393
  • Fix no-global-import to accept named global imports #​416
  • Fix named-parameters-mapping to not enforce on nested mappings #​421

v3.4.0

Compare Source

Updated
  • Solhint dependencies to support newer versions #​380
  • Linter fixed to get clearer source code #​381
  • E2E, added formatters into repo, updated CI #​385
  • Solhint dependencies to support newer versions #​403
Added
  • New Rule: For banning "console.sol" and "import hardhat or foundry console.sol" #​372
  • New Rule: No global imports #​390
  • New Rule: Named parameters in v0.8.18 solidity version #​403
Fixed
  • TypeError: cannot read property 'errorCount' of undefined #​351
  • Directories with .sol in the name path treated as files #​352
  • Doc generator and added a CI step to avoid crashing #​389
  • Rule for banning "console.sol" and "import hardhat or foundry console.sol #​391
  • Option –quiet works now with all files #​392
  • Transfers with .call excluded from warning as low level code #​394
  • Made func-visibility skip free functions #​396
  • False positive on no-unused-vars for payable arguments without name #​399

v3.3.8

Compare Source

Fixed Docs and Typos
Updated




Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "on the first day of the week"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/solhint-6.x branch from 7f0dcf9 to 4c61036 Compare August 22, 2025 06:49
@renovate renovate bot force-pushed the renovate/solhint-6.x branch from 4c61036 to 7bae362 Compare September 25, 2025 14:52
@renovate renovate bot force-pushed the renovate/solhint-6.x branch from 7bae362 to c31c4cf Compare October 21, 2025 16:47
@renovate renovate bot force-pushed the renovate/solhint-6.x branch from c31c4cf to 5a45f9e Compare November 16, 2025 19:49
@renovate renovate bot force-pushed the renovate/solhint-6.x branch from 5a45f9e to 5194c8d Compare December 19, 2025 00:20
@renovate renovate bot force-pushed the renovate/solhint-6.x branch from 5194c8d to 0fb7a52 Compare December 31, 2025 16:16
@renovate renovate bot force-pushed the renovate/solhint-6.x branch from 0fb7a52 to 3b20bff Compare January 8, 2026 20:04
@renovate renovate bot force-pushed the renovate/solhint-6.x branch 2 times, most recently from fc3e916 to 3cbb223 Compare January 20, 2026 17:53
@renovate renovate bot force-pushed the renovate/solhint-6.x branch from 3cbb223 to 1e2254c Compare February 2, 2026 15:42
@renovate renovate bot force-pushed the renovate/solhint-6.x branch from 1e2254c to aa33a90 Compare February 12, 2026 16:54
@renovate renovate bot force-pushed the renovate/solhint-6.x branch from aa33a90 to 1163f29 Compare March 5, 2026 17:31
@renovate renovate bot force-pushed the renovate/solhint-6.x branch 2 times, most recently from 452ff6b to f2c4380 Compare March 31, 2026 22:01
@renovate renovate bot force-pushed the renovate/solhint-6.x branch from f2c4380 to b2a640d Compare April 15, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants