Skip to content

chore(deps): update other minor updates - #373

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/other-minor-updates
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/other-minor-updates

Conversation

@renovate

@renovate renovate Bot commented Jan 1, 2026 •

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence Type Update
dotenv ^17.2.3 → ^17.4.2 age confidence devDependencies minor
hardhat (source) ^2.27.1 → ^2.29.1 age confidence devDependencies minor
node 24.11.1 → 24.21.0 age confidence uses-with minor
prettier (source) ^3.7.3 → ^3.9.10 age confidence devDependencies minor
prettier-plugin-solidity ^2.2.0 → ^2.4.1 age confidence devDependencies minor
solhint (source) ^6.0.1 → ^6.2.5 age confidence devDependencies minor
solidity-coverage ^0.8.16 → ^0.8.17 age confidence devDependencies patch

Release Notes

motdotla/dotenv (dotenv)

v17.4.2

Compare Source

Changed
  • Improved skill files - tightened up details (#​1009)

v17.4.1

Compare Source

Changed
  • Change text injecting to injected (#​1005)

v17.4.0

Compare Source

Added
  • Add skills/ folder with focused agent skills: skills/dotenv/SKILL.md (core usage) and skills/dotenvx/SKILL.md (encryption, multiple environments, variable expansion) for AI coding agent discovery via the skills.sh ecosystem (npx skills add motdotla/dotenv)
Changed
  • Tighten up logs: ◇ injecting env (14) from .env (#​1003)

v17.3.1

Compare Source

Changed
  • Fix as2 example command in README and update spanish README

v17.3.0

Compare Source

Added
  • Add a new README section on dotenv’s approach to the agentic future.
Changed
  • Rewrite README to get humans started more quickly with less noise while simultaneously making more accessible for llms and agents to go deeper into details.

v17.2.4

Compare Source

Changed
  • Make DotenvPopulateInput accept NodeJS.ProcessEnv type (#​915)
  • Give back to dotenv by checking out my newest project vestauth. It is auth for agents. Thank you for using my software.
NomicFoundation/hardhat (hardhat)

v2.29.1: Hardhat v2.29.1

Compare Source

This is a small bug fix release for Hardhat 2 that improves CLI argument validation.

Changes

5a16885: Fixed the int, bigint and float CLI argument types rejecting hexadecimal values containing the digit f/F (e.g. 0xff, 0xdeadbeef). Thanks @​pucedoteth.

v2.29.0: Hardhat v2.29.0

Compare Source

This is a small Hardhat 2 release that upgrades the version of Mocha to make it compatible with Node 26, and uses a newer version of typescript when initializing projects.

Changes
  • a81ad1d: Upgrade Mocha to version ^11.1.0 to make it compatible with Node 26.
  • 6ea5832: Update the initialization of new projects to use a newer typescript

v2.28.6: Hardhat v2.28.6

Compare Source

This release is a small bug fix for an issue affecting hardhat-tracer after a hardhat_reset.

Changes
  • f6d5437: Fixed an issue affecting the hardhat-tracer community plugin causing traces to stop being reported after calling hardhat_reset (#​7918)

💡 The Nomic Foundation is hiring! Check our open positions.


v2.28.5: Hardhat v2.28.5

Compare Source

This release is a small enhancement adding eth_getProof as a JSON-RPC method.

Changes

💡 The Nomic Foundation is hiring! Check our open positions.


v2.28.4: Hardhat v2.28.4

Compare Source

This release is a small bug fix to allow hardhat_reset to switch from local to forking mode.

Changes
  • 32f29d6: Fixed bug in hardhat_reset when switching from local to fork mode (#​7834)

💡 The Nomic Foundation is hiring! Check our open positions.


v2.28.3: Hardhat v2.28.3

Compare Source

This release increases the block gas limit to 60,000,000.

Patch Changes

💡 The Nomic Foundation is hiring! Check our open positions.


v2.28.2: Hardhat v2.28.2

Compare Source

This release adds support for Solidity 0.8.32 and 0.8.33.

Patch Changes

💡 The Nomic Foundation is hiring! Check our open positions.


v2.28.1: Hardhat v2.28.1

Compare Source

This release adds support for Solidity 0.8.31.

Changes

💡 The Nomic Foundation is hiring! Check our open positions.


v2.28.0: Hardhat v2.28.0

Compare Source

This release sets osaka as the default hardfork for local Hardhat networks. It includes changes to defaults for gas limits to match Osaka's new transaction gas limit.

Changes

💡 The Nomic Foundation is hiring! Check our open positions.


v2.27.2: Hardhat v2.27.2

Compare Source

This release is a small bug fix to allow downloading of solc version 0.8.31.

Changes
  • Fixed the download of solc, which broke for v0.8.31 (#​7761)

💡 The Nomic Foundation is hiring! Check our open positions.


actions/node-versions (node)

v24.21.0: 24.21.0

Compare Source

Node.js 24.21.0

v24.20.0: 24.20.0

Compare Source

Node.js 24.20.0

v24.19.0: 24.19.0

Compare Source

Node.js 24.19.0

v24.18.1: 24.18.1

Compare Source

Node.js 24.18.1

v24.18.0: 24.18.0

Compare Source

Node.js 24.18.0

v24.17.0: 24.17.0

Compare Source

Node.js 24.17.0

v24.16.0: 24.16.0

Compare Source

Node.js 24.16.0

v24.15.0: 24.15.0

Compare Source

Node.js 24.15.0

v24.14.1: 24.14.1

Compare Source

Node.js 24.14.1

v24.14.0: 24.14.0

Compare Source

Node.js 24.14.0

v24.13.1: 24.13.1

Compare Source

Node.js 24.13.1

v24.13.0: 24.13.0

Compare Source

Node.js 24.13.0

v24.12.0: 24.12.0

Compare Source

Node.js 24.12.0

prettier/prettier (prettier)

v3.9.10

Compare Source

diff

Markdown: Update micromark-extension-gfm-table to fix the table parse issue on performance (#​20266 by @​fisker)

See micromark/micromark-extension-gfm-table@4f43ead for details.

v3.9.9

Compare Source

diff

Markdown: Fix text with $ been incorrectly parsed as math syntax (#​20140 by @​fisker)
<!-- Input -->
**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.

<!-- Prettier 3.9.8 -->
**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR`from`c.sh`, before anything else runs here.

<!-- Prettier 3.9.9 -->
**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.

v3.9.8

Compare Source

diff

Markdown: Don't let Liquid objects interrupt paragraphs (#​20087 by @​seiyab)
<!-- Input -->
If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a
{{jsxref("TypeError")}} is thrown.

<!-- Prettier 3.9.7 -->
If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a

{{jsxref("TypeError")}} is thrown.

<!-- Prettier 3.9.8 -->
If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a
{{jsxref("TypeError")}} is thrown.

v3.9.7

Compare Source

diff

Markdown: Prevent indentation drift in list-item code blocks (#​19647, #​19990 by @​Austin1serb, @​giaBaoJS)
<!-- Input -->
- [x] short first line.

      second paragraph at six spaces that wraps
      onto another line here.

<!-- Prettier 3.9.6 -->
- [x] short first line.

      second paragraph at six spaces that wraps
          onto another line here.

<!-- Prettier 3.9.7 -->
- [x] short first line.

      second paragraph at six spaces that wraps
      onto another line here.
JavaScript: Fix embedded template literal idempotency (#​19725 by @​fisker)
// Input
const foo = html`
            <div>${getText({
            value,
            })}</div>
`;

// Prettier 3.9.6 (first format)
const foo = html`
  <div>
    ${getText({
              value,
            })}
  </div>
`;

// Prettier 3.9.6 (second format)
const foo = html`
  <div>
    ${getText({
      value,
    })}
  </div>
`;

// Prettier 3.9.7
const foo = html`
  <div>
    ${getText({
      value,
    })}
  </div>
`;
Markdown: Preserve Liquid blocks after Markdown tables (#​19730 by @​wanxiankai, @​seiyab)
<!-- Input -->
| Argument | Type |
| -------- | ---- |
{% set default_params = {
    "model": ["str"],
} %}

<!-- Prettier 3.9.6 -->
| Argument                  | Type |
| ------------------------- | ---- |
| {% set default_params = { |

    "model": ["str"],

} %}

<!-- Prettier 3.9.7 -->
| Argument | Type |
| -------- | ---- |
{% set default_params = {
    "model": ["str"],
} %}
Markdown: Preserve single tildes in Markdown (#​19739 by @​lazerg)

Since 3.9.0, single-tilde spans like H~2~O were rewritten to double tildes, turning subscript syntax into strike-through. Only double tildes are treated that way now, matching GitHub.

<!-- Input -->
H~2~O

<!-- Prettier 3.9.6 -->
H~~2~~O

<!-- Prettier 3.9.7 -->
H~2~O
Markdown: Fix Markdown blockquote containing > characters (#​19802 by @​seiyab)
<!-- Input -->
> **test**\>

<!-- Prettier 3.9.6 -->
> **test**>\>

<!-- Prettier 3.9.7 -->
> **test**\>
Markdown: Strip blockquote markers from a setext heading's continuation lines (#​19878 by @​Kjubikstronk)

A setext heading spanning multiple lines inside a blockquote kept the > marker of its continuation lines as literal text.

<!-- Input -->
> Multi
> Line
> ===

<!-- Prettier 3.9.6 -->
> Multi > Line
> ===

<!-- Prettier 3.9.7 -->
> Multi
> Line
> ===
Markdown: Fix HTML block indentation drift in markdown list items (#​19987 by @​lazerg)
<!-- Input -->
1. Enable images:

    <p align="center">
      <img alt="example">
    </p>

<!-- Prettier 3.9.6 (--tab-width=4) -->
1. Enable images:

     <p align="center">
       <img alt="example">
     </p>

<!-- Prettier 3.9.7 (--tab-width=4) -->
1. Enable images:

    <p align="center">
      <img alt="example">
    </p>
Angular: Support @boundary error boundaries (#​20014 by @​Yahiro025)
<!-- Input -->
@boundary {
<complex-chart [data]="data"/>
}
@error (let err) {
<p>{{err.message}}</p>
}

<!-- Prettier 3.9.6 -->
SyntaxError: Unexpected character "EOF" (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.) (6:1)

<!-- Prettier 3.9.7 -->
@boundary {
  <complex-chart [data]="data" />
} @error (let err) {
  <p>{{ err.message }}</p>
}

v3.9.6

Compare Source

diff

TypeScript: Preserve quotes for methods named new (#​19621 by @​kovsu)
// Input
interface Container {
  "new"(id: string): number;
}

// Prettier 3.9.5
interface Container {
  new(id: string): number;
}

// Prettier 3.9.6
interface Container {
  "new"(id: string): number;
}
TypeScript: Support import defer (#​19624, #​19675 by @​fisker)
// Input
import defer * as foo from "foo";

// Prettier 3.9.5
import * as foo from "foo";

// Prettier 3.9.6
import defer * as foo from "foo";
JavaScript: Added a new official plugin @prettier/plugin-yuku (#​19628, #​19629 by @​fisker)

@prettier/plugin-yuku is powered by Yuku (A high-performance JavaScript/TypeScript compiler toolchain written in Zig).

This plugin includes two new parsers: yuku (JavaScript syntax) and yuku-ts (TypeScript syntax).

To use this plugin:

  1. Install the plugin:

    yarn add --dev prettier @prettier/plugin-yuku
  2. Add it to your .prettierrc:

    plugins:
      - "@prettier/plugin-yuku"

Due to package size limitations, this plugin is not bundled with the main prettier package and must be installed separately.

For more information, check the package homepage.

Big thanks to @​arshad-yaseen for his excellent work.

v3.9.5

Compare Source

diff

Markdown: Cap ordered list mark at 999,999,999 (#​19351 by @​tats-u)

CommonMark parsers only support ordered list item numbers up to 999,999,999.

With this change, Prettier now caps the ordered list item number at 999,999,999 to ensure that the output is correctly parsed as an ordered list by CommonMark parsers. Numbers larger than 999,999,999 are not parsed as list item numbers and are left unchanged in the output:

<!-- Input -->
999999998. text
999999998. text
999999998. text
999999998. text

1234567890123456789012) text

<!-- Prettier 3.9.4 -->
999999998. text
999999999. text
1000000000. text
1000000001. text

1234567890123456789012) text

<!-- Prettier 3.9.5 -->
999999998. text
999999999. text
999999999. text
999999999. text

1234567890123456789012) text
Markdown: Avoid corrupting empty link with title (#​19487 by @​andersk)

Do not remove <> from an inline link or image with an empty URL and a title, as this removal would change its interpretation.

<!-- Input -->
[link](<> "title")

<!-- Prettier 3.9.4 -->
[link]( "title")

<!-- Prettier 3.9.5 -->
[link](<> "title")
Less: Remove extra spaces after [ in map lookups (#​19503 by @​kovsu)
// Input
.foo {
  color: #theme[ primary];
  color: #theme[@name];
  color: #theme[@@name];
}

// Prettier 3.9.4
.foo {
  color: #theme[ primary];
  color: #theme[ @name];
  color: #theme[ @@name];
}

// Prettier 3.9.5
.foo {
  color: #theme[primary];
  color: #theme[@name];
  color: #theme[@@name];
}
CSS: Prevent addition space in type() with + (#​19516 by @​bigandy)

This fixes the addition space before + in CSS type() declaration. For example type(<number>+) was being converted into type(<number> +) which is invalid CSS and does not work.

/* Input */
div {
  border-radius: attr(br type(<length>+));
}

/* Prettier 3.9.4 */
div {
  border-radius: attr(br type(<length> +));
}

/* Prettier 3.9.5 */
div {
  border-radius: attr(br type(<length>+));
}
Less: Remove spaces between merge markers and colons (#​19517 by @​kovsu)
// Input
a {
  box-shadow  +  : 0 0 1px #&#8203;000;
}

// Prettier 3.9.4
a {
  box-shadow+  : 0 0 1px #&#8203;000;
}

// Prettier 3.9.5
a {
  box-shadow+: 0 0 1px #&#8203;000;
}
Markdown: Preserve wiki links with aliases (#​19527 by @​kovsu)
<!-- Input -->
[[Foo:Bar]]

<!-- Prettier 3.9.4 -->
[[Foo]]

<!-- Prettier 3.9.5 -->
[[Foo:Bar]]
TypeScript: Fix comments being dropped on shorthand type import/export specifiers (#​19565 by @​kirkwaiblinger)
// Input
export { type /* comment */ T } from "foo";
import { type /* comment */ T } from "foo";

// Prettier 3.9.4
Error: Comment "comment" was not printed. Please report this error!

// Prettier 3.9.5
export { type /* comment */ T } from "foo";
import { type /* comment */ T } from "foo";
Miscellaneous: Preserving comments' placement property (#​19567 by @​Janther)

Prettier@​3.9.0 deleted an undocumented property on comments, which was already used by plugins, comment.placement is now available again after comment attach.

Flow: Stop enforcing empty module declaration to break (#​19568 by @​fisker)
// Input
declare module "foo" {}

// Prettier 3.9.4
declare module "foo" {
}

// Prettier 3.9.5
declare module "foo" {}
Angular: Support expression for exhaustive typechecking (#​19571 by @​fisker)
<!-- Input -->
@switch (state.mode) {
  @default never(state);
}

<!-- Prettier 3.9.4 -->
@switch (state.mode) {
  @default never;
}

<!-- Prettier 3.9.5 -->
@switch (state.mode) {
  @default never(state);
}
TypeScript: Ignore comments inside mapped type when checking type parameter comments (#​19572 by @​fisker)
// Input
foo<{
  // comment
  [key in keyof Foo]: number
}>();

// Prettier 3.9.4
foo<
  {
    // comment
    [key in keyof Foo]: number;
  }
>();

// Prettier 3.9.5
foo<{
  // comment
  [key in keyof Foo]: number;
}>();
Less: Fix adjacent block comments being corrupted (#​19574 by @​kovsu)
// Input
/* a *//* b */
/* a */* {
  color: red;
}

// Prettier 3.9.4
/* a */
/* b */
/* a * {
  color: red;
}

// Prettier 3.9.5
/* a */ /* b */
/* a */
* {
  color: red;
}
JavaScript: Handle dangling comments in SwitchStatement (#​19581 by @​fisker)
// Input
switch (foo) {
 // comment
}

// Prettier 3.9.4
switch (
  foo
  // comment
) {
}

// Prettier 3.9.5
switch (foo) {
  // comment
}
TypeScript: Remove space in comment-only object type (#​19583 by @​fisker)
// Input
var foo = {
  /* comment */
};
type Foo = {
  /* comment */
};

// Prettier 3.9.4
var foo = {/* comment */};
type Foo = { /* comment */ };

// Prettier 3.9.5
var foo = {/* comment */};
type Foo = {/* comment */};

v3.9.4

Compare Source

diff

Angular: Format @content(name) -> @content (name) to align with other block syntax (#​19499 by @​fisker)
<!-- Input -->
<FancyButton [label]="title">
  @content (icon) {
    <span>Icon!</span>
  }
  @content (description) {
    <span>Description text</span>
  }
  <span>Other children</span>
</FancyButton>

<!-- Prettier 3.9.3 -->
<FancyButton [label]="title">
  @content(icon) {
    <span>Icon!</span>
  }
  @content(description) {
    <span>Description text</span>
  }
  <span>Other children</span>
</FancyButton>

<!-- Prettier 3.9.4 -->
<FancyButton [label]="title">
  @content (icon) {
    <span>Icon!</span>
  }
  @content (description) {
    <span>Description text</span>
  }
  <span>Other children</span>
</FancyButton>

v3.9.3

Compare Source

diff

Markdown: Fix unexpected removal of characters in liquid syntax (#​19489 by @​seiyab)
// Input
<!-- Input -->
{{ page.title
}} text

<!-- Prettier 3.9.1 -->
{{ page.title
 text

<!-- Prettier 3.9.3 -->
{{ page.title
}} text
TypeScript: Allow decorators to be used with declare on class fields (#​19492 by @​evoactivity)

Extensively used within the Ember ecosystem, decorators with declare on class fields will ignore the babel parser error and allow Prettier to format the code without breaking it.

// Input
export default class ProjectStatusComponent extends Component<ProjectStatusSig> {
  @service declare server: ServerService;
}

// Prettier 3.9.1
// SyntaxError: Decorators can't be used with a declare field. (2:3)
//  1 | export default class ProjectStatusComponent extends Component<ProjectStatusSig> {
//> 2 |   @service declare server: ServerService;
//    |   ^
//  3 | }

// Prettier 3.9.3
export default class ProjectStatusComponent extends Component<ProjectStatusSig> {
  @service declare server: ServerService;
}

v3.9.2

Compare Source

v3.9.1

Compare Source

diff

Markdown: Update micromark-extension-gfm-table to fix the table parse issue on performance (#​20266 by @​fisker)

See micromark/micromark-extension-gfm-table@4f43ead for details.

v3.9.0

Compare Source

diff

🔗 Release Notes

v3.8.5

Compare Source

diff

Flow: Support readonly as a variance annotation (#​19022 by @​marcoww6)

Flow now accepts readonly as a property variance annotation, equivalent to + (covariant/read-only).

// Input
type T = {
  readonly foo: string,
};

// Prettier 3.8.4
SyntaxError

// Prettier 3.8.5
type T = {
  readonly foo: string,
};

v3.8.4

Compare Source

diff

Markdown: Fix blank lines between list items and nested sub-lists being removed in Markdown/MDX (#​17746 by @​byplayer)

Prettier was removing blank lines between list items and their nested sub-lists, converting loose lists into tight lists and changing their semantic meaning.

<!-- Input -->
- a

  - b

- c

  - d

<!-- Prettier 3.8.3 -->
- a
  - b
- c
  - d

<!-- Prettier 3.8.4 -->
- a

  - b

- c

  - d

v3.8.3

Compare Source

diff

SCSS: Prevent trailing comma in if() function (#​18471 by @​kovsu)
// Input
$value: if(sass(false): 1; else: -1);

// Prettier 3.8.2
$value: if(
  sass(false): 1; else: -1,
);

// Prettier 3.8.3
$value: if(sass(false): 1; else: -1);

v3.8.2

Compare Source

diff

Angular: Support Angular v21.2 (#​18722, #​19034 by @​fisker)

Exhaustive typechecking with @default never;

<!-- Input -->
@switch (foo) {
  @case (1) {}
  @default never;
}

<!-- Prettier 3.8.1 -->
SyntaxError: Incomplete block "default never". If you meant to write the @ character, you should use the "&#&#8203;64;" HTML entity instead. (3:3)

<!-- Prettier 3.8.2 -->
@switch (foo) {
  @case (1) {}
  @default never;
}

arrow function and instanceof expressions.

<!-- Input -->
@let fn = (a) =>        a?    1:2;

{{ fn ( a         instanceof b)}}

<!-- Prettier 3.8.1 -->
@let fn = (a) =>        a?    1:2;

{{ fn ( a         instanceof b)}}

<!-- Prettier 3.8.2 -->
@let fn = (a) => (a ? 1 : 2);

{{ fn(a instanceof b) }}

v3.8.1

Compare Source

diff

Include available printers in plugin type declarations (#​18706 by @​porada)
// Input
import * as prettierPluginEstree from "prettier/plugins/estree";

// Prettier 3.8.0
// Property 'printers' does not exist on type 'typeof import("prettier/plugins/estree")'. ts(2339)
prettierPluginEstree.printers.estree; //=> any

// Prettier 3.8.1
prettierPluginEstree.printers.estree; //=> Printer
prettierPluginEstree.printers["estree-json"]; //=> Printer

v3.8.0

Compare Source

diff

🔗 Release Notes

v3.7.4

Compare Source

diff

LWC: Avoid quote around interpolations (#​18383 by @​kovsu)
<!-- Input -->
<div foo={bar}>   </div>

<!-- Prettier 3.7.3 (--embedded-language-formatting off) -->
<div foo="{bar}"></div>

<!-- Prettier 3.7.4 (--embedded-language-formatting off) -->
<div foo={bar}></div>
TypeScript: Fix comment inside union type gets duplicated (#​18393 by @​fisker)
// Input
type Foo = (/** comment */ a | b) | c;

// Prettier 3.7.3
type Foo = /** comment */ (/** comment */ a | b) | c;

// Prettier 3.7.4
type Foo = /** comment */ (a | b) | c;
TypeScript: Fix unstable comment print in union type comments (#​18395 by @​fisker)
// Input
type X = (A | B) & (
  // comment
  A | B
);

// Prettier 3.7.3 (first format)
type X = (A | B) &
  (// comment
  A | B);

// Prettier 3.7.3 (second format)
type X = (
  | A
  | B // comment
) &
  (A | B);

// Prettier 3.7.4
type X = (A | B) &
  // comment
  (A | B);
prettier-solidity/prettier-plugin-solidity (prettier-plugin-solidity)

v2.4.1

Compare Source

What's Changed

Full Changelog: prettier-solidity/prettier-plugin-solidity@v2.4.0...v2.4.1

v2.4.0

Compare Source

What's Changed

Better Tests

Format changes
  • Member access chained expressions now can have comments in the middle of the chain placed properly by @​Janther in #​1461
// Unformatted
contract Foo {
    function bar() public {
// Comments in between the chain
        game.
// CONFIG
// Do not touch
config. // Window
// Resolution 1000
resolveWindow = 1000;

begin
    .// Comment 1
    functionCall(/* Comment about parameter */ parameter)
    .// Comment 2
    end;
    }
}

// prettier-plugin-solidity 2.4.0
contract Foo {
    function bar() public {
        // Comments in between the chain
        game
        // CONFIG
        // Do not touch
            .config // Window
            // Resolution 1000
            .resolveWindow = 1000;

        begin // Comment 1
            .functionCall(/* Comment about parameter */ parameter) // Comment 2
            .end;
    }
}
// Original
contract Foo {
    function bar() public {
        for (initialize;;) {}
        for (; condition;) {}
        for (longInitialize; longCondition;) {}
    }
}

// prettier-plugin-solidity 2.3.1
contract Foo {
    function bar() public {
        for (initialize; ; ) {}
        for (; condition; ) {}
        for (
            longInitialize;
            longCondition;

        ) {}
    }
}

// prettier-plugin-solidity 2.4.0
contract Foo {
    function bar() public {
        for (initialize; ;) {}
        for (; condition;) {}
        for (
            longInitialize;
            longCondition;
        ) {}
    }
}
Dependencies
Internal changes
  • Using the latest techniques to use prettier's printing functions allowed to trim a lot of now unnecessary code. by @​Janther in #​1500 and #​1501
  • General refactors improving clean code, performance, and file size.

Full Changelog: prettier-solidity/prettier-plugin-solidity@v2.3.1...v2.4.0

v2.3.1

Compare Source

What's Changed

// prettier-plugin-solidity 2.3.0
address payable public valueInParentheses =
    (
        FancyLibrary.functionCall(
            data.data1,
            data.data2,
            IERC20(data.token).decimals(),
            currency
        )
    );

// prettier-plugin-solidity 2.3.1
address payable public valueInParentheses = (
    FancyLibrary.functionCall(
        data.data1,
        data.data2,
        IERC20(data.token).decimals(),
        currency
    )
);

Full Changelog: prettier-solidity/prettier-plugin-solidity@v2.3.0...v2.3.1

v2.3.0

Compare Source

What's Changed

Format changes

We had to address formatting choices rather than just fixing formatting bugs thus there was a need to publish a new minor release.

  • standardising all assignment types by @​Janther in #​1437
    There are 4 ways to assign a value to a variable and in each one we used to have a slightly different logic.

    // Constant Definition
    uint constant FOO_BAR = 0x1234;
    
    contract Foo {
        // State Variable Definition
        uint foo = 0x1234;
    
        function bar() {
            // Variable Declaration
            uint foobar = 0x5678;
    
            // Assignment Expression
            foobar = 0xabcd;
        }
    }

    This is likely going to impact variable definitions where the initial value was a long expression.

    // prettier-plugin-solidity@2.2.1
    contract Foo {
        bool success = aggregator1 == address(uint160(SIG_VALIDATION_SUCCESS)) &&
            aggregator2 == address(uint160(SIG_VALIDATION_SUCCESS));
    
        bytes32 public constant BALLOT_TYPEHASH =
            keccak256("Ballot(uint256 proposalId,uint8 support,address voter,uint256 nonce)");
    }
    
    // prettier-plugin-solidity@2.3.0
    contract Foo {
        bool success =
            aggregator1 == address(uint160(SIG_VALIDATION_SUCCESS)) &&
                aggregator2 == address(uint160(SIG_VALIDATION_SUCCESS));
    
        bytes32 public constant BALLOT_TYPEHASH = keccak256(
            "Ballot(uint256 proposalId,uint8 support,address voter,uint256 nonce)"
        );
    }
  • Variables initiated with a multipart string are now indented by @​Janther in #​1436

    // prettier-plugin-solidity@2.2.1
    contract Foo {
        string public constant str =
            "DeadBeef00"
            "DeadBeef01"
            "DeadBeef02";
        function bar() public {
            string str = "DeadBeef03"
            "DeadBeef04"
            "DeadBeef05";
            str = "DeadBeef0a"
            "DeadBeef0b"
            "DeadBeef0c";
        }
    }
    
    // prettier-plugin-solidity@2.3.0
    contract Foo {
        string public constant str =
            "DeadBeef00"
            "DeadBeef01"
            "DeadBeef02";
        function bar() public {
            string str =
                "DeadBeef03"
                "DeadBeef04"
                "DeadBeef05";
            str =
                "DeadBeef0a"
                "DeadBeef0b"
                "DeadBeef0c";
        }
    }

    Notice how the state variable was already formatting correctly thus making clear the need to standardise the value assingments.

  • remove indentation of a logical operation if it's the operand of a conditional by @​Janther in #​1441

    // prettier-plugin-solidity@2.2.1
    uint foo =
        longCondition1 ||
            longCondition2
            ? 1234567890 
            : 9876543210;
    
    // prettier-plugin-solidity@2.3.0
    uint foo =
        longCondition1 ||
        longCondition2
            ? 1234567890 
            : 9876543210;
Dependencies
Behaviour changes
  • Prettier can format multiple files in parallel and this plugin is now multi-thread safe by @​Janther in #​1393
Internal changes
  • Keeping with continuously improving code speed, size and simplicity. There has been a lot of progress in reducing the size and repetition of steps while keeping or improving the execution time.
  • A few bugs if some rare format cases were addressed.
Development changes
  • Improved the code coverage to include all possible edge cases of Slang's AST. by @​Janther in #​1425
  • Improved the types, to be more descriptive and accurate to each scenario.

Full Changelog: prettier-solidity/prettier-plugin-solidity@v2.2.1...v2.3.0

v2.2.1

Compare Source

What's Changed

Release with @nomicfoundation/slang version 1.3.1 which adds support for solidity 0.8.31.

Full Changelog: prettier-solidity/prettier-plugin-solidity@v2.2.0...v2.2.1

protofire/solhint (solhint)

v6.2.5

Compare Source

🆕 Enhancement: show an MCP install hint in the CLI poster for AI coding agents (#​801)

🛠️ Fix: invalidate the lint cache when --fix mode changes so cached warnings get autofixed (#​800)

🛠️ Fix: skip the npm update check outside interactive terminals and in CI (#​796)

🧹 Chore: bump fast-uri from 3.1.5 to 3.1.8 (#​789)

🧹 Chore: bump browserslist from 4.28.4 to 4.28.8 (dev dependency) ([#​790](https://

❗ Important

✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "before 10am on the first day of the month"
  • 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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • 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 requested a review from acenolaza January 1, 2026 07:28
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 3 times, most recently from 1969f93 to ead83b2 Compare January 15, 2026 00:27
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 2 times, most recently from 5ea3707 to b454c5e Compare January 21, 2026 20:55
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 2 times, most recently from 78f273a to 7f6550e Compare February 2, 2026 18:47
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 4 times, most recently from c29dc07 to a0928a9 Compare February 12, 2026 16:47
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch from a0928a9 to 192de0f Compare February 12, 2026 23:13
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch from 192de0f to 403f9f6 Compare February 25, 2026 06:45
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 2 times, most recently from 34e9ba9 to 1df3234 Compare March 12, 2026 14:36
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch from 1df3234 to a025281 Compare March 17, 2026 21:18
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 2 times, most recently from 1abbdf9 to e333149 Compare March 31, 2026 20:51
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 4 times, most recently from 3f2340d to 616ce6a Compare April 8, 2026 19:56
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 4 times, most recently from f1b83e9 to aafa851 Compare April 16, 2026 18:07
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch from aafa851 to 88a6e84 Compare April 19, 2026 10:51
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch from 88a6e84 to 68c2fce Compare April 29, 2026 15:42
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch from 68c2fce to 90f26fa Compare May 12, 2026 11:04
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 3 times, most recently from fde3a9a to 9b34666 Compare June 26, 2026 15:09
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 4 times, most recently from 86e8887 to d6ac1eb Compare June 30, 2026 06:35
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch from d6ac1eb to 8db2d33 Compare July 9, 2026 16:55
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 4 times, most recently from 01d6eab to cd7797a Compare July 24, 2026 15:39
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 4 times, most recently from e0c144a to 0775fd4 Compare August 4, 2026 06:56
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 2 times, most recently from 4d728c5 to 87dbfcf Compare August 13, 2026 19:55
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch from 87dbfcf to f7cd2c3 Compare August 18, 2026 20:44
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 2 times, most recently from 7686d5f to 326e01f Compare August 27, 2026 04:52
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 2 times, most recently from 3bbe8be to f49636d Compare September 9, 2026 03:23
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch 3 times, most recently from b11ea54 to 1a84edc Compare September 17, 2026 23:54
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch from 1a84edc to 55683c2 Compare September 23, 2026 22:36
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch from 55683c2 to 32bdc4f Compare October 8, 2026 15:38
@renovate
renovate Bot force-pushed the renovate/other-minor-updates branch from 32bdc4f to 8e8b0e1 Compare October 10, 2026 09:01
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