Skip to content

Releases: danscMax/castellyn

Castellyn v0.6.1

Choose a tag to compare

@danscMax danscMax released this 02 Jul 11:36

A same-day hotfix for v0.6.0 plus the Codex fan-outs that complete the multi-environment story.

Fixed

  • Terminal panes were broken in v0.6.0 — the Unicode-11 width addon (new in 0.6.0) requires xterm's allowProposedApi flag; without it the addon threw during pane setup and aborted the whole mount, leaving every session pane empty and unresponsive. If you are on 0.6.0, update.

Added

  • MCP fan-out to Codex — one click writes the canonical .mcp.json servers into Codex via the official codex mcp add CLI (upsert; user-added servers untouched). Verified live: registered servers load in a session and their tools resolve through Codex tool search.
  • Connect the freellmapi gateway to Codex — writes [model_providers.freellmapi] + a [profiles.freellmapi] into ~/.codex/config.toml (format-preserving, your default model untouched) and mirrors the gateway's API key into the FREELLMAPI_API_KEY user variable, so codex --profile freellmapi runs your local free models with zero manual setup.

Docs

  • README showcases the Environments tab (screenshot + feature row, en/ru/zh) and all screenshots are refreshed to the post-audit UI.

Windows x64 binaries (standalone .exe, NSIS setup, MSI) are attached below once the build finishes.

Castellyn v0.6.0

Choose a tag to compare

@danscMax danscMax released this 02 Jul 05:40

The multi-environment release: a new Environments tab makes Castellyn aware of every AI-coding harness on the machine (Claude Code, OpenCode, Codex) and pushes the canonical skills / MCP / providers / rules into OpenCode with one click. On top of that: two full improvement waves (35 product items + a 40-item UI/UX audit), an SSH security fix, and richer MCP / backup / analytics management.

Added

  • Environments tab — per-harness overview of skills, providers, MCP servers and RTK state; one-click skill sharing via directory junctions (with dangling-junction repair); a per-skill × harness coverage matrix; an RTK command-rewriting toggle for OpenCode (Windows-safe plugin pinned to the absolute rtk path).
  • Fan-out to OpenCode — three idempotent merge-patch deploys from the canonical store: MCP servers (.mcp.jsonmcp block), the provider registry (myproviders.jsonprovider block; API keys are written only as {env:…} references and manually bound keys are never overwritten), and the canonical rule files attached to instructions[] by path, no copying. Codex fan-out is deliberately deferred (upstream config.toml MCP loading is unreliable).
  • MCP management from the UI — add/edit/remove canonical servers and clear extras, no more hand-editing .mcp.json.
  • Backup — delete a single snapshot from the UI; weekly maintenance operations.
  • Analytics — script-run duration histogram by day.
  • Sessions — Codex terminal tool and a fork-terminal picker; find/new-session moved to Ctrl+Shift+F / Ctrl+Shift+T so they no longer collide with terminal keys.
  • Forks — direct fast-forward from the card; Schedule — reschedule a task in place; Providers — reuse a saved preset when connecting.

Fixed

  • Security: SSH argv flag-smuggling — the sshTarget validator now rejects values that could smuggle extra ssh flags through the session launcher.
  • Reliability — config/provider data guarded against corruption and key loss; honest run feedback (a held component no longer reads as "up to date"; a finished operational run reads its real status envelope); spawn errors surface as a toast and auto-reveal the console.
  • The last active tab is restored again — the persist effect ran before the restore and overwrote the saved tab, so the app always opened on Updates.
  • Tray actions confirm in a visible window — Stop stack / Start stack from the tray reveal the window instead of waiting on a confirm dialog nobody can see.
  • Onboarding no longer discards an unsaved scripts folder — "Next" saves it implicitly.

Changed

  • UI/UX audit wave (40 items) — hotkeys and Ctrl+1…9 follow the visible sidebar order; grouped hotkey cheatsheet; tables fit a 1440-wide window without horizontal scroll; one SVG icon language (no emoji/unicode mix); correct Russian plurals; window chrome dims when unfocused; dialogs submit on Enter; ~50 dead i18n keys removed.
  • Performance — the on-focus plugin check is throttled, skill scans are memoized, palette/set lookups use Set membership.

