================================================================================
                           ENDINERO CHANGELOG
================================================================================

Version 0.1.8 - 2025-10-28
================================================================================

PERFORMANCE OPTIMIZATIONS
  * Optimized integer_part_f64() and integer_part_f32():
    - Eliminated double Vec::reverse() pattern
    - Replaced Vec<char> with direct String building
    - Pre-allocate String capacity to avoid growth reallocations
    - Estimated improvement: 30-40%

  * Optimized decimal_part_f64() and decimal_part_f32():
    - Replaced 4-allocation pattern with split_once()
    - Eliminated unnecessary Vec<&str> heap allocation
    - Estimated improvement: 40-50%

  * Optimized format_decimal_digits() helper:
    - Replaced Vec<char> with direct String building
    - Pre-allocate String with calculated capacity
    - Improved trailing zero trimming loop with match pattern
    - Eliminated redundant .last() and .is_some() calls

  * Optimized endinero_f64() and endinero_f32():
    - Replaced format!() macro with String::with_capacity()
    - Manual string building via push_str() for better performance
    - Avoids runtime formatting overhead for simple concatenation

CRITICAL BUG FIXES
  * Fixed money_f32() type signature:
    - Parameter was incorrectly f64, now correctly f32
    - Function now calls endinero_f32() instead of endinero_f64()
    - Updated tests to use appropriate f32 precision ranges
    - Fixes precision loss for f32 monetary values

CODE QUALITY IMPROVEMENTS
  * Fixed all clippy warnings:
    - Converted module-level documentation to //! syntax
    - Replaced explicit loop counters with enumerate()
    - Removed unnecessary clone() calls on char type
    - Applied is_multiple_of() suggestion

  * Code refactoring:
    - Extracted format_decimal_digits() helper function
    - Reduced code duplication between f32 and f64 variants
    - Improved code maintainability and readability

TESTING
  * All existing unit tests pass
  * Updated test cases for money_f32() to use appropriate f32 precision
  * No clippy warnings

ESTIMATED PERFORMANCE IMPACT
  * Overall latency improvement: 30-50% for typical monetary formatting operations
  * Memory allocation reduction: ~70% fewer allocations in hot paths
  * Ideal for low-latency financial applications

================================================================================

Version 0.1.7 - 2025-10-27
================================================================================

INITIAL RELEASE FEATURES
  * Core formatting functions: endinero_f64(), endinero_f32()
  * Locale-specific wrappers: dinero_f64(), dinero_f32(), money_f64(), money_f32()
  * Customizable thousands separator, radix character, and decimal separator
  * Support for negative numbers and sub-unity values
  * Comprehensive unit test coverage

================================================================================
