Skip to content

v1.0.2

Latest

Choose a tag to compare

@nanasess nanasess released this 04 Dec 08:01
· 3 commits to main since this release
9f06ad6

What's Changed

🚀 New Features

PHP 8.5 Support

  • Add PHP 8.5 to CI/CD test matrix across all platforms (Ubuntu, Windows, macOS)
  • Verified compatibility with PHP 8.5 for all bcmath polyfill functions
  • Skip gh20006 test for PHP 8.5 (requires BcMath\Number OOP API not yet implemented in polyfill)
  • Update documentation to reflect PHP 8.5 support

Benchmarking Framework

  • Add comprehensive performance benchmarking tool for comparing polyfill vs native bcmath
  • Support multiple output formats: console, JSON, CSV, and Markdown
  • GitHub Actions integration:
    • PR Benchmarks: Comment /benchmark on PRs for quick performance tests (1,000 iterations)
    • Merge Benchmarks: Automatic full benchmark on PR merge (10,000 iterations)
    • Manual Benchmarks: Trigger via GitHub Actions UI with customizable settings
  • Test all bcmath operations with various number sizes and precision scales

🔧 Improvements

Code Quality

  • Apply Rector code modernization rules:
    • Use in_array() with strict comparison
    • Adopt first-class callables syntax
    • Enhance type safety throughout codebase
  • Add explicit type declarations to all function parameters (string, ?int)
  • Remove redundant PHPDoc annotations

CI/CD Enhancements

  • Fix PHPStan configuration for expr.resultUnused error handling
  • Improve workflow reliability with file-based approach for PR comments
  • Fix backtick escaping in benchmark comment formatting
  • Remove redundant condition checks in workflows

Documentation

  • Add comprehensive performance benchmarking guide to README
  • Document GitHub Actions benchmark workflows
  • Update supported PHP versions list (8.1, 8.2, 8.3, 8.4, 8.5)

📊 Testing

All 57 CI checks passing across:

  • 3 operating systems (Ubuntu, Windows, macOS)
  • 5 PHP versions (8.1, 8.2, 8.3, 8.4, 8.5)
  • With and without bcmath extension
  • Docker PHPT tests using official PHP test suite

🔗 Links

  • Full Changelog: 1.0.1...1.0.2
  • Benchmark Documentation: See README.md "Performance" section
  • PHP 8.5 CI Results: All tests passing ✅

👥 Contributors

@nanasess