Built in public

What shipped.

Follow OvertChat as it gets faster, more capable, and easier to run. Every stable web and mobile release lands here directly from GitHub.

View releases on GitHub
Showing 75 releases.
mobile
mobile-v1.5.0

overtchat mobile 1.5.0

GitHub

What is new

  • Adds per-model reasoning-level selection for supported local and cloud models, with preferences saved on device.
  • Moves model and thinking controls into the composer so response configuration stays beside the message it affects.
  • Keeps model search and web-search controls accessible in the redesigned composer toolbar.
  • Lets the chat drawer open from a rightward swipe anywhere across the screen.

Install

Google Play is the easiest path and receives automatic updates:

https://play.google.com/store/apps/details?id=com.overtchat.mobile

Or download overtchat-v1.5.0.apk below and install it directly. Sideloaded builds do not auto-update.

The app is a thin client and requires an OvertChat server. Server v0.21.2 or newer is required for reasoning-level controls.

web
v0.21.2

OvertChat v0.21.2

GitHub

What's Changed

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.21.1...v0.21.2

web
v0.21.1

OvertChat v0.21.1

GitHub

What's Changed

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.21.0...v0.21.1

mobile
mobile-v1.4.1

overtchat mobile 1.4.1

GitHub

What is new

  • Recovers in-progress responses after the app is backgrounded or the network disconnects, without starting a second model request.
  • Reconnects to the existing response stream when possible, or loads the server-persisted completed response after connectivity returns.
  • Replaces retry behavior for interrupted generations with a safe reconnect flow.

Install

Google Play is the easiest path and receives automatic updates:

https://play.google.com/store/apps/details?id=com.overtchat.mobile

Or download overtchat-v1.4.1.apk below and install it directly. Sideloaded builds do not auto-update.

The app is a thin client and requires an OvertChat server. Server v0.21.0 or newer is required for resumable-generation recovery.

web
v0.21.0

OvertChat v0.21.0

GitHub

What's Changed

New Contributors

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.20.0...v0.21.0

web
v0.20.0

OvertChat v0.20.0

GitHub

What's Changed

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.19.0...v0.20.0

mobile
mobile-v1.4.0

overtchat mobile 1.4.0

GitHub

What is new

  • Adds native Personalization settings for profile details, personalization controls, and complete saved-memory management.
  • Shows expandable memory additions, updates, and removals directly in mobile chat, with native navigation back to Personalization.
  • Supports pasting images directly into the mobile composer.
  • Improves message retry and tool-cancellation reliability.
  • Displays saved realtime voice transcripts and tool activity in mobile chat history.

Install

Google Play is the easiest path and receives automatic updates:

https://play.google.com/store/apps/details?id=com.overtchat.mobile

Or download overtchat-v1.4.0.apk below and install it directly. Sideloaded builds do not auto-update.

The app is a thin client and requires an OvertChat server. Server v0.19.0 or newer is recommended for personalization, saved-memory, and realtime-voice history support.

web
v0.19.0

OvertChat v0.19.0

GitHub

What's Changed

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.18.1...v0.19.0

web
v0.16.7

OvertChat v0.16.7

GitHub

What's Changed

New Contributors

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.16.6...v0.16.7

web
v0.16.4

OvertChat v0.16.4

GitHub

What's Changed

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.16.3...v0.16.4

mobile
mobile-v1.3.1

overtchat mobile 1.3.1

GitHub

What is new

  • Displays image results fetched by the native web tools directly in the mobile chat activity timeline.
  • Aligns mobile tool-result presentation with OvertChat server v0.16.0.
  • Includes the same authenticated fetched-image access used by existing mobile attachments.

Install

Google Play is the easiest path and receives automatic updates:

https://play.google.com/store/apps/details?id=com.overtchat.mobile

Or download overtchat-v1.3.1.apk below and install it directly. Sideloaded builds do not auto-update.

The app is a thin client and requires an OvertChat server. Server v0.16.0 is recommended for the new fetched-image behavior.

web
v0.14.1

OvertChat v0.14.1

GitHub

What's Changed

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.14.0...v0.14.1

web
v0.13.7

OvertChat v0.13.7

GitHub

What's Changed

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.13.6...v0.13.7

web
v0.13.5

v0.13.5 - Reliable Agent Connections

GitHub

What changed

  • Agent session timelines now survive connector and server restarts without fragile in-memory cursors.
  • Browser sessions reconcile gaps and reconnects instead of silently stalling.
  • Connector upgrades no longer require re-pairing and roll back safely if migration or startup fails.
  • Queued prompts and ambiguous command outcomes are handled conservatively to avoid accidental duplicates.
  • Connector v0.2 remains supported during the v0.3 rollout.

Updating

Update the Docker app normally with Compose. The Host Connector does not need reinstalling for routine server updates. If Settings → Connections offers connector v0.3.0, run its one-line upgrade command; pairing is preserved.

web
v0.13.4

