DevoxxGenie 1.15.0: Favorite Models, Per-Project Scan Settings, and a Smarter fetch_page
Most of DevoxxGenie 1.15.0 was written by contributors outside the core team, and two of its features were written by a Codex agent live on stage during the Devoxx Belgium 2026 opening keynote. The agent worked from a Backlog.md task while Groma.md showed what it was changing in DevoxxGenie's architecture.
Here's what's new.
⭐ Favorite models
If you switch between a few models across several providers, getting to them used to mean two dropdowns: choose the provider, wait for its models to load, then find the one you want.
A star next to the model dropdown now marks the selected model as a favorite. A new Favorites entry lists your favorites from every provider, and choosing one switches the provider and the model together.
- Availability is checked in the background. A favorite whose provider no longer offers that model stays in the list but is disabled, so you can see why it's unavailable.
- Favorites survive an IDE restart. You can remove them from Settings → DevoxxGenie → LLM Settings.
The provider and model dropdowns are also hidden when they hold only one entry, and they come back as soon as there's a choice. If you only use one local provider, you won't see a dropdown you never need.
Thanks to @MrLesk (#1327, closes #1077 and #1322).
📁 Scan & Copy settings, per project
Included file extensions, excluded folders and files, .gitignore handling and RAG directory exclusions used to be global. A Java monorepo and a TypeScript side project had to share one list of exclusions, which suited neither.
These settings are now stored per project, in the project's workspace file:
- A project without its own settings starts from a copy of your current global values, so nothing changes until you edit a project.
- The Scan & Copy Project settings page shows which project it's editing.
- Project scanning, Copy project, Add project to prompt, the token count and RAG indexing all use the settings of the project they run in. With two projects open, each one keeps its own.
This is the second keynote PR, also from @MrLesk (#1329, closes #287, one of the oldest open issues).
🌐 fetch_page returns Markdown
When an agent read a documentation page with fetch_page, it used to get Jsoup.parse(body).text(): all the visible text run together. On a Docusaurus site the whole page came back as one line, code samples lost their line breaks, tables turned into a run of words, and every link URL was dropped.
fetch_page now converts HTML to Markdown. That keeps headings, fenced code blocks with their language, tables, lists and absolute links, and drops navigation, footers, scripts and hidden elements. When a page has a <main>, only that part is used. It also asks for text/markdown first, so sites that already serve Markdown send it directly.
| Page | Before | After |
|---|---|---|
| docs.langchain4j.dev/tutorials/tools | 1 line | 1,886 lines |
Javadoc HttpClient | 26 lines | 644 lines |
| github.com/langchain4j/langchain4j | 1 line | 283 lines |
The fetch is also bounded now:
- Downloads are capped at 10 MB / 60 s.
- Redirects are only followed on the same host. A redirect to another host is returned to the model as a URL, so fetching it is a separate tool call.
- URLs with credentials, hosts without a dot, and hosts that resolve to loopback or link-local addresses (like
localhostor the cloud metadata address169.254.169.254) are rejected. - Pages are cached for 15 minutes.
Thanks to @omarmahamid (#1339).
🤖 The Claude 5 family
Claude Fable 5.1, Opus 5.5, Opus 5, Sonnet 5 and Sonnet 5.5 are now in the model list for both the Anthropic and AWS Bedrock providers, with pricing and context windows.
These models reject a non-default temperature, so DevoxxGenie no longer sends one to them. The rule lives in one shared ClaudeModels class used by both providers (#1310, #1313, by @omarmahamid).
🔌 MCP on the langchain4j 1.20+ client
langchain4j 1.19 removed the legacy 2024-11-05 HTTP+SSE MCP transport and didn't replace it. In 1.14.0 we pinned langchain4j to keep it working. This release removes the pin and moves to the new MCP client instead:
- Existing
HTTP_SSEserver configurations still load. They now run over Streamable HTTP and are saved asHTTPthe next time you edit them. - The protocol version is negotiated automatically: 2026-07-28 when the server supports it, otherwise 2025-11-25.
- Test Connection in settings now builds its transport exactly as real execution does.
MCP servers that only speak the old SSE protocol are no longer supported. If one of your servers stops connecting after the update, check whether it has a Streamable HTTP endpoint.
🛠 Fixes worth knowing about
- The agent no longer forgets your task mid-run. Each tool call adds two messages to chat memory, and the window evicts the oldest message first. On a long run that was your original prompt, so the agent kept working without knowing what it was for. Sub-agents hit this after only five tool calls. A new memory implementation evicts the oldest finished tool call instead while the loop is running (@omarmahamid, #1308).
- Ollama models load reliably. Three bugs together could leave the model list empty with "LLM provider is not running" while Ollama was running fine. One model returning an empty
/api/showresponse (likegemma3n:e4b) was enough to hide all of them. A failed context probe now falls back to a default context window, the probe fails fast instead of retrying for about 90 seconds, and a provider that was down is checked again after 15 seconds (@SamyNassiem, #1324). - Bedrock Bearer Token auth works, and Claude Opus 4.7+ no longer fails with HTTP 400 because of
temperature(@omarmahamid, #1306). - Images attached to CLI and ACP runner prompts reach the runner, and follow-up prompts no longer fail after an image turn (#1284).
- Answer bubbles no longer keep empty space after you resize the tool window (@omarmahamid, #1333).
🙏 Thank you, contributors
This release is mostly yours:
- @omarmahamid:
fetch_page, Claude 5 models, agent memory, Bedrock, the resize fix and repository cleanup - @MrLesk: favorite models and per-project Scan & Copy settings
- @SamyNassiem: Ollama model loading
- @dliubarskyi: moving our MCP logging off langchain4j's deprecated Jackson 2 API
Getting it
DevoxxGenie 1.15.0 is available from the JetBrains Marketplace; update it from Settings → Plugins. The full list of changes is in the changelog and the GitHub release.
Want to be in the next contributor list? Open issues are waiting.
