Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: openyak/openyak

v1.1.10

12 May 19:36

Choose a tag to compare

OpenYak v1.1.10

This release moves OpenYak fully toward the product we want it to be: a local-first, privacy-first AI workspace that does not require an OpenYak account or a platform billing balance.

What's New

Yak Account and account billing are retired

OpenYak no longer depends on Yak Account, account balance, or the old recharge flow. If you previously recharged through Yak Account, eligible payments are being refunded.

This change is intentional: OpenYak is meant to keep your files, conversations, memory, and working context on your own machine as much as possible.

Use your own model connection

You can keep using OpenYak by choosing the model path that fits your setup:

  • Bring your own API key for providers such as OpenAI, Anthropic, Google, OpenRouter, DeepSeek, Groq, Mistral, xAI, Qwen, Kimi, MiniMax, or Zhipu.
  • Use a ChatGPT subscription connection where available.
  • Run local models with Ollama or Rapid-MLX.

Better local model direction

This release includes the Rapid-MLX work from the account-removal branch, making OpenYak's local Apple Silicon model path clearer and more central to the product.

Context window fix

ChatGPT subscription models now use their advertised context window instead of an artificial cap. Proactive compaction starts at 85%, while still preserving output and safety reserves.

Refreshed README media

The README screenshots and GIFs were updated to reflect the current file-to-deliverable workflows: memo review, spreadsheet analysis, multi-file artifacts, long-context work, and auto-compress.

For Existing Users

Update to v1.1.10, then open Settings and choose one of the supported model paths. If you already use your own API key or a local model, you may not need to change anything.

If you had Yak Account credit, watch your email for refund details. You can reply to that email if anything looks wrong.

Downloads

Use the assets below for direct downloads, or visit https://open-yak.com/download/.

  • Windows: OpenYak_1.1.10_x64-setup.exe
  • macOS Apple Silicon: OpenYak_1.1.10_aarch64.dmg
  • macOS Intel: OpenYak_1.1.10_x64.dmg
  • Linux Debian/Ubuntu: OpenYak_1.1.10_amd64.deb
  • Linux RPM: OpenYak-1.1.10-1.x86_64.rpm
SHA-256 checksums
File SHA-256 Size
OpenYak_1.1.10_aarch64.app.tar.gz b5b1a5835913e0ae93162ca6e952bb1461a897d49384217db26069eea81aaa12 149.7 MB
OpenYak_1.1.10_aarch64.dmg b4809dc14dc3d9fca4ca293a6f7f6c36117d44b2eb6a56f87c53e7f83207431d 194.1 MB
OpenYak_1.1.10_amd64.deb 52d6d3c456f8c49b5d336b147e63552b3b6dc3d991c889d77e776ce4b7adfff8 189.6 MB
OpenYak_1.1.10_x64-setup.exe 981ff61ca0a74aed8b6ba84f4f18b9b4581e9f79dbf0fd76db44fb3d7ce54374 98.4 MB
OpenYak_1.1.10_x64.app.tar.gz e824eb3e1664c24895d71e64b2002be7a0cb05923fbc8d2d1bbb68bb162e50aa 151.2 MB
OpenYak_1.1.10_x64.dmg 3d0f723c77518bb5a3eb1707cf54b2309cc78851785cd1d700134103dd0427e4 195.5 MB
OpenYak-1.1.10-1.x86_64.rpm d22ab1ebb4f4c9da513549e17255d60cb82857bb294a0b29c77d268c67438900 189.7 MB

Full Changelog

v1.1.9...v1.1.10

v1.1.9

29 Apr 21:23

Choose a tag to compare

OpenYak 1.1.9 — Safer Permissions, Clearer Models, Cost Visibility

This release focuses on the day-to-day workflow around GitHub issue #19: choosing the right model, understanding cost while you work, and granting tool permissions with enough context to feel confident.

