Skip to content

Releases: paiml/decy

Decy v1.0.2

18 Nov 16:37

Choose a tag to compare

Decy v1.0.2

New Features

  • Renacer Integration: Added comprehensive documentation for profiling transpiled Rust code with source mapping back to original C code
    • Source map generation with --source-map flag
    • Profiling commands and workflow examples
    • Source map JSON format specification

Bug Fixes

  • Fixed missing dataflow methods for array slice transformation (get_array_parameters, is_modified)
  • Fixed clippy warnings in decy-codegen
  • Fixed property test syntax errors with reserved keyword handling
  • Fixed doctest compilation issues

Test Suite Improvements

  • Added comprehensive keyword filtering for property tests
  • Marked known codegen issues as ignored tests with tracking references
  • Improved test assertions for usize casts

Installation

cargo install decy

Full Changelog

v1.0.1...v1.0.2

v1.0.1 - Bug Fixes & Critical Improvements πŸ”§

07 Nov 22:43

Choose a tag to compare

Bug Fixes & Critical Improvements

This patch release fixes critical bugs discovered in the array parameter transformation feature and enhances pointer arithmetic detection for safer code generation.


πŸ› Bug Fixes

DECY-072: Array Parameter Transformation - Complete Implementation

  • Fixed: Incomplete implementation causing clippy warning and test failures
  • Implemented: Length parameter references transformed to .len() calls
    • size β†’ arr.len() as i32 (automatic type casting)
  • Added: Type casts for slice operations
    • Array indexing: arr[i] β†’ arr[i as usize]
    • Array assignment: arr[i] = x β†’ arr[i as usize] = x
  • Fixed: Mutability detection for slice parameters (&[T] vs &mut [T])

Enhanced Pointer Arithmetic Detection

  • Fixed: False positives in array-to-slice transformation
  • Disqualifying factors now properly detect:
    • Pointer arithmetic on parameters (arr++, arr + n)
    • Parameters assigned to pointer variables (int* ptr = arr)
  • Added: Recursive expression checking for nested pointer usage
  • Result: Functions like traverse_array correctly preserve raw pointers

Code Quality

  • Fixed: Clippy collapsible_match warnings in dataflow analysis
  • Result: 0 clippy warnings across entire workspace

βœ… Test Results

  • All integration tests: PASS βœ…
  • test_nested_loops_with_break_continue: PASS βœ…
  • test_transpile_increment_decrement: PASS βœ…
  • test_transpile_real_world_patterns: PASS βœ…
  • Total tests: 237+ passing
  • Clippy warnings: 0
  • Build: SUCCESS

πŸ“¦ Installation

Install or upgrade via cargo:

```bash
cargo install decy --version 1.0.1
```

Or from source:

```bash
git clone https://github.com/paiml/decy.git
cd decy
git checkout v1.0.1
cargo install --path crates/decy
```


πŸ“š Published Crates

All 13 crates updated to v1.0.1:


πŸ“ Files Modified

  • crates/decy-codegen/src/lib.rs - Type casting for slice operations
  • crates/decy-ownership/src/array_slice.rs - Complete transformation implementation
  • crates/decy-ownership/src/dataflow.rs - Enhanced detection, mutability analysis
  • crates/decy-analyzer/src/lock_analysis.rs - Concurrency improvements
  • crates/decy-codegen/src/concurrency_transform.rs - Threading primitives

πŸ”— Links


Full Changelog: v1.0.0...v1.0.1

v1.0.0 - Core Safety Validation Mission Complete

01 Nov 09:37

Choose a tag to compare

Decy v1.0.0 represents the completion of the core safety validation mission.

Major Achievements

  • 12 critical vulnerability classes validated
  • 200+ integration tests
  • 150+ property tests (40,000+ executions)
  • 0 unsafe blocks per 1000 LOC
  • 13 comprehensive book chapters
  • 100% EXTREME TDD compliance

Published Crates