v0.13.4 - Connector-Owned Agent Runtime

GitHub

What’s new

  • Moved Codex, Pi, and Oh My Pi processes, live sessions, durable queues, command deduplication, and canonical timeline ownership into the Host Connector.
  • Added a stable, queue-first composer while an agent is working. Queued messages appear above the composer with Edit, Steer, and Delete actions.
  • Made connector state journaled and recoverable across reconnects, with sequenced event delivery and acknowledgements.
  • Fixed Codex prompt, steer, tool, and assistant ordering by applying one authoritative ordered turn projection across the connector and browser.

Upgrade notes

  • Host Connector 0.2.0 is required. Reinstall it from Settings → Connections after upgrading the server.
  • Connector 0.1.0 is intentionally incompatible with this release; the Host Connector protocol was revised in place without a compatibility layer.
  • No database migration is required.
  • Agent Connections remains Beta.

Container image

ghcr.io/yoloyash/overtchat-app:0.13.4 and latest are published for linux/amd64 and linux/arm64.

Full changelog: https://github.com/yoloyash/overtchat/compare/v0.13.3...v0.13.4

web
v0.13.3

v0.13.3 - Agent Timeline

GitHub

What’s new

  • Conversational progress updates now appear inline in their original order instead of being hidden inside activity groups.
  • Reasoning, tools, and subagent work render as distinct timeline rows with stable streaming identities.
  • Individual tool and subagent details open directly without a redundant outer disclosure.
  • Copy, fork, elapsed time, and completion duration now live at the turn boundary.

Upgrade notes

  • No database migration is required.
  • Host Connector 0.1.0 remains compatible.
  • Agent Connections remains Beta.

Container image

ghcr.io/yoloyash/overtchat-app:0.13.3 and latest are published for linux/amd64 and linux/arm64.

Full changelog: https://github.com/yoloyash/overtchat/compare/v0.13.2...v0.13.3

web
v0.13.2

v0.13.2 - Agent Composer Controls

GitHub

What’s new

  • Moved model selection, reasoning effort, Plan mode, Fast mode, and context usage into the agent composer so controls stay close to the prompt.
  • Added responsive desktop and mobile composer layouts with compact usage controls and unobstructed message scrolling while menus are open.
  • Added /plan as a native Codex command that toggles Plan mode without creating a prompt turn.
  • Refreshed the vendored models.dev catalog used for model pricing and context metadata.

Upgrade notes

  • No database migration is required.
  • Host Connector 0.1.0 remains compatible.
  • Agent Connections remains Beta.

Container image

ghcr.io/yoloyash/overtchat-app:0.13.2 and latest are published for linux/amd64 and linux/arm64.

Full changelog: https://github.com/yoloyash/overtchat/compare/v0.13.1...v0.13.2

web
v0.13.1

v0.13.1 - Codex Agent Parity

GitHub

What’s new

  • Completed the Codex Agent Connections experience with durable goals, Code and Plan modes, Fast mode, plan implementation handoff, subagent timelines, terminal input, file activity, and context-compaction markers.
  • Preserved streamed commentary, reasoning, and tool activity through turn completion, reconnects, and runtime restarts instead of showing only the final response.
  • Added pasted image input for Codex and Pi sessions across local and SSH connections, including previews, queued edits, steering, and capability gating.
  • Added workspace branch, dirty state, ahead/behind state, changed-file count, and line statistics to agent headers and the sidebar.
  • Hardened child-thread ordering, persisted subagent restoration, sparse turn reconciliation, and supported-version goal launch behavior.

Upgrade notes

  • No database migration is required.
  • Host Connector 0.1.0 remains compatible.
  • Codex goals are enabled automatically on supported Codex installations.
  • Agent Connections remains Beta.

Container image

ghcr.io/yoloyash/overtchat-app:0.13.1 and latest are published for linux/amd64 and linux/arm64.

Full changelog: https://github.com/yoloyash/overtchat/compare/v0.13.0...v0.13.1

web
v0.13.0

v0.13.0 - Codex Agent Support

GitHub

What’s new

  • Added Codex to Agent Connections for local and SSH hosts.
  • Added native thread discovery/resume, model and reasoning controls, streamed activity, queue, steer, stop, and compaction.
  • Added shared-daemon support with standalone and read-only compatibility fallbacks.
  • Added Codex skills, custom prompts, /usage, approvals, user questions, and MCP interactions.
  • Added non-destructive Edit and Fork actions for native Codex conversations.
  • Extracted provider-neutral agent runtime and interaction boundaries for future providers.

Upgrade notes

  • No database migration is required.
  • Host Connector 0.1.0 remains compatible.
  • Codex must be installed and authenticated on the selected local or SSH host.
  • Agent Connections remains Beta.

Container image

ghcr.io/yoloyash/overtchat-app:0.13.0 and latest are available for linux/amd64 and linux/arm64.

Full changelog: https://github.com/yoloyash/overtchat/compare/v0.12.0...v0.13.0