Highlights

  • ChatGPT subscription model list now matches the real GPT-5.5 experience. The model picker no longer presents stale older subscription entries as the main path. It keeps GPT-5.5 front and center, preserves important suffixes such as Fast and Heavy, and gives long model names enough room to be read.
  • Permission prompts are more reviewable. Tool permission dialogs now include clearer request, target, command, and argument details, with sensitive or oversized fields redacted or truncated.
  • Allow once and always allow now have distinct behavior. One-time decisions apply only to the current request. Remembered choices are sent back to the backend as scoped permission rules, so repeated trusted actions can proceed without asking every time.
  • Remembered permissions are manageable in Settings. A new Settings → Permissions page lets you review saved allow/deny rules, revoke individual decisions, or clear the list.
  • Cost and usage are easier to see. The chat composer shows a compact cost hint, and active sessions surface usage updates more consistently while streaming.
  • IME Enter is fixed. Pressing Enter while composing Chinese, Japanese, Korean, or other IME text no longer sends the message accidentally. OpenYak now handles composition events, keyCode 229, and a short post-composition guard before restoring normal Enter-to-send behavior.

Reliability and polish

  • Usage stream events are isolated so usage updates do not overwrite unrelated session state.
  • Jobs become interactive earlier, reducing the race between permission prompts and the SSE connection.
  • FastAPI validation detail arrays now render as readable UI errors instead of raw response objects.
  • API error parsing is centralized across onboarding, provider settings, Ollama status, and context indicators.
  • The release frontend build now type-checks the merged model dropdown path correctly.

Validation

Before publishing v1.1.9 we ran:

  • Backend permission regression tests: 8 passed
  • Frontend lint
  • Production next build
  • Full Playwright preflight suite: 21 passed
  • GUI workflow checks for model selection, permission allow-once vs always-allow, permission Settings management, cost/usage display, and IME composition safety
  • Release Desktop workflow across macOS Apple Silicon, macOS Intel, Windows x64, Linux .deb, Linux .rpm, and updater manifest publishing

Upgrade notes

No migration is required. Existing conversations, workspaces, provider settings, and local files carry forward. Remembered permission rules are created from the choices you make after upgrading.

Full Changelog: v1.1.8...v1.1.9

v1.1.8

29 Apr 18:03

Choose a tag to compare

OpenYak 1.1.8

OpenYak 1.1.8 is a focused hotfix for local Ollama users. It restores the managed Ollama setup flow after Ollama changed its GitHub release artifact names, which caused the previous macOS setup path to download a stale URL and fail with 404.

Fixed

  • Restored Settings > Providers > Ollama > Set Up Ollama on macOS by switching to the current ollama-darwin.tgz release artifact.
  • Updated managed Ollama downloads for Linux amd64/arm64 .tar.zst archives and Windows amd64/arm64 .zip assets.
  • Added archive extraction for .tgz, .tar.zst, and .zip release formats.
  • Hardened managed installs by validating the extracted Ollama binary, resolving nested Windows binaries, and restoring executable permissions on Unix platforms.
  • Added regression coverage for release asset mapping, archive extraction, and an opt-in real install/pull/chat/uninstall flow using qwen2.5:0.5b.

Validation

  • Real GUI E2E: installed Ollama v0.22.0, pulled qwen2.5:0.5b, completed a local chat, then uninstalled Ollama with model deletion.
  • Backend suite: 681 passed, 20 skipped.
  • Ollama unit tests: 4 passed, 1 skipped.
  • Ollama real integration test: 1 passed with OPENYAK_RUN_OLLAMA_E2E=1.
  • Ollama UI regression tests: 2 passed.
  • Desktop bundle verification passed for the packaged backend.
  • Release workflow completed for Windows, Linux deb/rpm, and signed/notarized macOS Intel + Apple Silicon builds.
  • Public updater manifest and hosted download assets were verified after upload.

Upgrade

Users on 1.1.7 will receive 1.1.8 through the in-app updater, or can install manually from the assets below or from https://open-yak.com/download.

Full Changelog: v1.1.7...v1.1.8

v1.1.7

28 Apr 00:36

Choose a tag to compare

v1.1.7

This release focuses on the generated-file experience, artifact presentation, and desktop release reliability. The biggest user-facing change is that OpenYak no longer treats every file written by an agent as something that should automatically be opened or surfaced to the user.

