1.25.0 (2026-10-06)
<!-- Release notes generated using configuration in .github/release.yml at main -->What's Changed
Features
- feat: outline the back navigation control on settings sub-pages by @errmakov in https://github.com/OpenHands/OpenHands/pull/17587
- feat(settings): bulk-add provider models as LLM profiles by @georgeglarson in https://github.com/OpenHands/OpenHands/pull/16426
- feat: add direct-prompt Model Router settings by @juanmichelini in https://github.com/OpenHands/OpenHands/pull/16147
- feat(canvas): retire streaming slots by event id and delete the text-matching reconciler by @VascoSch92 in https://github.com/OpenHands/OpenHands/pull/17465
- feat(apps): add Update action for installed Canvas Apps by @VascoSch92 in https://github.com/OpenHands/OpenHands/pull/17736
- feat(settings): per-connection bulk-add LLM profiles by @juanmichelini in https://github.com/OpenHands/OpenHands/pull/17723
- feat: add Model Router "Run at conversation start" toggle by @juanmichelini in https://github.com/OpenHands/OpenHands/pull/17797
- feat(automations): show templates on cloud backends and offer native git integrations by @hieptl in https://github.com/OpenHands/OpenHands/pull/17830
- feat(chat): add optional voice dictation to the chat input by @VascoSch92 in https://github.com/OpenHands/OpenHands/pull/17804
- feat(automations): filter the automations dashboard by creator by @henriquehirako in https://github.com/OpenHands/OpenHands/pull/17814
- feat: auto-enable 'Run on first message' when the first router is created by @juanmichelini in https://github.com/OpenHands/OpenHands/pull/17840
- feat(conversation): give the drawer tab strip real tab semantics by @errmakov in https://github.com/OpenHands/OpenHands/pull/17612
- feat(canvas): render a canvas extension's manifest-declared SVG icon by @VascoSch92 in https://github.com/OpenHands/OpenHands/pull/17877
- feat(automations): offer the built-in integration before issue-to-PR templates by @hieptl in https://github.com/OpenHands/OpenHands/pull/17868
- feat(agent-profiles): pick every tool from the server's catalog; pin SDK 1.53.0 by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/17516
- feat(agent-profiles): give a profile its own persona or extra instructions by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/17843
- feat(files): configure workspace file discovery by @kr1shna-exe in https://github.com/OpenHands/OpenHands/pull/17869
Bug Fixes
-
fix(frontend): keep plugins search usable on narrow screens by @FOWEPJF255 in https://github.com/OpenHands/OpenHands/pull/17592
-
fix(frontend): promote compact token counts to the next unit when rounding reaches it by @shinji00222 in https://github.com/OpenHands/OpenHands/pull/17469
-
fix(model-selector): correct misspelled perplexity provider key by @Harsh23Kashyap in https://github.com/OpenHands/OpenHands/pull/17464
-
fix: detect Dockerfile language from directory-qualified paths by @jabrailkhalil in https://github.com/OpenHands/OpenHands/pull/17152
-
fix(chat): make long /btw responses scrollable by @KXHXK in https://github.com/OpenHands/OpenHands/pull/16116
-
fix(tests): give the LLMModel fixtures the fields the type now requires by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/17750
-
fix: keep local session keys off externally reachable listeners by @neubig in https://github.com/OpenHands/OpenHands/pull/17007
-
fix: preserve canonical LLM settings during onboarding by @neubig in https://github.com/OpenHands/OpenHands/pull/17211
-
fix(frontend): show progress while onboarding starts a chat by @neubig in https://github.com/OpenHands/OpenHands/pull/17212
-
fix(canvas): respect scoped runtime clients and workspace capabilities by @neubig in https://github.com/OpenHands/OpenHands/pull/17387
-
fix: title generation uses the same LLM as the running agent profile by @juanmichelini in https://github.com/OpenHands/OpenHands/pull/16886
-
fix: preselect router classifier model so it is created when no profiles exist by @juanmichelini in https://github.com/OpenHands/OpenHands/pull/17835
-
fix: consume consent-aware website PostHog handoff by @malhotra5 in https://github.com/OpenHands/OpenHands/pull/16976
-
fix(child-conversations): link Cloud children to Agent Canvas by @lilagrc in https://github.com/OpenHands/OpenHands/pull/17842
-
fix(automations): page the list by offset so Load more works past 100 by @henriquehirako in https://github.com/OpenHands/OpenHands/pull/17839
-
fix(router): complete Flash template prompt and inject model table by @juanmichelini in https://github.com/OpenHands/OpenHands/pull/17860
-
fix: back off and stop refetch-on-focus bursts that trip cloud rate limits by @tofarr in https://github.com/OpenHands/OpenHands/pull/17984
-
fix(websocket): reconnect on foreground, disconnect cleanly on mobile background by @tofarr in https://github.com/OpenHands/OpenHands/pull/17982
-
fix: block hidden Canvas settings pages when locked to a Cloud host by @hieptl in https://github.com/OpenHands/OpenHands/pull/17866
-
fix(automations): hide agent profiles for preset actions by @qingshungLI in https://github.com/OpenHands/OpenHands/pull/17971
-
fix: provide runtime services to named agent profiles by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/17279
-
fix(frontend): preserve saved prompt suffix for inline and profile launches by @Harsh23Kashyap in https://github.com/OpenHands/OpenHands/pull/17719
-
fix(settings): keep the Agent Canvas update dialog inside phone viewports by @enyst in https://github.com/OpenHands/OpenHands/pull/18008
-
fix(agent-profiles): save task_tracker with delegation tools (workaround for SDK#5519) by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/18001
-
fix(a11y): one Settings main landmark, Customize aria-current, synced html lang by @enyst in https://github.com/OpenHands/OpenHands/pull/18012