@@ -8,12 +8,61 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88## [ Unreleased]
99
1010### Added
11- - Initial project structure
12- - Basic driver architecture
13- - I2C communication layer with cross-process locking
14- - Configuration management system
11+ - Nothing yet
1512
16- ## [ 0.1.0] - TBD
13+ ## [ 0.1.0] - 2025-11-24
1714
1815### Added
19- - First release
16+ - Initial release of python-emc2305 driver library
17+ - Complete EMC2305 5-channel PWM fan controller support
18+ - Dual control modes: PWM (direct duty cycle) and FSC (closed-loop RPM)
19+ - Per-fan PWM frequency configuration
20+ - RPM monitoring via tachometer
21+ - Comprehensive fault detection (stall, spin failure, drive failure)
22+ - SMBus Alert (ALERT#) hardware interrupt support
23+ - Software configuration lock with race-condition safety
24+ - Watchdog timer support
25+ - Thread-safe operations with atomic register access
26+ - Cross-process I2C bus locking using filelock
27+ - YAML/TOML configuration file support
28+ - Hardware capability auto-detection
29+ - Full type hints (PEP 561) throughout codebase
30+ - Comprehensive input validation (I2C addresses, registers, RPM bounds)
31+ - Mock I2C bus implementation for hardware-independent testing
32+ - 34 comprehensive unit tests with pytest
33+ - Google-style docstrings for all public APIs
34+ - Hardware-validated on EMC2305-1-APTR chip
35+ - Example scripts for all major use cases
36+ - Development documentation and hardware integration guides
37+
38+ ### Fixed
39+ - GLBL_EN bit now automatically enabled in driver initialization (critical for PWM output)
40+ - UPDATE_TIME correctly set to 200ms (500ms breaks PWM control)
41+ - Drive fail band register addresses corrected (datasheet errors)
42+ - Minimum drive percentage unrestricted (0-100% range)
43+ - PWM register readback quantization documented (25% reads as ~ 30%, physical output correct)
44+
45+ ### Changed
46+ - Configuration system uses sensible defaults with auto-creation
47+ - PWM output configured as open-drain for better signal integrity
48+ - PWM polarity set to normal (LOW=run) by default
49+
50+ ### Documentation
51+ - Complete README with quickstart and examples
52+ - Hardware setup guide with I2C address configuration
53+ - API documentation for all public classes and methods
54+ - Production readiness status report
55+ - Register readback behavior analysis
56+ - Known limitations and platform requirements
57+ - PyPI publishing guide
58+
59+ ### Infrastructure
60+ - Modern pyproject.toml configuration
61+ - Backwards-compatible setup.py
62+ - GitHub Actions CI/CD workflow
63+ - Issue and pull request templates
64+ - Contributing guidelines
65+ - MIT License
66+
67+ [ Unreleased ] : https://github.com/moffa90/python-emc2305/compare/v0.1.0...HEAD
68+ [ 0.1.0 ] : https://github.com/moffa90/python-emc2305/releases/tag/v0.1.0
0 commit comments