Skip to content

Release #2076

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 29 commits into
base: master
Choose a base branch
from
Draft

Release #2076

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
4594536
chore: changed contracts viem dependency as peer dependency
jaybuidl Aug 5, 2025
5a81f9e
feat: dispute kit helper
jaybuidl Aug 5, 2025
4c2277b
chore: override viem resolution from viem@npm:2.x to npm:^2.23.2 beca…
jaybuidl Aug 5, 2025
efb2aad
chore: changelog
jaybuidl Aug 5, 2025
29aee53
Merge pull request #2066 from kleros/feat/contracts-disputekits-helper
jaybuidl Aug 5, 2025
e3ed3c9
chore: published @kleros/kleros-v2-contracts@0.12.0
jaybuidl Aug 5, 2025
77c8549
chore: enabled Hardhat viaIR compilation with solc v0.8.30, bumped ha…
jaybuidl Aug 7, 2025
0cdc07d
Merge pull request #2069 from kleros/chore/solc-0.8.30-viaIR
jaybuidl Aug 7, 2025
e41ee56
chore: viaIR compilation enabled for Foundry with explicit solc v0.8.30
jaybuidl Aug 7, 2025
9b1f5fd
Merge pull request #2073 from kleros/chore/solc-0.8.30-viaIR-foundry
jaybuidl Aug 7, 2025
2d94bfd
chore: changelog
jaybuidl Aug 7, 2025
752b64a
feat: court llms.txt, adding header `X-Robots-Tag: llms-txt`
jaybuidl Aug 6, 2025
9140890
Merge pull request #2067 from kleros/feat/court-llms-txt
jaybuidl Aug 7, 2025
4a72da5
fix: shutter flash
kemuru Aug 7, 2025
d3a1293
chore: better return structure
kemuru Aug 7, 2025
9d3ba90
fix: usevotingcontext dynamic disputekit hook calling
kemuru Aug 8, 2025
3080c8f
chore: comment tweaking
kemuru Aug 8, 2025
a8942cd
fix: add shutter api check
kemuru Aug 9, 2025
89848ea
chore: check that its not empty too just in case
kemuru Aug 9, 2025
a130a6a
Merge pull request #2077 from kleros/fix/add-shutter-api-check
jaybuidl Aug 11, 2025
b8628bb
fix: coverage script breaking after enabling viaIR
jaybuidl Aug 11, 2025
d10251b
chore: interfaces pragma set to any 0.8 solc version
jaybuidl Aug 12, 2025
41e8998
chore: changelog
jaybuidl Aug 12, 2025
78b3169
docs: metrics for upcoming audit
jaybuidl Aug 12, 2025
738ef2c
docs: metrics for upcoming audit
jaybuidl Aug 12, 2025
82f8b1c
feat: replace requires with custom errors
unknownunknown1 Aug 13, 2025
a0cb09d
feat: replace requires with custom errors for the gateways
jaybuidl Aug 13, 2025
5353ccf
chore: changelog
jaybuidl Aug 13, 2025
3d211cc
refactor: removed CappedMath, moved SortitionSumTreeFactory to `klero…
jaybuidl Aug 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions contracts/.solcover.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const shell = require("shelljs");
module.exports = {
istanbulReporter: ["lcov"],
configureYulOptimizer: true,
irMinimum: true,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Unrecognized solcover option "irMinimum" — likely a no-op; remove to avoid confusion

I don’t see "irMinimum" in solidity-coverage’s documented options. With coverage.sh already forcing VIA_IR=false for Hardhat, this flag is unnecessary and potentially misleading.

Apply this diff to remove it:

-  irMinimum: true,

If you want an inline hint about IR for coverage runs, consider a comment:

   configureYulOptimizer: true,
+  // IR is disabled for coverage via scripts/coverage.sh (VIA_IR=false)

Optionally verify support via docs:


🌐 Web query:

Is there a documented `irMinimum` option supported by solidity-coverage's .solcover.js config?

💡 Result:

Yes. The .solcover.js config includes a documented irMinimum option: a boolean (default false) that “speeds up test execution times when solc is run in viaIR mode,” and it may not work for all projects.[1]

Details:

  • Location: Listed under Config Options in the solidity-coverage package docs.[1]
  • Purpose: Enable a faster path when compiling with Solidity’s viaIR; useful if your project compiles successfully under coverage with it enabled.[1]
  • Type/Default: Boolean, default false.[1]

You can set it in .solcover.js like:
module.exports = {
irMinimum: true
}

Mirrors of the same table appear in downstream copies of the docs as well.[2]

Citations:


Documented option “irMinimum” is redundant under VIA_IR=false

solidity-coverage does support irMinimum (boolean, default false) to speed up test runs when compiling via IR, but your coverage.sh script forces VIA_IR=false, so this setting has no effect and may confuse future maintainers.

• Location: contracts/.solcover.js (line 10)
• Suggested change:

-  irMinimum: true,
+  // IR is disabled for coverage via scripts/coverage.sh (VIA_IR=false), so `irMinimum` is redundant
🤖 Prompt for AI Agents
In contracts/.solcover.js around line 10, the irMinimum: true option is
redundant because coverage.sh forces VIA_IR=false; remove the irMinimum property
or conditionally set it only when IR is enabled (e.g., check process.env.VIA_IR
=== 'true' and only include irMinimum when true) so the config reflects the
actual compilation mode and avoids confusing future maintainers.

onCompileComplete: async function (_config) {
await run("typechain");
},
Expand Down
25 changes: 24 additions & 1 deletion contracts/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,28 @@ All notable changes to this package will be documented in this file.

The format is based on [Common Changelog](https://common-changelog.org/).

## [0.11.0] - 2025-08-01
## [0.13.0] - 2025-08-07 (Not published yet)

### Changed

- **Breaking:** Replace `require()` with `revert()` and custom errors outside KlerosCore for consistency and smaller bytecode ([#2084](https://github.com/kleros/kleros-v2/issues/2084))
- Set the Hardhat Solidity version to v0.8.30 and enable the IR pipeline ([#2069](https://github.com/kleros/kleros-v2/issues/2069))
- Set the Foundry Solidity version to v0.8.30 and enable the IR pipeline ([#2073](https://github.com/kleros/kleros-v2/issues/2073))
- Widen the allowed solc version to any v0.8.x for the interfaces only ([#2083](https://github.com/kleros/kleros-v2/issues/2083))
- Bump `hardhat` to v2.26.2 ([#2069](https://github.com/kleros/kleros-v2/issues/2069))
- Bump `@kleros/vea-contracts` to v0.7.0 ([#2073](https://github.com/kleros/kleros-v2/issues/2073))

## [0.12.0] - 2025-08-05

### Changed

- **Breaking:** Make `viem` a peer dependency, it should be provided by the consuming package ([`4594536`](https://github.com/kleros/kleros-v2/commit/4594536c))

### Added

- Add helper function `getDisputeKitsViem` to retrieve a deployment's available dispute kit infos including their capabilities (`isShutter`, `isGated`) ([`5a81f9e`](https://github.com/kleros/kleros-v2/commit/5a81f9ec))

## [0.11.0] - 2025-08-02
Comment on lines +18 to +28
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Verify release link availability for 0.12.0 and 0.13.0

0.12.0 likely exists; 0.13.0 is marked “Not published yet.” Confirm link availability to prevent broken anchors.

Also applies to: 131-132


🏁 Script executed:

#!/bin/bash
set -euo pipefail

check() {
  local url="$1"
  code=$(curl -s -o /dev/null -w "%{http_code}" "$url")
  printf "%-120s %s\n" "$url" "$code"
}

check "https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.12.0"
check "https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.13.0"

Length of output: 1157


Broken release link for 0.13.0
The 0.12.0 release URL returns HTTP 200, but the 0.13.0 URL is currently 404. To avoid a broken anchor in your CHANGELOG:

• Remove or defer the 0.13.0 release link until that tag is published.
• Update both occurrences—lines 18–28 and lines 131–132 in contracts/CHANGELOG.md.

🤖 Prompt for AI Agents
In contracts/CHANGELOG.md around lines 18 to 28 (and also update the second
occurrence at lines 131–132), remove or comment out the 0.13.0 release
link/anchor that points to the not-yet-published tag so it doesn't produce a
404; replace it with either a plain "Unreleased" or omit the link entirely (or
add a TODO note to re-add the URL once the 0.13.0 tag is published) and ensure
both occurrences are updated consistently.


### Changed

Expand Down Expand Up @@ -107,6 +128,8 @@ The format is based on [Common Changelog](https://common-changelog.org/).

## [0.8.1] - 2025-04-10

[0.13.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.13.0
[0.12.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.12.0
Comment on lines +131 to +132
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Avoid adding a release link for an unpublished tag.

If 0.13.0 isn’t published, this link will 404. Add it only when the release is live.

-[0.13.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.13.0
+<!-- [0.13.0]: (add after publishing) -->

Optionally confirm release existence before merging:


🏁 Script executed:

#!/bin/bash
# Prints 200 if the tag exists, otherwise likely 404
curl -s -o /dev/null -w "%{http_code}\n" \
"https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.13.0"

Length of output: 132


Remove unpublished release link for v0.13.0 in CHANGELOG.md

The 0.13.0 release tag currently returns 404, so we should not include its link until the release is live.

• File: contracts/CHANGELOG.md
Lines: 129–130

Recommended change:

-[0.13.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.13.0
+<!-- [0.13.0]: (add after publishing) -->
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[0.13.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.13.0
[0.12.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.12.0
<!-- [0.13.0]: (add after publishing) -->
[0.12.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.12.0
🤖 Prompt for AI Agents
In contracts/CHANGELOG.md at lines 129 to 130, the release link for version
0.13.0 leads to a 404 error because the release is not yet published. Remove or
comment out the line containing the 0.13.0 release link to prevent broken links
in the changelog until the release is officially live.

[0.11.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.11.0
[0.10.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.10.0
[0.9.4]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%2Fkleros-v2-contracts@0.9.4
Expand Down
Loading
Loading