Skip to content

v2.0.0 Release Notes

Release Date: February 24, 2026
Release Type: Major


Highlights

  • Full C language support — extract, analyze, and update C code with AST precision
  • Full C++ support — templates, namespaces, nested classes, operator overloading
  • Full C# support — properties, interfaces, generics, LINQ patterns
  • 262 language-specific tests — 39 new real-world pattern tests across the new languages
  • 23 MCP toolstype_evaporation_scan added for TypeScript type boundary detection
  • 7,575+ total tests — 100% pass rate

New Language Support

Code Scalpel now supports 7 languages with production-quality AST parsing and IR normalization.

Language analyze_code extract_code update_symbol security_scan
Python
JavaScript
TypeScript
Java
C NEW NEW NEW
C++ NEW NEW NEW
C# NEW NEW NEW

C Support

// extract_code now works on C files
// "Extract the vec3_dot function from renderer.c"
float vec3_dot(Vec3 a, Vec3 b) {
    return a.x * b.x + a.y * b.y + a.z * b.z;
}

Supports: function definitions, structs, enums, typedefs, preprocessor macros (normalized), header includes.

C++ Support

// "Extract the Mesh::render method from renderer.cpp"
void Mesh::render(RenderContext& ctx) const {
    ctx.draw(vertices_, indices_, material_);
}

Supports: classes, templates, namespaces, operator overloading, nested classes, RAII patterns.

C# Support

// "Extract the PlayerController class from Player.cs"
public class PlayerController : MonoBehaviour
{
    public float MoveSpeed { get; set; } = 5.0f;

    private void Update() { /* ... */ }
}

Supports: classes, interfaces, properties, generics, async/await, LINQ, attributes.


New Tool: type_evaporation_scan

Detects TypeScript type safety violations at frontend/backend boundaries — where strong types on the TypeScript side silently become any when crossing a network or library boundary.

"Check this fetch call for type evaporation"
→ Detected: JSON.parse() result assigned to typed variable without validation (line 47)
→ Recommendation: Add Zod schema or manual type guard

Community tier: Frontend-only analysis
Pro tier: Network boundary analysis, implicit any tracing
Enterprise tier: Zod schema generation, Pydantic model generation, API contract validation


What's Improved

  • 4 normalizer bug fixes during C/C++/C# development:
    • IRIf and IRWhile node construction (missing test= kwarg)
    • C# tuple_type nodes now handled in _TYPE_NODES
    • C++ visit_operator_declaration now correctly extracts overloaded operators
    • Nested C++ class extraction (inner classes no longer dropped)
  • Pre-release pipeline: all checks passing — black, ruff, pyright, bandit, pytest, build
  • test_polyglot_support.py updated: C/C++/C# moved from roadmap to fully-supported matrix

Migration from v1.x

No breaking changes. All existing tools, configurations, and integrations continue to work without modification.

New capabilities are additive: - C/C++/C# extraction works automatically when you pass .c, .cpp, .cc, .h, .hpp, or .cs files - type_evaporation_scan is available as a new Community tier tool immediately


Upgrade

pip install --upgrade codescalpel
# or
uvx codescalpel@latest

Full Changelog

See CHANGELOG.md for the complete list of changes.