Windows x64 binaries (standalone .exe, NSIS setup, MSI) are attached below once the build finishes.

Castellyn v0.5.3

Choose a tag to compare

@danscMax danscMax released this 26 Jun 08:19

A hardening pass: backend stability, tighter security defaults, accessibility, faster startup, and power-user keyboard control — no behaviour changes to the workflows themselves.

Added

  • Power-user keyboard controlCtrl + 1 … 9 jumps straight to a tab, Esc cancels the running operation, and the command palette gained direct action verbs (Check all for updates, Refresh forks, Backup now, Open the run log).
  • Pausable toasts — hovering or focusing the notification stack pauses its auto-dismiss timers; error/warn toasts announce as alert, others as status.

Changed

  • Tighter security defaults — CSP object-src 'none' / base-uri 'self' / frame-ancestors 'none'; detached windows run under a least-privilege capability; open_url only opens http/https; provider ids are validated.
  • Faster, leaner startupHubConfig parsed once and cached; elevation check warmed off the UI path; the xterm/Sessions bundle is now lazy-loaded.

Fixed

  • Self-healing run-lock (RAII guard — an early-return/panic can no longer leave the app permanently "busy").
  • PTY sessions cleaned up on exit instead of being orphaned.
  • Honest cancel — reports a real failure if the kill fails; treats "process already gone" as success.
  • Non-blocking terminal inputsession_write no longer holds the session map lock across the write.
  • Safer destructive confirms — dialogs focus Cancel by default; Enter no longer fires a dangerous/text-gated action; batch dialogs list what is affected.
  • No .bak for secret filessettings.json / opencode.json are never copied in plaintext.

Accessibility

  • Notification region, aria-current on the active nav item, <html lang> synced to the locale, focus moved into dropdowns on open, modal initialFocus.

Docs

  • README Download section + PowerShell 7 (pwsh) prerequisite (en/ru/zh).

Windows x64 binaries (standalone .exe, NSIS setup, MSI) are attached below once the build finishes.

Castellyn v0.5.2

Choose a tag to compare

@danscMax danscMax released this 26 Jun 06:01

Forks get smarter at handing work to an AI agent, plus the copy buttons are actually fixed and the restore flow is clearer.

Added

  • Auto-assembled AI prompt for every fork state — previously only the conflict and dirty cases produced a prompt; a diverged default branch, a mid-operation/detached repo, and combinations were left with only "Open terminal". The card now inspects the real repo state and assembles one tailored prompt from every detected problem (mid-op, detached HEAD, branch conflicts, diverged/behind/ahead default, dirty/untracked tree, upstream rename/archive, redundant/behind wip-local). Every hand-off recommendation copies the prompt as its primary action, and a universal Copy AI prompt item is in the ⋯ menu for any repo.

Fixed

  • Copy buttons — really this time — the 0.5.1 execCommand('copy') fallback is also a silent no-op in the WebView2 shell. Switched to the native clipboard plugin (OS clipboard via Rust).
  • Single-file conflict prompt wouldn't copy — a scalar conflictFiles (one file) broke the unguarded .join; normalized to an array at the boundary.
  • Restore could implicitly overwrite main (~/.claude) — it is now a first-class, selectable profile.
  • Restore plan shown inside the dialog — readable localized summary + raw output under a collapsible section.
  • Forks status auto-check no longer blocks Backup/Restore.

Docs

  • README screenshots refreshed — 7 tabs incl. Sessions and Forks, via a reusable DEV-only mock-IPC harness.

Full changelog: https://github.com/danscMax/castellyn/blob/main/CHANGELOG.md

v0.5.1

Choose a tag to compare

@danscMax danscMax released this 25 Jun 10:10

Follow-up fixes after the 0.5.0 Forks pass, plus the release/CI pipeline.