web
v0.12.0

v0.12.0 - Agent Connections

GitHub

What changed

  • Added Agent Connections (Beta) for Pi and Oh My Pi running on the OvertChat server or on machines reachable through SSH.
  • Added the optional Linux Host Connector, with one-command setup, outbound authenticated communication, and no SSH keys mounted into the container.
  • Added workspace browsing, native session history and resume, model and thinking controls, usage, compaction, tools, queueing, and native steering.
  • Added clearer working, stopping, compacting, reconnecting, tool activity, and error states across the session view and sidebar.
  • Added administrator promotion and demotion controls and kept Agent Connections admin-only.
  • Updated the default Compose image to 0.12.0.

Upgrade note

Migration 0008 runs automatically on startup and adds the Agent Connections tables. Existing chats, projects, model configurations, and users are unchanged.

Agent Connections are optional. To enable them, open Settings → Connections and follow the generated Host Connector setup command. The automatic installer currently supports Linux amd64 and arm64 systems using systemd. Connector assets are published separately under connector-v0.1.0.

Image

  • ghcr.io/yoloyash/overtchat-app:0.12.0
  • ghcr.io/yoloyash/overtchat-app:latest
  • Platforms: linux/amd64 and linux/arm64

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.11.4...v0.12.0

web
v0.11.4

v0.11.4 - usage tracking and activity profiles

GitHub

What changed

  • Added durable generation usage and estimated-cost tracking for assistant responses and title generation.
  • Added an activity leaderboard and personal profiles with usage totals, model breakdowns, and per-chat session costs.
  • Added catalog pricing previews and configurable rates for custom and local models, including reset-to-default controls.
  • Added a General setting to hide prices and automated models.dev catalog freshness checks and refresh PRs.
  • Updated the default Compose app image to 0.11.4.

Upgrade note

Migration 0007 runs automatically on startup and creates the append-only generation usage ledger plus profile and custom-pricing fields. Existing chats remain valid; historical usage is not backfilled. Usage writes fail open, so analytics cannot roll back a saved assistant response.

Estimated costs use rates captured at generation time. Provider billing may differ, and operators can override pricing for custom or local models under Settings → Models → Advanced.

Image

  • ghcr.io/yoloyash/overtchat-app:0.11.4
  • ghcr.io/yoloyash/overtchat-app:latest
  • Platforms: linux/amd64 and linux/arm64

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.11.3...v0.11.4

web
v0.11.3

v0.11.3 - context usage and local runtimes

GitHub

What changed

  • Added a context usage meter to the web chat header with used, maximum, and remaining token counts.
  • Added runtime and catalog-based context-window and model-capability discovery, plus explicit admin overrides for local caps and unknown models.
  • Persisted assistant usage metadata so the meter survives reloads, device changes, and export/import round trips.
  • Corrected multi-step tool-loop accounting so repeated prompt input is not double-counted in the context meter.
  • Added first-class vLLM, llama.cpp, and SGLang presets with conventional local endpoints, optional API keys, editable connection details, discovery support, and provider icons.
  • Fixed title generation when a model emits a reasoning trace before its title text.
  • Updated the default Compose app image to 0.11.3.

Upgrade note

Migration 0006 runs automatically on startup. It adds nullable message-metadata and model-discovery columns; existing chats and model configurations remain valid, and no manual backfill is required.

The context meter is enabled by default and can be disabled per device under Settings → General. A context-window override is available under Settings → Models → Advanced.

The local runtime defaults are http://localhost:8000/v1 for vLLM, http://localhost:8080/v1 for llama.cpp, and http://localhost:30000/v1 for SGLang. Docker deployments may need host.docker.internal instead of localhost when inference runs on the host.

Validation

  • 230 web tests and 8 site tests
  • Typecheck, lint, and production build
  • Migration generation and schema review
  • Docker Compose configuration validation
  • Five GitHub validation and Playwright smoke jobs on the release PR

Image

  • ghcr.io/yoloyash/overtchat-app:0.11.3
  • ghcr.io/yoloyash/overtchat-app:latest
  • Platforms: linux/amd64 and linux/arm64

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.11.2...v0.11.3

web
v0.11.2

v0.11.2 - default model system prompt

GitHub

What's changed

  • New models in Settings → Models now start with a system prompt already filled in: "You are a helpful assistant chatting with a user in overtchat, a self-hosted chat application." Edit it, replace it, or clear it — whatever you leave there is what gets sent.
  • Models you already had that never got a prompt pick up the same text on upgrade. A prompt you wrote yourself is left alone.
  • The Advanced section now opens automatically when you add a model, so the prompt is in front of you instead of behind a collapsed panel.
  • Updated the default Compose app image to 0.11.2.

Upgrade note

The backfill runs automatically on boot, and only touches models whose system prompt was empty. If you'd rather your models had no prompt at all, clear the field on each one and it stays cleared.

