Skip to content

Commit ab7cf05

Browse files
authored
🧾 docs: Refresh v0.8.7-rc1 Changelog (#609)
* docs: refresh v0.8.7-rc1 changelog * Update token_usage.mdx * Update config_v1.3.13.mdx
1 parent 491535a commit ab7cf05

4 files changed

Lines changed: 28 additions & 10 deletions

File tree

‎content/changelog/config_v1.3.13.mdx‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ version: '1.3.13'
115115

116116
- Added `interface.contextCost`
117117
- Controls whether usage cost is shown with context and token usage details
118-
- Defaults to `true`
118+
- Defaults to `false`; set to `true` to show usage costs in the UI
119119

120120
- Added `interface.currency`
121121
- Converts displayed usage costs from USD into another currency with `code` and positive `rate`
@@ -125,6 +125,7 @@ version: '1.3.13'
125125
- Defines per-model context windows and per-million-token rates for custom endpoints
126126
- Supports `prompt`, `completion`, `context`, and optional `cacheRead` and `cacheWrite` values for each model name
127127
- Used by real-time context tracking, visible usage/cost breakdowns, and multi-endpoint agent billing
128+
- Token-config cache entries are scoped by user when endpoint models, keys, URLs, or headers can vary by request context
128129

129130
- Updated context usage after summarization
130131
- Persisted context usage now records a summary baseline marker after compaction
@@ -134,10 +135,11 @@ version: '1.3.13'
134135
- Added `skillSync.github`
135136
- Mirrors Skills from GitHub repositories into LibreChat
136137
- Supports scheduled syncs with `enabled`, `intervalMinutes`, `runOnStartup`, and `sources`
137-
- Each source supports `id`, `owner`, `repo`, `ref`, `paths`, `skillDiscoveryDepth`, `credentialKey`, `token`, and `tenantId`
138+
- Each source supports `id`, `owner`, `repo`, `ref`, `paths`, `skillDiscoveryDepth`, `credentialKey`, `token`
138139
- Sources must provide exactly one credential reference: either `credentialKey` for a stored admin credential or `token` as an environment variable reference like `${GITHUB_SKILLS_TOKEN}`
139140
- `skillDiscoveryDepth` defaults to `2` and is capped at `10`
140141
- `intervalMinutes` defaults to `60` and must be at least `5`
142+
- Sync status responses are only shown to authorized admins
141143

142144
- Added `messageFilter.pii`
143145
- Rejects submitted text that matches credential-shaped starter patterns or operator-defined regex patterns before it reaches the model or persistence
@@ -152,6 +154,7 @@ version: '1.3.13'
152154
- Updated MCP runtime placeholders
153155
- `{{LIBRECHAT_BODY_*}}` placeholders create request-scoped MCP connections that are reused for the current run and cleaned up when the request ends
154156
- Request-scoped MCP servers are excluded from the persistent tool cache so request-specific headers and URLs are not reused outside the active run
157+
- Cleanup is tied to resumable run completion so reconnects and resumed streams keep request-scoped MCP resources alive until the run finishes
155158
- `{{LIBRECHAT_USER_*}}`, `{{LIBRECHAT_OPENID_*}}`, and `{{LIBRECHAT_GRAPH_*}}` placeholders still require user-scoped connections, but HTTP transports refresh resolved headers before each tool call without forcing a reconnect by themselves
156159

157160
- Updated outbound proxy environment handling

‎content/changelog/v0.8.7-rc1.mdx‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ version: '0.8.7-rc1'
1111

1212
- **Access Control, Auth, and MCP**
1313
- Added granular shared-link permissions, OpenID role sync, configurable OpenID token reuse windows, and MCP On-Behalf-Of token exchange for delegated downstream access.
14-
- Hardened MCP OAuth prompts, token flow categorization, OpenID audience handling, shared-link caching, auth continuation limiting, ACL principal filtering, runtime user/request placeholders, request-scoped MCP connections, request-scoped MCP tool caching, outbound proxy handling, and configurable MCP OAuth completion windows.
14+
- Hardened MCP OAuth prompts, token flow categorization, OpenID audience handling, shared-link caching, auth continuation limiting, ACL principal filtering, runtime user/request placeholders, request-scoped MCP connections, request-scoped MCP tool caching, resumable-run MCP cleanup, outbound proxy handling, and configurable MCP OAuth completion windows.
1515
- **Agents, Skills, and Projects**
1616
- Added private chat projects, agent file authoring tools, deployment-provided Skills, GitHub Skill Sync, model-spec Skill/Subagent scoping, model-spec conversation starters, soft-default model specs, model-spec landing branding, and the agent marketplace in the model selector.
17-
- Deployment Skills now take precedence over persisted duplicates, memory-agent input is bounded, and repeated Skill bodies are deduplicated across fresh primes and message history.
17+
- Deployment Skills now take precedence over persisted duplicates, Skill Sync status is scoped correctly, memory-agent input is bounded, and repeated Skill bodies are deduplicated across fresh primes and message history.
1818
- **Safety and Admin Controls**
1919
- Added configurable message PII filtering for credential-shaped text across caller-supplied API message roles and hardened model-spec Subagent config so clients cannot supply private Subagent allowlists.
2020
- **Observability and Operations**
@@ -23,9 +23,9 @@ version: '0.8.7-rc1'
2323
- Conversation titles can now generate immediately, message navigation supports focus and drag-to-scrub, message timestamps appear on hover, shared-link snapshots are sanitized, viewed branches stay stable when sibling branches change, file-authoring previews stream earlier, stale service-worker assets auto-recover after deploys, and reopened chats reload correctly from non-chat routes.
2424
- **Provider and Reasoning Updates**
2525
- Added Claude Fable 5, GPT-5.5, `chat-latest`, and refreshed frontier OpenAI defaults while dropping deprecated OpenAI defaults.
26-
- Custom endpoints preserve reasoning params, support native Anthropic-compatible providers, Bedrock cache tokens no longer inflate completion counts, Gemini mixed tool config is enabled, Gemini/Vertex MCP tool schemas are sanitized, Imagen uses its configured region, built-in provider endpoints can forward custom gateway headers, and provider document uploads are preserved.
26+
- Custom endpoints preserve reasoning params, support native Anthropic-compatible providers, withhold custom Anthropic headers from user-controlled URLs, Bedrock cache tokens no longer inflate completion counts, Gemini mixed tool config is enabled, Gemini/Vertex MCP tool schemas are sanitized, Imagen uses its configured region, built-in provider endpoints can forward custom gateway headers, and provider document uploads are preserved.
2727
- **Streaming and Performance**
28-
- Completed Markdown blocks are memoized during streaming, tool execution can report per-call results through `onResult`, context usage and cost update in real time with persisted branch/total breakdowns and correct post-summarization baselines, subagent child-run usage is billed into parent transactions, model-spec icons survive stream resume/abort, HEIC conversion, locale resources, React Query Devtools, and Brotli asset serving are lazy/toggled, message tree streaming is covered by E2E tests, and shared package builds now use `tsdown` with isolated declarations.
28+
- Completed Markdown blocks are memoized during streaming, tool execution can report per-call results through `onResult`, context usage updates in real time with persisted branch/total breakdowns and correct post-summarization baselines, cost display is opt-in by default, token-config caches are scoped correctly, subagent child-run usage is billed into parent transactions, model-spec icons survive stream resume/abort, HEIC conversion, locale resources, React Query Devtools, and Brotli asset serving are lazy/toggled, message tree streaming is covered by E2E tests, and shared package builds now use `tsdown` with isolated declarations.
2929

3030
---
3131

@@ -143,6 +143,10 @@ version: '0.8.7-rc1'
143143
- 🔢 fix: Prevent "approximately" tildes from rendering as markdown subscript by [@danny-avila](https://github.com/danny-avila) in [#13743](https://github.com/danny-avila/LibreChat/pull/13743)
144144
- 🪙 fix: Correct Context Usage Gauge After Summarization by [@danny-avila](https://github.com/danny-avila) in [#13744](https://github.com/danny-avila/LibreChat/pull/13744)
145145
- 📈 fix: Isolate RUM Telemetry Proxy Auth from App Auth by [@danny-avila](https://github.com/danny-avila) in [#13765](https://github.com/danny-avila/LibreChat/pull/13765)
146+
- 🫷 fix: Withhold Anthropic Custom Headers From User URLs by [@danny-avila](https://github.com/danny-avila) in [#13767](https://github.com/danny-avila/LibreChat/pull/13767)
147+
- 🏘️ fix: Scope Skill Sync Status by [@danny-avila](https://github.com/danny-avila) in [#13771](https://github.com/danny-avila/LibreChat/pull/13771)
148+
- 🗂️ fix: Scope Token Config Cache by [@danny-avila](https://github.com/danny-avila) in [#13770](https://github.com/danny-avila/LibreChat/pull/13770)
149+
- 🪢 fix: Tie MCP Cleanup To Resumable Runs by [@danny-avila](https://github.com/danny-avila) in [#13769](https://github.com/danny-avila/LibreChat/pull/13769)
146150

147151
### 🔧 Refactoring and Performance
148152

@@ -164,6 +168,7 @@ version: '0.8.7-rc1'
164168
- ⚙️ refactor: Brotli asset serving behind a feature toggle by [@upman](https://github.com/upman) in [#13641](https://github.com/danny-avila/LibreChat/pull/13641)
165169
- 🤫 refactor: Silent MCP OAuth Refresh on Mid-Session 401 by [@danny-avila](https://github.com/danny-avila) in [#13369](https://github.com/danny-avila/LibreChat/pull/13369)
166170
- 📡 refactor: Gate Noisy Redis OTEL Instrumentation by [@danny-avila](https://github.com/danny-avila) in [#13764](https://github.com/danny-avila/LibreChat/pull/13764)
171+
- 🧾 refactor: Disable Context Cost By Default by [@danny-avila](https://github.com/danny-avila) in [#13768](https://github.com/danny-avila/LibreChat/pull/13768)
167172

168173
### 🧪 Tests
169174

@@ -208,12 +213,15 @@ version: '0.8.7-rc1'
208213
- 🧹 ci: Relieve disk pressure on GitNexus deploy by [@danny-avila](https://github.com/danny-avila) in [#13666](https://github.com/danny-avila/LibreChat/pull/13666)
209214
- 📦 chore: npm audit fix by [@danny-avila](https://github.com/danny-avila) in [#13701](https://github.com/danny-avila/LibreChat/pull/13701)
210215
- 🪟 fix: Cross-Platform Absolute-Path Check in tsdown neverBundle Predicates by [@danny-avila](https://github.com/danny-avila) in [#13700](https://github.com/danny-avila/LibreChat/pull/13700)
216+
- ✨ v0.8.7-rc1 by [@danny-avila](https://github.com/danny-avila) in [#13592](https://github.com/danny-avila/LibreChat/pull/13592)
217+
- 📊 chore: Bump Helm chart version to 2.0.6 by [@danny-avila](https://github.com/danny-avila) in [`5986a1c6d2`](https://github.com/danny-avila/LibreChat/commit/5986a1c6d2)
211218

212219
### 🌍 Internationalization
213220

214221
- 🌍 i18n: Update translation.json with latest translations by [@danny-avila](https://github.com/danny-avila) in [#13466](https://github.com/danny-avila/LibreChat/pull/13466)
215222
- 🌍 i18n: Update translation.json with latest translations by [@danny-avila](https://github.com/danny-avila) in [#13482](https://github.com/danny-avila/LibreChat/pull/13482)
216223
- 🌍 i18n: Update translation.json with latest translations by [@danny-avila](https://github.com/danny-avila) in [#13505](https://github.com/danny-avila/LibreChat/pull/13505)
224+
- 🌍 i18n: Update translation.json with latest translations by [@danny-avila](https://github.com/danny-avila) in [#13766](https://github.com/danny-avila/LibreChat/pull/13766)
217225

218226
## New Contributors
219227

‎content/docs/configuration/librechat_yaml/object_structure/interface.mdx‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,12 @@ interface:
384384
]}
385385
/>
386386

387-
**Default:** `true`
387+
**Default:** `false`
388+
389+
**Notes:**
390+
391+
- Set `contextCost: true` to opt in to visible cost values. Token usage can remain visible through `contextUsage` while cost values stay hidden.
392+
- `currency` only affects displayed costs when cost display is enabled.
388393

389394
**Example:**
390395

‎content/docs/configuration/token_usage.mdx‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ description: This covers how to track and control token usage in LibreChat. You
88

99
As of `v0.6.0`, LibreChat accurately tracks token usage for supported endpoints. All token transactions are stored in the "Transactions" collection in your database. Current releases also show real-time context usage and cost in the conversation UI when enabled.
1010

11-
Currently, you can limit user token usage by enabling user balances. Instead of configuring token credit limits via environment variables, you now set these options in your `librechat.yaml` file under the **balance** section.
11+
Currently, you can limit user token usage by enabling user balances. Instead of configuring token credit limits via environment variables, you now set these options in your `librechat.yaml` file under the **balance** section. Cost values are hidden by default and must be enabled with `interface.contextCost`.
1212

1313
## Viewing Context Usage and Cost
1414

@@ -34,8 +34,8 @@ interface:
3434
```
3535
3636
- `contextUsage` controls whether users see the context window and token usage gauge.
37-
- `contextCost` controls whether users see cost values in the usage details.
38-
- `currency` converts displayed USD costs using a static multiplier. Transactions are still recorded using LibreChat's token credit accounting.
37+
- `contextCost` controls whether users see cost values in the usage details. It defaults to `false`; set it to `true` to show costs.
38+
- `currency` converts displayed USD costs using a static multiplier when cost display is enabled. Transactions are still recorded using LibreChat's token credit accounting.
3939

4040
## Custom Endpoint Token Config
4141

@@ -58,6 +58,8 @@ endpoints:
5858

5959
`prompt`, `completion`, and `context` are required for each model entry. `cacheRead` and `cacheWrite` can be added for providers that report cached input usage. For Agents that use multiple endpoints, LibreChat uses the matching endpoint/model token config when recording usage and cost.
6060

61+
Fetched token config is cached with user scope when endpoint models, keys, URLs, or headers can vary by request context, so isolated custom endpoint pricing and context windows stay separated.
62+
6163
## Transaction Configuration
6264

6365
The transaction system controls whether token usage records are saved to the database. This can be configured separately from the balance system.

0 commit comments

Comments
 (0)