Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 19 Dec 03:13

μ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 init command initializes projects with type stubs and AI assistant instructions
  • Add ucharm new --stubs and --ai flags for scaffolding with IDE support and coding assistant templates

⚡ Improvements

  • Interactive input now works with task runners like just and make by reading directly from /dev/tty
  • Escape sequences for arrow keys and vim bindings (j, k) handled properly without false quits
  • Cross-compilation support with --target flag 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 \x1b prefix
  • Add _XOPEN_SOURCE for strptime() Linux compatibility
  • Add _POSIX_C_SOURCE and sys/types.h for signal/terminal functions on Linux
  • Fix terminal inheritance in ucharm run using execv for 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-intel runners (macos-13 retired)

Installation

# Install
brew install ucharmdev/tap/ucharm

# Or upgrade
brew upgrade ucharm

Full Changelog: v0.1.0...v0.2.0