Highlights

  • Added an explicit present_file tool for agent deliverables.
    Agents can now deliberately present the final files that matter to the user, instead of OpenYak automatically opening every newly written file.

  • Stopped auto-opening temporary or intermediate files.
    Helper scripts, scratch data, and other implementation artifacts can remain invisible unless the agent explicitly presents them. This prevents noisy cases where a temporary script appears in the UI even though the user only wanted the final report, page, spreadsheet, or summary.

  • Added richer inline file cards in chat.
    Presented files now render as compact artifact cards with type-aware labels, icons, download actions, and click-to-preview behavior. Multiple deliverables are grouped cleanly instead of forcing the workspace/artifact panel open.

  • Improved generated-file workflow coverage.
    Added comprehensive Playwright UI coverage for natural office-style workflows, artifact presentation, long conversations, error states, edge regressions, and deeper app surfaces.

User-Facing Changes

  • Agent-created deliverables now behave more like Claude-style artifacts: final files are shown in the conversation as intentional outputs, while temporary files stay out of the way.
  • Multi-file results are easier to scan because related files are displayed as a grouped set of cards.
  • File previews and downloads are available from the inline card when the file is intentionally presented.
  • The chat/workspace panel should no longer jump open simply because the agent created or edited a file.

Fixes And Reliability

  • Re-downloads the bundled cloudflared binary when the existing copy is missing, invalid, or not executable. This prevents broken cached tunnel binaries from blocking remote access.
  • Authenticates the development web proxy path used by the browser client so local web mode can call protected backend APIs without 401 failures.
  • Hardened SSE idle recovery and lock lifecycle behavior so stalled streams and cleanup paths do not leave jobs in an inconsistent state.
  • Fixed Next.js static export issues for /c/new, /c/_, and /settings by moving query-param resolution into client components.
  • Fixed Playwright fixture typing so frontend type checking passes in CI.
  • Refreshed Windows app icon assets across packaged Tauri targets.

Agent And Tooling Details

  • New backend tool: present_file.
  • The session processor now records presented files as durable message parts, so the frontend can render them consistently after reloads.
  • code_execute still tracks written files even when no workspace is selected, but presentation is now a separate explicit decision.
  • Agent prompt guidance was updated so final user-facing deliverables are presented deliberately.

Validation

Before release, the following local checks passed:

  • cd frontend && npx tsc --noEmit --pretty false
  • cd frontend && npm run lint
  • npm run build:frontend
  • cd backend && ./venv/bin/pytest -x --tb=short -q --ignore=tests/test_tool/test_code_execute.py

GitHub release build passed for all desktop targets:

  • macOS Apple Silicon: built, signed, notarized, verified, and uploaded.
  • macOS Intel: built, signed, notarized, verified, and uploaded.
  • Windows x64: built and uploaded.
  • Linux x64: .deb and .rpm built and uploaded.
  • latest.json update manifest generated and uploaded.

Downloads

  • macOS Apple Silicon: OpenYak_1.1.7_aarch64.dmg
  • macOS Intel: OpenYak_1.1.7_x64.dmg
  • Windows x64: OpenYak_1.1.7_x64-setup.exe
  • Linux Debian/Ubuntu: OpenYak_1.1.7_amd64.deb
  • Linux RPM-based distros: OpenYak-1.1.7-1.x86_64.rpm

Full Changelog: v1.1.6...v1.1.7

v1.1.6

24 Apr 23:25

Choose a tag to compare

Hotfix for v1.1.5 — fixes the session-token file path mismatch that made every fresh .dmg / .exe install fail to authenticate, while dev mode kept working by accident.

If you're on v1.1.5 from a packaged install (the .dmg / .exe you just downloaded), the auto-update from this release should fix it. If auto-update doesn't trigger within an hour, please reinstall from open-yak.com.

Why this slipped past four releases

Two separate bugs in the auth layer happened to cancel each other out in dev mode, so every release between v1.1.3 and v1.1.5 looked fine to whoever built them:

  1. In production, the Tauri shell launches the Python backend via run.py, which calls os.chdir(args.data_dir) so cwd points at the user's data directory. The previous Settings.session_token_path default of "data/session_token.json" then resolved to <data_dir>/data/session_token.json — one level deeper than where the Rust shell polled (<data_dir>/session_token.json). The Rust loader timed out after 5 s, inner.session_token stayed None, and every IPC request to fetch the bearer token returned "Backend session token not yet available".

  2. In dev, scripts/dev-desktop.mjs runs uvicorn directly from the backend/ directory without going through run.py. No chdir, so cwd stayed at backend/ and the same "data/session_token.json" config wrote to backend/data/session_token.json — which happened to be exactly where DEV_BACKEND_DATA_DIR=<repo>/backend/data pointed Tauri to look. So dev runs always succeeded.

