v0.2.0
μcharm 0.2.0
Interactive input just got rock solid—arrow keys, vim bindings, and task runners all work seamlessly now.
✨ What's New
- Add shared TUI library with ANSI constants, Unicode symbols, and reusable UI components
- Introduce test mode for automated testing of interactive prompts via environment variables or file descriptors
- New
ucharm initcommand initializes projects with type stubs and AI assistant instructions - Add
ucharm new --stubsand--aiflags for scaffolding with IDE support and coding assistant templates
⚡ Improvements
- Interactive input now works with task runners like
justandmakeby reading directly from/dev/tty - Escape sequences for arrow keys and vim bindings (
j,k) handled properly without false quits - Cross-compilation support with
--targetflag for macOS (aarch64/x86_64) and Linux (x86_64/aarch64) - Auto-download platform-specific runtimes with version awareness and user prompts
- 24 native modules with full type stubs for IDE autocomplete and type checking
- Position-independent code enabled on Linux for PIE compatibility
- Unified ANSI styling across CLI and native modules eliminates duplication
🐛 Bug Fixes
- Fix box width calculation with unsigned integer underflow when no title provided
- Correct ANSI escape codes in all help text and subcommands with proper
\x1bprefix - Add
_XOPEN_SOURCEforstrptime()Linux compatibility - Add
_POSIX_C_SOURCEandsys/types.hfor signal/terminal functions on Linux - Fix terminal inheritance in
ucharm runusingexecvfor proper interactive input - Code-sign MicroPython binary on macOS for terminal interaction
- Prevent continuous redraws in select/multiselect when no key pressed
- Update CI to use
macos-15-intelrunners (macos-13 retired)
Installation
# Install
brew install ucharmdev/tap/ucharm
# Or upgrade
brew upgrade ucharmFull Changelog: v0.1.0...v0.2.0