|
| 1 | +--- |
| 2 | +date: 2026-04-09 |
| 3 | +title: 🚀 LibreChat v0.8.5-rc1 |
| 4 | +description: The v0.8.5-rc1 release of LibreChat |
| 5 | +version: "0.8.5-rc1" |
| 6 | +--- |
| 7 | + |
| 8 | +## What's Changed |
| 9 | + |
| 10 | +### ✨ Features |
| 11 | + |
| 12 | +* 🧩 Redesign Tool Call UI with Contextual Icons, Smart Grouping, and Rich Output Rendering by [@berry-13](https://github.com/berry-13) in [#12163](https://github.com/danny-avila/LibreChat/pull/12163) |
| 13 | +* 🎛️ DB-Backed Per-Principal Configuration Override System by [@danny-avila](https://github.com/danny-avila) in [#12354](https://github.com/danny-avila/LibreChat/pull/12354) |
| 14 | +* 🧵 ALS Context Middleware and Config Cache Invalidation by [@danny-avila](https://github.com/danny-avila) in [#12407](https://github.com/danny-avila/LibreChat/pull/12407) |
| 15 | +* 👥 Admin Groups API Endpoints by [@dustinhealy](https://github.com/dustinhealy) in [#12387](https://github.com/danny-avila/LibreChat/pull/12387) |
| 16 | +* 🪪 Admin Roles API Endpoints by [@dustinhealy](https://github.com/dustinhealy) in [#12400](https://github.com/danny-avila/LibreChat/pull/12400) |
| 17 | +* 🏢 Scoped App Config in Auth Login Flows by [@danny-avila](https://github.com/danny-avila) in [#12434](https://github.com/danny-avila/LibreChat/pull/12434) |
| 18 | +* 🏗️ 3-Tier MCP Server Architecture with Config-Source Lazy Init by [@danny-avila](https://github.com/danny-avila) in [#12435](https://github.com/danny-avila/LibreChat/pull/12435) |
| 19 | +* 🏗️ bulkWrite Isolation, Pre-Auth Context, Strict-Mode Fixes by [@danny-avila](https://github.com/danny-avila) in [#12445](https://github.com/danny-avila/LibreChat/pull/12445) |
| 20 | +* ⛩️ Admin Grants API Endpoints by [@dustinhealy](https://github.com/dustinhealy) in [#12438](https://github.com/danny-avila/LibreChat/pull/12438) |
| 21 | +* 📄 Model-Aware Bedrock Document Size Validation by [@danny-avila](https://github.com/danny-avila) in [#12467](https://github.com/danny-avila/LibreChat/pull/12467) |
| 22 | +* 🔐 Admin Auth Support for SAML and Social OAuth Providers by [@danny-avila](https://github.com/danny-avila) in [#12472](https://github.com/danny-avila/LibreChat/pull/12472) |
| 23 | +* 👨👨👦👦 Admin Users API Endpoints by [@dustinhealy](https://github.com/dustinhealy) in [#12446](https://github.com/danny-avila/LibreChat/pull/12446) |
| 24 | +* 📌 Add Pin Support for Model Specs by [@berry-13](https://github.com/berry-13) in [#11219](https://github.com/danny-avila/LibreChat/pull/11219) |
| 25 | + |
| 26 | +### 🐛 Fixes |
| 27 | + |
| 28 | +* 🔑 Type-Safe User Context Forwarding for Non-OAuth Tool Discovery by [@crossagent](https://github.com/crossagent) in [#12348](https://github.com/danny-avila/LibreChat/pull/12348) |
| 29 | +* 🐛 Resolve MeiliSearch Startup Sync Failure from Model Loading Order by [@adityaarunsinghal](https://github.com/adityaarunsinghal) in [#12397](https://github.com/danny-avila/LibreChat/pull/12397) |
| 30 | +* 🗝️ Resolve User-Provided API Key in Agents API Flow by [@ESJavadex](https://github.com/ESJavadex) in [#12390](https://github.com/danny-avila/LibreChat/pull/12390) |
| 31 | +* 📸 Snapshot Options to Prevent Mid-Await Client Disposal Crash by [@danny-avila](https://github.com/danny-avila) in [#12398](https://github.com/danny-avila/LibreChat/pull/12398) |
| 32 | +* 🏁 Invalidate Message Cache on Stream 404 Instead of Showing Error by [@danny-avila](https://github.com/danny-avila) in [#12411](https://github.com/danny-avila/LibreChat/pull/12411) |
| 33 | +* 🔑 Robust MCP OAuth Detection in Tool-Call Flow by [@danny-avila](https://github.com/danny-avila) in [#12418](https://github.com/danny-avila/LibreChat/pull/12418) |
| 34 | +* 🪝 Safe Hook Fallbacks for Tool-Call Components in Search Route by [@danny-avila](https://github.com/danny-avila) in [#12423](https://github.com/danny-avila/LibreChat/pull/12423) |
| 35 | +* 🛡️ Add Origin Binding to Admin OAuth Exchange Codes by [@danny-avila](https://github.com/danny-avila) in [#12469](https://github.com/danny-avila/LibreChat/pull/12469) |
| 36 | +* 💰 Lazy-Initialize Balance Record at Check Time for Admin Panel Overrides by [@danny-avila](https://github.com/danny-avila) in [#12474](https://github.com/danny-avila/LibreChat/pull/12474) |
| 37 | +* 🖼️ Message Icon Flickering from Context-Triggered Re-renders by [@danny-avila](https://github.com/danny-avila) in [#12489](https://github.com/danny-avila/LibreChat/pull/12489) |
| 38 | +* 🛡️ Restrict System Grants to Role Principals by [@dustinhealy](https://github.com/dustinhealy) in [#12491](https://github.com/danny-avila/LibreChat/pull/12491) |
| 39 | +* 🗂️ Allow Empty-Overrides Scope Creation in Admin Config by [@danny-avila](https://github.com/danny-avila) in [#12492](https://github.com/danny-avila/LibreChat/pull/12492) |
| 40 | +* 🔏 Strip Unnecessary Fields Across Write Paths in Conversation & Message Methods by [@danny-avila](https://github.com/danny-avila) in [#12498](https://github.com/danny-avila/LibreChat/pull/12498) |
| 41 | +* 🔒 Exclude Unnecessary Fields from Conversation `$unset` by [@danny-avila](https://github.com/danny-avila) in [#12501](https://github.com/danny-avila/LibreChat/pull/12501) |
| 42 | +* 🔑 Auth-Aware Startup Config Caching for Fresh Sessions by [@danny-avila](https://github.com/danny-avila) in [#12505](https://github.com/danny-avila/LibreChat/pull/12505) |
| 43 | +* 🔁 Pass recursionLimit to OpenAI-Compatible Agents API Endpoint by [@danny-avila](https://github.com/danny-avila) in [#12510](https://github.com/danny-avila/LibreChat/pull/12510) |
| 44 | +* 🏖️ Sandpack ExternalResources for Static HTML Artifact Previews by [@danny-avila](https://github.com/danny-avila) in [#12509](https://github.com/danny-avila/LibreChat/pull/12509) |
| 45 | +* 🎯 MCP Tool Misclassification from Action Delimiter Collision by [@danny-avila](https://github.com/danny-avila) in [#12512](https://github.com/danny-avila/LibreChat/pull/12512) |
| 46 | +* 📎 Route Unrecognized File Types via supportedMimeTypes Config by [@danny-avila](https://github.com/danny-avila) in [#12508](https://github.com/danny-avila/LibreChat/pull/12508) |
| 47 | +* 🪆 Allow Nested `addParams` in Config Schema by [@danny-avila](https://github.com/danny-avila) in [#12526](https://github.com/danny-avila/LibreChat/pull/12526) |
| 48 | +* 🔐 Strip `code_challenge` from Admin OAuth Requests Before Passport by [@danny-avila](https://github.com/danny-avila) in [#12534](https://github.com/danny-avila/LibreChat/pull/12534) |
| 49 | +* 🔍 Only Show Searchbar if Enabled by [@dlew](https://github.com/dlew) in [#12424](https://github.com/danny-avila/LibreChat/pull/12424) |
| 50 | +* 🔨 Custom Role Permissions by [@dustinhealy](https://github.com/dustinhealy) in [#12528](https://github.com/danny-avila/LibreChat/pull/12528) |
| 51 | +* 📝 Properly Restore Draft Text When Switching Conversations by [@dlew](https://github.com/dlew) in [#12384](https://github.com/danny-avila/LibreChat/pull/12384) |
| 52 | +* 🗣️ Prevent `@librechat/client` useLocalize from Overwriting Host App Language State by [@shtayeb](https://github.com/shtayeb) in [#12515](https://github.com/danny-avila/LibreChat/pull/12515) |
| 53 | +* 🔎 Specify Explicit Primary Key for Meilisearch Document Operations by [@danny-avila](https://github.com/danny-avila) in [#12542](https://github.com/danny-avila/LibreChat/pull/12542) |
| 54 | +* ♻️ Reuse Existing MCP OAuth Client Registrations to Prevent `client_id` Mismatch by [@DenisPalnitsky](https://github.com/DenisPalnitsky) in [#11925](https://github.com/danny-avila/LibreChat/pull/11925) |
| 55 | +* 🚫 Hide Delete Account Button When ALLOW_ACCOUNT_DELETION Is Disabled by [@danny-avila](https://github.com/danny-avila) in [#12568](https://github.com/danny-avila/LibreChat/pull/12568) |
| 56 | +* 🎯 Use Resolved Provider for Agent Token Lookup on Custom Endpoints by [@danny-avila](https://github.com/danny-avila) in [#12574](https://github.com/danny-avila/LibreChat/pull/12574) |
| 57 | +* 🔐 Add Middleware to Admin OAuth Callback Routes by [@dustinhealy](https://github.com/dustinhealy) in [#12579](https://github.com/danny-avila/LibreChat/pull/12579) |
| 58 | +* 🧬 Merge Custom Endpoints by Name Instead of Replacing Entire Array by [@danny-avila](https://github.com/danny-avila) in [#12586](https://github.com/danny-avila/LibreChat/pull/12586) |
| 59 | +* 🧮 Atomize Redis Event Sequence Counters for Multi-Replica Deployments by [@danny-avila](https://github.com/danny-avila) in [#12578](https://github.com/danny-avila/LibreChat/pull/12578) |
| 60 | +* 📂 Enable Hidden File Upload for GitNexus Index Artifact by [@danny-avila](https://github.com/danny-avila) in [#12597](https://github.com/danny-avila/LibreChat/pull/12597) |
| 61 | +* 📂 Respect `supportedMimeTypes` Config in File Picker Accept Filter by [@danny-avila](https://github.com/danny-avila) in [#12596](https://github.com/danny-avila/LibreChat/pull/12596) |
| 62 | +* 📩 Restore Primary Action Button Visibility in Light Mode by [@UnicronBE](https://github.com/UnicronBE) in [#12591](https://github.com/danny-avila/LibreChat/pull/12591) |
| 63 | + |
| 64 | +### 🔧 Refactoring |
| 65 | + |
| 66 | +* 🎨 Redesign Sidebar with Unified Icon Strip Layout by [@berry-13](https://github.com/berry-13) in [#12013](https://github.com/danny-avila/LibreChat/pull/12013) |
| 67 | +* 🔄 Migrate to `react-resizable-panels` v4 with Artifacts Header Polish by [@danny-avila](https://github.com/danny-avila) in [#12356](https://github.com/danny-avila/LibreChat/pull/12356) |
| 68 | +* 📁 Prompts UI by [@berry-13](https://github.com/berry-13) in [#11570](https://github.com/danny-avila/LibreChat/pull/11570) |
| 69 | +* 📐 Resolve Stale Active Sidebar Panel and Favorites Row Height by [@danny-avila](https://github.com/danny-avila) in [#12366](https://github.com/danny-avila/LibreChat/pull/12366) |
| 70 | +* ⚡ Fast-Fail MCP Tool Discovery on 401 for Non-OAuth Servers by [@danny-avila](https://github.com/danny-avila) in [#12395](https://github.com/danny-avila/LibreChat/pull/12395) |
| 71 | +* ⚡ Use In-Memory Cache for App MCP Configs to Avoid Redis SCAN by [@danny-avila](https://github.com/danny-avila) in [#12410](https://github.com/danny-avila/LibreChat/pull/12410) |
| 72 | +* 🌊 Local Snapshot for Aggregate Key Cache to Avoid Redundant Redis GETs by [@danny-avila](https://github.com/danny-avila) in [#12422](https://github.com/danny-avila/LibreChat/pull/12422) |
| 73 | +* 🪢 Eliminate Unnecessary Re-renders During Message Streaming by [@danny-avila](https://github.com/danny-avila) in [#12454](https://github.com/danny-avila/LibreChat/pull/12454) |
| 74 | +* 🧹 Tighten Config Schema Typing and Remove Deprecated Fields by [@danny-avila](https://github.com/danny-avila) in [#12452](https://github.com/danny-avila/LibreChat/pull/12452) |
| 75 | +* 🏗️ Remove Redundant Caching, Migrate Config Services to TypeScript by [@danny-avila](https://github.com/danny-avila) in [#12466](https://github.com/danny-avila/LibreChat/pull/12466) |
| 76 | +* 🚫 Remove Interface Config from Override Processing by [@danny-avila](https://github.com/danny-avila) in [#12473](https://github.com/danny-avila/LibreChat/pull/12473) |
| 77 | +* ⚖️ Split Config Route into Unauthenticated and Authenticated Paths by [@danny-avila](https://github.com/danny-avila) in [#12490](https://github.com/danny-avila/LibreChat/pull/12490) |
| 78 | +* 🗜️ Eliminate Unstable React Keys During SSE Lifecycle by [@danny-avila](https://github.com/danny-avila) in [#12536](https://github.com/danny-avila/LibreChat/pull/12536) |
| 79 | +* ⚡ Short-Circuit Config Override Resolution by [@danny-avila](https://github.com/danny-avila) in [#12553](https://github.com/danny-avila/LibreChat/pull/12553) |
| 80 | +* 🧑🎨 Prompts/Sidebar Styles for Improved UI Consistency by [@berry-13](https://github.com/berry-13) in [#12426](https://github.com/danny-avila/LibreChat/pull/12426) |
| 81 | +* ⏱️ User Job Tracking TTL and Proactive Cleanup to Redis Job Store by [@danny-avila](https://github.com/danny-avila) in [#12595](https://github.com/danny-avila/LibreChat/pull/12595) |
| 82 | + |
| 83 | +### ⚙️ Other Changes |
| 84 | + |
| 85 | +* 📬 Add Forwarded Headers to Nginx SSL Proxy Template by [@christopher-b](https://github.com/christopher-b) in [#12379](https://github.com/danny-avila/LibreChat/pull/12379) |
| 86 | +* 📝 Add UTM Tracking Parameters to Railway Deployment Links by [@berry-13](https://github.com/berry-13) in [#12228](https://github.com/danny-avila/LibreChat/pull/12228) |
| 87 | +* 📝 Update Deployment Link for Railway in README and README.zh.md by [@berry-13](https://github.com/berry-13) in [#12449](https://github.com/danny-avila/LibreChat/pull/12449) |
| 88 | +* 🔬 Add TypeScript Type Checks to Backend Workflow and Fix All Type Errors by [@danny-avila](https://github.com/danny-avila) in [#12451](https://github.com/danny-avila/LibreChat/pull/12451) |
| 89 | +* 🧹 Remove Deprecated Gemini 2.0 Models & Fix Mistral-Large-3 Context Window by [@danny-avila](https://github.com/danny-avila) in [#12453](https://github.com/danny-avila/LibreChat/pull/12453) |
| 90 | +* 🧹 Clean Up Config Fields by [@danny-avila](https://github.com/danny-avila) in [#12537](https://github.com/danny-avila/LibreChat/pull/12537) |
| 91 | +* 🗒️ Update LICENSE.md Year: 2025 -> 2026 by [@neuralnotesyt-netizen](https://github.com/neuralnotesyt-netizen) in [#12554](https://github.com/danny-avila/LibreChat/pull/12554) |
| 92 | +* 📊 Add GitNexus CI/CD and Deployment Configuration by [@danny-avila](https://github.com/danny-avila) in [#12577](https://github.com/danny-avila/LibreChat/pull/12577) |
| 93 | +* 🔒 Bump MongoDB from 8.0.17 to 8.0.20 in Docker Compose Files by [@danny-avila](https://github.com/danny-avila) in [#12399](https://github.com/danny-avila/LibreChat/pull/12399) |
| 94 | +* 📦 Bump Dependabot Packages by [@danny-avila](https://github.com/danny-avila) in [#12487](https://github.com/danny-avila/LibreChat/pull/12487) |
| 95 | +* 📦 Bump `axios` to exact v1.13.6, `@librechat/agents` to v3.1.63, `@aws-sdk/client-bedrock-runtime` to v3.1013.0 by [@danny-avila](https://github.com/danny-avila) in [#12488](https://github.com/danny-avila/LibreChat/pull/12488) |
| 96 | +* 📦 Bump `mongodb-memory-server` to v11.0.1, `mermaid` to v11.14.0, npm audit by [@danny-avila](https://github.com/danny-avila) in [#12543](https://github.com/danny-avila/LibreChat/pull/12543) |
| 97 | +* 📦 npm audit by [@danny-avila](https://github.com/danny-avila) in [#12570](https://github.com/danny-avila/LibreChat/pull/12570) |
| 98 | +* 📦 Bump `nodemailer` to v8.0.5 by [@danny-avila](https://github.com/danny-avila) in [#12587](https://github.com/danny-avila/LibreChat/pull/12587) |
| 99 | +* 📦 Bump `axios`, `@librechat/agents` by [@danny-avila](https://github.com/danny-avila) in [#12598](https://github.com/danny-avila/LibreChat/pull/12598) |
| 100 | + |
| 101 | +### 🌍 Internationalization |
| 102 | + |
| 103 | +* 🌍 i18n: Update translation.json with latest translations by [@github-actions[bot]](https://github.com/apps/github-actions) in [#12458](https://github.com/danny-avila/LibreChat/pull/12458), [#12571](https://github.com/danny-avila/LibreChat/pull/12571), [#12583](https://github.com/danny-avila/LibreChat/pull/12583), [#12588](https://github.com/danny-avila/LibreChat/pull/12588) |
| 104 | + |
| 105 | +## New Contributors |
| 106 | + |
| 107 | +* [@crossagent](https://github.com/crossagent) made their first contribution in [#12348](https://github.com/danny-avila/LibreChat/pull/12348) |
| 108 | +* [@christopher-b](https://github.com/christopher-b) made their first contribution in [#12379](https://github.com/danny-avila/LibreChat/pull/12379) |
| 109 | +* [@adityaarunsinghal](https://github.com/adityaarunsinghal) made their first contribution in [#12397](https://github.com/danny-avila/LibreChat/pull/12397) |
| 110 | +* [@ESJavadex](https://github.com/ESJavadex) made their first contribution in [#12390](https://github.com/danny-avila/LibreChat/pull/12390) |
| 111 | +* [@neuralnotesyt-netizen](https://github.com/neuralnotesyt-netizen) made their first contribution in [#12554](https://github.com/danny-avila/LibreChat/pull/12554) |
| 112 | +* [@UnicronBE](https://github.com/UnicronBE) made their first contribution in [#12591](https://github.com/danny-avila/LibreChat/pull/12591) |
| 113 | + |
| 114 | +**Full Changelog**: https://github.com/danny-avila/LibreChat/compare/v0.8.4...v0.8.5-rc1 |
| 115 | + |
0 commit comments