Skip to content

Commit 98d65ed

Browse files
committed
chore: release 0.5.0
1 parent be13e5d commit 98d65ed

8 files changed

Lines changed: 65 additions & 18 deletions

File tree

CHANGELOG.md

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,43 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.5.0] - 2026-01-26
9+
10+
### Added
11+
12+
#### GitHub Actions
13+
14+
- GitHub Actions integration (`action.yml`) — run Weasel in CI/CD pipelines with `uses: slvDev/weasel@main`
15+
- SARIF output format (`--format sarif`) for GitHub Code Scanning integration
16+
- Nightly release workflow — automatic builds from `main` on source changes
17+
- `weaselup --nightly` flag to install latest nightly build
18+
- Example workflows in `gh-actions-examples/`:
19+
- `weasel-basic.yml` — basic analysis with SARIF upload
20+
- `weasel-claude.yml` / `weasel-claude-diff.yml` — Claude-powered review
21+
- `weasel-openai.yml` / `weasel-openai-diff.yml` — OpenAI Codex-powered review
22+
- `weasel-gemini.yml` / `weasel-gemini-diff.yml` — Gemini-powered review
23+
- SHA256 checksums and build attestation for release binaries
24+
25+
#### Detector Configuration
26+
27+
- `exclude_detectors` option in `weasel.toml` and CLI (`-x` / `--exclude-detectors`) to skip specific detectors by ID
28+
- `exclude_detectors` parameter for MCP `weasel_analyze` tool
29+
- Protocol feature flags in `weasel.toml` `[protocol]` section to disable detector groups:
30+
- `uses_fot_tokens` — fee-on-transfer token detectors
31+
- `uses_weird_erc20` — non-standard ERC20 detectors
32+
- `uses_native_token` — native ETH handling detectors
33+
- `uses_l2` — L2-specific detectors (Arbitrum, Optimism)
34+
- `uses_nft` — NFT-related detectors
35+
36+
#### MCP & IDE Support
37+
38+
- OpenAI Codex CLI support for `weasel mcp add/remove` (`--target codex`)
39+
- Gemini CLI support for `weasel mcp add/remove` (`--target gemini`)
40+
41+
### Changed
42+
43+
- Release workflow uses pinned action SHAs and Cargo caching for faster builds
44+
845
## [0.4.6] - 2026-01-19
946

1047
### Added
@@ -15,7 +52,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1552
- `constant-decimals` - prefer constants for decimals
1653

1754
**NC (Non-Critical)**
18-
- `abstract-in-separate-file` - abstract contracts should be in separate files
1955
- `array-ranged-getter` - use ranged getter for array access
2056
- `bool-init-false` - unnecessary boolean initialization to false
2157
- `nc-combine-mappings` - mappings with same key can be combined into struct
@@ -91,6 +127,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
91127

92128
#### New Detectors
93129

130+
- `abstract-in-separate-file` - abstract contracts should be in separate files
94131
- `long-calculations` - flag complex math that may overflow
95132
- `unchecked-low-level-call` - missing success check on call/delegatecall
96133
- `upgradable-token-interface` - detect upgradable token patterns
@@ -183,7 +220,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
183220
- CLI with configuration file support
184221
- Basic detectors for common vulnerabilities
185222

186-
[Unreleased]: https://github.com/slvDev/weasel/compare/v0.4.6...HEAD
223+
[Unreleased]: https://github.com/slvDev/weasel/compare/v0.5.0...HEAD
224+
[0.5.0]: https://github.com/slvDev/weasel/compare/v0.4.6...v0.5.0
187225
[0.4.6]: https://github.com/slvDev/weasel/compare/v0.4.5...v0.4.6
188226
[0.4.5]: https://github.com/slvDev/weasel/compare/v0.4.0...v0.4.5
189227
[0.4.0]: https://github.com/slvDev/weasel/compare/v0.3.1...v0.4.0

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "weasel"
3-
version = "0.4.6"
3+
version = "0.5.0"
44
edition = "2021"
55
description = "Smart Contract Static Analysis Tool"
66
authors = ["slvDev"]

