This release adds support for the CLZ EVM opcode, for solidity custom storage layout, adds 1 new detector unindexed-event-address and various fixes. Additionally it changes the development environment to using uv and ruff for linting.
What's Changed
- Update FUNDING.json by @bsamuels453 in #2713
- FIxed typo of solidity and conditions by @sidarth16 in #2751
- docs: fix typos by @Ahjan1999 in #2726
- chore: fix some typos in comment by @tsinghuacoder in #2703
- Fix Usage.md by @shargon in #2737
- Fix trimmed network string by @DaniPopes in #2775
- tests: mutator: fix test after crytic-compile update by @elopez in #2816
- tests: fix slither_config by @elopez in #2817
- chore: remove redundant word by @tzchenxixi in #2790
- Build: Migrate from setuptools to hatchling with uv by @dguido in #2849
- Lint: Migrate from black/pylint to ruff by @dguido in #2850
- Style: Apply ruff auto-fixes for formatting by @dguido in #2852
- CI: Modernize CI workflows and bump Python to 3.9+ by @dguido in #2851
- Remove codex detector by @smonicas in #2853
- Fix signature of fixed size arrays by @smonicas in #2771
- Fix try-catch parsing by @smonicas in #2730
- Fix cases of echidna printer crashing by @smonicas in #2727
- Clean up GitHub templates and config files by @dguido in #2848
- docs: add CLAUDE.md coding standards for AI assistants by @dguido in #2855
- Test Slither on Python 3.13 and 3.14 by @elopez in #2858
- Add support for CLZ EVM opcode by @smonicas in #2857
- Bump actions/checkout from 4 to 6 by @dependabot[bot] in #2859
- fix: expand add_refers_to assertion to accept TopLevelVariable by @nisedo in #2827
- Mutation cleanup by @bohendo in #2761
- Add storage variables and contract inheritance to
entry-pointsprinter by @nisedo in #2768 - fix: handle Unicode characters correctly in mutator byte offset calculation by @stevennevins in #2832
- feat(mutator): add --target-functions flag to filter mutations by selector by @stevennevins in #2828
- Add detector's name in the output by @smonicas in #2864
- Support custom storage layout by @smonicas in #2863
- Fix aliasing of member access with Vyper's builtins when parsing an expression by @smonicas in #2861
- Fix parsing of modifiers by @smonicas in #2860
- Remove iterating modifiers as they are already present from all_internal_calls() by @smonicas in #2865
- Modernize plugin_example to use pyproject.toml by @dguido in #2869
uv lock --upgradeby @elopez in #2873- Target master branch for development by @smonicas in #2874
- Add unindexed-event-address detector by @smonicas in #2866
- Optimize Dockerfile: migrate to uv, reduce build context by @dguido in #2883
- Fix Docker build for armv7: use curl to install uv with pip fallback by @dguido in #2884
- Fix Docker armv7 build: add build tools for pip wheel compilation by @dguido in #2885
New Contributors
- @Ahjan1999 made their first contribution in #2726
- @tsinghuacoder made their first contribution in #2703
- @shargon made their first contribution in #2737
- @DaniPopes made their first contribution in #2775
- @tzchenxixi made their first contribution in #2790
- @stevennevins made their first contribution in #2832
Full Changelog: 0.11.3...0.11.4