Release v0.7.0
Overview
Version 0.7.0 introduces significant improvements in project organization, documentation structure, and code quality. This release focuses on enhanced developer experience through modular documentation, test restructuring, and API refinements while maintaining full backward compatibility.
Major Improvements
Documentation & Project Structure
- Modular AI Agent Guidelines: Complete restructuring of project guidelines into specialized files:
- Created
.agents/directory with task-specific guidance files code-generation.mdfor programming standards and practicestesting.mdfor test strategies and statistical validationgit-workflow.mdfor version control and commit conventionsdocumentation.mdfor documentation writing standardsperformance.mdfor optimization guidelines and benchmarking
- Created
- Enhanced Library Documentation: Added comprehensive
LIBRARY_USAGE.mdwith detailed API usage examples - Simplified README: Streamlined main README to focus on essential information while directing users to specialized documentation
- Example Improvements: Updated
library_usage_example.rswith more practical parameters for faster testing
Code Organization & Architecture
- Centralized Test Structure: Moved all
data_storagetests from embedded modules to centralizedsrc/tests/directory- Relocated append writer, uleb128, and integration tests
- Improved test discoverability and maintenance
- Better separation of test code from production modules
- Data Storage API Enhancement:
- Simplified filename convention removing
num_runsparameter:eigenvalues_model{}_dim{}_steps{}.dat - Added
read_all_data()method for unrestricted data access - Enhanced
read_data()with strict validation and actionable error messages
- Simplified filename convention removing
Code Quality & Maintenance
- Style Improvements: Applied Clippy suggestions for modern Rust formatting
- Converted to inlined format arguments in
display_utils.rs - Fixed
clippy::uninlined_format_argswarnings
- Converted to inlined format arguments in
- Cleanup: Removed redundant temporary files and consolidated example code
API Changes
Data Storage Module
- Filename Format Change: Simplified from
eigenvalues_model{}_dim{}_steps{}_{}.dattoeigenvalues_model{}_dim{}_steps{}.dat - New Method:
read_all_data()- Retrieves all available records without validation - Enhanced Method:
read_data()- Now includes comprehensive validation with helpful error messages
Backward Compatibility
This release maintains full backward compatibility for the core statistical computation APIs. The data storage filename format change affects only new data files; existing files continue to work normally.
Migration Guide
For Library Users
- No code changes required for existing statistical computation functionality
- New data files will use the simplified filename format automatically
- Existing data files continue to work without modification
For Contributors
- Review the new modular documentation structure in
.agents/directory - Follow updated guidelines for specific development tasks
- Tests are now centralized in
src/tests/directory
Technical Details
Dependencies
No changes to external dependencies. All existing dependencies remain unchanged:
nalgebraandnalgebra-lapackfor matrix operationsrandecosystem for random number generationrayonfor parallel computation
Performance
No performance regressions. All optimizations from previous releases remain active:
- Link-time optimization (LTO) enabled
- Maximum optimization level (
opt-level = 3) - Single codegen unit for better optimization
- Panic abort strategy for reduced binary size
Testing
All existing tests continue to pass. The test restructuring improves maintainability without affecting functionality.
Contributors
Special thanks to all contributors who helped improve the project structure and documentation quality in this release.