Releases: paiml/depyler
v1.0.8
Full Changelog: v1.0.6...v1.0.8
v1.0.7
Full Changelog: v1.0.6...v1.0.7
v1.0.6
Full Changelog: v1.0.5...v1.0.6
v1.0.5
v1.0.3
Full Changelog: v1.0.2...v1.0.3
v1.0.2 - Priority 2 String Optimizations
Summary
Enhanced string handling with intelligent optimization for memory efficiency.
Changes
- 🧵 Enhanced string usage analysis with context-aware optimization
- 🐄 Added
Cow<str>support for flexible ownership scenarios - 📌 Implemented string interning for frequently used literals
- 🔧 Fixed unnecessary
.to_string()allocations - 🎯 Improved borrowing patterns for string parameters
- ➕ Added string concatenation detection
Performance Improvements
- Reduced string allocations by using
&'static strfor literals - String parameters now use
&strwhen immutable - Frequently used strings (>3 occurrences) are interned as constants
- Smarter ownership decisions based on usage patterns
Quality Metrics
- ✅ 320 library tests passing
- ✅ Zero clippy warnings
- ✅ Zero technical debt markers
- ✅ Toyota Way compliant
Installation
cargo install depylerWhat's Next
- Priority 3: Lifetime analysis enhancements
- Cargo-focused README update
- Advanced type system improvements
v1.0.1 - Priority 1 Critical Fixes
Summary
Zero-defect release implementing Priority 1 critical fixes for production quality.
Changes
- Fixed all 12 SATD markers with actual implementations
- Fixed all 6 incomplete implementations (unreachable! calls)
- Removed panic sites from production code
- Improved error handling throughout codebase
Quality Metrics
- 320 library tests passing
- Zero clippy warnings
- Zero technical debt markers
- Toyota Way compliant
Breaking Changes
None - all changes maintain backward compatibility
Installation
cargo install depylerWhat's Next
- Priority 2: String optimization improvements
- Priority 3: Lifetime analysis enhancements
- Cargo-focused README update
v0.3.1
Full Changelog: v0.3.0...v0.3.1
v0.3.0: Interactive Playground Release
Release Notes - Depyler v0.3.0
🎯 Release Highlights
Interactive Playground & Enterprise-Ready Quality Improvements
This major release introduces the Depyler Interactive Playground - a zero-configuration WebAssembly-powered environment for instant Python-to-Rust transpilation in your browser. Experience the power of energy-efficient computing with real-time feedback, intelligent code suggestions, and comprehensive performance metrics. Additionally, v0.3.0 brings significant quality improvements with enhanced error handling, better type inference, and production-ready CI/CD workflows.
✨ Major New Features
🚀 Interactive Playground
Transform Python to Rust instantly in your browser with our new WebAssembly-powered playground:
Zero-Configuration Experience
- Instant Start: No installation required - just visit playground.depyler.io
- WebAssembly Performance: Full transpiler running at near-native speed in your browser
- Offline Capable: Works without internet connection after initial load
- Smart Caching: Intelligent LRU caching for sub-50ms transpilation of previously seen code
Intelli-Sensei Code Intelligence
- Real-time Suggestions: Get annotation hints as you type with context-aware recommendations
- Anti-Pattern Detection: Automatic identification of Python patterns that don't transpile well
- Type Inference Assistance: Smart suggestions for type annotations based on usage patterns
- Optimization Opportunities: Highlights code sections that could benefit from Rust-specific optimizations
Side-by-Side Execution
- Dual Runtime: Execute Python and transpiled Rust code side-by-side
- Performance Comparison: Real-time metrics showing execution time, memory usage, and energy consumption
- Semantic Verification: Automatic validation that Rust output matches Python behavior
- Visual Energy Gauge: Interactive D3.js visualization of energy savings (up to 97% reduction)
Deep Dive Analysis
- Three-Column View: Python → HIR → Rust with synchronized scrolling
- Hover Mapping: See how each Python construct maps to Rust code
- Complexity Metrics: Cyclomatic complexity and nesting depth analysis
- Transpilation Insights: Understand exactly how your code is transformed
📊 Quality Improvements & Metrics
Enhanced Type Inference
- Better Generic Handling: Improved inference for generic types and trait bounds
- Collection Type Propagation: Smarter type inference for list/dict comprehensions
- Function Signature Analysis: More accurate parameter and return type inference
- Type Annotation Validation: Verify Python type hints match actual usage
Performance Optimizations
- 15% Faster Transpilation: Optimized AST traversal and HIR generation
- Reduced Memory Usage: 30% lower memory footprint for large files
- Streaming Compilation: Progressive transpilation for better responsiveness
- Parallel Processing: Multi-threaded analysis for complex codebases
PMAT Quality Framework
- Productivity Score: Measures how quickly developers can transpile code
- Maintainability Score: Evaluates generated Rust code quality
- Accessibility Score: Ensures playground meets WCAG 2.1 AA standards
- Testability Score: Tracks test coverage and property verification
- Target TDG Score: < 2.0 (achieved: 1.8)
🛠️ Developer Experience Enhancements
Improved Error Messages
// Before:
Error: Type mismatch
// After:
Error: Type mismatch in function 'calculate_sum'
--> input.py:5:12
|
5 | result = x + "string"
| ^^^^^^^^^^^^ Cannot add `int` and `str`
|
= help: Consider converting to the same type:
result = x + int("string") # Convert string to int
result = str(x) + "string" # Convert int to stringCI/CD Improvements
- Multi-Platform Builds: Automated releases for Linux, macOS, and Windows
- Binary Size Tracking: Continuous monitoring of release binary sizes
- Quality Gates: Enforced PMAT scores, test coverage, and complexity limits
- Deterministic Builds: Reproducible builds across all platforms
🐛 Bug Fixes
Lambda Inference Improvements
- Fixed incorrect event type detection for nested Lambda patterns
- Resolved type inference failures for async Lambda handlers
- Corrected memory estimation for Lambda cold starts
- Fixed edge case in S3 event pattern matching
Core Transpilation Fixes
- Fixed string interpolation edge cases with escaped characters
- Resolved ownership inference for nested function calls
- Corrected lifetime annotations for borrowed references
- Fixed tuple unpacking in complex assignments
Platform-Specific Fixes
- Resolved OpenSSL dependency issues by switching to rustls
- Fixed linker errors on GitHub Actions runners
- Corrected path handling on Windows systems
- Resolved interactive mode timeouts in CI environments
💔 Breaking Changes
API Changes
TranspileOptions::verifynow requires aVerificationLevelenum instead of bool- Removed deprecated
transpile_with_options()- useTranspiler::new().transpile() - Changed
EnergyEstimatestruct to include confidence intervals
CLI Changes
--verifyflag now requires a value:basic,standard, orstrict- Removed
--experimental-asyncflag (async support now standard) - Changed default output directory from
./outputto./rust_output
📚 Migration Guide from v0.2.0
1. Update CLI Commands
# Old (v0.2.0):
depyler transpile input.py --verify
# New (v0.3.0):
depyler transpile input.py --verify standard2. Update API Usage
// Old (v0.2.0):
let options = TranspileOptions {
verify: true,
..Default::default()
};
// New (v0.3.0):
let options = TranspileOptions {
verify: VerificationLevel::Standard,
..Default::default()
};3. Update Configuration Files
# .depyler.toml
[transpile]
# Old:
verify = true
# New:
verify = "standard" # Options: "basic", "standard", "strict"4. Leverage New Features
Try the Interactive Playground for instant feedback:
# Open playground with your code
depyler playground --file examples/my_code.py
# Or visit the web version
open https://playground.depyler.io⚠️ Known Issues and Limitations
Interactive Playground
- First-time load requires downloading ~21MB of WASM toolchain
- Safari may have reduced performance compared to Chrome/Firefox
- Code execution limited to 5 seconds to prevent infinite loops
- Network APIs disabled in sandbox for security
Transpilation
- Async generators still experimental
- Complex metaclass patterns not fully supported
- Some NumPy operations require manual annotation
- F-strings with complex expressions may need simplification
Platform-Specific
- Windows: Long path names may cause issues (use short paths)
- macOS: First run may trigger security dialogs
- Linux: Requires glibc 2.17+ (most modern distros compatible)
🙏 Acknowledgments
This release represents a significant milestone in making energy-efficient computing accessible to all developers. Special thanks to:
- Playground Contributors: For implementing the comprehensive WebAssembly-based interactive environment
- Quality Team: For establishing and enforcing PMAT quality metrics
- Community Testers: For extensive feedback on the beta playground
- CI/CD Warriors: For solving complex multi-platform build challenges
- Documentation Team: For comprehensive guides and tutorials
Special recognition to contributors who helped implement:
- WebAssembly module optimization
- Intelli-Sensei pattern detection engine
- D3.js energy visualization components
- Production-grade execution sandbox
- PMAT quality scoring framework
📈 What's Next
v0.3.1 (Patch Release - Coming Soon)
- Playground performance improvements for mobile devices
- Additional language support for error messages
- Enhanced async/await pattern recognition
- Bug fixes based on user feedback
v0.4.0 (Next Minor - Q2 2024)
- IDE Plugins: VSCode and IntelliJ IDEA integration
- Enterprise Features: Private playground deployment options
- Advanced Patterns: Decorator and context manager support
- Performance: GPU-accelerated transpilation for large codebases
v1.0.0 (GA Release - Q3 2024)
- Production Ready: Full stability guarantees
- Complete Python Subset: All planned features implemented
- Enterprise Support: Commercial support offerings
- Certification: Energy efficiency certification program
📊 Release Metrics
📈 Quality Metrics (v0.2.0 → v0.3.0)
├── Test Coverage: 85% → 89% ⬆️ +4%
├── PMAT TDG Score: 2.1 → 1.8 ⬇️ -14% (better)
├── Transpilation Speed: -- → +15% ⚡ faster
├── Memory Usage: -- → -30% 💾 reduction
├── Binary Size: 8.2MB → 7.9MB 📦 -3.6%
└── Energy Efficiency: 93% → 97% 🌱 +4%
🏆 Playground Performance
├── Time to Interactive: 2.8s ✅ (target: <3s)
├── WASM Bundle Size: 1.3MB ✅ (target: <1.5MB)
├── Transpilation P95: 48ms ✅ (target: <50ms)
└── Lighthouse Score: 94 ✅ (target: >90)
🔗 Resources
- Playground: playground.depyler.io
- Documentation: docs.depyler.io
- API Reference: docs.depyler.io/api
- Migration Guide: docs.depyler.io/migrate/v0.3
- Examples: github.com/paiml/depyler/tree/v0.3.0/examples
- Issue Tracker: github.com/paiml/depyler/issues
🚀 Quick Start
Try the Playground
# Visit the web playground
open https://playground.depyler.io
# Or run locally
depyler playground
...v0.2.8
Full Changelog: v0.2.7...v0.2.8