Changelog
All notable changes to the Kaira project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased Changes
Added
Future features and improvements will be listed here
Version 0.2.1 (2025-06-15)
Added
Comprehensive Test Suite: Extensive tests for SSIM and EVM metrics with stateful methods and error handling
PlottingUtils Module: New centralized plotting utilities for consistent visualization across examples
Enhanced CI/CD Pipeline: Improved caching, error handling, and BPG tools installation with multiple download sources
Changed
Code Refactoring: Improved code structure and readability across examples and tests
Documentation Updates: Enhanced contributing guidelines and tooltip descriptions
Examples Optimization: Refactored modulation examples and improved type handling
Visualization Enhancements: Better animations and visualizations for FEC and LDPC decoding examples
Fixed
BPG Download Links: Updated to use correct source for improved installation reliability
CI Workflow Improvements: Enhanced system dependency installation with better checks and alternative methods
Error Handling: Improved error handling in setup.py and file reading logic
Path Handling: Convert PosixPath to string in mock file handling for consistency
Removed
CapacityAnalyzer: Removed for code structure improvements
Redundant Examples: Cleaned up educational vs professional LDPC codes comparison and repetition code visualization
Patch Coverage: Removed patch coverage configuration from codecov.yml
Version 0.2.0 (2025-06-10)
Added
Forward Error Correction (FEC) Framework: Comprehensive error correction implementation
LDPC Codes: Implementation with RPTU database integration * Belief Propagation Decoder with configurable iteration count * Min-Sum LDPC Decoder with scaling factor and offset parameters * LDPC benchmarking suite with multiple code configurations * Educational and practical LDPC code examples
Polar Codes: Implementation following 5G standard specifications * Systematic and non-systematic Polar Code Encoders with rank-based frozen bit selection * Successive Cancellation Decoder for polar code decoding * Belief Propagation Polar Decoder with message passing algorithm * Polar code visualization with decoding step demonstrations
Reed-Muller Codes: Algebraic block code implementation with decoder
Algebraic Codes: BCH, Reed-Solomon, and Hamming code implementations
Decoders: Berlekamp-Massey, Brute Force ML, and Wagner soft-decision decoders
Channel Models and Communication Systems
Uplink MAC Channel implementation for multiple access scenarios
AWGN channel improvements with better noise modeling
Enhanced integration between channels, modulators, and FEC components
Neural Network Components
BPG Compressor integration for image compression applications
Neural compressor with fixed quality modes and early stopping
DeepJSCC implementations with channel awareness
ChannelAwareBaseModel for Channel State Information (CSI) handling
Metrics and Benchmarking
Error Vector Magnitude (EVM) metric implementation
MultiScaleSSIM implementation using torchmetrics
Benchmark configurations with variable block length support
LDPC benchmarking suite with decoder performance comparison
Documentation and Examples
FEC tutorial examples covering encoder and decoder usage
Visualization examples for decoding algorithms
API reference documentation for FEC components
Performance comparison guides and educational materials
Changed
Development Infrastructure
Python 3.13.2 support added across codebase
GitHub Actions workflows updated with artifact handling and token management
Auto-examples generation system with incremental builds
Documentation pipeline with Read the Docs integration
MyPy type checking with type annotations
FEC Module Architecture
Encoder module refactoring for better maintainability
Decoder base classes with improved error handling
Belief propagation algorithm memory optimization
Code structure reorganization for educational vs. practical use
Modulation and Signal Processing
PSK modulator complex_output parameter fixes
Demodulation logic with better noise variance handling
LLR (Log-Likelihood Ratio) calculation improvements
Integration improvements between modulators, channels, and decoders
Benchmark System
Benchmark configurations using standardized parameter formats
Result filtering and analysis in BenchmarkResultsManager
Performance analysis examples with detailed metrics
Statistical reliability improvements with configurable parameters
Testing Framework
Mock tests replaced with integration tests for external dependencies
Neural compressor testing with realistic scenarios
FEC component test coverage expansion
Test documentation and contributor guidelines
Fixed
Code Quality
MyPy type annotations for JSON response handling in GitHub API integration
GitHub Actions workflow conditional logic and artifact access permissions
Assertion messages in decoders to reference correct parameter names
Error handling in neural compressor forward pass
FEC Implementation
Import paths for polar code indices and rank-based selection
Parameter naming inconsistencies in LDPC experiments and examples
Belief propagation convergence detection and message passing
Systematic encoding behavior in FEC encoders
Documentation and Build System
GitHub Actions workflow configurations for API documentation generation
Auto_examples release upload logic for existing releases
Extraction process for problematic files during documentation builds
Error handling in download_and_extract_examples functionality
Testing Framework
Integration test configurations for BPG compressor and external dependencies
Test isolation issues in neural network benchmarks
Test stability with random seed management
Performance metric calculations in benchmark test suites
Performance Improvements
FEC Decoding
Belief propagation memory usage optimization for large LDPC codes
Polar code decoding speed with vectorized operations
Convergence detection reducing iteration overhead
Sparse matrix handling in parity check operations
Neural Networks
BPG compressor integration with optimized quality settings
DeepJSCC forward pass efficiency with tensor management
Channel-aware model implementations for faster inference
Benchmarks
Benchmark execution with parallel processing
Statistical analysis with faster BER/BLER calculations
Memory management in large-scale simulation runs
Removed
Legacy Code
Outdated GitHub Actions workflows replaced by updated CI/CD pipeline
Redundant build artifacts and temporary files
Deprecated API endpoints and legacy benchmark configurations
ePub format option from documentation build
Development Workflow
Conflict resolution complexity in auto_examples extraction process
Download step enforcement in favor of full rebuild strategy
Problematic file handling in auto_examples generation pipeline
Breaking Changes
Python Version: Minimum Python version increased to 3.10
FEC API: Decoder initialization parameter changes
bp_iterations renamed to bp_iters in belief propagation decoders
Parameter validation raises specific exceptions for invalid configurations
Benchmark Configuration: Legacy parameter formats deprecated
Import Paths: Internal FEC utility imports reorganized
Migration Guide
For users upgrading from v0.1.x to v0.2.0:
Update Python environment to ≥3.10
Update FEC decoder configurations to use new parameter names
Update benchmark configurations to use standardized format
Review imports from kaira.models.fec.utils for changes
Security Improvements
GitHub token management for CI/CD workflows
Dependency updates to latest secure versions
Parameter validation across FEC components
Version 0.1.1 (2025-05-22)
Changed
Updated Python version requirement to >=3.10 in setup configuration
Fixed installation command in documentation to use ‘pykaira’ instead of ‘kaira’
Removed
Removed CircleCI configuration, release drafter settings, and changelog update script
Cleaned up build artifacts and enhanced deployment script
Note: Changelog update script removal is intentional - changelog is now maintained manually for better control over release notes
Improved
Enhanced project metadata and version extraction
Refactored deployment script for better reliability
Version 0.1.0 (2025-05-09)
Added
Initial release of Kaira framework v0.1.0
Core modules for wireless communication simulation
DeepJSCC implementation
Channel models and modulation schemes
Metrics for performance evaluation
Documentation framework
CI/CD pipeline integration