What's New
cli-core-yo Foundation
- Migrated CLI from raw Typer to
cli-core-yoplugin architecture - All 8 command modules converted to
register()plugin pattern - Standardized output via
output.*primitives (heading, success, warning, error, etc.) - Global
--json/-jflag on all commands viaRuntimeContext
Printer Simulator
zday simulator start/stop/list— mock Zebra printer for testing without hardware- ZPL TCP server (port 9100) responds to
~HI,~HS,~HQSN,~HQOD,~HQES - HTTP status server for web-based discovery
- Configurable model, serial, firmware, and error conditions (paper-out, ribbon-out, head-up, paused)
ZPL-First Network Scanner
- Default discovery now probes port 9100 (ZPL) instead of HTTP
- Optional HTTP fallback via
--scan-http-port - Discovery method tracked in
notesfield:"zpl","http(port)","zpl+http(port)"
Quality
- 334 tests passing across 13 test files
- 0 mypy errors (fixed 27 pre-existing)
- ruff check + format clean
Documentation
- README.md: comprehensive updates for all new features
- AGENTS.md: project-specific agent directives
- MODERNIZE.md: Phase 8 documentation
Dependencies
- Added:
cli-core-yo>=0.2.1 - Updated:
typer>=0.21.0,<0.22.0,rich>=14.0.0,<15.0.0
Breaking Changes
None. The --json flag moved from per-command to global position (zday --json <command>).
Full Changelog: v0.6.1...2.4.0