Validation

  • npm run test -w apps/web (196 tests)
  • npm run lint -w apps/web
  • npx tsc --noEmit in apps/web
  • docker compose config --quiet
  • Migration exercised against a copy of a real database, including a re-run to confirm it applies once
  • GitHub workspace validation and Playwright smoke on the release pull request
  • Multi-platform image build and registry push

Image

  • ghcr.io/yoloyash/overtchat-app:0.11.2
  • ghcr.io/yoloyash/overtchat-app:latest
  • Platforms: linux/amd64 and linux/arm64

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.11.1...v0.11.2

web
v0.11.1

v0.11.1 - slash commands

GitHub

What's changed

  • Added a / slash-command palette to the web chat composer for quick keyboard access to existing chat capabilities.
  • Added commands for per-message web search, attachments, dictation, temporary chats, model selection, new chat, chat search, and settings.
  • Added keyboard navigation with wrapping arrow keys, Tab completion, Enter selection, and Escape dismissal with one-level submenu backtracking.
  • Added an inline model submenu with filtering across the available model list.
  • Kept ordinary prose safe: only a single-line leading-slash token is treated as a command, so paths such as /etc/hosts inside a message do not trigger the palette.
  • Updated the default Compose app image to 0.11.1.

Validation

  • npm run test -w apps/web (196 tests)
  • npm run typecheck -w apps/web
  • npm run lint -w apps/web
  • npm run build -w apps/web
  • docker compose config --quiet
  • GitHub workspace validation and Playwright smoke on the release pull request
  • Multi-platform image build and registry push

Image

  • ghcr.io/yoloyash/overtchat-app:0.11.1
  • ghcr.io/yoloyash/overtchat-app:latest
  • Platforms: linux/amd64 and linux/arm64

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.11.0...v0.11.1

mobile
mobile-v1.3.0

overtchat mobile 1.3.0

GitHub

First release since the Play listing went public — the app is now installable by anyone, no testers group or invite.

Crash reporting works now

1.2.3 shipped with crash reporting silently disabled. The Sentry DSN was stored as an EAS variable with secret visibility, and secret variables are withheld from eas build --local, which is how every release is built. The value resolved to undefined and initialization was skipped.

It was invisible because the auth token used for source maps is readable locally, so maps kept uploading on schedule and the project looked healthy while receiving nothing. If you hit a crash on 1.2.3 or earlier, no report reached us. From 1.3.0 it does.

Crash reports carry technical metadata only — no chat content, attachments, or credentials. See the privacy policy.

Web search toggle

Web search can now be turned off per device under Settings, independent of the server-side setting. The preference is shared with the web app, so a single definition governs both.

Also in this release

  • Replaced a syntax highlighter with a known vulnerability in code-block rendering.
  • Automatic web search and prompt caching from the AI SDK v7 upgrade.
  • Amazon Bedrock support, plus native request formats for OpenAI, Anthropic, and Google Gemini through the new provider architecture.
  • Aligned the Better Auth package family, fixing session edge cases.

Install

Google Play is the easiest path and gets automatic updates:

https://play.google.com/store/apps/details?id=com.overtchat.mobile

Or download overtchat-v1.3.0.apk below and install it directly — you may need to allow "install from unknown sources". Sideloaded builds don't auto-update.

Remember the app is a thin client: it needs a URL for an overtchat server you run. See the quick start.

web
v0.11.0

v0.11.0 - automatic web search and prompt caching

GitHub

What's changed

  • Reworked web search around automatic tool choice. Tool-capable models now decide when to search instead of requiring a per-chat toggle, with a one-message Search action in the composer for forcing it and a persistent hard-disable under Settings → Tools.
  • Added a per-model Tool calling switch (migration 0004) so models without tool support can be excluded from tool-bearing requests. The connection tester now verifies an actual tool call when the switch is on.
  • Added provider prompt caching: Anthropic cache breakpoints on the system prefix and the latest user turn, and a stable per-chat promptCacheKey for OpenAI derived from a hash of the chat ID. The prompt is append-only so prior prefixes stay byte-for-byte reusable.
  • Surfaced cache accounting in message stats — uncached input, cache read, and cache write tokens.
  • Replaced the per-request runtime-context block with a date-only Current date: line resolved against a validated client time zone, keeping the system prefix cache-stable across turns.
  • Rewrote the citation instructions and anchor scheme so anchors address the search call and result index (turnNsearchI), fixing attribution when a response performs more than one search.
  • Upgraded the Vercel AI SDK from v6 to v7 across web, mobile, and shared, moving chat execution onto ToolLoopAgent with createUIMessageStreamResponse.
  • Expanded model brand icon coverage and model-ID matching to more top providers.
  • Added a ?q= shortcut for starting a new chat from a URL, normalizing repeated and blank values and waiting for a valid selected model before submitting.
  • Restructured the chat title prompt as a single labelled task with the user's message fenced at the end, which stops markdown formatting and conversational replies from leaking into titles.
  • Updated the default Compose app image to 0.11.0.

