Skip to content

v3.4.2: Bug Fixes and Enhanced Documentation

Choose a tag to compare

@mijahauan mijahauan released this 05 Feb 12:40
· 144 commits to main since this release

Release v3.4.2: Bug Fixes and Enhanced Documentation

This release focuses on improving the user experience through bug fixes, comprehensive documentation, and better organization of examples.

πŸ› Bug Fixes

Fixed stream_example.py Bug

Fixed a critical bug in examples/stream_example.py where the code incorrectly iterated over the dictionary returned by discover_channels(). The example now correctly accesses ChannelInfo objects, preventing an AttributeError and allowing the example to run as intended.

This was a high-impact bug that would have prevented new users from successfully running one of the key examples.

πŸ“š Documentation Enhancements

New Getting Started Guide

Added a comprehensive docs/GETTING_STARTED.md file that serves as the primary entry point for new users. This guide includes:

  • Step-by-step installation instructions
  • A simple, annotated first program (creating an AM radio channel)
  • Detailed explanations of core concepts (RadiodControl, ChannelInfo, stream abstraction layers)
  • A comparison table of the three stream APIs (RTPRecorder, RadiodStream, ManagedStream)
  • Complete working examples with ManagedStream
  • Common troubleshooting tips

Examples Organization

Added a new examples/README.md that transforms the examples directory into a structured learning resource:

  • Categorizes examples by complexity (basic, intermediate, advanced)
  • Provides detailed descriptions for each example (what it does, concepts demonstrated, how to run it)
  • Recommends a learning path for new users
  • Includes usage instructions and expected output for each example

Updated API Documentation

The documentation for create_channel() in docs/API_REFERENCE.md has been updated to match the actual implementation:

  • Added missing destination parameter (for RTP destination multicast address)
  • Added missing encoding parameter (for output encoding like F32, S16LE, OPUS)
  • Corrected parameter order to match the actual function signature
  • Added return type documentation (returns int SSRC)
  • Enhanced examples with both basic and advanced usage patterns

Updated Main README

The main README.md now links prominently to the new Getting Started guide, making it easier for new users to find the beginner-friendly tutorial.

πŸ“Š Impact

These changes significantly improve the user onboarding experience:

  • For new users: Clear, guided path from installation to first working application
  • For existing users: No breaking changes, just better documentation and a bug fix
  • For contributors: Better structure makes it easier to understand and contribute

πŸ“¦ Installation

pip install ka9q-python==3.4.2

Or upgrade from a previous version:

pip install --upgrade ka9q-python

πŸ”— Links

πŸ“ Full Changelog

Added

  • Comprehensive Getting Started Guide: Added docs/GETTING_STARTED.md with step-by-step tutorial for new users
  • Examples README: Added examples/README.md to organize examples by complexity and provide learning path

Fixed

  • stream_example.py Bug: Fixed incorrect dictionary iteration that caused AttributeError

Changed

  • Updated API Documentation: Complete documentation for create_channel() including all parameters
  • Updated README: Added link to Getting Started guide

Full Changelog: v3.4.1...v3.4.2