34 lines
1.2 KiB
Markdown
34 lines
1.2 KiB
Markdown
# 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).
|
|
|
|
## [Unreleased]
|
|
|
|
## [0.1.0] - 2025-01-XX
|
|
|
|
Initial release.
|
|
|
|
### Features
|
|
- Runtime-agnostic oneshot broadcast channel for Rust
|
|
- Single announcer can broadcast to multiple listeners
|
|
- Works with tokio, async-std, smol, or any async runtime
|
|
- Blocking and async APIs for maximum flexibility
|
|
- Type-safe: can only announce once, enforced at compile time
|
|
- Cancel-safe async operations
|
|
- Efficient: O(1) memory with Arc-based value sharing
|
|
- Feature flags: `std` (default), `tracing` (optional)
|
|
|
|
### Quality Assurance
|
|
- Comprehensive test suite: 625+ tests covering all scenarios
|
|
- Property-based testing with 1024 test cases per property
|
|
- Mutation testing to verify test quality
|
|
- Fuzz testing for edge cases and memory safety
|
|
- 98%+ code coverage
|
|
- Extensive benchmarks for performance validation
|
|
|
|
[Unreleased]: https://github.com/swaits/announcement/compare/v0.1.0...HEAD
|
|
[0.1.0]: https://github.com/swaits/announcement/releases/tag/v0.1.0
|