Upgrade note

Migration 0004 runs on startup and adds tool_calling_enabled, defaulting to on for existing model configurations.

Web search is now automatic and on by default, where it used to be opt-in per chat. Turn it off under Settings → Tools, or switch off Tool calling for a model that can't use tools — otherwise its connection test will fail, since the test now requires a real tool call. Older Android clients keep working and will start searching once the server is upgraded.

One caveat if you self-host inference: the Search action and the connection test both send tool_choice: "required", and vLLM's XML-format tool parsers (poolside_v1, GLM-4) silently downgrade that to auto instead of erroring — so on a model like Laguna S2.1, automatic search works but forcing it doesn't, and the connection test can fail on a model whose tool calls are otherwise fine. Nothing to fix on this side; see vllm-project/vllm#47175.

Validation

npm run test (166), lint, typecheck, build, deps:check, docker compose config, docker build. Playwright smoke against the standalone server with live Gemini streaming. Upgraded a v0.10.0-era database to confirm 0004 applies and existing model configurations survive.

Image

  • ghcr.io/yoloyash/overtchat-app:0.11.0
  • ghcr.io/yoloyash/overtchat-app:latest
  • Platforms: linux/amd64 and linux/arm64

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.10.0...v0.11.0

web
v0.10.0

v0.10.0 - native providers and Amazon Bedrock

GitHub

What's changed

  • Rebuilt model configuration around an explicit provider registry with native adapters for OpenAI, Anthropic, Google Gemini, Amazon Bedrock, and custom endpoints.
  • Added Bedrock model discovery and model-family routing across Anthropic Messages, OpenAI Responses, and OpenAI-compatible Chat Completions.
  • Unified provider validation across configuration saves, model discovery, health checks, title generation, and chat execution.
  • Made saved chat turns and active-stream ownership transactional, including persistence of partial assistant responses when a user stops generation.
  • Added configurable sidecar endpoints for self-hosted deployments and simplified web motion and navigation primitives.
  • Updated the default Compose app image to 0.10.0.

Upgrade note

Migration 0003 runs automatically on startup and preserves existing extra_body JSON as provider_options. Configurations recognized as OpenAI, Anthropic, or Google now use their native AI SDK adapters. Review advanced provider options after upgrading because native AI SDK options use camelCase keys rather than raw request-body fields.

Validation

  • npm run test (108 web tests)
  • npm run lint
  • npm run build
  • docker compose config --quiet
  • Production Playwright smoke with live Gemini streaming on the pull request, main, and recreated dev branch
  • Live Bedrock streaming through representative Anthropic Messages, OpenAI Responses, and Chat Completions models

Image

  • ghcr.io/yoloyash/overtchat-app:0.10.0
  • ghcr.io/yoloyash/overtchat-app:latest
  • Platforms: linux/amd64 and linux/arm64

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.9.11...v0.10.0

web
v0.9.11

v0.9.11 - interaction and motion polish

GitHub

What's changed

  • Standardized web motion with shared CSS duration, easing, surface, overlay, collapse, loader, and reduced-motion primitives.
  • Added typed route transitions and lightweight loading skeletons across chat, projects, settings, and the authenticated app.
  • Polished dialogs, drawers, menus, popovers, selects, toasts, controls, and chat affordances without animating streamed message tokens.
  • Improved chat composer autofocus, streaming scroll behavior, and the scroll-to-bottom affordance.
  • Updated the default Compose app image to 0.9.11.

Validation

  • npm run lint -w apps/web
  • npm run test -w apps/web (48 tests)
  • npm run build -w apps/web
  • Playwright motion coverage and live Gemini streaming smoke
  • docker compose config --quiet
web
v0.9.10

v0.9.10 - web toast notifications

GitHub

What's changed

  • Added a global Base UI toast layer for transient action feedback.
  • Surfaced previously silent mutation failures for chat rename, chat move, project updates, and model toggles.
  • Added success receipts for destructive/import/admin actions while preserving inline retry errors in dialogs and forms.
  • Centralized user-facing error extraction for more consistent feedback.

Validation

  • npm run lint -w apps/web --
  • npm run test -w apps/web --
  • npm run build -w apps/web --
mobile
mobile-v1.2.3

Mobile v1.2.3 - model picker parity

GitHub

Highlights

  • Aligned the mobile model picker with the web picker using compact icon-and-name rows.
  • Added shared SVG brand icons for configured models.
  • Bumped the Android release build to version 1.2.3.
web
v0.9.9

v0.9.9 - model picker parity

GitHub

Highlights

  • Aligned the web and mobile model pickers around compact icon-and-name rows.
  • Added shared brand icon rendering so model icons stay consistent across clients.
  • Simplified model picker lists by removing visible provider grouping and raw model metadata while preserving search matching.
mobile
mobile-v1.2.2

Mobile v1.2.2 - message editing fixes

GitHub

Mobile closed testing release.

