Releases: OldCrow/libstats
v0.12.0 - Complete Header Dependency Optimization
Breaking change: Restructured test header organization for improved modularity. Completed comprehensive header dependency optimization, significantly reducing compilation times and improving build performance.
v0.11.1 - Header Optimization & Magic Number Elimination
Significant compilation time improvements through IWYU (Include What You Use) optimizations across all modules. Replaced magic numbers with named constants and optimized header dependencies throughout the codebase.
v0.11.0 - Namespace Modernization & Architecture Refactoring
Major breaking change: Migrated from libstats:: to stats:: namespace. Completed PIMPL refactoring, AVX-512 testing infrastructure, and comprehensive namespace consolidation across the codebase.
v0.10.0
0.10.0 (2025-08-20)
β¨ Features
- Add CI debugging tools and -Wdeprecated-volatile warning (0e9cb70)
- Add CI/CD infrastructure and code quality tools (v0.9.1.5) (a3667f9)
- ci: complete v0.9.1.5 CI/CD and development infrastructure setup (7c0eda1)
π Bug Fixes
- Add --ignore-errors unused flag to lcov to handle missing examples directory (e222898)
- add clang-format directives to preserve Windows header order (bd7a481)
- Add missing includes to system_capabilities.cpp (29deab5)
- ci: add explicit x64 arch to MSVC dev environment setup (923fe34)
- ci: specify x64 architecture for Windows MSVC builds (b935da4)
- Ensure L3 cache threshold >= L2 on Apple platforms (330987b)
- Fix code coverage job compiler configuration (2d0eb04)
- Fix std::min type mismatch errors for Linux builds (75dd3b0)
- Fix Windows CI test failures (7b22d3a)
- Improve Windows DLL handling and test robustness (9adb331)
- Replace INT_MIN/INT_MAX with std::numeric_limits for Linux compatibility (d455780)
- Resolve Linux build errors in CI (e4af3d1)
- Resolve ODR violation - make pthread_worker inline (0bc779d)
- Simplify SIMD compilation strategy using traditional CMake approach (efa656f)
- Specify bash shell for Windows test step (6100142)
- Update README badges and fix clone URL (29a5b2c)
π Documentation
v0.9.1 - Critical Performance Fix Release
This release addresses critical performance issues and provides a foundation for future GPU acceleration:
π― CRITICAL FIXES:
- Replaced CACHE_AWARE strategy causing 100x performance regression with GPU_ACCELERATED
- GPU_ACCELERATED safely falls back to WORK_STEALING for optimal CPU performance pending implementation
- Fixed auto-dispatch first-call initialization for consistent performance
π§ TECHNICAL IMPROVEMENTS:
- Enhanced performance dispatcher with GPU fallback logic and informative logging
- Updated all distribution implementations with consistent fallback behavior
- Comprehensive strategy migration across entire codebase (29 files changed)
π PERFORMANCE BENEFITS:
- Eliminates severe performance regression from problematic cache-aware parallelism
- Maintains optimal CPU performance through work-stealing fallback
- Positions library for future GPU acceleration without breaking changes
π‘οΈ QUALITY ASSURANCE:
- 100% API compatibility maintained
- All tests, examples, tools, and documentation updated consistently
- Legitimate cache-related code (hardware caches) preserved unchanged
This release ensures optimal performance for v0.9.1 while establishing the foundation for GPU acceleration in future versions.
v0.9.0 - Performance Optimizations and Architectural Improvements
π DUAL API BATCH PROCESSING SYSTEM
- NEW: Auto-dispatch batch processing API with intelligent strategy selection
- NEW: Power-user explicit strategy control for fine-tuned performance optimization
- SIMD and parallel processing strategies automatically selected based on data size and CPU capabilities
- Performance hints system for guiding optimization decisions (MINIMIZE_LATENCY, MAXIMIZE_THROUGHPUT, etc.)
- Thread-safe batch operations: getProbability(), getLogProbability(), getCumulativeProbability()
- Comprehensive strategy options: SCALAR, SIMD_BATCH, PARALLEL_SIMD, WORK_STEALING, CACHE_AWARE
π HEADER ARCHITECTURE CONSOLIDATION
- MAJOR: Consolidated header architecture reducing redundant includes by ~60%
- NEW: Modular header system with clear dependency levels (0-6)
- NEW: Consolidated convenience headers: distribution_common.h, distribution_platform_common.h
- Enhanced build performance through better header organization and dependency management
- Maintained backward compatibility while optimizing compilation efficiency
π DOCUMENTATION OVERHAUL
- MAJOR: Updated README.md to be concise while directing to comprehensive documentation
- NEW: Four detailed documentation guides covering all aspects of the library:
- BUILD_SYSTEM_GUIDE.md - Complete build system, cross-platform support, SIMD detection
- HEADER_ARCHITECTURE_GUIDE.md - Modular headers, dependency management, usage patterns
- PARALLEL_BATCH_PROCESSING_GUIDE.md - High-performance APIs, optimization guidelines
- WINDOWS_SUPPORT_GUIDE.md - Windows development environment support
- Clear separation between quick-start content and detailed reference material
β BUILD SYSTEM ENHANCEMENTS
- Enhanced CMake configuration with better error handling and cross-platform support
- Improved parallel build detection and automatic optimization
- Better SIMD detection and configuration across platforms
- Comprehensive threading system detection (TBB, OpenMP, pthreads, GCD, Windows Thread Pool)
π― PERFORMANCE IMPROVEMENTS
- Intelligent auto-dispatch eliminates need for manual performance optimization in most cases
- SIMD optimization: 2-70x speedup for suitable operations depending on distribution complexity
- Parallel processing: Up to NΓ speedup where N = CPU cores for large batch operations
- Work-stealing thread pools provide superior load balancing for irregular workloads
v0.8.3 - Tool Consolidation, Enhanced Examples, and Performance Improvements
Performance System Enhancements
- π Improved performance history with live empirical data updates
- π Enhanced distribution characteristics framework for real-world performance tuning
- π Better adaptive learning with actual execution metrics vs theoretical models
Tool Suite Modernization
- β¨ Consolidated 7 separate tools into 6 unified tools with better functionality
- β¨ New system_inspector.cpp - Multi-mode system analysis (replaces 4 tools)
- β¨ Enhanced cpp20_features_inspector.cpp - Comprehensive C++20 detection
- β¨ New learning_analyzer.cpp - Unified adaptive learning analysis
- β¨ Added tool_utils.h - Shared utilities for consistent development
Examples Enhancement
- β¨ New poisson_usage_demo.cpp - Comprehensive Poisson distribution guide
- β¨ New comparative_distributions_demo.cpp - Multi-distribution analysis
- β¨ New error_handling_demo.cpp - Safe libstats usage with factory methods
- β¨ Updated existing examples to use modern .sample() API consistently
- β¨ Added quick_start_tutorial.cpp and uniform_usage_demo.cpp
Quality Improvements
- π§ All examples updated with proper factory method usage for safety
- π§ Enhanced error handling and user guidance throughout
- π§ Tool consolidation reduces maintenance overhead
- π§ Version bumped to 0.8.3 across CMakeLists.txt and libstats.h
This release improves performance systems, developer tools, and user examples
with modern patterns, better consolidation, and comprehensive guidance.
v0.8.0 - Gamma Distribution Complete + Infrastructure Consolidation
This release marks a significant architectural milestone with the completion of the Gamma distribution and comprehensive infrastructure refactoring that consolidates duplicate code across all distributions.
π― Complete Statistical Distribution Set (6/6):
β
Gaussian (Normal), Exponential, Uniform, Poisson, Discrete, Gamma
- All distributions feature complete PDF/CDF/quantile implementations
- Advanced numerical stability for edge cases and extreme values
- Comprehensive parameter estimation with MLE and method-of-moments
- Statistical validation including goodness-of-fit tests
ποΈ Infrastructure Consolidation:
- DispatchUtils: Template metaprogramming for centralized auto-dispatch strategy
- Unified batch processing methodology across all distributions
- Consolidated SIMD optimization with runtime CPU feature detection
- Refactored helper classes with single responsibility principles
β‘ Performance Architecture:
-
Smart auto-dispatch selects optimal execution strategy (SCALAR/SIMD/PARALLEL)
-
Advanced caching with memory pressure management
-
Cross-platform SIMD with conservative fallback paths
-
Work-stealing thread pools with adaptive grain sizing
Enhanced Testing Framework:
-
Dual test architecture: basic functional + advanced performance tests
-
SIMD validation with correctness verification
-
Statistical test coverage including bootstrap methods and information criteria
-
Performance benchmarking with speedup analysis
π§ Technical Patterns:
- Template metaprogramming: Compile-time strategy selection
- Inheritance: DistributionBase virtual dispatch for common operations
- Strategy pattern: Runtime performance optimization selection
- CRTP: Type-safe specialization where beneficial
This release establishes a solid foundation for v1.0 with all core distributions complete, infrastructure consolidated, and comprehensive testing in place.
v0.7.1 - Enhance Examples and Tools
- Enhanced Gaussian and Exponential performance benchmark and minor updates to other examples
- Improved documentation in all examples to contextualize outputs for users
- Minor corrections to other files' documentation.
v0.7.0 - Performance Learning Framework Integration
This release delivers a performance learning framework that automatically optimizes execution strategy selection based on real-world performance measurements.
π― Performance Learning Framework:
- Intelligent auto-dispatch with confidence-based recommendations
- Adaptive threshold learning from actual execution data
- 5-strategy optimization (SCALAR β SIMD β PARALLEL β WORK_STEALING β CACHE_AWARE)
- Thread-safe learning system with atomic operations
π οΈ Complete Tool Suite:
- Interactive learning demos with real confidence metrics
- Comprehensive hardware capability analysis
- Exhaustive performance benchmarking with CSV export
- Strategy selection analysis across all distributions
β‘ Smart Auto-Dispatch API:
- getProbability(span, span, hint) methods for all distributions
- Automatic strategy selection based on problem characteristics
- Performance hints for advanced optimization control
- Full backward compatibility maintained
β Production Quality:
- All tests passing with zero performance regressions
- Sub-microsecond dispatch overhead
- Cross-platform compatibility (macOS, Linux, Windows)
- Comprehensive validation and confidence scoring
Ready for cross-platform testing and v0.8.0 development phase.