Skip to content

v0.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Aug 13:36
751950d

Kipferl 0.6 is the first stable Rust release: a new name, a maintainable core,
and smaller standalone apps without giving up the Python-style developer
experience.

✨ What’s new

  • Rename μcharm/ucharm to Kipferl, with kipferl.dev as the public home
  • Move the CLI, loader, PocketPy host, and native modules from Zig to stable Rust
  • Add profile-based tree shaking with no Rust compiler or linker required
  • Add kipferl dev with native file watching, debouncing, and terminal restoration
  • Back interactive prompts with Ratatui and a scrollback-preserving inline viewport
  • Add documented JSON, YAML, TOML, KDL, XML, CSV, and INI/CFG workflows
  • Ship HTTPS, SQLite, archives, crypto, filesystem, process, and 50+ runtime modules

⚡ Smaller standalone apps

Kipferl analyzes imports and chooses a prebuilt runtime profile conservatively.
On the measured Apple Silicon baseline, a minimal app is 1,450,837 bytes,
down from 4,817,925 bytes with the full runtime—a 69.9% reduction. The
core app starts in 7.679 ms median and 8.433 ms p95.

Use kipferl build app.py -o app for the default tree-shaken build. Add
--full-runtime when imports are generated dynamically or when you want every
optional capability explicitly.

✅ Compatibility and distribution

  • Pass 1,669/1,669 available compatibility checks
  • Build and smoke-test macOS ARM64, macOS x86_64, Linux ARM64, and Linux x86_64
  • Ship static musl Linux binaries with no dynamic libc dependency
  • Publish SHA-256 checksums beside every release asset
  • Keep legacy from ucharm ..., environment variables, download aliases, and
    the ucharm command as a deprecated 0.6 transition path

Installation

brew install niklas-heer/tap/kipferl
# Existing Kipferl installation:
brew upgrade kipferl
# Existing μcharm 0.5 installation:
brew uninstall --force ucharm
brew install niklas-heer/tap/kipferl

Direct downloads and adjacent checksum files are available from the
v0.6.0 release.

Read the documentation, the
Kipferl 0.6 release story, the
Rust migration retrospective, and
the tree-shaking deep dive.


Full changelog: v0.5.0...v0.6.0