Changes:

  • Preserve attachments when editing user messages, including removing individual attachments before resending.
  • Allow attachment-only messages to enter edit mode from the attachment chip.
  • Use a more familiar edit composer with clear Send and Cancel actions.
  • Fix the brief scroll-to-bottom jump when opening edit mode.
  • Bump mobile app version to 1.2.2 and Android versionCode to 8.

Install:

  • The AAB has been submitted to Google Play closed testing and is pending Google review.
  • The attached APK is available for sideload testing: overtchat-v1.2.2.apk.

APK digest: sha256:88a99f973b24fbfd80f60bc05187ccfb18663e870b62cd849d12a5d754e9513e

Full Changelog: https://github.com/yoloyash/overtchat/compare/mobile-v1.2.1...mobile-v1.2.2

web
v0.9.8

v0.9.8 - settings row and e2e hardening

GitHub

Highlights

  • Balanced settings row label/control layout so helper text in General settings no longer makes controls look visually off-center.
  • Bumped the default compose app image to 0.9.8.
  • Hardened chat streaming so missing REDIS_URL disables resumable-stream buffering instead of breaking normal responses.
  • Made the web E2E smoke test retry-safe by resetting the test database before each attempt.

Validation

  • PR #60 Web E2E passed before merge.
  • PR #61 Web E2E passed before merge.
  • main Web E2E passed for the code-bearing E2E hardening commit.
  • dev was recreated from main and Web E2E passed on 53f65a6.
  • v0.9.8 Web E2E passed.
  • App image publish passed.

Image

  • ghcr.io/yoloyash/overtchat-app:0.9.8
  • ghcr.io/yoloyash/overtchat-app:latest
  • Digest: sha256:eb24add2ddfb786b2f043c2aa742b79fd3d595789c04285aea1d0e7395f19a40
  • Platforms: linux/amd64, linux/arm64
web
v0.9.7

v0.9.7 - settings consistency polish

GitHub

What's changed

  • Polishes the web settings experience with shared, container-aware settings rows and page headers.
  • Aligns settings actions, switches, save/cancel bars, destructive dialogs, and responsive behavior across General, Account, Data, Models, and Users.
  • Improves the admin model list layout so row actions stay docked at realistic settings-pane widths.
  • Replaces the Users native delete confirmation with a consistent destructive dialog.
  • Renames the visible "Stats for nerds" copy to "Message stats" while preserving the existing localStorage key.
  • Bumps the default compose app image to 0.9.7.

Validation

  • PR #59 Web E2E smoke passed before merge.
  • Web E2E smoke passed on main after merge.
  • dev was recreated from main and Web E2E smoke passed there too.
  • Web E2E smoke passed on v0.9.7.
  • App image published successfully for ghcr.io/yoloyash/overtchat-app:0.9.7 and latest.

Image

  • ghcr.io/yoloyash/overtchat-app:0.9.7
  • Digest: sha256:b63f0413e3d20013c1f65d7a3ee3051b8000b9920209d56e9477406b6369eee3
  • Platforms: linux/amd64, linux/arm64
web
v0.9.6

v0.9.6 - web message edit polish

GitHub

What's changed

  • Polishes the web user-message editing UI with a more familiar compose-like edit surface.
  • Replaces icon-only edit controls with clear Cancel and Send actions.
  • Disables Send until there is a real edit while still supporting attachment-only edited messages.
  • Fixes the accidental dark-mode textarea background inside the edit bubble.

Validation

  • PR #57 Web E2E smoke passed before merge.
  • Web E2E smoke passed on main after merge.
  • dev was recreated from main and Web E2E smoke passed there too.
  • App image published successfully for ghcr.io/yoloyash/overtchat-app:0.9.6 and latest.

Image

  • ghcr.io/yoloyash/overtchat-app:0.9.6
  • Digest: sha256:05c0147d0d022cb630a3b76070aa6d45704916946fd5703c2c952c411bf2f703
  • Platforms: linux/amd64, linux/arm64
web
v0.9.5

v0.9.5 - model settings UX refresh

GitHub

What's changed

  • Refreshes the web model settings editor with unified create/edit behavior and more polished settings rows.
  • Improves model discovery, manual model fallback handling, connection testing, and advanced prompt/request-body fields.
  • Updates the admin models list with search, clearer row layout, enabled controls, health checks, and explicit edit/delete actions.
  • Improves the compact web chat model picker with search for larger model lists and better selected/loading/empty states.

Validation

  • Web E2E smoke passed on main, dev, and v0.9.5.
  • App image published successfully for ghcr.io/yoloyash/overtchat-app:0.9.5 and latest.
web
v0.9.4

v0.9.4 - server-owned chat titles

GitHub

What's Changed

  • Moved web chat title generation into the server chat lifecycle, generated from the first persisted user message.
  • Removed the client-triggered title endpoint path and the first-message fallback write; null titles stay as Untitled until a generated title is persisted.
  • Kept delivery on ordinary chat-list invalidation, with browser tab title sync and local-only sidebar title reveal.
  • Tightened title persistence and added focused title helper tests.
  • Bumped the default app image tag in compose.yml to 0.9.4.

