# 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).

## [0.1.0] - 2025-01-19

### Added
- Initial release of Harmony music theory library
- `Harmony.Note` module for working with musical notes
  - Note creation from strings, MIDI numbers, and frequencies
  - Note simplification and enharmonic equivalents
  - Comprehensive note properties (MIDI, frequency, chroma, etc.)
- `Harmony.Interval` module for musical intervals
  - Interval creation and manipulation
  - Distance calculations between notes
  - Interval inversion, addition, and subtraction
- `Harmony.Transpose` module for transposition
  - Note transposition by intervals
  - Partial application support for functional composition
  - Circle of fifths transposition
- `Harmony.Chord` module for chord operations
  - Chord recognition from symbols
  - Chord note generation
  - Slash chord (inversion) support
  - Compatible scale finding
  - Chord extension and reduction analysis
- `Harmony.Scale` module for scale operations
  - Scale generation from types and tonics
  - Mode calculation
  - Compatible chord finding
  - Scale range generation with proper enharmonics
- `Harmony.RomanNumeral` module for functional harmony
- `Harmony.Pitch` module for low-level pitch coordinate system
- `Harmony.Key` module for key signatures
- Comprehensive documentation in `/docs` folder
- Full test suite with 129 tests
- Compile-time code generation for optimal performance

### Documentation
- Complete README with examples and quick start
- Detailed guides for all major modules
- API reference documentation
- Getting Started guide
- Claude Code context file for AI assistance

### Performance
- Zero runtime overhead for note/interval lookups through compile-time macro generation
- Constant-time (O(1)) access to note and interval properties
- Efficient pattern matching for all operations

## [Unreleased]

### Future Enhancements
- Voice leading algorithms
- Chord voicing generation
- Scale fingering patterns
- More exotic scales and chords
- MIDI library integrations

[0.1.0]: https://github.com/ryanmessner/harmony/releases/tag/v0.1.0
