Skip to content

v0.3.5

Choose a tag to compare

@github-actions github-actions released this 13 Jun 17:32
· 266 commits to main since this release

Release Notes: BabeL-O v0.3.5

BabeL-O v0.3.5 is a lightweight distribution and Go TUI stability release. It keeps bbl go as the official interactive entrypoint, replaces the primary release package with a much smaller portable bundle, and hardens the model configuration flow after user reports around API key paste, panel transitions, mouse wheel input, and install reliability.

What Changed

  1. Lightweight portable distribution

    • Release assets now publish bbl-<platform>.tar.gz portable packages as the primary install artifacts.
    • The portable package contains the compiled Nexus CLI/runtime, production node_modules, the normal Node wrapper, and the matching Go TUI binary.
    • The package uses the user's system Node.js >= 22 instead of shipping a large Node SEA executable.
    • install.sh prefers the portable package and only falls back to the legacy SEA + separate Go TUI path for older releases.
    • The installer writes a small bbl shim and runs a real end-to-end self-check with bbl go --check --no-start-nexus.
  2. Go TUI model configuration fixes

    • /model now keeps an explicit API-key entry step for API-key providers, including already configured providers where the user may keep the existing key or paste a replacement.
    • API-key paste is handled as a single-line secret field instead of the multi-line composer, preventing pasted keys from being split, duplicated, or mixed with prompt text.
    • API keys are sanitized before saving and masked in the UI.
    • Empty API-key submission preserves an existing configured credential instead of overwriting it with an empty value.
  3. Input and panel stability

    • Mouse wheel events are routed to viewport/panel scrolling and no longer type stray characters into text entry fields.
    • High-frequency mouse motion and wheel events are throttled at the program level for smoother terminal rendering.
    • Returning from /model and /context re-normalizes the composer height so the input box does not remain oversized after closing a panel.
    • Shift+Enter and paste paths remain separated from slash panels and model credential fields.
  4. Release workflow hardening

  • GitHub Actions now builds portable packages for macOS arm64, macOS x64, and Linux x64.
    • Standalone go-tui-* assets are still published for debugging and compatibility.
    • The portable builder excludes old generated release archives from dist/ so repeated local builds do not recursively inflate package size.

Install

macOS and Linux:

curl -fsSL https://raw.githubusercontent.com/SuTang-vain/BabeL-O/main/scripts/install.sh | BBL_VERSION=v0.3.5 bash
bbl go

Prerequisite: Node.js >= 22 on PATH.

Windows is source-build first in v0.3.5 while the lightweight portable installer targets macOS and Linux.

Expected Release Assets

Verification

Before publishing the tag, maintainers should run:

npm run build
cd clients/go-tui && make build && ./bin/go-tui --version
cd ../..
npm run build:portable
npx tsx --test --test-concurrency=1 test/install-script.test.ts test/go-command.test.ts test/config-endpoints.test.ts
npm run typecheck -- --pretty false
npm run format:check

After release assets are uploaded, smoke-test the public installer:

tmp="$(mktemp -d)"
curl -fsSL https://raw.githubusercontent.com/SuTang-vain/BabeL-O/main/scripts/install.sh | \
  BBL_VERSION=v0.3.5 BBL_INSTALL_DIR="$tmp/bin" HOME="$tmp/home" bash
"$tmp/bin/bbl" --version
"$tmp/bin/bbl" go --check --no-start-nexus

Known Notes

  • The v0.3.5 portable package intentionally requires Node.js >= 22. This is the tradeoff that removes the much larger Node SEA executable from the primary distribution path.
  • curl | bash supports macOS and Linux. Windows remains source-build first for this release while the portable packaging path is stabilized.
  • The longer-term packaging target is still a Go launcher, but v0.3.5 is the practical smaller package that can ship immediately.

BabeL-O v0.3.5 发布说明

v0.3.5 是一次轻量分发与 Go TUI 稳定性版本。正式交互入口仍是 bbl go,本版本将主发布包切换为更小的 portable bundle,并重点修复模型配置、API key 粘贴、面板退出、鼠标滚轮输入和安装可靠性问题。

主要更新

  1. 轻量 portable 分发

    • 主发布资产改为 bbl-<platform>.tar.gz
    • 包内包含编译后的 Nexus CLI/runtime、生产依赖、普通 Node wrapper 和匹配平台的 Go TUI。
    • 复用用户系统中的 Node.js >= 22,不再把大体积 Node SEA 可执行文件作为主分发路径。
    • install.sh 优先安装 portable 包,旧版 SEA + 独立 Go TUI 只作为 v0.3.4 及更早版本的兼容 fallback。
    • 安装结束会执行真实的 bbl go --check --no-start-nexus 自检。
  2. Go TUI 模型配置修复

    • /model 对 API-key provider 保留明确的粘贴 API key 步骤。
    • 已配置 provider 可以按 Enter 保留原 key,也可以粘贴新 key 替换。
    • API key 粘贴走单行 secret 字段,不再进入多行输入框,避免错乱、重复字符和吞字。
    • 保存前会清理空白/控制字符,界面只显示脱敏后的 key。
  3. 输入与面板稳定性

    • 鼠标滚轮不会再向输入框写入异常字符。
    • 高频鼠标事件在程序级节流,滚动和渲染更平滑。
    • /model/context 等面板返回后会重新归一化输入框高度,避免输入框异常放大。
    • Shift+Enter、多行粘贴、slash 面板和模型密钥字段的输入路径进一步隔离。
  4. Release 工作流加固

    • CI 会构建 macOS arm64、macOS x64、Linux x64 的 portable 包。
    • 独立 go-tui-* 资产继续发布,便于调试和兼容。
    • portable builder 会排除旧的 dist/bbl-*.tar.gz,避免本地反复构建导致包体积递归膨胀。

安装

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/SuTang-vain/BabeL-O/main/scripts/install.sh | BBL_VERSION=v0.3.5 bash
bbl go

前提条件:PATH 中有 Node.js >= 22。

Windows 在 v0.3.5 中建议先从源码构建;轻量 portable 安装链路优先覆盖 macOS 和 Linux。