Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.0] - 2025-07-18
Added
- Initial implementation of BinaryGcd module with
of/2
function - Binary GCD algorithm (Stein's algorithm) implementation
- Comprehensive documentation with usage examples
- Full test suite with edge cases
- Code quality tools integration (nstandard, credo, dialyzer)
- Documentation generation with ExDoc
- Spell checking with Spellweaver
- GitHub Actions CI workflow for automated testing and code quality checks
- Dependabot configuration for automated dependency updates
- Development tooling setup
Features
- Fast GCD computation using Stein's algorithm
- Pure Elixir implementation with no external dependencies for core logic
- Support for large integers with efficient bitwise operations
- Comprehensive error handling and edge case coverage
- Well-documented API with detailed examples
Technical Details
- Uses only bitwise operations and subtraction (no division)
- Optimized for large numbers where traditional Euclidean algorithm is slower
- Handles edge cases: zero values, single zero, and coprime numbers
- Type specifications for better code quality and IDE support
Version History
- 1.0.0: Initial stable release with complete BinaryGcd implementation
Contributing
When contributing to this project, please update this changelog by adding a new entry under the [Unreleased] section. The entry should follow the format:
### Added
- New feature description
### Changed
- Changed feature description
### Deprecated
- Deprecated feature description
### Removed
- Removed feature description
### Fixed
- Bug fix description
### Security
- Security fix description
Release Process
- Update version in
mix.exs
- Update this changelog with release date
- Create a git tag for the release
- Push changes and tag to repository