Changelog
All notable changes to the Transmission library will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Comprehensive documentation with practical examples
- Complete API documentation for all core concepts
- Step-by-step setup guide for Kotlin Multiplatform projects
- Real-world examples using counter and components samples
Changed
- Updated setup documentation to reflect Maven Central publication from version 1.6.0+
- Improved testing documentation with correct TransmissionTest API
- Enhanced documentation structure and navigation
[1.6.0] - 2025-05-16
Added
- Kotlin Multiplatform Support: Complete migration to Kotlin Multiplatform
- iOS target support with native compilation
- Desktop (JVM) target support
- Maven Central Publication: Now published to Maven Central instead of JitPack
- New publication workflow with signing and verification
- Convention plugins for build configuration management
Changed
- Breaking: Migrated from Android-only to Kotlin Multiplatform
- Breaking: Publication moved from JitPack to Maven Central
- Breaking: Dependency coordinates changed to
com.trendyol:transmission
- Refactored counter sample to Compose Multiplatform
- Updated build logic with new convention plugins
- Improved project structure for multiplatform development
Removed
- Legacy Android-only sample applications
- JitPack publication support for new versions
Migration Guide
- Update dependencies from
com.github.Trendyol:transmission
tocom.trendyol:transmission
- Remove JitPack repository if only using Transmission
- For KMP projects, configure targets as needed (android, iosX64, iosArm64, iosSimulatorArm64, jvmDesktop)
[1.5.0] - 2025-03-24
Added
- One-shot Payload Sending: New API for sending payloads without persistent subscriptions
- Enhanced transmission processing capabilities
- New experimental annotations for evolving APIs
Changed
- Improved payload handling performance
- Updated version numbering system
[1.4.2] - 2025-03-14
Added
- Enhanced Testing Infrastructure: New
TransmissionTest
class replacing deprecatedTestSuite
- New test methods for checkpoint validation
- Improved test assertion methods with better type safety
- Additional transformer testing capabilities
Changed
- Breaking: Deprecated
TestSuite
in favor ofTransmissionTest
- Updated testing API with fluent builder pattern
- Improved test method naming and organization
- Enhanced sample test implementations
Fixed
- Test indentation and formatting issues
- OutputTransformer test compatibility
- Broadcast functionality in testing scenarios
[1.4.0] - 2025-02-25
Added
- Transformer Lifecycle:
onCleared()
callback for cleanup operations - Handler Extension API: Ability to extend and override handler behavior
- Stacked Lambda System: Advanced handler composition capabilities
- Value Class Optimization: Converted
Capacity
to value class for better performance - Stream Extensions: New extension functions for data and effect streaming
Changed
- Breaking: Refactored handler extension API
- Breaking: Updated
UpdateHandlerScope
implementation - Improved router internals for better performance
- Enhanced API naming conventions for handlers
- Updated README with new features
Fixed
- Removed redundant coroutine creation
- Fixed lambda versioning issues
- Improved memory management in handler chains
[1.3.0] - 2024-11-14
Added
- Checkpoint API (Experimental): Advanced flow control with checkpoints
@ExperimentalTransmissionApi
and@InternalTransmissionApi
annotations- CheckpointTracker for managing checkpoint state
- Checkpoint validation and frequency control
- Enhanced Contract system with checkpoint support
- Identity-based computation validation
- UUID-based identifier generation
Changed
- Breaking: Contract types converted to classes with internal constructors
- Breaking: Updated dataHolder API to remove manual key assignment
- Improved stability and thread safety
- Updated Kotlin to 2.0.20
- Enhanced Counter sample with better examples
Fixed
- Removed buffer-related issues in broadcast system
- Improved mutex locking in dataHolder operations
- Fixed tryEmit/trySend calls replaced with suspending alternatives
[1.2.1] - Previous Release
Added
- Core transmission framework
- Basic transformer functionality
- Router implementation
- Initial testing support
Changed
- API stabilization improvements
- Performance optimizations
[1.0.x Series] - Legacy Releases
Multiple releases focusing on: - Core functionality development - API refinements - Bug fixes and stability improvements - Initial testing framework
[0.0.x Series] - Early Development
Early development releases with: - Initial concept implementation - Proof of concept features - Experimental APIs
Breaking Changes Summary
1.6.0
- Publication: Moved from JitPack to Maven Central
- Dependencies: Changed from
com.github.Trendyol:transmission
tocom.trendyol:transmission
- Platform: Migrated to Kotlin Multiplatform (supports Android, iOS, Desktop)
1.4.2
- Testing:
TestSuite
deprecated in favor ofTransmissionTest
1.4.0
- Handlers: Handler extension API redesigned
- Capacity: Converted to value class (source compatible)
1.3.0
- Contracts: Contract types changed from interfaces to classes
- DataHolder: Manual key assignment removed
Experimental Features
Some features are marked as experimental and may evolve:
- Checkpoint System (
@ExperimentalTransmissionApi
): Advanced flow control - Handler Extensions: Dynamic handler modification
- Advanced Transformer Communication: Complex inter-transformer patterns
Migration Support
For detailed migration guides between major versions, see: - Setup Guide for dependency updates - Testing Guide for test migration - Transformer Guide for API changes
Contributing
We welcome contributions! See our GitHub repository for: - Bug reports and feature requests - Pull request guidelines - Development setup instructions
This changelog reflects the actual development history. For the latest releases, check the GitHub releases page.