Fixed

  • Copy buttons did nothingnavigator.clipboard is blocked in the WebView2 shell, so every copy button (fork conflict / dirty prompts, secret keys) silently no-oped. copyText now falls back to the legacy execCommand('copy') path, which works in WebView2; the "copied ✓" flash fires again.
  • Delete wip-local / Prune failed from the tab — the entry script never declared or forwarded -DeleteWip / -Prune, so running either action errored immediately ("a parameter cannot be found"). Both switches are now wired through.
  • Refresh-cancel was undiscoverable — during a whole-stack refresh the header button now reads "Cancel" and the entire status chip is a click target with an always-visible ✕. The greyed-out staggered "reveal wave" is replaced with a soft accent shimmer that keeps every card readable.
  • Light-theme contrast on Forks — KPI numbers, conflict-file lines and per-repo run ✓/✗ migrated onto the statusColor canon so both themes clear WCAG 4.5:1.

Internal

  • Release automation — publishing a GitHub Release now builds the Windows binaries in CI (standalone exe + NSIS setup + MSI) and attaches them.
  • CI gates + repo hygiene — GitHub Actions runs check / check:i18n / vitest / clippy / cargo test on push and PR; added CONTRIBUTING and issue/PR templates.
  • Backup tests — pinned the restore security-gate and atomic-write integrity.

Windows binaries are attached by CI a few minutes after publish.

Castellyn v0.5.0

Choose a tag to compare

@danscMax danscMax released this 24 Jun 13:05

Castellyn v0.5.0 — a full pass over the Forks tab: clearer status, redundant-wip-local detection, real fork operations, upstream lifecycle awareness, and a richer repository table.

Highlights

  • 🧹 Redundant wip-local — counts a wip-local branch's unique commits; when it holds nothing new, recommends Delete wip-local (local, backed up, never pushed) instead of "sync it forever".
  • 🔱 Real fork opsCompare on GitHub, Contribute back (PR-to-upstream form for branches with unique work), and Prune stale branches (whose remote was deleted after a merge).
  • 🩺 Upstream lifecycle — badges for an archived original ("dead fork"), a default-branch rename (mastermain drift that silently breaks sync), and "+N in main" (why fast-forward is blocked).
  • 🟦 Behind vs diverged — a fast-forwardable branch now reads differently from one that needs a manual rebase; cryptic status lines reworded in plain language with explanatory tooltips.
  • 📊 Richer table — Language · ★Stars · Updated columns, an archived badge, description on hover; the wasted right-hand whitespace and the 3-line "Open on GitHub" button are gone.

Full notes: CHANGELOG.

Download (Windows x64)

File Use
Castellyn_0.5.0_x64-setup.exe NSIS installer (recommended)
Castellyn_0.5.0_x64_en-US.msi MSI installer (enterprise / silent)
Castellyn-0.5.0-windows-x64.exe Portable standalone (no install)

Unsigned build → Windows SmartScreen may warn: More info → Run anyway.
Windows-first: full functionality expects the maintenance-scripts toolkit under SCRIPTS_ROOT (Settings → default E:\Scripts).

Castellyn v0.4.0

Choose a tag to compare

@danscMax danscMax released this 24 Jun 05:47

Castellyn v0.4.0 — parallel sessions over SSH, multi-monitor session output, a redesigned launcher, and a large reliability + DRY hardening pass.

Highlights

  • 🔐 SSH sessions — run Claude / opencode / a shell on a remote host via the system ssh + your ~/.ssh (no secrets stored). Host registry with ~/.ssh/config import (now honoring Include), reachability dots, and an optional remote start directory.
  • 🖥️ Multi-monitor — pop a pane onto another monitor () or spread sessions across them as a live move (the session never dies — output fans out). The arrangement persists and restores on launch.
  • ⌨️ Launcher redesign — an inline phrase (Run {env} on {location} in {folder} with {args}) with SSH as a location toggle; ★ pin a whole phrase for one-click relaunch; keyboard hints (Ctrl+T, Alt+1/2/3); recent remote-dir suggestions.
  • 🛡️ Reliability & DRY — sessions reaped on exit, atomic session-limit and fork-status writes, SSH probes every resolved address, popovers self-correct inside blurred cards, and a monitor-window that fails to build recovers instead of vanishing.

