releases/v2026.618.0.md
Released: 2026-06-18
company_id foreign key so plugin data is isolated per tenant. (#5864, #7525, #5865, @stubbi)codex, pi, opencode, and gemini local adapters can now route through custom providers and gateways via environment configuration (custom providers, small/cheap model selection, remote allow-all) — a key prerequisite for running your own model gateways. (#7919, #7920, #7837, #7918, @stubbi)executionRunId/checkoutRunId are cleared on release, reassignment, checkout, and run finalization (with a backstop sweeper), orphan execution locks are cleared when a run finalizes, and stale checkout run ownership is safely adopted. (#5110, @vbalko-claimate; #2482, @alcylu; #6008, @nicorodrigues; #4318, @AyeletMorris-ShieldFC; #5413, @ivasuy)prefers-color-scheme, and there's a theme toggle right on the unauthenticated auth page. (#5873, #5874, @stubbi)TRUST_PROXY now accepts a CIDR list and named subnets, making correct client-IP handling behind load balancers and reverse proxies much easier to configure. (#5872, @stubbi)codex_local adapter's model options. (#5575, @Buywatermelon)agents:create permission, so lower-privileged principals can inspect configuration. (#3725, @stubbi)scrollIntoView walks past the body, and stays pinned on comment submit. (#8071, @devinfoley; #8041, @dosthcpp)VOLUME keyword was removed from the image for Railway compatibility. (#2619, @br-creative)gosu when the process is already running as the target user. (#2908, @stubbi)sessionId across an adapter swap or when the agent's model changes, and session IDs are validated as UUIDs before --resume. (#4109, @kengraversen; #4195, @nirarazi; #1742, @nydamon)gemini_local treats token-overflow as a fresh-session signal, claude_local recovers from a poisoned previous_message_id 400, and runs auto-retry on Claude "Could not process image" 400s during resume. (#4932, @sherifkozman; #5972, @redmutex; #3276, @nullEFFORT)codex_local replaces a stale auth.json copy with a symlink on prepare, omits the default model so the CLI picks per auth mode, and there's added test coverage for the EEXIST symlink race. (#5240, @HKTITAN; #7971, @devinfoley; #5269, @abhishekgahlot2)?status= filter and no longer crashes on repeated keys. (#4890, @Lempkey)Intl.DateTimeFormat is now cached per timezone in the cron minute-stepper, reducing per-tick overhead. (#8034, @aronprins)Thank you to everyone who contributed to this release!
@abhishekgahlot2, @alcylu, @Alex-yang00, @aronprins, @AyeletMorris-ShieldFC, @bluzername, @br-creative, @Buywatermelon, @carmandale, @dbezar, @DissidentAI, @dosthcpp, @HKTITAN, @ivasuy, @kengraversen, @Lempkey, @ming0627, @nicorodrigues, @nirarazi, @nullEFFORT, @nydamon, @redmutex, @roy493, @sherifkozman, @stubbi, @sunghere, @tommypoltev, @tvskart, @vbalko-claimate, @xidui