actr-version-0.1.0 has been yanked.
Visit the last successful build:
actr-version-0.1.5
actr-version
๐ Semantic Protocol Compatibility Analysis Library
actr-version provides professional-grade protobuf compatibility analysis through proto-sign semantic breaking change detection and actr-protocol service structures, enabling comprehensive service version management.
๐ฏ Design Philosophy
This library solves the real problem of protocol compatibility analysis - not just comparing hashes, but understanding the semantic meaning of protobuf schema changes.
// Use proto-sign for true semantic analysis
let result = analyze_compatibility?;
// Detects: field removal, type changes, backward compatibility, etc.
๐ฆ Core Features
- Semantic Proto Analysis: Professional breaking change detection using
proto-sign - Service-Level Compatibility: Analyze complete
ServiceSpecstructures fromactr-protocol - Breaking Change Detection: Identify specific breaking changes with detailed explanations
- Efficient Fingerprint Comparison: Direct use of
ServiceSpecbuilt-in semantic fingerprints - Comprehensive Results: Detailed compatibility analysis with actionable insights
๐ Quick Start
Add to your Cargo.toml:
[]
= { = "https://github.com/actor-rtc/actr-version" }
= { = "https://github.com/actor-rtc/actr-protocol" }
use ;
use ServiceSpec;
// Create base service with proto content
let proto_files = vec!;
let base_fingerprint = calculate_service_semantic_fingerprint?;
let base_service = ServiceSpec ;
// Create candidate service with breaking change
let candidate_proto = vec!;
let candidate_fingerprint = calculate_service_semantic_fingerprint?;
let candidate_service = ServiceSpec ;
// Execute semantic compatibility analysis
let result = analyze_compatibility?;
match result.level
๐ฏ Core API
// Fingerprint calculation
calculate_proto_semantic_fingerprint // Compatibility analysis
analyze_compatibility
๐งช Testing
The library has 95%+ test coverage with comprehensive tests for:
- โ Error handling and edge cases
- โ Breaking change detection
- โ File addition/removal scenarios
- โ Semantic fingerprint calculation
- โ Input validation
๐ License
Apache-2.0 License - see LICENSE file