Full notes: CHANGELOG.

Download (Windows x64)

File Use
Castellyn_0.4.0_x64-setup.exe NSIS installer (recommended)
Castellyn_0.4.0_x64_en-US.msi MSI installer (enterprise / silent)
Castellyn-0.4.0-windows-x64.exe Portable standalone (no install)

Unsigned build → Windows SmartScreen may warn: More info → Run anyway.
Windows-first: full functionality expects the maintenance-scripts toolkit under SCRIPTS_ROOT (Settings → default E:\Scripts).

Castellyn v0.3.0

Choose a tag to compare

@danscMax danscMax released this 18 Jun 14:50

Castellyn — one native control center for your AI-coding dev environment (Claude Code, opencode): profiles, providers & routers, MCP, plugins & skills, parallel sessions and fork upkeep. Tauri v2 + Svelte 5 + Rust. UI in English / Russian / Chinese.

First release under the Castellyn name (renamed from AgentHub).

Highlights

  • 🏰 New brand: citadel icon, banner, trilingual README, in-app logo.
  • 📊 Reusable data tables (sort / search / resize / row-expand / bulk) rolled out to Plugins & skills, MCP, Profiles and the GitHub-only Forks list.
  • 🧩 Skills/plugins ownership: items from your own local marketplace now classify as "mine" (e.g. /max skills).
  • 🗂️ 12 tabs: Sessions · Profiles · Providers · MCP · Plugins & skills · Schedule · Analytics · Sync · Updates · Forks · Backup · Settings.

Download (Windows x64)

File Use
Castellyn_0.3.0_x64-setup.exe NSIS installer (recommended)
Castellyn_0.3.0_x64_en-US.msi MSI installer (enterprise / silent)
Castellyn-0.3.0-windows-x64.exe Portable standalone (no install)

Unsigned build → Windows SmartScreen may warn: More info → Run anyway.
Windows-first: full functionality expects the maintenance-scripts toolkit under SCRIPTS_ROOT (env → Settings → default E:\Scripts).

Castellyn v0.2.1

Choose a tag to compare

@danscMax danscMax released this 15 Jun 16:37

Security & portability hardening on top of v0.2.0.

  • Secrets no longer pass via the command line: provider tokens and the opencode apiKey are fed to the binding scripts over STDIN (Windows argv is world-readable via Win32_Process). spawn_streamed gains an stdin-capable variant; -TokenStdin / -KeyStdin.
  • Manifest paths are machine-independent: engines.json / stack.json use {{SCRIPTS_ROOT}} and {{USERPROFILE}} placeholders, expanded by the executors and the backend (SCRIPTS_ROOT is exported to spawned scripts). Absolute paths still work.
  • Binding scripts (Manage-Provider/Connect-Router/Setup-Router/Manage-OpenCode-Provider/Manage-Engine) vendored into the repo for version history.
  • Removed a dead duplicate engine entry (router-glm).

Windows x64 build attached.

Castellyn v0.2.0

Choose a tag to compare

@danscMax danscMax released this 15 Jun 15:13

Cohesive stack binding for Claude Code (harness-wiring).

  • One-step binding writes a persistent provider into each profile's settings.json that survives restart and a bare claude launch — no real Anthropic login required.
  • A dummy ANTHROPIC_AUTH_TOKEN is written for keyless local gateways (never leaves a custom endpoint tokenless), so the login screen is skipped.
  • Model overrides now use the current tier env vars (ANTHROPIC_DEFAULT_SONNET/OPUS_MODEL, ANTHROPIC_DEFAULT_HAIKU_MODEL); legacy ANTHROPIC_MODEL / ANTHROPIC_SMALL_FAST_MODEL are migrated away.
  • Added CONTEXT.md glossary and ADR 0001 documenting the mechanism.

Windows x64 build attached.