Skip to content

Releases

v0.3.10

Choose a tag to compare

@vivaxy vivaxy released this 30 Apr 11:56

Features

  • channel: log channel HTTP request failures explicitly
  • help: surface SDK slash commands in /help output

Bug Fixes

  • release: bypass abort-controller polyfill so bundled Telegram channel works

v0.3.9

Choose a tag to compare

@vivaxy vivaxy released this 30 Apr 02:52

Bug Fixes

  • sea: prevent crash when SEA binary is at an arbitrary path

v0.3.8

Choose a tag to compare

@vivaxy vivaxy released this 30 Apr 02:16

Bug Fixes

  • runtime: auto-detect claude binary on PATH for SDK compatibility

v0.3.7

Choose a tag to compare

@vivaxy vivaxy released this 29 Apr 13:14

Features

  • cli: add --version and --help flags
  • config: remove configurable working-dir and remote-agents-dir CLI flags
  • input: handle non-destructive slash commands live during agent execution
  • permissions: allow-always writes to state, settings.local.json, and remote-agents.json
  • release: add uninstall script

v0.3.6

Choose a tag to compare

@vivaxy vivaxy released this 29 Apr 09:50

Bug Fixes

  • sea: load user scripts via worker thread to bypass SEA require() restriction

v0.3.5

Choose a tag to compare

@vivaxy vivaxy released this 29 Apr 08:17

Features

  • release: push commit and tag to remote after version bump

Bug Fixes

  • sea: use file URL for dynamic script imports to fix SEA binary startup crash
  • shutdown: abort in-flight Telegram poll immediately on shutdown; fix /quit

v0.3.4

Choose a tag to compare

@vivaxy vivaxy released this 29 Apr 06:01

Bug Fixes

  • wechat: encode qrcode_img_content URL in terminal QR instead of raw token
  • wechat: reject _botReady when wechat-init fails to prevent silent daemon exit

v0.3.3

Choose a tag to compare

@vivaxy vivaxy released this 29 Apr 03:28

Features

  • state: align all state display outputs to full user-facing field set

Bug Fixes

  • events: suppress MaxListenersExceededWarning on shared event bus
  • release: strip commit links from release notes instead of removing whole lines
  • startup: align log config items to current AppConfig keys
  • wechat: capture STATE_LOADED unconditionally so startup notification fires after restart

v0.3.2

Choose a tag to compare

@vivaxy vivaxy released this 28 Apr 15:24

Bug Fixes

v0.2.0

Choose a tag to compare

@vivaxy vivaxy released this 28 Apr 04:56

⚠ BREAKING CHANGES

  • channel: remove redundant wechatAllowedUsers config
  • channel: rename the JSON key channelProxyScript -> channelNetworkScript
    and update the script's return statement to wrap the URL in an object:
    return 'http://...' becomes return { proxy: 'http://...' }.
  • channel: make channelProxyScript loader strict on malformed input
  • channel: the telegramProxy config field is removed. Users on a
    proxy must add a channelProxyScript pointing to a TS file that returns
    the proxy URL for 'telegram' (and optionally 'wechat'). See
    docs/requirements.md § 3.6 for the contract.
  • Chat log format now uses emoji headers instead of Obsidian-style callouts

Replace > [!type] label timestamp format with simpler {emoji} label timestamp format:

  • 💬 for input messages
  • ✅ for successful output
  • ❌ for errors
  • ⚠️ for warnings/permission denials
  • 📝 for notes/state info

Changes:

  • Update buildCalloutHeader() to use emoji prefix instead of Obsidian syntax
  • Update formatPermissionDenials() to use emoji (📝) instead of > [!NOTE]
  • Remove duplicate calloutEmoji() implementation from messaging.ts
  • Update Telegram HTML converters to match emoji format using string matching
  • Update all test assertions to expect emoji format
  • Update documentation (requirements.md, CLAUDE.md) with new format examples

The new format is more universally readable and matches what Telegram users already see.
Old chat files with > [!type] format will not be automatically converted.