The mismatch was masked further by:

  • v1.1.3 — the CSP regression blocked all webview→IPC traffic, so the frontend never even got to ask for a token.
  • v1.1.4 — IPC was fixed but a cached rejected promise in getBackendToken() made the first failure permanent and the storm of "session token not yet available" errors looked like a generic timing race.
  • v1.1.5 — the retry-with-backoff fix made getBackendToken() patiently try for ~34 s; the file was still at the wrong path, so it timed out anyway and the underlying mismatch finally surfaced cleanly in the console.

Fix

  • Settings.session_token_path default is now "session_token.json" (no leading data/), which resolves correctly under prod's chdir contract.
  • scripts/dev-desktop.mjs sets OPENYAK_SESSION_TOKEN_PATH=data/session_token.json so dev — which doesn't chdir — keeps writing the file under backend/data/ where the dev-mode Tauri shell polls for it.
  • Both modes now produce the file at the path the Rust loader actually reads. No more "session token not yet available".

Install

macOS

  • Apple Silicon: OpenYak_1.1.6_aarch64.dmg
  • Intel: OpenYak_1.1.6_x64.dmg

Windows

  • OpenYak_1.1.6_x64-setup.exe

Linux

  • OpenYak_1.1.6_amd64.deb
  • OpenYak-1.1.6-1.x86_64.rpm

Or update in-app — existing v1.1.5 installs will pick up v1.1.6 via the updater (the updater itself runs in Rust and never touched the broken token path, so it stays healthy across all 1.1.x versions).


Full Changelog: v1.1.5...v1.1.6

v1.1.5

24 Apr 22:46

Choose a tag to compare

Hotfix for v1.1.4 — restores the local backend connection that was getting permanently poisoned on first-call timing races.

If you're on v1.1.4 and saw a flood of "session token not yet available" errors / 401s in the console, or the Disconnect button stopped responding — that was this bug. Updating to v1.1.5 fixes it.

What broke in v1.1.4