Validation

  • npm run test -w apps/web --
  • npm run lint -w apps/web --
  • npm run lint -w apps/mobile --
  • npm run build -w apps/web --
  • docker build -t overtchat:web-title-generation-check .
  • GitHub Web E2E Smoke passed on PR #54, main, and the v0.9.4 tag.
  • Build and publish app image passed for v0.9.4, publishing ghcr.io/yoloyash/overtchat-app:0.9.4 and latest.
mobile
mobile-v1.2.1

mobile-v1.2.1

GitHub

Mobile closed testing release.

Changes:

  • Remove Android foreground service permissions from the mobile manifest.
  • Keep microphone and audio settings permissions for voice dictation.
  • Bump mobile app version to 1.2.1 and Android versionCode to 7.

The AAB has been submitted to Play closed testing. The attached APK is available for sideload testing.

web
v0.9.3

v0.9.3 - iOS PWA safe-area fix

GitHub

What's Changed

  • Fixed iOS standalone/PWA safe-area handling so the authenticated app header and mobile drawer render below the Dynamic Island/status area.
  • Added a focused regression test covering the app shell and mobile drawer safe-area hosts.
  • Bumped the default app image tag in compose.yml to 0.9.3.

Validation

  • Reproduced the bug on iPhone before the fix and verified the PR fixed it in iOS standalone/PWA mode.
  • npm run test -w apps/web -- lib/safe-area.test.ts
web
v0.9.2

v0.9.2 - model brand icons

GitHub

What's Changed

  • Added provider and model brand icons across model setup, model picker, settings, and stats surfaces.
  • Rendered brand icons as monochrome glyphs so they match the surrounding UI tone.
  • Bumped the default app image tag in compose.yml to 0.9.2.

Validation

  • npm run lint -w apps/web
  • npm run test -w apps/web
  • npm run build -w apps/web
  • GitHub Web E2E Smoke passed on PR #49, PR #50, main, and recreated dev.
web
v0.9.1

v0.9.1 — web scrollbar styling

GitHub

What's Changed

  • Standardized web scrollbar styling across browsers with theme-token colors and standard CSS scrollbar properties.
  • Kept high-contrast/forced-colors behavior on platform defaults.

Also Included

This release is cut from main and also includes already-merged housekeeping/docs/mobile changes since v0.9.0.

Validation

  • npm run test
  • npm run lint -w apps/web
  • npm run build -w apps/web
  • GitHub Web E2E Smoke checks passed on PR #47
mobile
mobile-v1.2.0

Mobile v1.2.0 — chain-of-thought activity block

GitHub

Cleaner thinking & web search

The model's reasoning and web searches now collapse into a single chain-of-thought block — one live status line ("Searching …" / "Thinking") that settles into a summary once done, over a tidy timeline of each step — instead of a stack of separate thinking and tool cards. This brings mobile to parity with the web app (#45).

  • One block, in order — interleaved reasoning + searches fold into a single collapsible timeline, broken only by the model's actual answer.
  • Live status — the header reflects what the model is doing right now and settles into "Searched the web" / "Thought for Ns" when finished.
  • Tap to expand — each step shows its thinking text or search results (with favicons); long result lists cap at 5 with a Show more toggle.

Install

  • Closed beta on Google Play — this build auto-submits to the testing track.
  • Sideload APK — attached to this release as `overtchat-v1.2.0.apk` (~129 MB universal APK; the Play install is smaller, split per-device).

Full Changelog: https://github.com/yoloyash/overtchat/compare/mobile-v1.1.0...mobile-v1.2.0

web
v0.8.0

v0.8.0 — thinking & web search activity block

GitHub

Web — v0.8.0

  • Reasoning and web search now collapse into one tidy activity block. Previously, when a model interleaved thinking with web searches, each piece rendered as its own standalone card — a tall, noisy stack of separate boxes. They're now folded into a single collapsible ChainOfThought block per run of work, the way modern chat apps present agentic activity.
  • One live status line. While the model works, the block shows a single status that reflects what it's doing right now — Thinking, Searching "<query>", Reading <domain> — then settles into a past-tense summary (Searched the web / Thought for Ns) when done. It stays collapsed during the turn; expand it only if you want the details.
  • A clean timeline when expanded. Each step is its own node on a left rail (reasoning / search / fetch), in the order it happened. Search results show as a bordered list of favicon · title · domain, capped to ~5 rows with the rest scrollable, so a multi-search turn no longer floods the page.
  • No more repeated "Searched the web" blocks. Multi-step tool calling emits blank text parts at step boundaries; these were splitting a single search run into several identical blocks. Contiguous tool activity now stays in one block.

Docker image: ghcr.io/yoloyash/overtchat-app:0.8.0 — same docker compose pull && docker compose up -d upgrade path.

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.7.6...v0.8.0

