Skip to content

Commit d93882c

Browse files
authored
✨ v0.8.5-rc1 (#556)
* docs: configuration changes * docs: update reasoning effort, summary, and verbosity sections in model_specs.mdx - Clarified accepted values for reasoning effort, reasoning summary, and verbosity, including new default values. - Updated examples and descriptions to enhance understanding of configuration options. * feat: add changelog for v0.8.5-rc1 release - Introduced new features including a redesigned Tool Call UI, DB-backed configuration overrides, and various API endpoints for admin roles and groups. - Implemented fixes for user context forwarding, MeiliSearch startup issues, and improved message handling. - Enhanced overall functionality with new middleware and server architecture improvements. * chore: update changelog
1 parent 86b8e41 commit d93882c

15 files changed

Lines changed: 536 additions & 112 deletions

File tree

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
date: 2026-04-08
3+
title: ⚙️ Config v1.3.8
4+
version: "1.3.8"
5+
---
6+
7+
- Added top-level [`summarization`](/docs/configuration/librechat_yaml/object_structure/summarization) configuration
8+
- New centralized summarization replaces the per-endpoint `summarize` and `summaryModel` fields
9+
- Configure summarization triggers, context pruning, and model settings globally
10+
- Supports `SummaryContentPart` for inline conversation summaries
11+
12+
- Added [`maxToolResultChars`](/docs/configuration/librechat_yaml/object_structure/shared_endpoint_settings#maxtoolresultchars) to shared endpoint settings
13+
- Limits the maximum character count of tool call results sent to the model
14+
- Available on all endpoints including via the `all` key
15+
16+
- Removed `endpointsMenu` and `sidePanel` from [`interface`](/docs/configuration/librechat_yaml/object_structure/interface) configuration
17+
- These fields are no longer configurable via `librechat.yaml` due to recent UI improvements
18+
19+
- Removed no-op fields
20+
- `summarize`, `summaryModel`, and `customOrder` removed from [custom endpoint](/docs/configuration/librechat_yaml/object_structure/custom_endpoint) configuration
21+
- `plugins`, `summarize`, `summaryModel`, and `customOrder` removed from [Azure OpenAI](/docs/configuration/librechat_yaml/object_structure/azure_openai) configuration
22+
- Use the new top-level `summarization` configuration instead
23+
24+
- Tightened type validation across configuration schemas
25+
- `titleMessageRole` on custom endpoints now restricted to `"system"`, `"user"`, or `"assistant"`
26+
- `headers` values on custom and assistants endpoints now must be strings
27+
- `additionalHeaders` values on Azure OpenAI groups now must be strings
28+
- `addParams` uses recursive validation with `web_search` boolean support
29+
- `paramDefinitions` now uses a fully typed schema
30+
- `engineSTT` restricted to `"openai"` or `"azureOpenAI"`
31+
- `engineTTS` restricted to `"openai"`, `"azureOpenAI"`, `"elevenlabs"`, or `"localai"`
32+
- `playbackRate` now validated with range 0.25–4.0
33+
- `scraperTimeout` and `firecrawlOptions.timeout` now require non-negative integers
34+
- `memory.model_parameters` values restricted to `string`, `number`, or `boolean`
35+
36+
- Tightened MCP server configuration validation
37+
- `timeout` and `initTimeout` now require non-negative integers
38+
- `sseReadTimeout` now requires a positive integer
39+
- `stderr` now validated as `"pipe"`, `"ignore"`, `"inherit"`, or a non-negative integer file descriptor
40+
- Connection `type` fields now have explicit defaults (`"stdio"`, `"sse"`, `"websocket"`)
41+
42+
- `endpoints.all` no longer accepts `baseURL`
43+
- The `all` key now uses a narrowed schema that omits `baseURL`
44+
45+
- `endpoints.agents` no longer accepts `baseURL`
46+
47+
- Updated `fileStrategy` and `fileStrategies` to use a narrowed storage-only enum
48+
- Valid values: `"local"`, `"firebase"`, `"s3"`, `"azure_blob"`

content/changelog/v0.8.5-rc1.mdx

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
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+

content/docs/configuration/dotenv.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ LibreChat has built-in central logging, see [Logging System](/docs/configuration
209209
['CONSOLE_JSON_STRING_LENGTH', 'number', 'Configure the truncation size for console/stdout logs, defaults to 255', 'CONSOLE_JSON_STRING_LENGTH=1000'],
210210
['LIBRECHAT_LOG_DIR', 'string', 'Custom directory for log files. Defaults to /app/logs (Docker) or api/logs (local dev).', '# LIBRECHAT_LOG_DIR=/custom/log/path'],
211211
['MEM_DIAG', 'boolean', 'Enable memory diagnostics — logs heap/RSS snapshots every 60 seconds. Auto-enabled when running with --inspect.', '# MEM_DIAG=true'],
212+
['AGENT_DEBUG_LOGGING', 'boolean', 'Enables verbose debug logging in the agent controller (token counts, context pruning diagnostics).', '# AGENT_DEBUG_LOGGING=true'],
212213
]}
213214
/>
214215

content/docs/configuration/librechat_yaml/object_structure/azure_openai.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ baseURL: "https://prod.example.com"
170170
**Key:**
171171
<OptionTable
172172
options={[
173-
['additionalHeaders', 'Dictionary', 'Additional headers for API requests.', 'It\'s recommended to use a custom env. variable reference for the values of field, as shown in the example. `api-key` header value is sent on every request.'],
173+
['additionalHeaders', 'Dictionary', 'Additional headers for API requests. All header values must be strings.', 'It\'s recommended to use a custom env. variable reference for the values of field, as shown in the example. `api-key` header value is sent on every request.'],
174174
]}
175175
/>
176176

0 commit comments

Comments
 (0)