README.md

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -212,16 +212,25 @@ exclude = ["test", "script"]
212212
min_severity = "Low"
213213
format = "md"
214214
remappings = ["@openzeppelin/=lib/openzeppelin-contracts/"]
215+
exclude_detectors = ["floating-pragma", "line-length"]
216+
217+
[protocol]
218+
uses_fot_tokens = true # Fee-on-transfer token detectors
219+
uses_weird_erc20 = true # Non-standard ERC20 detectors
220+
uses_native_token = true # Native ETH handling detectors
221+
uses_l2 = true # L2-specific detectors (Arbitrum, Optimism)
222+
uses_nft = true # NFT-related detectors
215223
```
216224

217-
| Option | Short | Default |
218-
| ---------------- | ----- | ----------------- |
219-
| `--scope` | `-s` | `["src"]` |
220-
| `--exclude` | `-e` | `["lib", "test"]` |
221-
| `--min-severity` | `-m` | `NC` |
222-
| `--format` | `-f` | `md` |
223-
| `--output` | `-o` | stdout |
224-
| `--remappings` | `-r` | auto |
225+
| Option | Short | Default |
226+
| --------------------- | ----- | ----------------- |
227+
| `--scope` | `-s` | `["src"]` |
228+
| `--exclude` | `-e` | `["lib", "test"]` |
229+
| `--min-severity` | `-m` | `NC` |
230+
| `--format` | `-f` | `md` |
231+
| `--output` | `-o` | stdout |
232+
| `--remappings` | `-r` | auto |
233+
| `--exclude-detectors` | `-x` | none |
225234

226235
**Priority:** CLI flags > config file > auto-detection
227236

@@ -322,7 +331,7 @@ gh attestation verify weasel-<target>.tar.gz --owner slvDev
322331

323332
| Input | Description | Default |
324333
|-------|-------------|---------|
325-
| `version` | Weasel version (`latest`, `nightly`, or specific like `0.4.6`) | `latest` |
334+
| `version` | Weasel version (`latest`, `nightly`, or specific like `0.5.0`) | `latest` |
326335
| `path` | Path to analyze | `.` |
327336
| `min-severity` | Minimum severity to report | `Low` |
328337
| `fail-on` | Fail CI at this severity (`High`, `Medium`, `Low`, `none`) | `none` |

action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ branding:
88

99
inputs:
1010
version:
11-
description: 'Weasel version to use (latest, nightly, or specific version like 0.4.6)'
11+
description: 'Weasel version to use (latest, nightly, or specific version like 0.5.0)'
1212
required: false
1313
default: 'latest'
1414
path:

gh-actions-examples/weasel-basic.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
# Specific version
7373
# - uses: slvDev/weasel@main
7474
# with:
75-
# version: 0.4.6
75+
# version: 0.5.0
7676
#
7777
# High severity only, fail on any finding
7878
# - uses: slvDev/weasel@main

weasel/.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "weasel",
33
"description": "Solidity static analyzer with AI-powered security skills for auditing and developing secure smart contracts",
4-
"version": "0.4.5",
4+
"version": "0.5.0",
55
"author": {
66
"name": "slvDev"
77
}

weaselup/weaselup

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,14 @@ USAGE:
8585
weaselup [OPTIONS]
8686
8787
OPTIONS:
88-
-v, --version <VERSION> Install specific version (e.g., 0.4.6)
88+
-v, --version <VERSION> Install specific version (e.g., 0.5.0)
8989
--nightly Install latest nightly build
9090
-h, --help Show this help message
9191
9292
EXAMPLES:
9393
weaselup Install latest stable version
9494
weaselup --nightly Install latest nightly build
95-
weaselup -v 0.4.6 Install version 0.4.6
95+
weaselup -v 0.5.0 Install version 0.5.0
9696
EOF
9797
}
9898

0 commit comments

Comments
 (0)