web
v0.7.6

v0.7.6 — surface mid-stream errors

GitHub

Web — v0.7.6

  • Mid-stream errors no longer vanish. When an upstream model server failed after it had already started streaming (e.g. a provider erroring out as it goes to emit a tool call), the turn died silently — you'd see the reasoning block, then nothing, then the copy/retry buttons, as if the model had simply stopped. The error is now surfaced in the UI with a retry, regardless of how far the response had streamed. Closes #40.
  • No more stranded half-answers. A turn that errored mid-stream was being persisted as a partial, reasoning-only message, so the dangling "Thought for Ns" block survived a page reload with no answer and no way to recover. Failed turns are now dropped instead of saved.

Docker image: ghcr.io/yoloyash/overtchat-app:0.7.6 — same docker compose pull && docker compose up -d upgrade path.

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.7.5...v0.7.6

web
v0.7.5

v0.7.5 — image attachment fixes

GitHub

Web — v0.7.5

Two user-reported image-attachment bugs in the composer, fixed end to end (#39):

  • Pasted images silently dropped. The attachment chip only appeared after the upload finished, so paste-then-Enter (or sending a bare image with no text) would no-op while the upload was still in flight — the message just vanished with no feedback. Attachments now show a thumbnail the instant you paste or pick, with a spinner while uploading, and a failed upload surfaces the actual server reason (e.g. "File exceeds 20MB") instead of silently failing.
  • Editing a message lost its image. Edits sent only the text, so the server re-saved the turn without the attachment. Edit now preserves attachments and lets you remove them individually.

Uploads also run per-file and concurrently now — one failure no longer takes down the whole batch.

Fixes

  • Flaky docker build. A build-time SQLite lock race could intermittently fail the image build; the migration/client init no longer contends on the DB during build.

Internals

  • Bumped GitHub Actions runtimes across the CI workflows.

Docker image: ghcr.io/yoloyash/overtchat-app:0.7.5 — same docker compose pull && docker compose up -d upgrade path.

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.7.4...v0.7.5

web
v0.7.3

v0.7.3

GitHub

Bugfix release for the web app.\n\n- Fix assistant/model response text continuing to use the fixed serif font after selecting a different interface font in Settings.\n- Keep only the overtchat wordmark on the fixed brand font; app UI and content now follow the selected font.\n\nFixes #29 and #32.

mobile
mobile-v1.1.0

Mobile v1.1.0 — interface font picker

GitHub

Pick your interface font

Settings → Font now lets you choose the body/UI typeface, per device. Headings and code are unaffected.

  • 5 options: Inter, Roboto, Plus Jakarta Sans (default), Geist, IBM Plex Sans.
  • Per-device, no account state — the choice is stored on the device (expo-secure-store), so it follows the install, not the login. Brings mobile to parity with the web font picker (#27).
  • Each option previews in its own typeface in the list.

Install

  • Closed beta on Google Play — this build auto-submits to the testing track.
  • Sideload APK — attached to this release as overtchat-v1.1.0.apk (~123 MB universal APK; the Play install is smaller, split per-device).

Full Changelog: https://github.com/yoloyash/overtchat/compare/mobile-v1.0.0...mobile-v1.1.0

web
v0.7.2

v0.7.2

GitHub

You can now change the interface font in Settings → General. Picked something you like? It sticks around per browser.

Also in this release

  • E2E smoke tests are now running in CI so regressions get caught before merge.

Docker image: ghcr.io/yoloyash/overtchat-app:0.7.2

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.7.1...v0.7.2

web
v0.7.1

v0.7.1 — mobile launch + resumable streams

GitHub

Mobile launch — Android client now in closed beta

First public release of overtchat for Android. Same chat surface, same model picker, same uploads / voice / web search you have on web. Bring your own server: enter a URL on first launch and you're in.

  • Closed beta on Google Play — submitted for review. Open an issue to request a slot in the meantime.
  • Sideload APK — attached to this release as overtchat-preview.apk (~122 MB).

Web — v0.7.1

  • Resumable streams. A tiny Redis sidecar buffers in-flight tokens so a page reload mid-reply no longer drops you.
  • Lazy stream-context init so docker build doesn't need REDIS_URL at build time.
  • Docker image: ghcr.io/yoloyash/overtchat-app:0.7.1. Same docker compose pull && docker compose up -d upgrade path.

Fixes

  • /settings/data page was missing from every Docker image since the monorepo migration — overly broad **/data glob in .dockerignore. Closes #20.

Internals

  • Workspace gets a packages/shared for theme tokens, fonts, and cross-target types shared between web and mobile.
  • New mobile-eas.yml workflow: tag mobile-v* to trigger an EAS Android build.

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.6.0...v0.7.1

web
v0.6.0

v0.6.0

GitHub

What's Changed

Full Changelog: https://github.com/yoloyash/overtchat/compare/v0.5.2...v0.6.0