Releases: brightdigit/SundialKitStream
Releases · brightdigit/SundialKitStream
1.0.0-alpha.2
What's Changed
Full Changelog: 1.0.0-alpha.1...1.0.0-alpha.2
1.0.0-alpha.1
What's Changed
New Features
- Initial release of SundialKitStream - Modern async/await observation plugin for SundialKit
- Actor-based
NetworkObserverfor network connectivity monitoring with AsyncStream APIs - Actor-based
ConnectivityObserverfor WatchConnectivity communication with AsyncStream APIs - Type-safe messaging support with
Messagableprotocol andMessageDecoder - Comprehensive OSLog logging infrastructure with platform guards for cross-platform support
- Swift 6.1 strict concurrency compliance with zero
@unchecked Sendableconformances
Architecture & Components
StreamContinuationManager- Centralized AsyncStream continuation management with defensive assertionsConnectivityStateManager- Coordinated state updates with activation, reachability, and pairing trackingMessageRouter- Automatic transport selection for WatchConnectivity messagesMessageDistributor- Fan-out distribution of received messages to all active subscribers- Structured concurrency support with proper Task lifecycle management
Documentation & Developer Experience
- Full DocC documentation with articles and examples by @leogdion in #70, #66
- Enhanced project logo and plugin documentation
- Comprehensive README with usage examples and architecture overview
- CLAUDE.md with development guidelines and project structure documentation
- Test utilities including
MockPathMonitor,MockNetworkPing,MockConnectivitySession, andTestValueCapture
Testing & Quality
- Extensive unit and integration test coverage for both observers
- Comprehensive NetworkObserver tests with stream validation
- Fixed hanging tests by migrating from
Task.detachedto structured concurrency - Resolved Swift 6.1 strict concurrency issues in test suite
Infrastructure & Tooling
- Complete CI/CD setup with GitHub Actions workflows
- SwiftLint, swift-format, and periphery (dead code detection) integration
- Comprehensive linting configuration with strict file/function length limits
- Devcontainer support with mise-based tooling
- Dependency management scripts with ensure-remote-deps.sh
- Helper scripts for linting, documentation preview, and header validation
Code Quality & Refactoring
- Extract ConnectivityObserver into focused extensions for improved maintainability
- Extract manager components from ConnectivityObserver for separation of concerns
- Split WatchConnectivitySession into focused extensions
- Lifecycle observer setup moved to
activate()for type safety - Defensive assertions and OSLog error handling throughout
- Resolved all linting violations across the package
Bug Fixes
- fixing notifications and logging by @leogdion in #2
- fix: address selected CodeRabbit PR review comments by @leogdion in #4
- Automatic processing of pending applicationContext updates
- Capture full session state snapshot during activation
- Platform guards for OSLog imports to support Linux builds
- watchOS test timing issues resolved
- Final fixes before merge by @leogdion in #5
Dependencies
- SundialKit v2.0.0-alpha.1+ (provides SundialKitCore, SundialKitNetwork, SundialKitConnectivity)
Platform Support
- iOS 16+
- watchOS 9+
- tvOS 16+
- macOS 13+
- Swift 6.1+
- Xcode 16.0+
Full Changelog: https://github.com/brightdigit/SundialKitStream/commits/1.0.0