Skip to content

v0.1.8 - Serial Communication Optimization (2025-12-02)

What Changed?

This release improves serial communication reliability and responsiveness on macOS systems. Added native macOS USB serial port detection, optimized buffer handling with faster polling intervals, and reduced response timeouts for better user experience. All improvements maintain backward compatibility.


What's New

macOS Serial Port Detection

What it does: Automatically detects and prioritizes macOS USB serial ports (/dev/cu.usbserial*) before falling back to Linux patterns. This ensures correct device detection on macOS where character device files are the standard interface.

How to use it:

# Auto-detection now works on macOS
uv run kazunoko send STATUS

Optimized Serial Communication

What it does:

  • Faster polling interval (0.005s) for responsive buffer reading
  • Reduced timeout (0.1s) for quicker error detection
  • Proper JSONL formatting with soft_wrap=True for data streams

How to use it: All CLI commands benefit automatically - no user action needed.


Installation

Quick Start

# Get the release
git checkout vX.Y.Z

# Setup
task env:setup

# Run CLI
uv run kazunoko --help

What's Different from the Last Version?

✅ Added

  • macOS /dev/cu.usbserial* port detection priority
  • Polling interval optimization (0.005s)

🔧 Changed

  • Default timeout reduced from 0.5s to 0.1s
  • JSONL output formatting with soft_wrap=True
  • Device port detection order (macOS → Linux → ACM → Serial)

🐛 Fixed

  • Serial response parsing with readline() for proper line-ending handling
  • Rich console output wrapping breaking JSONL format

Is It Safe to Upgrade?

Backward Compatible: Yes

  • All existing commands work without changes
  • Improvements are internal (buffer handling, timing)
  • Default port detection enhanced for macOS users
  • Response timeout reduction improves error detection without breaking compatibility

Tests Passed

  • ✅ Builds without errors
  • kazunoko send STATUS works correctly
  • kazunoko listen produces valid JSONL output
  • kazunoko info displays device status correctly
  • ✅ Auto-detection finds /dev/cu.usbserial-110 on macOS

Release Details

  • Date: 2025-12-02
  • Version: v0.1.8
  • Files Changed: 5
  • Commits:
  • 8cd9862 - macOS USB serial port detection priority
  • a9af361 - simplify receive_response using readline
  • e1e178a - reduce polling interval for better responsiveness
  • a2d5d9d - use print() for JSONL output (Rich wrapping fix)
  • be0fc8b - console.print soft_wrap option for JSONL output
  • b12104c - reduce default timeout from 0.5s to 0.1s

Next Steps

  • Performance profiling under sustained high-rate data streaming
  • Extended timeout option for slow/remote devices
  • Additional platform support (Windows with native COM ports)