chore(deps): update dependency solhint to v6#166
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
Conversation
7f0dcf9 to
4c61036
Compare
4c61036 to
7bae362
Compare
7bae362 to
c31c4cf
Compare
c31c4cf to
5a45f9e
Compare
5a45f9e to
5194c8d
Compare
5194c8d to
0fb7a52
Compare
0fb7a52 to
3b20bff
Compare
fc3e916 to
3cbb223
Compare
3cbb223 to
1e2254c
Compare
1e2254c to
aa33a90
Compare
aa33a90 to
1163f29
Compare
452ff6b to
f2c4380
Compare
f2c4380 to
b2a640d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.3.7→6.2.1Release Notes
protofire/solhint (solhint)
v6.2.1Compare Source
🧹 Chore: added poster
v6.2.0Compare Source
🛠️ Fix:
code-complexityrule no longer crashes when configured with a numeric option (e.g.["error", 8]) (#758)🧹 Chore: bump
globto 13.0.6 — removes deprecatedinflighttransitive dependency🧹 Chore: bump
rimrafto 6.1.3 (devDep)🧹 Chore: bump
brace-expansion,picomatchandflattedto 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.0Compare Source
🛠️ Fix:
natspecrule no longer flags unnamed parameters, which Solidity prohibits documenting with @param (#749)🛠️ Fix:
natspecrule andimport-path-checkrules related issues (#750)🛠️ Fix: scoped package names now supported for shareable configs (#741)
🛠️ Fix: misc minor issues and general polish (#739)
🧱 Enhancement: added
pluginPathsconfig 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.3Compare 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.2Compare Source
🛠️
Fix: corrected use-natspec enforcement behavior on internal functions🛠️
Fix: misc minor issues and typos. General polish and stability🆕
Rule: addedfoundry-no-blockto detect usage ofblock.timestampandblock.numberin Solidity tests🆕
Rule: addedno-unused-private-functionsto prevent unused private function declarations🆕
Rule: addedno-immutable-before-declarationto enforce correct immutable declaration order🧱
Enhancement: improvements tofoundry-test-functionrule, 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-functionsis deprecated and will be removed in v7.0.0. Please rename tofoundry-test-function-naming.WILL BE REPLACED IN v7
✨🛡️ Kudos to our contributors! 🛡️✨
v6.0.1Compare Source
🛠️
Fix:no-unused-varsfor modifiers🛠️
Fix:no-unused-importshandled for multiline @inheritdoc. Eliminates missed detections with multiline inheritance docs🛠️
Fix:func-name-mixedcaseimprovement, 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.0Compare 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
gas-struct-packingfalse positives - #690gas-increment-by-onebackward expression - #691Added
use-natspec: Promote the use of natspec and make several checks to enforce it - #689v5.2.0Compare Source
Fixed
imports-orderinterference withno-unused-imports- #684Added
cacheflag allowing to skip already evaluated files if no error was thrown and file did not change - #685Thanks 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.0Compare Source
Added
no-unused-import- #648 (Thanks to @DenisGorbachev)Updated
orderingrule - #656BREAKING CHANGE
solhint:defaultruleset - #654Thanks 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.5Compare Source
Fixed
gas-custom-errors#620 - Support for Custom Errors insiderequirestatementscompiler-version#621 - Upgraded minimum requirement for the rulereentrancy#622 - Fixed path and typosAdded
v5.0.4Compare Source
Fixed
imports-order#595 - Replaced single quotes with double quotesgas-custom-errors#613 - Allows the use of Requirement with Custom Errorssolidity-parserdependency #612Added
.pre-commit-hooks.yamlto allow projects to run Solhint via pre-commit #596 (Thanks to @dbast)huskysince it is not needed #612v5.0.3Compare Source
Fixed
imports-order#593v5.0.2Compare Source
Fixed
func-named-parametersexclude abi.encodeX from the rule #583 (Thanks to @0xCLARITY)Added
v5.0.1Compare 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.0Compare Source
BREAKING CHANGES
Solhint EXIT codes
Solhint changed how the exit codes are implemented:
Exit with 0 codeWhen execution was ok and there were no errors when evaluating the code according to the rulesExit with 1 codeWhen execution was ok and there are errors reportedExit with 1 codeWhen execution was ok and max warnings is lower than the reported warningsExit with 255 codeWhen 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.4Compare Source
Fixed
gas-custom-errorsimproved logic to ranged pragma versions #573gas-indexed-events#573v4.5.3Compare Source
v4.5.2Compare Source
Updated
v4.5.1Compare Source
v4.5.0Compare Source
Updated
(*) 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
i#557Gas Consumption Rules
Fixed
explicit-typeslogic improved and bug free #551payable fallbackImproved behavior #561BREAKING CHANGES
named-return-valuesrule was renamed to gas-named-return-values and now it is part of Gas Consumption ruleset #552custom-errorsrule was renamed to gas-custom-errors and now it is part of Gas Consumption ruleset #553WARNinstead ofOFFforfoundry-test-functionsandnamed-parameters-mappingrules #556v4.1.1Compare Source
Fixed
v4.1.0Compare Source
Updated
Sarifformatter #530 (Thanks to @eshaan7)npmon workflows #534Added
payable-fallbackrule #528quotesrule #529avoid-suiciderule #531contract-name-camelcaserule #532event-name-camelcaserule #533Fixed
v4.0.0Compare Source
Updated
private-vars-leading-underscorerule to clarify its functionalityno-empty-blocksrule to clarify its functionalityAdded
--disc) #506fixoption now shows the report on screen #509saveoption to store report on disk with the standard or the specified format #509explicit-typesrule #504no-consolerule #513private-vars-leading-underscorerule #511Fixed
one-contract-per-fileignore interfaces #514 (Thanks to @cruzdanilo)v3.6.2Compare Source
Added
one-contract-per-file- Enforces the use of ONE contract per file #487Fixed
foundry-test-functions- Modified regex to include invariant and statefulFuzz tests #484quotes- To allow quotes inside double quotes and vice versa #485JSON- Formatter returning JS object instead of standard json #490v3.6.1Compare Source
BREAKING CHANGE
not-rely-on-timewas REMOVED from RECOMMENDED rulesetThis was long overdue.
Beware!! If you are relying on this rule and it is not explicitly configured (meaning there's only
solhint:recommendedoption).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
compiler-versiondefault was updated from ^0.5.2 to ^0.8.0Updated
check-send-resultadded config clarification in the newNotessection #482compiler-versiondefault was updated from ^0.5.2 to ^0.8.0 #483Added
Notesoption on docs to add more information of each rule. Seefoundry-test-functions. #476Fixed
func-named-parameters- false positives on builtin functions #472ordering- treat initializer weight same as constructor #474check-send-result- false positive on `erc777.send()`` function #477explicit-types- default value is now taking into account when no value is specified in config #481compiler-version- default value is now taking into account when no value is specified in config #483v3.5.1Compare Source
Updated
quotesrule, added default rules list on readme #443reason-stringrule #446max-warnings#455no-empty-blocksrule for receive() function #466Added
list-rulescommand #449Compact formatter#457Fixed
maxWarningsparameter waiting review #439–fixoption not working in avoid-throw rule #442stdincommand #450v3.4.1Compare Source
Updated
Added
Fixed
v3.4.0Compare Source
Updated
Added
Fixed
v3.3.8Compare Source
Fixed Docs and Typos
Updated
Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.