v0.8.7
Pre-release
danny-avila/LibreChatv0.8.7Jun 24, 2026by danny-avila
AI Summary
This release introduces chat projects for organization, a context usage gauge, and GitHub sync for skills. It features a redesigned settings interface, bundled Admin Panel, and support for Claude Fable 5 and OpenID improvements.
Key Highlights
- Chat projects for organizing chats into folders
- Context Usage gauge showing window usage, tokens, and cost
- Agents with skills enabled can author new skills on the fly
- GitHub sync for skills and local bundled skills
- Released Code Interpreter for secure code execution
New Features
- Chat projects and pinned conversations
- Context Usage Gauge
- GitHub Skill Sync
- Redesigned Settings with registry-driven dialogs
- Claude Fable 5 Support
- Native Anthropic custom endpoints
Full Release Notes
https://www.librechat.ai/changelog/v0.8.7 ## ๐๏ธ Highlights - Chat projects for organizing chats into folders - Context Usage gauge showing current window usage, tokens used, and cost (optional) - Agents with skills enabled can author new skills on the fly - GitHub sync for skills, and local bundled skills - Settings redesign, keyboard shortcuts, default pinned tools, and pinned conversations. - Provider updates: - Claude Fable 5, Anthropic custom endpoints, prompt cache TTL, Google URL Context with YouTube handling, and custom endpoint option for reasoning replay. - Shared links, OpenID, and MCP now have stronger access controls and safer auth flows. - Bundled [Admin Panel](https://github.com/ClickHouse/librechat-admin-panel) to default compose files - Released [Code Interpreter](https://github.com/ClickHouse/code-interpreter) for secure code execution and file generation <details> <summary><h2>Click to expand Release Notes</h2></summary> For detailed changes in the release candidate, see: - [v0.8.7-rc1](https://www.librechat.ai/changelog/v0.8.7-rc1) --- ## Changes Since v0.8.7-rc1 ### โจ Features - ๐ feat: Add Bottom Terminus Node to Message Minimap Navigation by [@danny-avila](https://github.com/danny-avila) in [#13853](https://github.com/danny-avila/LibreChat/pull/13853) - ๐ช feat: SDK-Aligned Context-Usage Projection by [@danny-avila](https://github.com/danny-avila) in [#13801](https://github.com/danny-avila/LibreChat/pull/13801) - ๐ feat: Add Pinned Conversations by [@dlew](https://github.com/dlew) in [#13492](https://github.com/danny-avila/LibreChat/pull/13492) - ๐ feat: Tag Langfuse Traces With Tenant ID by [@upman](https://github.com/upman) in [#13808](https://github.com/danny-avila/LibreChat/pull/13808) - ๐ฐ๏ธ feat: Resolve Agent Prompt Time Variables in User's Timezone by [@berry-13](https://github.com/berry-13) in [#13815](https://github.com/danny-avila/LibreChat/pull/13815) - ๐๏ธ feat: Redesign Settings with Registry-Driven Dialog, Search, and Mobile Drill-In by [@berry-13](https://github.com/berry-13) in [#13722](https://github.com/danny-avila/LibreChat/pull/13722) - ๐ feat: Agent API Keys management UI in Settings โ Data controls by [@berry-13](https://github.com/berry-13) in [#13819](https://github.com/danny-avila/LibreChat/pull/13819) - ๐ feat: Audit Log Backend for SystemGrant Assign and Revoke Events by [@dustinhealy](https://github.com/dustinhealy) in [#13087](https://github.com/danny-avila/LibreChat/pull/13087) - ๐ feat: Add `promptCacheTtl` model parameter for 1h/5m cache duration by [@danny-avila](https://github.com/danny-avila) in [#13835](https://github.com/danny-avila/LibreChat/pull/13835) - ๐ feat: Surface User-Provided API Keys in Settings, Scoped to Reachable Endpoints by [@danny-avila](https://github.com/danny-avila) in [#13864](https://github.com/danny-avila/LibreChat/pull/13864) - ๐ช feat: Add Token Pricing for Devstral, Voxtral, Holo2, and Mistral Medium by [@JumpLink](https://github.com/JumpLink) in [#13863](https://github.com/danny-avila/LibreChat/pull/13863) - ๐ feat: Seed Default Pinned Tools and MCP Dropdown via Interface Config by [@danny-avila](https://github.com/danny-avila) in [#13865](https://github.com/danny-avila/LibreChat/pull/13865) - ๐ feat: Snapshot Files for Shared-Link Attachments by [@danny-avila](https://github.com/danny-avila) in [#13740](https://github.com/danny-avila/LibreChat/pull/13740) - ๐๏ธ feat: Reference Selected Chat Text with Multi-Quote Popup by [@danny-avila](https://github.com/danny-avila) in [#13868](https://github.com/danny-avila/LibreChat/pull/13868) - ๐ณ feat: Bundle Admin Panel in Docker Compose Stacks by [@danny-avila](https://github.com/danny-avila) in [#13876](https://github.com/danny-avila/LibreChat/pull/13876) - โจ๏ธ feat: Keyboard Shortcuts by [@berry-13](https://github.com/berry-13) in [#12425](https://github.com/danny-avila/LibreChat/pull/12425) - ๐ง feat: Configurable Reasoning Replay for Custom Endpoints by [@danny-avila](https://github.com/danny-avila) in [#13921](https://github.com/danny-avila/LibreChat/pull/13921) - ๐บ feat: Google URL Context Param with Native YouTube Video Understanding by [@danny-avila](https://github.com/danny-avila) in [#13924](https://github.com/danny-avila/LibreChat/pull/13924) ### ๐ Fixes - ๐ค fix: Keep Microphone Icon Visible On Initial Chat Render by [@danny-avila](https://github.com/danny-avila) in [#13788](https://github.com/danny-avila/LibreChat/pull/13788) - ๐๏ธ fix: Support Windows ZIP MIME Uploads by [@danny-avila](https://github.com/danny-avila) in [#13794](https://github.com/danny-avila/LibreChat/pull/13794) - ๐ฅฝ fix: Restrict MCP Server URL Disclosure to Admins, Owners, and Editors by [@dustinhealy](https://github.com/dustinhealy) in [#13784](https://github.com/danny-avila/LibreChat/pull/13784) - ๐ฉน fix: Bill Anthropic Prompt-Cache Tokens Once by [@danny-avila](https://github.com/danny-avila) in [#13798](https://github.com/danny-avila/LibreChat/pull/13798) - ๐ช fix: Restore Raw Spec Fallback for Enforced Presets by [@danny-avila](https://github.com/danny-avila) in [#13804](https://github.com/danny-avila/LibreChat/pull/13804) - ๐ fix: Honor Admin-Panel MCP Allowlist Overrides Without Restart by [@danny-avila](https://github.com/danny-avila) in [#13814](https://github.com/danny-avila/LibreChat/pull/13814) - ๐ fix: Decrement Bookmark Counts When Deleting Conversations by [@danny-avila](https://github.com/danny-avila) in [#13830](https://github.com/danny-avila/LibreChat/pull/13830) - ๐ fix: Surface Share Permissions Load Error as Alert Button With Tooltip by [@danny-avila](https://github.com/danny-avila) in [#13833](https://github.com/danny-avila/LibreChat/pull/13833) - ๐งท fix: Preserve Document Priority on Section-Scoped Config Writes by [@dustinhealy](https://github.com/dustinhealy) in [#13772](https://github.com/danny-avila/LibreChat/pull/13772) - ๐ช fix: Match Prompt Cache TTL Control to Region Combobox Styling by [@danny-avila](https://github.com/danny-avila) in [#13839](https://github.com/danny-avila/LibreChat/pull/13839) - ๐ fix: Resolve dayjs plugin ESM imports in data-provider by [@danny-avila](https://github.com/danny-avila) in [#13851](https://github.com/danny-avila/LibreChat/pull/13851) - โ fix: Strip Remaining Unsupported JSON Schema Keywords for Gemini MCP Tools by [@danny-avila](https://github.com/danny-avila) in [#13850](https://github.com/danny-avila/LibreChat/pull/13850) - ๐ fix: Apply OCR Context to Responses API Agents and Handoffs by [@Airamhh](https://github.com/Airamhh) in [#13707](https://github.com/danny-avila/LibreChat/pull/13707) - ๐ท๏ธ fix: Scope File Search entity_id to Agent Knowledge-Base Files Only by [@msserpa](https://github.com/msserpa) in [#13693](https://github.com/danny-avila/LibreChat/pull/13693) - ๐ชข fix: Paginate MCP `tools/list` to Load All Tools by [@TomasPalsson](https://github.com/TomasPalsson) in [#13840](https://github.com/danny-avila/LibreChat/pull/13840) - ๐ช fix: Gate Artifacts Toggle on Agent Capability Flag by [@serhiizghama](https://github.com/serhiizghama) in [#13665](https://github.com/danny-avila/LibreChat/pull/13665) - ๐ฏ fix: Narrow Public Share 401 Bypass to the Share Endpoint Only by [@danny-avila](https://github.com/danny-avila) in [#12905](https://github.com/danny-avila/LibreChat/pull/12905) - ๐ fix: Gate Shared Startup Config By Link Access by [@danny-avila](https://github.com/danny-avila) in [#13897](https://github.com/danny-avila/LibreChat/pull/13897) - โ๏ธ fix: Cap Audit Chain Verification and Honor Client Cancellation by [@danny-avila](https://github.com/danny-avila) in [#13903](https://github.com/danny-avila/LibreChat/pull/13903) - ๐ช fix: Validate Shared-File Cookie Auth Against the Live Refresh Session by [@danny-avila](https://github.com/danny-avila) in [#13908](https://github.com/danny-avila/LibreChat/pull/13908) - ๐ฐ fix: Bound MCP `tools/list` Pagination with Aggregate Budgets by [@danny-avila](https://github.com/danny-avila) in [#13909](https://github.com/danny-avila/LibreChat/pull/13909) - ๐ชฃ fix: Cap Context Projection Workload Before Tokenization by [@danny-avila](https://github.com/danny-avila) in [#13910](https://github.com/danny-avila/LibreChat/pull/13910) - ๐ช fix: Strip Caller-Supplied Priority from Assign-Only Config Upserts by [@danny-avila](https://github.com/danny-avila) in [#13911](https://github.com/danny-avila/LibreChat/pull/13911) - ๐ fix: Re-Check `execute_code` Authorization on Event-Driven Tool Loads by [@danny-avila](https://github.com/danny-avila) in [#13912](https://github.com/danny-avila/LibreChat/pull/13912) - ๐ค fix: Withhold Custom Endpoint Headers for User URLs by [@danny-avila](https://github.com/danny-avila) in [#13917](https://github.com/danny-avila/LibreChat/pull/13917) - ๐งพ fix: Harden Historical File Authorization by [@danny-avila](https://github.com/danny-avila) in [#13918](https://github.com/danny-avila/LibreChat/pull/13918) - ๐งญ fix: Harden User Provided Endpoint URL Protection by [@danny-avila](https://github.com/danny-avila) in [#13919](https://github.com/danny-avila/LibreChat/pull/13919) - ๐ fix: Prevent Infinite Render Loop on Code-Execution File Preview by [@danny-avila](https://github.com/danny-avila) in [#13922](https://github.com/danny-avila/LibreChat/pull/13922) - ๐ฑ๏ธ fix: Summon Quote Popup on Double-Click Word Selection by [@danny-avila](https://github.com/danny-avila) in [#13923](https://github.com/danny-avila/LibreChat/pull/13923) - ๐งน fix: Order Enabled Guard After Config Expansion in `useGetAgentByIdQuery` by [@dlew](https://github.com/dlew) in [#13927](https://github.com/danny-avila/LibreChat/pull/13927) - ๐ต fix: Align Mention Empty Result Behavior With Skills Command by [@Oliver777int](https://github.com/Oliver777int) in [#13928](https://github.com/danny-avila/LibreChat/pull/13928) - ๐ชค fix: Guard Prompts Popover Against Empty Result Keyboard Navigation by [@danny-avila](https://github.com/danny-avila) in [#13931](https://github.com/danny-avila/LibreChat/pull/13931) ### ๐ง Refactoring and Performance - ๐ช refactor: Reconcile Context Gauge to Actual Provider Tokens by [@danny-avila](https://github.com/danny-avila) in [#13780](https://github.com/danny-avila/LibreChat/pull/13780) - ๐ชต refactor: Bound Log Traversal And Remove Legacy api/config Logger by [@danny-avila](https://github.com/danny-avila) in [#13813](https://github.com/danny-avila/LibreChat/pull/13813) - ๐ฆ refactor: Use path for Read/Write/Edit/Create File Tools by [@danny-avila](https://github.com/danny-avila) in [#13834](https://github.com/danny-avila/LibreChat/pull/13834) - ๐ refactor: Accept Targeted `assign:configs` for Config Scope-Lifecycle Endpoints by [@dustinhealy](https://github.com/dustinhealy) in [#13773](https://github.com/danny-avila/LibreChat/pull/13773) - ๐ a11y: Bump `@ariakit/react`, Improve a11y of Token Usage, Archived Chats, Reduce Table Layout Shifts by [@danny-avila](https://github.com/danny-avila) in [#13874](https://github.com/danny-avila/LibreChat/pull/13874) - ๐ refactor: Demote User Abort Logs by [@danny-avila](https://github.com/danny-avila) in [#13904](https://github.com/danny-avila/LibreChat/pull/13904) - ๐ชถ refactor: Ground Default Model Spec Selection in Conversation Recency by [@danny-avila](https://github.com/danny-avila) in [#13915](https://github.com/danny-avila/LibreChat/pull/13915) ### ๐ฆ Dependencies, Chores & CI - ๐ค๏ธ ci: Limit GitNexus Deploys To Main And Dev Only by [@danny-avila](https://github.com/danny-avila) in [#13799](https://github.com/danny-avila/LibreChat/pull/13799) - ๐ฆ chore: Bump `@librechat/agents` to v3.2.37 by [@danny-avila](https://github.com/danny-avila) in [#13826](https://github.com/danny-avila/LibreChat/pull/13826) - ๐ฆ chore: npm audit fix by [@danny-avila](https://github.com/danny-avila) in [#13828](https://github.com/danny-avila/LibreChat/pull/13828) - ๐ฆ chore: Bump `@librechat/agents` to v3.2.42 by [@danny-avila](https://github.com/danny-avila) in [#13848](https://github.com/danny-avila/LibreChat/pull/13848) - ๐ฆ chore: Bump `@librechat/agents` to v3.2.43 by [@danny-avila](https://github.com/danny-avila) in [#13854](https://github.com/danny-avila/LibreChat/pull/13854) - ๐ฆ ci: Stop Auto-Indexing PR Branches in GitNexus Index by [@danny-avila](https://github.com/danny-avila) in [#13866](https://github.com/danny-avila/LibreChat/pull/13866) - ๐ช chore: Drop redundant voxtral-small token pricing key by [@JumpLink](https://github.com/JumpLink) in [#13867](https://github.com/danny-avila/LibreChat/pull/13867) - ๐ท๏ธ chore: Bump Individual Package Versions by [@danny-avila](https://github.com/danny-avila) in [#13891](https://github.com/danny-avila/LibreChat/pull/13891) - ๐ฆ chore: Bump `@librechat/agents` to v3.2.44 by [@danny-avila](https://github.com/danny-avila) in [`1505fd5262`](https://github.com/danny-avila/LibreChat/commit/1505fd5262) - ๐ง chore: Require an Operator-Supplied Admin Panel Session Secret by [@danny-avila](https://github.com/danny-avila) in [#13902](https://github.com/danny-avila/LibreChat/pull/13902) - ๐ chore: prepare v0.8.7 release by [@danny-avila](https://github.com/danny-avila) in [`96497034cb`](https://github.com/danny-avila/LibreChat/commit/96497034cb843d17a90e924942e25fc281ccaf76) ### ๐ Internationalization - ๐ i18n: Update translation.json with latest translations by [@danny-avila](https://github.com/danny-avila) in [#13836](https://github.com/danny-avila/LibreChat/pull/13836), [#13875](https://github.com/danny-avila/LibreChat/pull/13875), [#13892](https://github.com/danny-avila/LibreChat/pull/13892), [#13914](https://github.com/danny-avila/LibreChat/pull/13914) </details> ## New Contributors - [@berry-13](https://github.com/berry-13) made their first contribution in [#12425](https://github.com/danny-avila/LibreChat/pull/12425) - [@JumpLink](https://github.com/JumpLink) made their first contribution in [#13863](https://github.com/danny-avila/LibreChat/pull/13863) - [@TomasPalsson](https://github.com/TomasPalsson) made their first contribution in [#13840](https://github.com/danny-avila/LibreChat/pull/13840) - [@msserpa](https://github.com/msserpa) made their first contribution in [#13693](https://github.com/danny-avila/LibreChat/pull/13693) - [@Airamhh](https://github.com/Airamhh) made their first contribution in [#13707](https://github.com/danny-avila/LibreChat/pull/13707) - [@serhiizghama](https://github.com/serhiizghama) made their first contribution in [#13665](https://github.com/danny-avila/LibreChat/pull/13665) - [@Oliver777int](https://github.com/Oliver777int) made their first contribution in [#13928](https://github.com/danny-avila/LibreChat/pull/13928) **Full Changelog**: https://github.com/danny-avila/LibreChat/compare/v0.8.7-rc1...v0.8.7