Skip to content

Commit f6f0d7b

Browse files
noahgiftclaude
andcommitted
chore: release v3.25.0 - Multi-corpus convergence milestone
All three external corpus targets now met: - Tier 1 (stdlib): 92.7% (target 80%) - Tier 2 (typed-cli): 62.5% (target 60%) - Tier 5 (algorithms): 47.5% (target 40%) - Internal examples: 80% (256/320) Seven text-level post-processing fixes in iter17: 1. Multi-line Result signature detection 2. Generic function name extraction 3. find_call_close_paren for nested calls 4. Ok(!fname( pattern support 5. fix_trailing_comma_in_arith_parens 6. fix_immutable_ref_to_mut 7. fix_regex_match_string_arg Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 87cef34 commit f6f0d7b

File tree

3 files changed

+57
-2
lines changed

3 files changed

+57
-2
lines changed

CHANGELOG.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,61 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [3.25.0] - 2026-02-02
6+
7+
### 🎯 Multi-Corpus Convergence Milestone
8+
9+
**All three external corpus targets now met!**
10+
11+
This release marks a major milestone in the multi-corpus convergence campaign:
12+
13+
| Corpus | Compile Rate | Target | Status |
14+
|--------|--------------|--------|--------|
15+
| Tier 1 (stdlib) | 92.7% (38/41) | 80% | ✅ +12.7 pp |
16+
| Tier 2 (typed-cli) | 62.5% (10/16) | 60% | ✅ +2.5 pp |
17+
| Tier 5 (algorithms) | 47.5% (48/101) | 40% | ✅ +7.5 pp |
18+
| Internal examples | 80% (256/320) | 80% | ✅ Met |
19+
20+
### 🔧 Text-Level Post-Processing Fixes (iter17)
21+
22+
Seven new text-level fixes in `rust_gen.rs` that improved Tier 5 from 26% to 47.5%:
23+
24+
1. **Multi-line Result signature detection** (`has_result_return_multiline`)
25+
- Scans 5 lines after `fn` declaration for `-> Result<`
26+
- Fixes files like `merge_sort.py` with multi-line function signatures
27+
28+
2. **Generic function name extraction**
29+
- Strips `<'a, T>` from names like `_merge<'b, 'a>`
30+
- Enables proper Result double-wrap detection
31+
32+
3. **`find_call_close_paren` for nested calls**
33+
- Balanced parenthesis tracking for complex expressions
34+
- Handles `Ok(nested(complex(args)))`
35+
36+
4. **`Ok(!fname(` pattern support**
37+
- Logical negation in Result-returning calls
38+
39+
5. **`fix_trailing_comma_in_arith_parens`**
40+
- Removes spurious trailing commas: `(expr,)` → `(expr)`
41+
- Prevents tuple coercion in arithmetic expressions
42+
43+
6. **`fix_immutable_ref_to_mut`**
44+
- `&var` → `&mut var` at call sites when callee needs mutable ref
45+
46+
7. **`fix_regex_match_string_arg`**
47+
- Removes `.to_string()` where `&str` expected in `DepylerRegexMatch::new()`
48+
49+
### 📊 Quality Metrics
50+
51+
- **Clippy**: Zero warnings
52+
- **Tests**: All passing
53+
- **TDG Grade**: B+ (on track for A+)
54+
55+
### 🔗 Links
56+
57+
- Specification: `docs/specifications/improve-converge.md`
58+
- Corpus locations documented in spec
59+
560
## [3.22.0] - 2025-01-18
661

762
### 🎯 Hero Example Achievement

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ max_cyclomatic_complexity = 15
3737
required_documentation_coverage = 100.0
3838

3939
[workspace.package]
40-
version = "3.24.0"
40+
version = "3.25.0"
4141
edition = "2021"
4242
authors = ["Depyler Contributors"]
4343
license = "MIT OR Apache-2.0"

crates/depyler/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ depyler-annotations = { version = "3.23.0", path = "../depyler-annotations" }
3333
depyler-quality = { version = "3.23.0", path = "../depyler-quality" }
3434
depyler-oracle = { version = "3.23.0", path = "../depyler-oracle" }
3535
depyler-graph = { version = "3.23.0", path = "../depyler-graph" }
36-
depyler-corpus = { version = "3.24.0", path = "../depyler-corpus" }
36+
depyler-corpus = { version = "3.25.0", path = "../depyler-corpus" }
3737
entrenar = "0.5"
3838
alimentar = { version = "0.2.2", default-features = false, features = ["local"] }
3939
arrow = { version = "54", default-features = false, features = ["json"] }

0 commit comments

Comments
 (0)