LibreChat
Enhanced ChatGPT clone
Alternative to: chatgpt, perplexity, anthropic, claude, grok, gemini
About
Versions (10)
v0.8.7
2026-06-24https://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 to default compose files
- Released Code Interpreter for secure code execution and file generation
Click to expand Release Notes
For detailed changes in the release candidate, see:
Changes Since v0.8.7-rc1
✨ Features
- 🔚 feat: Add Bottom Terminus Node to Message Minimap Navigation by @danny-avila in #13853
- 🪙 feat: SDK-Aligned Context-Usage Projection by @danny-avila in #13801
- 🔖 feat: Add Pinned Conversations by @dlew in #13492
- 📛 feat: Tag Langfuse Traces With Tenant ID by @upman in #13808
- 🕰️ feat: Resolve Agent Prompt Time Variables in User’s Timezone by @berry-13 in #13815
- 🎛️ feat: Redesign Settings with Registry-Driven Dialog, Search, and Mobile Drill-In by @berry-13 in #13722
- 🔑 feat: Agent API Keys management UI in Settings → Data controls by @berry-13 in #13819
- 📒 feat: Audit Log Backend for SystemGrant Assign and Revoke Events by @dustinhealy in #13087
- 🕐 feat: Add
promptCacheTtlmodel parameter for 1h/5m cache duration by @danny-avila in #13835 - 🔑 feat: Surface User-Provided API Keys in Settings, Scoped to Reachable Endpoints by @danny-avila in #13864
- 🪙 feat: Add Token Pricing for Devstral, Voxtral, Holo2, and Mistral Medium by @JumpLink in #13863
- 📌 feat: Seed Default Pinned Tools and MCP Dropdown via Interface Config by @danny-avila in #13865
- 🔗 feat: Snapshot Files for Shared-Link Attachments by @danny-avila in #13740
- 🖇️ feat: Reference Selected Chat Text with Multi-Quote Popup by @danny-avila in #13868
- 🐳 feat: Bundle Admin Panel in Docker Compose Stacks by @danny-avila in #13876
- ⌨️ feat: Keyboard Shortcuts by @berry-13 in #12425
- 🧠 feat: Configurable Reasoning Replay for Custom Endpoints by @danny-avila in #13921
- 📺 feat: Google URL Context Param with Native YouTube Video Understanding by @danny-avila in #13924
🐛 Fixes
- 🎤 fix: Keep Microphone Icon Visible On Initial Chat Render by @danny-avila in #13788
- 🗜️ fix: Support Windows ZIP MIME Uploads by @danny-avila in #13794
- 🥽 fix: Restrict MCP Server URL Disclosure to Admins, Owners, and Editors by @dustinhealy in #13784
- 🩹 fix: Bill Anthropic Prompt-Cache Tokens Once by @danny-avila in #13798
- 🪃 fix: Restore Raw Spec Fallback for Enforced Presets by @danny-avila in #13804
- 🔐 fix: Honor Admin-Panel MCP Allowlist Overrides Without Restart by @danny-avila in #13814
- 🔖 fix: Decrement Bookmark Counts When Deleting Conversations by @danny-avila in #13830
- 🔗 fix: Surface Share Permissions Load Error as Alert Button With Tooltip by @danny-avila in #13833
- 🧷 fix: Preserve Document Priority on Section-Scoped Config Writes by @dustinhealy in #13772
- 🪞 fix: Match Prompt Cache TTL Control to Region Combobox Styling by @danny-avila in #13839
- 🐛 fix: Resolve dayjs plugin ESM imports in data-provider by @danny-avila in #13851
- ♊ fix: Strip Remaining Unsupported JSON Schema Keywords for Gemini MCP Tools by @danny-avila in #13850
- 🎒 fix: Apply OCR Context to Responses API Agents and Handoffs by @Airamhh in #13707
- 🏷️ fix: Scope File Search entity_id to Agent Knowledge-Base Files Only by @msserpa in #13693
- 🪢 fix: Paginate MCP
tools/listto Load All Tools by @TomasPalsson in #13840 - 🚪 fix: Gate Artifacts Toggle on Agent Capability Flag by @serhiizghama in #13665
- 🎯 fix: Narrow Public Share 401 Bypass to the Share Endpoint Only by @danny-avila in #12905
- 🔐 fix: Gate Shared Startup Config By Link Access by @danny-avila in #13897
- ✂️ fix: Cap Audit Chain Verification and Honor Client Cancellation by @danny-avila in #13903
- 🍪 fix: Validate Shared-File Cookie Auth Against the Live Refresh Session by @danny-avila in #13908
- 💰 fix: Bound MCP
tools/listPagination with Aggregate Budgets by @danny-avila in #13909 - 🪣 fix: Cap Context Projection Workload Before Tokenization by @danny-avila in #13910
- 🪜 fix: Strip Caller-Supplied Priority from Assign-Only Config Upserts by @danny-avila in #13911
- 🛂 fix: Re-Check
execute_codeAuthorization on Event-Driven Tool Loads by @danny-avila in #13912 - 🤐 fix: Withhold Custom Endpoint Headers for User URLs by @danny-avila in #13917
- 🧾 fix: Harden Historical File Authorization by @danny-avila in #13918
- 🧭 fix: Harden User Provided Endpoint URL Protection by @danny-avila in #13919
- 🐛 fix: Prevent Infinite Render Loop on Code-Execution File Preview by @danny-avila in #13922
- 🖱️ fix: Summon Quote Popup on Double-Click Word Selection by @danny-avila in #13923
- 🧹 fix: Order Enabled Guard After Config Expansion in
useGetAgentByIdQueryby @dlew in #13927 - 🌵 fix: Align Mention Empty Result Behavior With Skills Command by @Oliver777int in #13928
- 🪤 fix: Guard Prompts Popover Against Empty Result Keyboard Navigation by @danny-avila in #13931
🔧 Refactoring and Performance
- 🪙 refactor: Reconcile Context Gauge to Actual Provider Tokens by @danny-avila in #13780
- 🪵 refactor: Bound Log Traversal And Remove Legacy api/config Logger by @danny-avila in #13813
- 🦜 refactor: Use path for Read/Write/Edit/Create File Tools by @danny-avila in #13834
- 🛂 refactor: Accept Targeted
assign:configsfor Config Scope-Lifecycle Endpoints by @dustinhealy in #13773 - 👐 a11y: Bump
@ariakit/react, Improve a11y of Token Usage, Archived Chats, Reduce Table Layout Shifts by @danny-avila in #13874 - 🛑 refactor: Demote User Abort Logs by @danny-avila in #13904
- 🪶 refactor: Ground Default Model Spec Selection in Conversation Recency by @danny-avila in #13915
📦 Dependencies, Chores & CI
- 🛤️ ci: Limit GitNexus Deploys To Main And Dev Only by @danny-avila in #13799
- 📦 chore: Bump
@librechat/agentsto v3.2.37 by @danny-avila in #13826 - 📦 chore: npm audit fix by @danny-avila in #13828
- 📦 chore: Bump
@librechat/agentsto v3.2.42 by @danny-avila in #13848 - 📦 chore: Bump
@librechat/agentsto v3.2.43 by @danny-avila in #13854 - 🚦 ci: Stop Auto-Indexing PR Branches in GitNexus Index by @danny-avila in #13866
- 🪙 chore: Drop redundant voxtral-small token pricing key by @JumpLink in #13867
- 🏷️ chore: Bump Individual Package Versions by @danny-avila in #13891
- 📦 chore: Bump
@librechat/agentsto v3.2.44 by @danny-avila in1505fd5262 - 🧂 chore: Require an Operator-Supplied Admin Panel Session Secret by @danny-avila in #13902
- 🚀 chore: prepare v0.8.7 release by @danny-avila in
96497034cb
🌍 Internationalization
- 🌍 i18n: Update translation.json with latest translations by @danny-avila in #13836, #13875, #13892, #13914
New Contributors
- @berry-13 made their first contribution in #12425
- @JumpLink made their first contribution in #13863
- @TomasPalsson made their first contribution in #13840
- @msserpa made their first contribution in #13693
- @Airamhh made their first contribution in #13707
- @serhiizghama made their first contribution in #13665
- @Oliver777int made their first contribution in #13928
Full Changelog: https://github.com/danny-avila/LibreChat/compare/v0.8.7-rc1…v0.8.7