|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [Unreleased] |
| 9 | + |
| 10 | +### Added |
| 11 | +- Professional MkDocs documentation with Material theme |
| 12 | +- Comprehensive user guide with examples |
| 13 | +- Entry points support for plugin discovery |
| 14 | +- Enhanced API documentation |
| 15 | + |
| 16 | +### Changed |
| 17 | +- Improved documentation structure and navigation |
| 18 | +- Better code examples and tutorials |
| 19 | + |
| 20 | +## [0.4.0] - 2024-01-15 |
| 21 | + |
| 22 | +### Added |
| 23 | +- Support for async hooks and plugins |
| 24 | +- Concurrent execution of async plugin implementations |
| 25 | +- Mixed sync/async plugin support |
| 26 | +- Async context manager compatibility |
| 27 | +- Streaming async generators support |
| 28 | + |
| 29 | +### Changed |
| 30 | +- Improved error handling in async contexts |
| 31 | +- Better performance for concurrent async operations |
| 32 | + |
| 33 | +### Fixed |
| 34 | +- Issue with async plugin registration |
| 35 | +- Memory leaks in long-running async operations |
| 36 | + |
| 37 | +## [0.3.0] - 2023-11-20 |
| 38 | + |
| 39 | +### Added |
| 40 | +- Entry points support for automatic plugin discovery |
| 41 | +- Plugin metadata support |
| 42 | +- Conditional plugin loading |
| 43 | +- Plugin versioning and compatibility checks |
| 44 | + |
| 45 | +### Changed |
| 46 | +- Improved plugin registration API |
| 47 | +- Better error messages for plugin conflicts |
| 48 | + |
| 49 | +### Fixed |
| 50 | +- Issue with plugin loading from different packages |
| 51 | +- Circular dependency resolution in plugins |
| 52 | + |
| 53 | +## [0.2.0] - 2023-09-15 |
| 54 | + |
| 55 | +### Added |
| 56 | +- Multiple result collection strategies (ALL, FIRST, FIRST_AVAIL, ALL_AVAIL) |
| 57 | +- Plugin naming and identification |
| 58 | +- Plugin unregistration support |
| 59 | +- Hook availability checking |
| 60 | + |
| 61 | +### Changed |
| 62 | +- Simplified hook specification syntax |
| 63 | +- Improved type hints throughout the codebase |
| 64 | +- Better documentation and examples |
| 65 | + |
| 66 | +### Fixed |
| 67 | +- Issue with result collection from failing plugins |
| 68 | +- Memory usage optimization for large plugin sets |
| 69 | + |
| 70 | +## [0.1.0] - 2023-07-10 |
| 71 | + |
| 72 | +### Added |
| 73 | +- Initial release of Simplug |
| 74 | +- Basic hook specification and implementation |
| 75 | +- Plugin registration system |
| 76 | +- Simple result collection |
| 77 | +- Core decorator-based API (`@simplug.spec` and `@simplug.impl`) |
| 78 | +- Support for multiple plugins implementing the same hook |
| 79 | +- Basic error handling and plugin isolation |
| 80 | + |
| 81 | +### Features |
| 82 | +- Lightweight plugin system with no external dependencies |
| 83 | +- Type hints support for better IDE integration |
| 84 | +- Simple API for defining and calling hooks |
| 85 | +- Plugin class and instance registration |
| 86 | +- Automatic plugin discovery within registered plugins |
| 87 | + |
| 88 | +For detailed release information, see the [GitHub Releases page](https://github.com/pwwang/simplug/releases). |
| 89 | + |
| 90 | +[Unreleased]: https://github.com/pwwang/simplug/compare/v0.4.0...HEAD |
| 91 | +[0.4.0]: https://github.com/pwwang/simplug/releases/tag/v0.4.0 |
| 92 | +[0.3.0]: https://github.com/pwwang/simplug/releases/tag/v0.3.0 |
| 93 | +[0.2.0]: https://github.com/pwwang/simplug/releases/tag/v0.2.0 |
| 94 | +[0.1.0]: https://github.com/pwwang/simplug/releases/tag/v0.1.0 |
0 commit comments