Skip to content

v0.4.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 03 Nov 15:44
· 0 commits to main since this release

Platform notes

  • macOS 27+ (Apple silicon): release builds are Developer ID signed and notarized when the maintainer has configured signing credentials. If you downloaded an unsigned build, clear Gatekeeper quarantine after moving the app to Applications with:

    xattr -dr com.apple.quarantine /Applications/Tcode.app

  • Windows 11+: the embedded preview uses the WebView2 runtime that ships with Windows.

  • Linux: requires ALSA, Fontconfig, Wayland/X11 client libraries, libgbm, the Vulkan loader, a working Vulkan ICD/graphics driver, GTK 3 and WebKitGTK 4.1 (libwebkit2gtk-4.1-0). The embedded preview runs when Tcode runs on X11; on a Wayland session start it with WAYLAND_DISPLAY unset to use XWayland.

  • Android: the arm64 APK is signed with the project's release key and installs over previous releases signed with it. A build signed with a different key (a local build, or a release from before the key existed) must be uninstalled first.

  • iOS / iPadOS 27+: the arm64 IPA is unsigned. Re-sign it with your own Apple ID, or install it with a sideloading tool such as AltStore or Sideloadly, before it runs on a device.

Packages are uploaded as soon as each platform build completes. Windows MSI/NSIS and
Linux AppImage packages are not currently produced. SHA256SUMS.txt is added after every platform package has finished.

Docker (Linux amd64 / arm64)

Images: ghcr.io/tryanks/tcode-headless:0.4.0-rc.1 and ghcr.io/tryanks/tcode-traverse:0.4.0-rc.1. The agent CLIs named in TCODE_AGENTS (all six by default) install into the data volume on first start.

Save this as docker-compose.yml, set TCODE_PASSWORD in .env, then run docker compose up -d. Set TCODE_VERSION=0.4.0-rc.1 in .env to pin this release.

Container login methods and NAS setup: https://github.com/Tryanks/tcode/blob/v0.4.0-rc.1/docs/docker.md

services:
  tcode:
    # Pin TCODE_VERSION in .env to a release. TCODE_IMAGE names a local build
    # instead (docs/docker.md).
    image: ${TCODE_IMAGE:-ghcr.io/tryanks/tcode-headless}:${TCODE_VERSION:-latest}
    restart: unless-stopped
    # Stopping flushes every running agent session first.
    stop_grace_period: 30s
    environment:
      # Run `id -u` / `id -g` on the host. Agents write projects as these IDs.
      PUID: ${PUID:-1000}
      PGID: ${PGID:-1000}
      TZ: ${TZ:-UTC}
      TCODE_PASSWORD: ${TCODE_PASSWORD:?Set TCODE_PASSWORD in .env}
      # Installed into the data volume on first start, then updated by each CLI.
      # Unset means all six; an explicitly empty value means none.
      TCODE_AGENTS: ${TCODE_AGENTS-claude,codex,pi,opencode,cursor,grok}
      # Optional API keys, or log in from a Tcode terminal pane (docs/docker.md).
      # ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}
      # OPENAI_API_KEY: ${OPENAI_API_KEY}
      # CURSOR_API_KEY: ${CURSOR_API_KEY}
      # XAI_API_KEY: ${XAI_API_KEY}
      # With the optional socket mount, set this to `stat -c %g /var/run/docker.sock`:
      # DOCKER_GID: ${DOCKER_GID:?Set DOCKER_GID in .env}
    # The name devices show for this machine. Add `--traverse https://your.instance`
    # for a self-hosted Traverse, or `--traverse off` for LAN only.
    command: [serve, --name, "${TCODE_NAME:-NAS}", --browser-listen, "0.0.0.0:47420"]
    ports:
      - "47420:47420/tcp" # Password-protected browser app: http://<host>:47420/
      - "47420:47420/udp" # Native clients: Traverse and direct LAN connections
    # For Linux LAN/mDNS discovery, replace ports above with host networking:
    # network_mode: host
    volumes:
      # Contains traverse.json (machine key + pairings), threads and CLI logins.
      # Keep and back up this volume; `down -v` destroys the machine identity.
      - tcode-data:/data
      # Add projects in Tcode using paths under /projects.
      - ${TCODE_PROJECTS:-./projects}:/projects
      # Optional sibling containers, NOT Docker-in-Docker. Host-root-equivalent:
      # - /var/run/docker.sock:/var/run/docker.sock
      # Install a Docker CLI in a derived image; see docs/docker.md.

volumes:
  tcode-data:

What's Changed

  • Providers: Claude profiles are accounts — CLAUDE_CONFIG_DIR, in-app sign-in, a second Claude account by @Tryanks in #1015
  • Host: the open-file soft limit rises to the hard limit at startup by @Tryanks in #1016

Full Changelog: v0.3.4...v0.4.0-rc.1