Skip to content

Releases: Otoru/Genesis

v2026.3.21

21 Mar 03:57
e0361c4

Choose a tag to compare

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

03 Mar 04:27

Choose a tag to compare

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

07 Feb 13:55
82d6b1b

Choose a tag to compare

Release 2026.2.7

  • Protocol refactor: new genesis.protocol package 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

26 Jan 14:15

Choose a tag to compare

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

25 Jan 02:19

Choose a tag to compare

🎉 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 calls
    • hangup() - Hangup with configurable causes
    • park() - Park channels
    • bridge() - Bridge channels or sessions
    • playback() - Play audio files
    • say() - Text-to-speech with multiple languages and types
    • play_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

18 Jan 02:22

Choose a tag to compare

Fixes

  • Critical: Fixed invalid in operator usage on asyncio.Queue in Protocol.send which caused runtime crashes.

Improvements

  • CI/CD pipeline:
    • Added black code formatting validation.

v0.11.0

16 Jan 16:29

Choose a tag to compare

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

06 Aug 12:07

Choose a tag to compare

What's Changed

  • fix(#41): prevent blocking in _awaitable_complete_command by properly binding event handlers by @nativegold in #42

New Contributors

Full Changelog: v0.9.2...v0.9.3

v0.9.2

13 Jun 12:38

Choose a tag to compare

What's Changed

  • Setup docs with hugo by @Otoru in #38
  • (minor) Fix async decorator bug and handle missing package metadata by @Otoru in #39
  • Improve documentation by @Otoru in #40

Full Changelog: v0.8.0...v0.9.2

v0.8.0

01 May 02:01

Choose a tag to compare

What's Changed

Full Changelog: v0.7.0...v0.8.0