getBackendToken() cached the result of the first IPC call to the Rust shell — including failures. If the very first authenticated API request fired before the Rust side had written the per-run session token file (a normal startup race), the rejected Promise got wedged into _backendTokenPromise and every subsequent caller inherited the same stale error. Cascading effects:

  • "Backend session token not yet available" Unhandled Rejection storm (28+ in our reproduction)
  • All authenticated /api/* calls 401-equivalent (request never even fires)
  • Disconnect button frozen (it routes through api.delete, same poisoned path)
  • OpenYak proxy /api/billing/* calls returning 401 because the user couldn't disconnect → re-auth → refresh the access token

Fix

The token resolver now retries the specific "not yet available" rejection with exponential backoff — 300 ms / 600 ms / 1.2 s / 2.4 s / 4.8 s, capped at 5 s, up to 10 attempts (~34 s of headroom). Other error classes (genuine misconfiguration, IPC blocked, etc.) bubble immediately. On any terminal rejection the cached promise is cleared so a fresh caller can succeed instead of inheriting a stale error.

getBackendUrl() got the same cache-on-rejection guard for symmetry — it doesn't usually fail, but the same poisoning shape would apply.

Install

macOS

  • Apple Silicon: OpenYak_1.1.5_aarch64.dmg
  • Intel: OpenYak_1.1.5_x64.dmg

Windows

  • OpenYak_1.1.5_x64-setup.exe

Linux

  • OpenYak_1.1.5_amd64.deb
  • OpenYak-1.1.5-1.x86_64.rpm

Or update in-app — existing 1.1.4 installs will auto-update normally (the IPC channel itself is fine, only the token cache was poisoned, and the updater runs before the cache gets a chance to be poisoned). v1.1.3 users still need to reinstall manually from open-yak.com.


Full Changelog: v1.1.4...v1.1.5

v1.1.4

24 Apr 21:28

Choose a tag to compare

Hotfix release for the regression that rolled back v1.1.3 — desktop backend connectivity restored, plus a new "Browse skills" store, sharper window defaults, and a round of chat-surface polish.

If you installed v1.1.3, the app cannot auto-update — v1.1.3's own CSP regression blocked the Tauri updater IPC. Please reinstall v1.1.4 manually from open-yak.com. Everyone on v1.1.2 or earlier will auto-update normally.

Highlights

Desktop backend reachability — v1.1.3 hotfix

v1.1.3's Content Security Policy tightened connect-src but omitted the ipc: scheme, silently blocking every call the webview makes to its own local backend through Tauri 2's ipc://localhost channel. The updater, which rides the same IPC, also went dark. v1.1.4 adds ipc: to the allowlist so backend calls, the updater, and all other Tauri IPC-backed APIs resolve again.

As a bonus, the auth middleware now forwards OPTIONS preflights straight to CORSMiddleware instead of 401-ing them. Browsers strip credentials from preflight by design, so demanding a token on OPTIONS meant every cross-origin API call was rejected before the real request even ran.

Browse skills — in-app skill store

Settings → Plugins → Skills now has a "Browse skills" section. Search ~1.9k curated skills (scraped from skillsmp.com at release time), sort by stars or recency, and install with one click. Installs download the live SKILL.md from GitHub raw and drop it into ~/.openyak/skills/<slug>/, so the registry picks it up without restarting the app. The catalog itself is bundled with the backend — zero runtime dependency on a third-party API, no per-user rate limits.

Chat streaming — no more double-block / no more fade flash

Multi-step assistant turns were rendering in two separate blocks with two Sources footers and an overlapping tool-call timeline. Root cause: streamingParts already accumulates every part for the whole turn, so the message-list was double-rendering the earlier steps. Now a single streaming block owns the turn view end-to-end.

And when a new session navigates from /c/new/c/{id} mid-stream, the whole chat area used to fade in again — felt like a page refresh. StreamingMessage now remembers whether it mounted with empty content and suppresses the opacity animation on a continuation remount. Fresh new responses still fade in normally.

Desktop window — golden-ratio default, always-centered cold start

Default window size is now 1360×840 (golden ratio) — enough room for the sidebar, chat column, and a right-side panel on a 13" MBP. Every cold start re-centers on the screen. The tauri-plugin-window-state plugin no longer persists size or position, so the app opens predictably regardless of what the previous session looked like (some users were seeing near-square 2262×1924 windows restored from older sessions). Same-process tray hide/show still keeps your arrangement untouched — only full relaunches reset.

Workspace pill — one click, one action

The workspace pill in chat used to open a popover with "Browse…" and "Clear" buttons. Now the pill itself opens the folder picker directly, and an inline × on the right clears. Fewer clicks, same affordances.

Context / dropdown menu density

Menu items tightened to match modern desktop conventions (VSCode / Linear / Raycast): 13px text, 6px vertical padding, 14px icons, 6px corner radius. The old 14px / 8px density was noticeably bigger than the tools most users compare us against.

OpenAI subscription — GPT-5.5 default

Subscription model list trimmed to GPT-5.5 and GPT-5.4. ChatGPT mode now prefers gpt-5.5 and falls back to gpt-5.4 if your tier hasn't rolled it out yet. Removed: GPT-5.3 Codex, GPT-5.2, GPT-5.2 Code, GPT-5.1 Codex / Codex Max / Codex Mini.

Intelligence Index scores refreshed for April: GPT-5.5 = 60.2 (up from 0); added Claude Opus 4.7 (57.3), Kimi K2.6 (53.9), MiMo V2.5 Pro (53.8), GPT-5.2 (51.3).

Polish

  • Removed the eager backend-token prefetch at frontend module load — fired before the Tauri security handshake completed on some platforms and tripped the CSP regression faster than necessary.
  • Context/dropdown menu corner radius 8 → 6 px.
  • Workspace pill truncates to 220px max, with a title tooltip for the full path.

Fixes

  • Desktop connectivity: connect-src now includes ipc:, restoring all Tauri IPC from the webview.
  • Auth: OPTIONS preflights pass through without a token.
  • Streaming UI: No more duplicate assistant blocks / duplicate Sources footers.
  • Streaming UI: No more fade-in flash on /c/new/c/{id} route swap.
  • Window sizing: 2262×1924 and other weird restored sizes stop happening — default + re-center on every cold start.

Install

macOS

  • Apple Silicon: OpenYak_1.1.4_aarch64.dmg
  • Intel: OpenYak_1.1.4_x64.dmg

Windows

  • OpenYak_1.1.4_x64-setup.exe

Linux

  • OpenYak_1.1.4_amd64.deb
  • OpenYak-1.1.4-1.x86_64.rpm

Or update in-app — existing 1.1.0+ installs (except v1.1.3) will see the banner within a few hours, or you can check immediately via Help → Check for Updates.


Full Changelog: v1.1.3...v1.1.4

v1.1.2

22 Apr 05:03

Choose a tag to compare

Quality-of-life follow-up to 1.1.1 — side panels behave predictably, the activity summary is clickable again, and file previews look right across workspaces.

Highlights

Clickable activity summary — no more silent clicks

Clicking the "Done · N tool calls" row under an assistant message now reliably opens the activity panel. The summary's click handler was gated on a key that the message renderer wasn't setting, so the click silently no-op'd. Fixed end-to-end; the chevron also rotates when that message's panel is open.

File previews scoped to the active workspace

PDF / DOCX / PPTX / XLSX renderers now pass the active workspace with every binary request, so a file opens against the session where it actually lives — no more wrong-context fetches when you switch workspaces with artifacts open.

PDFs additionally get proper CJK and standard-font rendering: the renderer now supplies cMapUrl and standardFontDataUrl (Chinese, Japanese, Korean characters stop falling back to boxes) and memoizes the file prop so resizing the panel no longer re-fetches the document.

Mutually exclusive side panels

Opening the Workspace panel now closes Activity / Artifact / PlanReview, and vice-versa. No more stacking panels hiding each other. The chat header's workspace toggle now checks what's actually visible rather than what isOpen claims, so it does the right thing when an overlay panel is on top.

Sidebar theming refresh

New --sidebar-translucent-bg token drives both the main Sidebar and the SettingsSidebar: 88% alpha in light mode, 20% in dark, derived from your chosen background via the appearance injector. Panel animations use spring motion instead of tween so the sidebar opens and closes with the same rhythm as Activity / Artifact.

Polish

  • Opaque surface-chat backdrop behind the sidebar column — no more flashes during panel transitions
  • Send button in chat-actions uses explicit color tokens so the disabled state is legible in dark mode
  • Context-indicator tooltip is pointer-events-none — can't trap the cursor
  • Automations "Create new" now uses the outline button style
  • Activity panel: dropped the left border and vertical timeline connector for a cleaner look
  • Updated security contact email

Install

macOS

  • Apple Silicon: OpenYak_1.1.2_aarch64.dmg
  • Intel: OpenYak_1.1.2_x64.dmg

Windows

  • OpenYak_1.1.2_x64-setup.exe

Linux

  • OpenYak_1.1.2_amd64.deb
  • OpenYak-1.1.2-1.x86_64.rpm

Or update in-app — existing 1.1.0+ installs will see the banner within a few hours, or you can check immediately via Help → Check for Updates.


Full Changelog: v1.1.1...v1.1.2

v1.1.1

22 Apr 02:25

Choose a tag to compare

Highlights

Customize your appearance

New Settings → Appearance → Customize panel. Independent overrides for light and dark themes:

  • Accent, background, and foreground colors
  • UI font family + size
  • Code font family + size (applies everywhere code shows up — chat messages, diffs, tool output)
  • Pointer cursor toggle for interactive elements

Every control has an inline Reset so you can always get back to defaults.

System tray redesigned

The macOS / Windows tray menu now mirrors the Codex style — New Chat, Show/Hide, Settings, and a live Recent chats submenu the app keeps in sync as you work. Click a recent chat to jump straight in. On macOS the tray icon is now a proper template image, so it renders correctly in both dark and light menu bars.

Resizable sidebar

Drag the sidebar edge to set its width — persists across sessions. The new Settings view uses a dedicated sidebar with the same resize behavior.

Workspace-aware greeting

The landing greeting on new chats now reads "What should we do in {workspace}?" when a workspace is set, and falls back to the generic greeting otherwise.

Smoother update flow

use-update-check rewritten end-to-end — clearer idle / checking / downloading / ready / error states and less flicker during the upgrade cycle.

Polish

  • Floating window top-left icons (panel-toggle + new-chat) for a cleaner title bar
  • Refreshed sidebar header, footer, nav, and projects toolbar
  • Seamless sidebar edges — removed stray right + footer borders
  • Cleaner chat landing, chat actions, chat form, chat header
  • Refreshed macOS app icon regenerated from a 1024px source

Fixes

  • /settings static prerender no longer fails on the Settings sidebar's useSearchParams usage
  • Two flaky backend tests repaired (loop-detection refactor + pythonpython3 portability)

Install

Pick your platform below. Existing 1.1.0 installs can update in-app — Settings → General → Check for updates.

macOS

  • Apple Silicon: OpenYak_1.1.1_aarch64.dmg
  • Intel: OpenYak_1.1.1_x64.dmg

Windows

  • OpenYak_1.1.1_x64-setup.exe

Linux

  • OpenYak_1.1.1_amd64.deb
  • OpenYak-1.1.1-1.x86_64.rpm

Full Changelog: v1.1.0...v1.1.1

v1.1.0

21 Apr 04:46

Choose a tag to compare

OpenYak 1.1.0 is a feature release focused on two foundational rewrites — built-in messaging channels and manual context compaction — plus a sidebar redesign and substantially more resilient streaming.

✨ Highlights

Built-in channels on 13 platforms

The external OpenClaw gateway is gone. OpenYak now runs an async channel runtime in-process, so hooking the assistant up to Telegram, Discord, Slack, WhatsApp, WeChat, Feishu, DingTalk, WeCom, QQ, Email, Matrix, MoChat, or raw WebSocket is a one-click toggle in Settings — no separate Node daemon to install, update, or keep alive. The WhatsApp QR-login flow is bundled.

Manual context compaction

You can now compact a conversation on demand from the chat header. Click the new context-usage ring once you're at ≥50% and OpenYak will prune + summarize the history in place, keeping a visible summary inline. Works with large-context models (GPT-5.4, Kimi K2.6, etc.) whose effective windows are now tracked per-model instead of hard-capped.

Redesigned sidebar

Grouped Pinned → Projects → Chats, a new ⌘/Ctrl+K search palette with recents and full-text results, slimmer rows with hover-revealed actions, and a toolbar for collapse-all / add-project / organize & sort.

Resilient streaming

SSE now recovers cleanly from disconnects: native EventSource reconnect via Last-Event-ID, DB-backed finalization via /chat/active when replay buffers desync, 1.2s debounced terminal step-finish (down from a 30s safety timeout), and a proper DESYNC event instead of crashes on buffer overflow.

📦 Downloads

Platform File
Windows (x64) OpenYak_1.1.0_x64-setup.exe
macOS (Apple Silicon) OpenYak_1.1.0_aarch64.dmg
macOS (Intel) OpenYak_1.1.0_x64.dmg
Linux (.deb) OpenYak_1.1.0_amd64.deb
Linux (.rpm) OpenYak-1.1.0-1.x86_64.rpm

Auto-updater clients (1.0.6+) will pick this up via the signed latest.json — each platform has its own versioned, immutable tarball and .sig, so the signature/artifact mismatch that hit 1.0.6 → 1.0.7 upgraders is solved for good.

🔧 Upgrade notes

  • OpenClaw users: the external gateway and its openclaw_* settings are removed. On first launch, 1.1.0 will surface the built-in channel UI under Settings → Channels; re-enter credentials there. No data migration needed — channel state is per-session.
  • Mobile PWA at /m?token=… continues to work (regression fix from 1.0.8 still in place; bundling gated by verify-bundle.mjs).
  • Context window behavior: OpenYak now operates at a safe 33% of each model's advertised window by default. Providers can declare an explicit effective_context_window override (e.g. GPT-5.4 → 258k). If you relied on accumulating huge histories before the old 500k-char cap kicked in, compaction now fires proactively — this is intentional.

🐛 Notable fixes

  • Long conversations no longer silently drop the oldest turns when the char budget overflows — older messages keep their envelope (role, tool_calls) so tool-call / tool-result pairing stays intact, with only oversized text collapsed to a short truncation marker.
  • Sidebar right + footer borders removed for a seamless edge.
  • @openyak/best-free virtual model surfaces as "Yak Free" everywhere (model pickers, invoices, proxy /v1/models).

Full Changelog: v1.0.8...v1.1.0
Detailed CHANGELOG entry: https://github.com/openyak/openyak/blob/v1.1.0/CHANGELOG.md#110---2026-04-21