All 12 workspace crates are now available on crates.io:

  • decy (CLI binary)
  • decy-core
  • decy-parser
  • decy-hir
  • decy-analyzer
  • decy-ownership
  • decy-codegen
  • decy-verify
  • decy-debugger
  • decy-book
  • decy-repo
  • decy-agent
  • decy-mcp

Install: cargo install decy

See CHANGELOG.md for complete release notes.

Crates.io: https://crates.io/crates/decy
Documentation: https://docs.rs/decy

v0.2.0: File-level Transpilation & Dependency Tracking

21 Oct 20:54

Choose a tag to compare

Decy v0.2.0: File-level Transpilation & Dependency Tracking

Major milestone release enabling incremental C→Rust migration through file-by-file transpilation.

🎯 Sprint 16: Incremental Transpilation (13/21 SP)

βœ… DECY-047: File-level Transpilation Infrastructure (8 SP)

  • TranspiledFile struct: Complete metadata for per-file results
    • Source path, generated Rust code, dependencies, exported functions
    • FFI declarations for C↔Rust boundaries
  • ProjectContext: Cross-file type and function tracking
    • Maintains types (structs/enums) across files
    • Tracks function declarations for reference resolution
  • transpile_file() API: Main entry point for file-level transpilation
  • 9 comprehensive unit tests
  • Coverage: 90.32%

βœ… DECY-048: Dependency Tracking and Build Order (5 SP)

  • DependencyGraph struct: Using petgraph DiGraph
    • Add files and dependency relationships
    • Parse #include directives from C source
    • Topological sort for correct build order
    • Circular dependency detection with clear error messages
    • Header guard detection (#ifndef/#define/#endif patterns)
  • 11 comprehensive unit tests
  • Coverage: 90.34%

πŸ§ͺ Sprint 15: Quality & Test Hardening (13 SP)

  • DECY-040: Expression visitor edge case tests (11 tests)
  • DECY-041: Binary operator test coverage (10 tests)
  • DECY-042: Assignment validation tests (10 tests)
  • DECY-043: Boundary condition tests (10 tests)
  • DECY-046: Large C project validation (4 tests, 7 cases)
  • Real-world validation: 100% success rate
  • Performance: 7,000-8,900 LOC/sec, 1-2ms average

πŸ“Š Release Statistics

  • Total Story Points Delivered: 365 (across 15+ sprints)
  • Total Tests: 323 workspace tests
    • decy-core: 58 tests (20 new in Sprint 16)
    • decy-parser: 167 tests
    • decy-hir: 136 tests
  • Coverage: 90.34% (exceeds 80% target)
  • Methodology: EXTREME TDD (RED-GREEN-REFACTOR)
  • Lines of Code: 57,803 Rust LOC
  • Quality Gates: All passing βœ…

πŸš€ What's Included

  • Full C parser with clang-sys (89.60% coverage)
  • HIR with type system (100% coverage)
  • Basic code generation (90.87% coverage)
  • Pointer operations (96.52% coverage)
  • Box pattern detection (96.55% coverage)
  • Vec pattern detection (93.29% coverage)
  • Dataflow analysis (95.72% coverage)
  • Ownership inference (94.3% coverage)
  • Borrow code generation (&T, &mut T) (94.3% coverage)
  • Lifetime analysis and annotations (94.3% coverage)
  • Struct/enum definitions (94.3% coverage)
  • Macro expansion (#define β†’ const)
  • NEW: File-level transpilation API
  • NEW: Dependency tracking with petgraph
  • NEW: Build order computation
  • NEW: Cross-file reference tracking

πŸ”„ Breaking Changes

None - this is an additive release.

πŸ“ Next Steps (v0.3.0)

  • DECY-049: Transpilation caching with SHA-256 (10-20x speedup)
  • DECY-050: CLI support for project-level transpilation

πŸ“š Documentation

See CHANGELOG.md for full details.


Methodology: EXTREME TDD with Toyota Way principles
Quality Standard: Zero tolerance for quality violations
Real-world Readiness: 97%+