# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.0.0] - 2025-07-21
### Added
- Initial implementation of `PerfectPower.exponential_form?/1` function
- Mathematical algorithm for detecting perfect powers
- Edge case handling for 0, 1, 2, and 3
- Type specifications for function parameters and return values
- Comprehensive documentation with mathematical background
- Project configuration with development tooling
- Apache 2.0 license
- Development dependencies for code quality and documentation
- Comprehensive test suite with 386 test cases
- Support for huge numbers (2^256, 2^512)
- Mathematical documentation and examples
- Performance optimizations for large numbers
### Changed
- Enhanced module documentation with detailed mathematical background
- Improved README with comprehensive usage examples
- Added type specifications for better code clarity
### Features
- Efficient perfect power detection using logarithmic bounds
- Support for all perfect powers: squares, cubes, and higher powers
- Mathematical optimization for large numbers
- Comprehensive test coverage including edge cases and large numbers
### Technical Details
- Algorithm time complexity: O(log n) for most numbers
- Space complexity: O(1)
- Uses mathematical bounds to limit search space
- Handles numbers up to 2^512 and beyond efficiently