All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- VirtualTimeGenStateMachine with full
:gen_statemsupport start_link/3,start/3,call/3,cast/2,stop/3functions for VirtualTimeGenStateMachine- Compilation warnings for global virtual clock operations to prevent race conditions
- Optimized VirtualClock event scheduling by using asynchronous operations
- Time backend is now internal and transparent to client code
- VirtualTimeGenServer and VirtualTimeGenStateMachine functions now emit warnings when using global clock injection
- Removed complex wrapper module causing callback conflicts
- Now uses native Erlang
:gen_statemdirectly
- State enter callbacks now work correctly in VirtualTimeGenStateMachine
- Long-running simulations timeout issues resolved
- Both
:handle_event_functionand:state_functionscallback modes supported
- Ractor (Rust) code generator with Ractor framework
- Single-file generator examples for Ractor and VLINGO
- Documentation for Ractor generator
- Separated generated interface code from customizable implementation code across all generators
- Fixed Mermaid flowchart reports missing edges for dynamic sends
- Virtual delays feature for actors
- Quiescence termination mode
- Enhanced diagram generation with trace-based approach
- Dining philosophers example
- Refactored sleep handling into
TimeBackendbehaviour - Enhanced diagram generation
- Corrected termination labels in reports
- Fixed diagram accuracy issues
- Generator documentation in README
- Added console output in all generated code
- Implemented thread-safe ConsoleLogger for Pony generator
- Updated all example projects
0.2.0 - 2025-10-12
- Code generators for CAF (C++), Pony, Phony (Go), and VLINGO (Java)
- Mermaid report generator module
- Full GenServer callback support including
handle_continue/2and call timeout handling - Termination conditions for simulations based on actor state
- Enhanced Mermaid diagrams with sequence diagram features
- Dining philosophers example
- Single-file generator examples
- Generator documentation
- Reorganized documentation with quick start examples first
- Enhanced GitHub Actions workflows
- Updated license to include full MIT license text
- Dialyzer warnings
- Flaky tests
- Generator output issues
0.1.0 - 2025-10-11
- Initial release
- VirtualTimeGenServer with virtual time support
- VirtualClock for event scheduling
- Switchable real/virtual time backends
- Actor Simulation DSL
- Message patterns (periodic, rate-based, burst)
- Process-in-the-Loop support
- Pattern matching responses with
on_match - Message tracing and Mermaid diagram generation