Releases: Otoru/Genesis
Releases · Otoru/Genesis
v2026.3.21
What's Changed
- chore(deps): bump pyjwt from 2.10.1 to 2.12.0 by @dependabot[bot] in #69
- chore(deps-dev): bump black from 24.10.0 to 26.3.1 by @dependabot[bot] in #68
- fix: bump PyJWT to 2.12.1 (CVE-2026-32597) by @Otoru in #70
- fix: task leak, unsafe auto-install, fragile exception handling + routing tests by @Otoru in #71
- WIP: Queue, OpenTelemetry config, uvloop support and docs by @Otoru in #66
Full Changelog: v2026.3.3...v2026.3.21
v2026.3.3
v2026.3.3
- Sonar/code quality fixes and CI updates (PR #67)
- Refactor: reduced cognitive complexity (channel.wait, base.consume, _execute_send)
- Async/sync: Channel.from_session, dispatch_to_handlers, session._awaitable_complete_command as sync
- GitHub Actions: permissions at job level, commit data via env
- Docker: pinned image tags; XML: removed commented code
- Examples: documented HTTP 408/500 in click2call; on_dtmf in ivr and docs
- Tests: literal dict/list, empty blocks, merged ifs, TEST-NET IPs
v2026.2.7
Release 2026.2.7
- Protocol refactor: new
genesis.protocolpackage with base, routing, metrics and telemetry - Routing: channel, composite, dispatcher and global routers
- Observability: OpenTelemetry integration (metrics, tracing)
- Session and channel improvements
- Documentation and test updates
v2026.1.26
Features
-
RingGroup: New factory class for managing simultaneous or sequential call groups
- PARALLEL mode: Call all destinations simultaneously
- SEQUENTIAL mode: Call destinations one at a time
- BALANCING mode: Call destinations sequentially with load balancing
-
Load Balancing: Distribute calls evenly across destinations
- InMemoryLoadBalancer: For single-instance deployments
- RedisLoadBalancer: For multi-instance deployments with shared state
-
Observability: Comprehensive OpenTelemetry support
- Spans for ring group operations
- Metrics for operations, duration, and results
-
Improvements:
- Interactive CLI support for FreeSWITCH Docker container
- Enhanced documentation and examples
2026.1.25 - Channel Abstraction and Major Improvements
🎉 New Features
Channel Abstraction Layer
This release introduces a comprehensive Channel abstraction that simplifies call management and provides a more intuitive API:
- Channel Class: New high-level abstraction for managing FreeSWITCH channels with state tracking
- State Management: Automatic state updates with read-only property and event-driven architecture
- Channel Operations: Simplified methods for common operations:
answer()- Answer incoming callshangup()- Hangup with configurable causespark()- Park channelsbridge()- Bridge channels or sessionsplayback()- Play audio filessay()- Text-to-speech with multiple languages and typesplay_and_get_digits()- Interactive IVR prompts
- Event-Driven Waiting:
wait()method for waiting on state changes and specific events - DTMF Handling:
onDTMF()decorator for elegant DTMF event routing - Variables Support: Easy management of channel variables
CI/CD Improvements
- Consolidated Workflows: Merged 4 separate workflows into a single efficient pipeline
- Bot Commit Detection: Prevents infinite CI loops from automated commits
- Improved Efficiency: Better dependency management and parallel execution
Documentation Overhaul
- Complete Restructure: Reorganized with new Hugo theme (Hextra)
- New Sections: Tools, Examples, Concepts, and improved Quickstart guides
- Channel Documentation: Comprehensive docs with examples
- Embedded Code Blocks: Examples now show code directly in documentation
- New Examples: FastAPI Click2Call and improved IVR example
🔄 Versioning System Change
We've switched from semantic versioning (e.g., 0.11.7) to calendar versioning (YYYY.M.D format, e.g., 2026.1.25).
Why Calendar Versioning?
- Simplicity: No need to decide between patch/minor/major versions
- Clarity: Version number directly indicates release date
- Automation: CI/CD automatically bumps version on each release
- Predictability: Easy to understand when a version was released
📚 Documentation
Full documentation available at: https://otoru.github.io/Genesis/
🙏 Thanks
Thank you to all contributors and users of Genesis!
v0.11.4
v0.11.0
What's Changed
- ⬆️ Bump virtualenv from 20.29.1 to 20.36.1 by @dependabot[bot] in #47
- fix: prevent busy loop in handler() by handling StreamReader EOF #45 by @nativegold in #46
- feat(observability): add OpenTelemetry metrics, logs, and traces by @Otoru in #49
Full Changelog: v0.9.3...v0.11.0
v0.9.3
What's Changed
- fix(#41): prevent blocking in _awaitable_complete_command by properly binding event handlers by @nativegold in #42
New Contributors
- @nativegold made their first contribution in #42
Full Changelog: v0.9.2...v0.9.3