Releases: OtoDock/oto-dock
Release list
OtoDock 1.6.0
Added
- GPT-6 Astra on the Codex engine. OpenAI's new flagship is a predefined
Codex model. "Auto" keeps choosing GPT-5.6 Sol: Astra costs 2.5 times more. - Local models, everywhere. A Codex agent on a paired machine can run on a
local endpoint; one endpoint serves both the Direct LLM API and Codex engines
and can carry an API key; chats show a local model's thinking and pass effort. - The Direct LLM API engine catches up. OpenAI models use the Responses API
(effort with tools, reasoning shown, web search with sources, nothing stored).
Agents get file tools and the sidecar MCPs. Tools and skills load on demand
(DIRECT_LLM_TOOL_SEARCH=offrestores the old way). Needs the current relay. - Phone routes know who is calling. Each caller gets a private folder and
memory (Per caller, the default), or the call runs as a chosen platform user
(role capped at manager); callers are viewers with no platform or shell tools. - Caller data retention. Callers' folders, conversations and the call log
age out together (Setup → Phone → Caller Data, 90 days, "Forget all").
Callers' folders count against a new per-agent quota (1 GB). - Browser control can use your own browser. A remote machine can opt in to
"Use my own browser": the agent works in the Chrome, Edge or Brave you are
signed into, through the Playwright Extension (save its token for tasks). - The video-tools MCP, 0.4.0 to 0.4.2. Colour-managed grading (HLG and PQ
to Rec.709, LUT chains, clarity, sharpness), a colour-managededit_video,
analign_audiotool, Rec.709 renders at 48 kHz. Update it from the catalog. - Sandbox limits and a stall watchdog. Each local sandbox's
/tmpis capped
(SANDBOX_TMP_SIZE_MB, 4096 MB, at most half the host's memory). A watchdog
logs the blocking stack on event-loop stalls (LOOP_WATCHDOG_THRESHOLD_S, 2 s).
Changed
- Codex CLI 0.153.4 and Claude Code 2.1.263. Paired machines update at
their next reconnect. Codex's plan tool stays on so its checklist keeps working. - Cost shown only when the turn cost money. API-key and hosted relay chats
keep the badge, subscription and local-model chats hide it; usage is unchanged. - Phone routes on upgrade. Existing routes come up in Per caller mode: a
caller who worked in the shared space gets a private one and no longer sees
the shared memory (tie the route to a platform user to keep the old way). - Phone daemon (rebuild it with the proxy): call-log retention follows the
caller-data window; outbound calls wait for their pre-generated opening; the
PHONE_AGENT_ROLESsetting is gone; admin-only agents no longer run as admin. - "Primary" is gone from AI Engines. The model decides the provider. System
Default prefers a provider with a subscription, so a local-only install no
longer defaults to a hosted model. Stored primary flags are cleared on upgrade. - Claude models on Direct LLM search the web with the basic search tool again.
- Satellite 0.5.118 (fleet auto-update): unattended Codex sessions on paired
machines run the same permission floor as on the server; lean skill cards.
Fixed
- Dictation no longer repeats words. The 1.5.0 fix for vanishing words could
print the last words of a phrase twice. It now commits exactly what was heard. - Codex on local models. Discover finds an Ollama server's models again. On
Ollama 0.34 the MCP tools load on demand (0.34.0-rc1 cannot call them yet,
reported upstream). A slow first prompt no longer dies at five minutes. - Codex sessions start clean. The first turn waits for every MCP server. A
stale ChatGPT login no longer shadows an API key or a local model. llama.cpp
and LM Studio are told they drop MCP tools. Meeting tools no longer prompt. - Direct LLM chats. A chat on an agent pinned to a paired machine no longer
believes it runs there. Switching provider mid-chat works. Web search, fetch
and code rows finish. A cut-off tool call no longer breaks the next request. - Phone calls. No two-second dead air after each sentence with ElevenLabs
voices (close_at_flush). The ambience plays through gaps. A call ends at the
agent's end marker. A timed-out audio read no longer leaves the call deaf. - The proxy no longer stalls on a slow database disk. Status, turn saves,
chat actions and log writes run off the event loop. Tunneled MCP streams are
no longer cut every 15 minutes.send_filessees same-turn remote files. - Server sandbox. Bash commands that start with a variable assignment run
again. The permission gate looks pastdo,then,ifand( … )wrappers.
The session scratchpad under/tmpis writable. - Company map. Zooming out of a department lands on the same whole-map
view that paging between departments uses, with no second zoom-out step. - Meetings end each turn at the routing call. A participant that kept
working afterdirect_tostalled the meeting, and a summary written after
end_meetingwas lost. Later tool calls are refused, the summary is kept. - Smaller fixes. New models show in the pickers at once. No "Default Session
Mode" on a Direct LLM agent.write_xlsxcharts and conditional formatting
come out as asked and survive later edits.
Security
- Sessions without a human user (tasks, triggers, meetings, phone) are tighter:
permission state clears when a local session closes, agent configuration and
warmup need the master key, the memory API refuses foreign-agent sessions,
phone-minted tokens die at hangup, delegation refuses external principals. - Uploads, context files, recover-bin restores and previews re-check their
destination on the resolved path (a planted symlink cannot redirect a read
or write); the file tools check every path with the platform, including
container-absolute ones. Phone numbers no longer appear in logs.
OtoDock 1.5.0
Two headline additions — your agents on your own machines, and your agents
on the phone — plus departments, shared knowledge libraries, a 3D company
map, live voice conversations, and a long list of fixes.
Added
- Remote machines. Pair a Linux, macOS or Windows computer with a
one-line install and run your agents on it, with full access to that
machine's files, apps, network and tools — same chat, same live streaming,
same dashboard. The connection is outbound-only (no open ports), pairing
codes are single-use, and every capability is an explicit grant. Files
sync both ways (generated build folders are skipped automatically), idle
sessions survive platform restarts, machine cards show each machine's CLI
versions, and the satellite keeps itself up to date. Two tools ride along
for agents on a machine: browser control (drive a real, logged-in
Chrome/Edge) and computer control (screen, mouse and keyboard). - Phone calls. Agents answer and place real phone calls, through Twilio
(paste an account SID and token; calls enter through your existing
dashboard URL) or your own Asterisk/FreePBX. Calls run on the live voice
pipeline: natural replies, talk-over interruptions, a spoken line before
each tool call. Routes can require a keypad PIN (lockouts after repeated
failures) and keep a 30-day call log. The phone service is part of the
standard install and idles until telephony is configured; its image is
published with every release. A phone-calls tool places outbound calls
from chats and tasks, and a transcription tool turns audio and video into
text and SRT subtitles. - Live voice conversations. A phone-style mode in chat: open mic with
echo cancellation, instant barge-in (even while the agent is silently
using a tool), a live transcript in the composer, short spoken replies
while documents and dashboards still render, click-to-edit drafts, and
agents that can end the call themselves. Say "Hey OtoDock" (or "Hey"
plus an agent's name) on any dashboard page to start one hands-free —
detection runs entirely in your browser, per-user opt-in. Needs the phone
service's voice engine; it replaces the earlier hands-free mode. - Departments. Create departments with named levels (up to 8), give each
agent a department and level, and delegation wires itself: peers to peers,
each level to the one below or the whole subtree, and results back up to
the level above. A chain guard stops delegation loops (depth capped at 4),
the Agents page groups agents by department, and each agent's prompt
states its place in the org. - Delegation between agents. Hand work to another agent as a visible
parallel session you can watch, steer and continue; the result comes back
as a report.send_filesdrops workspace files into another agent's
inbox. A scheduled run can read what the agents on its roster did (tasks,
sessions, triggers, notifications) — enough for a CEO agent's morning
briefing — while your own sessions read only what you could see yourself. - Shared knowledge libraries. Share an agent's knowledge folder, or any
subfolder, under a name of its own and attach it to other agents read-only
or writable, on remote machines too. Writable copies flow edits and
deletes back to the source at the end of the turn; read-only copies are
healed, with stray edits kept in the Recover bin. Abulletin/<library>.md
file is loaded into every attached agent's context — a standing team
briefing. Manager-created scheduled tasks and delegated workers can write
knowledge as well. - A 3D company map. The Agents page is a moonlit world where each
department stands on its own base: agents arranged by level, activity heat
and live "responding" pulses, delegation lines between agents, zoom as
navigation, arrow keys on desktop. The classic grid is one toggle away and
the automatic fallback without WebGL. - Team dashboards. Pin a mini-app for the whole team or just for you
from any chat, hide a shared app for yourself, ship dashboards inside
community agent templates, and a lone dashboard becomes the agent's
chrome-free home page. Dashboards use the full width on desktop, and the
mini-app kit gained three.js with glow effects. - Chat. Drag or paste files into the composer with live upload progress;
uploads of any size pass strict gateways in ~32 MB parts and resume after
a blip; runs of tool calls fold into one summary line (Compact/Detailed
setting); file paths in replies open a live preview; typing into a busy
Claude chat stops the turn gracefully and answers at once; question cards
show each option's full content; notifications open with the sending
agent's identity and are capped to headline length. - Engines and models. Claude Fable 5.1 is the default Claude model, with
Claude Code 2.1.258 and Codex 0.149.1 pinned. Pin a single scheduled task
to its own model or engine, switch a finished task chat to another engine,
and get 72h/24h warnings before a connected Claude or ChatGPT login
expires, with a one-click Reconnect; a dead login is reported at once
instead of retried forever. - Skills and tools. Skills can bundle scripts (Anthropic's skill-creator
ships built in); install any standard skill folder from a zip; agents can
browse and request skills and discover every MCP installed on your
platform; a built-inotodock-platformskill teaches every agent how
OtoDock itself works; approving an MCP request lets you pick the instance,
and a missing instance shows as "Needs instance" instead of a failure.
Agents can write their own persona, and managers are told while it is
still empty. - Integrations. Personal access tokens can be saved as separate labeled
accounts (a repo-scoped token for one agent next to your own), API-key
integrations connect with just the key, and a second Google-powered MCP
extends the existing grant instead of replacing it. Excel writes gained
real dates, format presets, named-range dropdowns and validation removal. scripts/sandbox-doctor.shexplains why agent sandboxes cannot start on a
host (including the Ubuntu 24.04 user-namespace hardening), which the
platform now also detects and names at startup.
Changed
- Delegated workers report back; callers no longer reply by delegation just
to acknowledge a result. - The Groq text classifier is the default end-of-turn judge for every
phone-mode language, with the on-box Smart Turn model as the fallback;
existing installs keep their stored choice. - Voice replies keep talking through tool work and start faster; the
first-generation buffer is tunable per ElevenLabs provider row. - Model pricing is refreshed to both vendors' current lists (GPT-5.6 tiers,
Claude Sonnet 5 at $2/$10) for cost attribution. - Satellite auto-update pauses after two rollbacks of the same version;
"Update now" retries it. - Meetings convened by sessions without a user are limited to the agent's
delegation targets, and the roster is labeled "Delegation Targets". - Document text extraction truncates at 512 KB with ranged-read guidance,
and every document read, render and write runs in a memory-bounded worker
so one pathological file cannot take the host down. - The "Active now" panels collapse and scroll instead of pushing the page.
Fixed
- Voice conversations: barge-in truly interrupts, including silent tool
phases; the transcript keeps the whole utterance; replies no longer
stutter, fall silent late in a session or lose your first words; the mic
survives long pauses and stays muted when you mute it; a conversation
survives its engine process dying; the halo and status follow reality. - Phone calls no longer go deaf mid-call, crackle, or get cut by false
barge-ins from background noise (phone_bargein_timer_snow means the
minimum speech duration of an interruption). - Dictation in non-English languages no longer drops words already shown.
- Shared libraries: a file deleted in a writable copy no longer comes back,
and restoring from the Recover bin into a read-only library is refused. - Uploads: no endless "Processing…" when no machine needs the file, chunked
uploads finish on Docker installs, big batches queue with progress,
oversized files say so, huge photos are downscaled instead of dropping the
connection, and the photo viewer no longer closes by itself. - Delegation: worker results are no longer cut off or shown twice, the
delegating agent reliably wakes to read them, and usage is attributed to
the model that actually ran. - Sessions: scheduled tasks no longer die at birth or get closed while
waiting on a question or a stalled tool; interactive/headless races and
duplicate spawns are gone; remote machines shed idle sessions instead of
refusing at capacity, forget no ghost sessions after a restart, and run
exactly the pinned CLI. - Task runs no longer report engine failures as successful empty runs, and
a task pinned to another engine no longer runs with the wrong model. - Logins: a transient provider outage no longer expires a healthy
subscription, and the "expires soon" warning fires at most twice. - Permissions: agent sessions see only what their user could (tasks,
triggers, notifications, webhook subscriptions), and viewers can no longer
replace a team dashboard. - Integrations: OAuth MCPs that refresh tokens in place start on shared-only
agents, Codex keeps MCP URLs with query strings intact, the sign-in page
no longer reload-loops with the wake word enabled, and bare-metal installs
apply MCP compose changes on restart. Community catalog: github-mcp 1.1.0
fixes schema failures on resumed sessions with Claude Code 2.1.243+. - Also fixed: Excel named-range corruption and stacked validations, file
paths pasted as links reloading the page, stale "Active now" titles, agent
settings overflowing on phones, and the 3D map's t...
OtoDock 1.4.0
Added
- Agents can create agents. Ask an agent to build you a new one — it
interviews you, writes the new agent's persona, tools, schedules and
onboarding into a template, and installs it with you as its manager.
For platform creators and admins; tools the new agent needs that aren't
installed yet go through the usual approval queue. On upgraded installs,
agents created before 1.4.0 don't get the new tool automatically —
enable it per agent from Agent Settings (new agents have it). - 1GB file uploads and sync. One per-file cap (
OTODOCK_MAX_FILE_MB,
default 1024, was 100MB) governs workspace/chat uploads and file sync to
remote machines, streamed with bounded memory and written atomically. A
new workspace popup shows live upload and per-machine sync progress.
Satellites below 0.5.103 keep the old cap until they auto-update. - Claude Opus 5 replaces Opus 4.8 on the Claude Code engine (same
price); chats and tasks still pinned to Opus 4.8 are remapped once at
startup. - Continue a finished chat on a different AI engine. Once a chat's
session has ended, the model picker offers the agent's other engines —
pick one and the chat restarts from its saved history. - The model picker offers only AI engines you can actually use, and
enabling an engine on an agent now requires a platform subscription
for it. - Live "Commands" badges for Codex background terminal commands, matching
Claude chats — on remote machines too. - Rename chats and task runs from the sidebar (task runs can also be
deleted, role-gated); clipped titles show in full on hover/long-press. - Community agent templates can bundle Agent Skills, and any agent can
ship a per-user onboarding guide (config/user-setup.md) that loads
into each new user's chats until that user completes it. - Workspace quality-of-life: type-ahead selection, per-section recursive
search, right-click Refresh, and a clear warning when deleting files
too large for the Recover bin.
Changed
- The agent persona file is now
config/agent.md(wasprompt.md) —
existing agents migrate automatically at startup. Rolling back to 1.3.x
afterwards needscp config/agent.md config/prompt.mdper agent. - Interactive terminals follow the CLI's own permission modes (Shift+Tab)
instead of the platform's generic approval prompt; the platform still
enforces file-access rules and prompts for the highest-risk actions.
Headless and "Don't ask" chats are unchanged — see UPGRADING.md. - Core tools are granted when an agent is created or installed, and no
longer silently re-added on every start — removing one now sticks.
Templates can opt out entirely with"core_mcps": "none". - Agent-settings and MCP-marketplace tools no longer load in scheduled
tasks or meetings — only where a person is present and asking. - AI engine CLIs upgraded (Claude Code 2.1.220, Codex 0.145.0). Codex
costs now include prompt-cache write tokens (previously undercounted),
and GPT-5.6 context windows are corrected to 272k. - Codex sessions on machines paired with full filesystem access are no
longer confined to the workspace by Codex's own sandbox; the platform's
permission prompts and path policy still apply. - Task-history deletion follows the task role matrix, and on shared-only
agents viewers can no longer delete shared chats. - AI chat titles appear much sooner on long, tool-heavy first turns.
Fixed
- Chat stability: no more self-scrolling when document previews load,
long chats scroll inside the chat again, and the "Connect an AI engine"
banner no longer covers the top bar. - Mini-apps and artifacts: action buttons can call every platform tool,
external links open properly (after a one-time consent), and apps
written as complete HTML documents regain theming, actions and live
data. - Tools approved from Agent Settings now start automatically, and saving
changed tool credentials restarts the tool's container by itself. - Document tools: page screenshots return in seconds instead of timing
out, scanned PDFs are read with vision (OCR gains a language option and
much smaller output), and PDF page export no longer fails on files it
just wrote. - Codex: sandboxed commands work in personal chats, local model endpoints
(Ollama/LM Studio) connect again, and permission hooks run on Windows. - Also fixed: relative paths in terminal commands, opening a freshly
granted agent without a page reload, agent managers without a platform
role saving configuration, agent renames showing in chat, YouTube links
embedding again, and the memory tool recovering from malformed calls.
Security
- On a shared agent, a colleague's live terminal now opens read-only with
a Take over button instead of accepting your input into a session
running under their account and permissions; terminal messages are
attributed to whoever typed them. - Updated
pyasn1to 0.6.4 (two denial-of-service advisories).
OtoDock 1.3.2
Added
- The installer now offers a one-time host tuning (
vm.swappiness=10via
/etc/sysctl.d/, sudo-gated, safe to decline) that prevents dashboard
stalls after memory-heavy tool runs. Existing installs can apply it once
withsudo bash scripts/setup-host-tuning.sh.
Fixed
- Viewing a generating chat from more than one device or tab no longer makes
the view reload every few seconds — all viewers now stream the turn live,
simultaneously. This also removes the response lag those reloads caused. - The chat no longer flashes a reload right after a response completes, and
sending a message to a live interactive terminal from the chat input no
longer reloads the terminal view. - Hardened the Windows shell-wrapper analysis in the command permission gate
against pathological regex backtracking on adversarial command strings. - SSO login no longer fails with "OIDC not configured" until a proxy restart
when the identity provider was unreachable at proxy startup (e.g. proxy and
a co-hosted IdP cold-starting together after a power cut). OIDC endpoint
discovery now retries automatically on the next login attempt, at most once
per 30 seconds; explicitly configured endpoint URLs are never overwritten. - Admin accounts now see only their own personal folder in the agent
workspace file browser, like managers — this also fixes admins sometimes
being shown an empty "My Workspace". - Workspace sync to a user-paired remote machine now runs with the owner's
per-agent role instead of full admin authority, and agentconfig/files
are never deleted through sync absence-inference anymore (deliberate
deletes still propagate). Previously a machine that had lost its working
copy could delete the agent's prompt on the platform at sync time. - Deleted personal files in the recover bin are now restorable only by their
owner; shared workspace/knowledge/config entries keep their
editor/manager tiers.
OtoDock 1.3.1
Fixed
- The Remote Machines settings tab no longer appears after a fresh login on
builds that ship without the remote-machines feature. Every login response
(password, 2FA, passkey, OAuth, account creation) now carries the same
feature flags as/auth/me, so the dashboard sees the correct feature
state immediately instead of only after a page reload. - Idle session cleanup works from the moment the server boots: sessions
with no recorded activity were mistakenly held open for the first
15 minutes after a host restart.
OtoDock 1.3.0
Upgrade note (Docker installs from before 1.2.0): the compose file now
reads operator settings from a.envfile next todocker-compose.yml
(older installs usedconfig.env). If your settings still live in
config.env, rename it —mv config.env .env— or set
OTODOCK_ENV_FILE=config.env. Starting without a.envfile no longer
crash-loops: the proxy detects Docker's silently-created directory and
stops with instructions naming the exact fix.
Added
- The video toolkit. Agents can now produce finished videos end to end.
Three MCPs ship with the platform: video-gen (AI footage, transitions
and Runway Aleph edits, with your Google / Runway / fal.ai keys),
music-gen (ElevenLabs music and sound effects) and tts (voice-overs
via the platform's TTS providers). The video-tools editing MCP
(timelines, transitions, captions, color grading, FFmpeg rendering) is in
the community catalog, installable on any 1.0+ install. - One-command install.
scripts/install.shbootstraps a fresh Docker
install end to end: Docker preflight,.envgeneration, the Ubuntu 24.04+
AppArmor step, and first start. - Chats tell you where they run: a chat stays on the machine it started on,
says so when that differs from the agent's current machine, and an
owner/admin can move it to the current machine with its conversation
reloaded. - Delegation: a session can adopt an existing project as its orchestrator,
and the delegation tool lists each agent's layers and models so requests
are validated instead of failing blind. - The SSH MCP can list its authorized hosts mid-session (
list_ssh_hosts).
Changed
- Interactive terminal sessions are enabled by default, and tool
permission prompts are now risk-based: read-only tools never prompt,
reversible actions stop prompting in Accept Edits mode, and outward-facing
or costly actions always prompt. MCPs without a declared tier keep their
old prompting behavior. - The installer installs into the directory it is run from, refuses your
home directory, and performs fresh installs only, as before. - Per-agent roles decoupled from the platform role: any non-admin user
can hold any per-agent role (manager / editor / viewer). - Shared-only agents bill the person, not the platform: dashboard chats
are attributed to the user whose subscription serves the session, and a
shared chat changing hands recycles the live session under the new sender
so one user's messages never spend another user's account. - Remote agents allowed to run
sshcan read~/.ssh/configand
known_hosts(private keys stay unreadable, writes stay denied).
Fixed
- Interactive terminals: the first message into a cold terminal is no longer
lost, assistant text no longer duplicates, a dying CLI says "process
exited" instead of going blank, opening a terminal no longer overwrites
your clipboard, and Codex permission questions show their card in headless
mode. - Remote machines: replies no longer land one turn late after background
work, the first workspace sync shows live progress instead of silent
minutes, zero-byte files and folder deletions sync correctly, files on the
machine's own disk preview and save reliably, and MCPs that need a newer
Python install it instead of failing forever. - Delegation: results reliably wake sleeping orchestrators (and are replayed
if delivery fails), stopping a worker mid-turn no longer kills its
session, and the "Delegated" badge always completes. - Documents: previews in older chats no longer show "session expired", and
the setup wizard pins document preview to the address you browse from, so
fresh installs get a working preview on any origin. - Tasks: "Run now" shows an honest queued state and attaches the open chat
when streaming starts;run_taskwithwait: trueworks again. - Connected Claude accounts keep their plan tier (Max/Pro) across token
refreshes, so sessions no longer refuse plan-included models. - Voice input no longer appends an invented filler word after you stop
speaking. - Plus a round of smaller fixes across meetings, chat deletion, skill
loading, passkeys, browser-tool contention, and platform shutdown.
Security
- Interactive terminal sessions enforce the chat's permission mode: in
Default mode, file edits, gated shell commands and tool calls prompt in
the terminal before running; mode changes made inside the terminal are
respected. - Display and media hooks are confined to the agent workspace, closing a
path that could read arbitrary proxy-host files into the chat. - OAuth connect pages escape reflected input and confine post-login
redirects; API errors return clean messages and keep exception detail
server-side. - Template and text regexes are linear-time (ReDoS), the per-session Codex
config is written owner-only, and prompt-file loading is confined to the
agent tree. - Dependency refresh across the proxy and bundled MCP servers — every open
Dependabot advisory with an available fix is cleared.
OtoDock 1.2.0
Added
- Agent Skills. Skills now follow the industry-standard Agent Skills format
(SKILL.md, agentskills.io) and load two ways:always(inlined into the
system prompt) oron_demand(loaded only when a task matches — most skills
moved there, slimming every system prompt). Standalone skill packages install
from the new community-skills catalog — seeded with curated Anthropic and
OpenAI skills — with the same admin approval flow as MCPs, managed from a new
Skills tab in Agent Settings and a Skills page in admin settings. Docker
installs gain a named volume (otodock-skills), created automatically by
docker compose up. - Real equations in documents. Agents write LaTeX math into Word (native,
Word-editable), PDF (vector-rendered), PowerPoint and Excel (high-resolution
images that persist across later edits), and read it back out as LaTeX.
sympy now ships in the baseline agent toolchain — existing hosts pick it up
on the next installer run or image rebuild. - Previous-version document previews. When an agent delivers a new version
of a document it already previewed, the old preview stays on screen as a
view-only "previous version" you can scroll back to and compare; only the
newest preview is editable, and a file keeps at most two full previews.
Changed
- Spreadsheet reads return a coordinate-labeled grid and every write reports
back the cells it touched — fixing a class of answers-one-column-off errors.
Fresh formulas show as formulas, and malformed operations are reported
instead of silently skipped. - Skill context exclusions now actually apply: scheduled tasks and phone calls
no longer load skills whose manifest excludes those contexts. - Repeated reads of the same remote-machine file are now instant: the platform
first asks the machine whether the file changed (satellite 0.5.95 —
connected machines self-update) and serves its cached copy when it hasn't.
Any doubt still transfers the full file.
Fixed
- A connected account revoked at the vendor no longer retries its token
refresh every minute forever — refreshes back off, and a definitively
revoked account waits until you reconnect it. - Document preview: now works on bare-metal installs served over plain HTTP or
a non-default port ("refused to connect"), survives Collabora stalling on
heavy spreadsheets, keeps an idle document loaded for 2 hours (was 1), and a
view-only viewer can no longer place an editing lock that blocked other
users' saves. - The shared local browser no longer opens by itself: the window now appears
only when an agent actually runs a browser action, and stays closed once you
close it. - Interactive terminal: content no longer goes missing after sitting idle, no
keypress is needed to revive scrolling, switching chats no longer leaks a
GPU context, and a prompt sent while the terminal was still starting is
delivered once it's ready instead of silently dropped. - Task runs opened from the sidebar now show the run's real model and
permission posture instead of the viewer's own selections — and a task's
"Don't Ask" mode no longer leaks into the next new chat you open. - A scheduled task whose agent left a background command running forever no
longer loops endlessly re-reviewing it — the task waits a bounded time and
completes, noting anything still running. - Remote machines: a newly created, deleted, or catalog-installed agent shows
up in Remote Machines without a page reload; uploads to remote agents no
longer stall for the length of the transfer (the copy continues in the
background and a prompt referencing the file waits for it to land); and
document reads over slow connections get the platform's full 150 s transfer
window instead of failing at 5 s. - Community MCP containers self-heal after the install's identity changes
(stale container names are re-stamped and the start retried); containers
from a different OtoDock install are named in a boot warning, never
touched. - Silent failures now fail loud at boot: one ERROR names the cause and fix
when stored credentials can no longer be decrypted (changedJWT_SECRET/
config.env), another lists the exact columns when the database schema is
missing ones the code expects. - Docker installs on Ubuntu 24.04+ no longer fail at boot with a namespace
error. OtoDock ships a scoped AppArmor profile (otodock_userns) that
grants the needed capability to the OtoDock container only — instead of the
widely-circulated workaround that disables that kernel hardening
system-wide.scripts/compose.shinstalls it automatically (one-time sudo);
pull-only installs runscripts/setup-apparmor-userns.shonce and set
OTODOCK_APPARMOR_PROFILE=otodock_usernsin.env.
OtoDock 1.1.1
Changed
- Chat dictation can now run up to 3 minutes per take (was 60 seconds, which
cut long dictations off mid-sentence). Admins can tune this with the
audio_chat_stt_max_secondssetting.
Fixed
- Live voice mode no longer sends truncated turns. The auto-send fired the
moment the silence timer expired, racing the speech provider's own
end-of-utterance commit — long turns went out with the tail missing and
anything said after was lost. The mic now stops first, the provider flushes
everything it heard, and the full transcript is what gets sent. Stopping
dictation likewise waits briefly for that flush, so the last sentence is
never dropped. - Dictation no longer doubles your sentences. Two ways a hidden second
recording session could be left running — a slow microphone connect timing
out, and stopping the mic while it was still connecting — meant a retry had
multiple sessions transcribing the same microphone, so every sentence landed
in the input twice (or more, stacking with each retry). - The sidebar's "Active now" strip shows the real titles of live chats (it
showed "New chat" for chats that started after the page loaded — most
visible in the task-history view).
OtoDock 1.1.0
Added
- Images opened full-screen from a gallery can now be zoomed: pinch on touch,
mouse wheel or double-click on desktop, with panning while zoomed. Long
captions are shown in full.
Fixed
- Video fullscreen on mobile no longer pins the screen to landscape: wide
videos still rotate as a starting cue, but turning the phone upright rotates
the video back to portrait fullscreen. Vertical videos are no longer rotated
to landscape when fullscreen starts before the video dimensions are known. - ElevenLabs speech-to-text no longer invents trailing text after you stop the
chat mic. Stopping after a pause committed a silence-only buffer, which the
model would "transcribe" into words never spoken (most noticeable in
non-English dictation). - A speech-to-text provider that fails (bad API key, quota, connection) now
shows an error on the chat mic instead of a mic that hears nothing. - Audio settings: the provider API-key row (Save/Remove buttons) no longer
overflows the screen on mobile.
OtoDock 1.0.2
Added
CHANGELOG.md. From this release on, every version ships its notes with it, so you can see what changed before you pull.
Fixed
- The proxy reported version
1.0.0in its API documentation regardless of which release was actually running. It now reports the running version.
Upgrading: docker compose pull && docker compose up -d. No configuration or schema changes.
Full changelog: v1.0.1...v1.0.2