https://www.librechat.ai/changelog/v0.8.8-rc4
๐๏ธ Highlights
- GPT-6 Sol, GPT-6 Luna, and Claude Opus 5.5
- Caller-executed tools for the Open Responses API
- Same-run Skill authoring and execution
- Agentic Coding:- conversation-isolated attached workspaces + repository instructions (
AGENTS.md)
- conversation-isolated attached workspaces + repository instructions (
- Expanded Trace Viewer with steps, roles, previews, and cost powered by Langfuse
- System-event turns and single-row live activity
- Faster streaming Markdown, model search, and Agent messages
- Stronger MCP authentication and per-request headers
Click to expand Release Notes
โจ Features
- โจ feat: Client-Executed Function Tools for the Responses API by @alexkorep in #16078
- ๐๏ธ feat: Add Programming App to OpenRouter Categories by @lia-by-librechat in #16228
- ๐ feat: Add GPT-6 Sol and Luna Support by @lia-by-librechat in #16221
- ๐ feat: Support Cognito Access Tokens for Agent Management by @dustinhealy in #16224
- ๐น feat: Add Claude Opus 5.5 Support by @danny-avila in #16215
- โฒ๏ธ feat: Report a Background Task's Start, Settlement and Elapsed Time by @lia-by-librechat in #16193
- ๐งโ๐ feat: Add Grok 4.7 Support Through xAI by @lia-by-librechat in #16173
- ๐ซง feat: Hold a Live Run's Activity at One Row by @danny-avila in #16118
- ๐ feat: Render System Events as Distinct Turns by @danny-avila in #16119
- ๐ต feat: Show Cost per Record, Step and Response in the Trace Ledger by @danny-avila in #16120
- ๐ feat: Authenticate RUM Proxy Exports by @lia-by-librechat in #16114
- ๐ฃ feat: Invoke Newly Authored Skills in the Same Run by @lia-by-librechat in #16036
- ๐ณ feat: Isolate Attached Workspaces by Conversation by @danny-avila in #16107
- ๐ฌ feat: Read a Model Call as a Conversation in the Trace Viewer by @danny-avila in #16103
- ๐ฃ๏ธ feat: Trace Viewer Roles, Agent Identity and Tool Rounds by @danny-avila in #16098
- โฝ feat: Negotiate Background Command Timeouts by @danny-avila in #16100
- ๐ช feat: Trace Viewer Steps, Sequence Scale and Previews by @danny-avila in #16009
- ๐ช feat: Send Per-Request MCP Headers Without Hiding the Tool Catalog by @lia-by-librechat in #15988
- ๐ feat: OpenAPI spec and docs for the public Agents API by @AtefBellaaj in #15928
- ๐ Load Repository Instructions for Attached Workspaces by @danny-avila in #16008
- ๐ชช feat: Pass Schedule Identity to MCP Token Providers by @danny-avila in #15962
๐ Fixes
- ๐ฉผ fix: Keep OpenRouter Category Override Test Type-Safe by @lia-by-librechat in #16229
- ๐ fix: Enable File Search When Attaching From the Files Panel by @jtodaroii in #16223
- ๐ฝ fix: Give Each Streamed Tool Call a Stable Outward Index by @lia-by-librechat in #16209
- ๐ฐ fix: Show Live Tool Combo Multipliers by @lia-by-librechat in #16202
- โฒ fix: Prevent Agent Model Stream Idle Timeouts by @lia-by-librechat in #16201
- ๐ฅซ fix: Normalize Legacy MCP Header Maps on Cached Reads by @lia-by-librechat in #16200
- ๐ซฅ fix: Preserve Absent MCP Header Maps Across Database Saves by @lia-by-librechat in #16194
- ๐ด fix: Split Combined Bit Updates in ACL Permission Writes by @lia-by-librechat in #16172
- ๐ฅ fix: Preserve Insights With Guarded ACL Role Updates by @lia-by-librechat in #16170
- ๐ฆ fix: Require Named Helm Credential Secrets by @lia-by-librechat in #16175
- ๐ fix: Fill Reasoning Previews Before Throttling by @lia-by-librechat in #16178
- โน๏ธ fix: Cancel Stale Throttled Scroll Callbacks by @minwookshin in #16167
- ๐งป fix: Unblock Conversation Deletion After Queued Turns by @lia-by-librechat in #16174
- ๐ค fix: Validate MIME Patterns With the Active Regex Engine by @lia-by-librechat in #16177
- ๐ฏ fix: Explain Tenant Index Migration on Startup Conflicts by @lia-by-librechat in #16176
- ๐ fix: Preserve Chat Drafts Across Navigation and Clearing by @danny-avila in #16161
- ๐ fix: Reuse Redis Caches Without Changing TTLs by @lia-by-librechat in #16154
- ๐ช fix: Preserve Tool Pane Choices Through Response Finalization by @lia-by-librechat in #16152
- โ๏ธ fix: Persist a Generated Title Before the Turn Ends by @lia-by-librechat in #16137
- ๐ fix: Stop Painting the Closed Mobile Drawer by @lia-by-librechat in #16127
- ๐ fix: Preview SVG Artifacts From Their Edited Source by @lia-by-librechat in #16123
- ๐ผ๏ธ fix: Resolve Pinned Model Icons from Endpoint Config by @jtodaroii in #16089
- โ๏ธ fix: Render Code in the Bundled Monospace Font by @lia-by-librechat in #16146
- ๐ซง fix: Stop the Live Activity Row From Flashing Open on Code Calls and Thoughts by @danny-avila in #16145
- ๐ท fix: Isolate Jina Credential Provenance by @danny-avila in #16134
- ๐ชข fix: Bind Preserved MCP API Keys to Server Configuration by @danny-avila in #16136
- โ fix: Keep a Resumed Compaction Anchored to the Turn It Summarizes by @lia-by-librechat in #16037
- ๐ณ๏ธ fix: Repair Legacy Meili Cleanup Index by @danny-avila in #16133
- โ fix: Preserve MCP Authorization During Token Endpoint Outages by @lia-by-librechat in #16126
- ๐ฝ fix: Hand Same-Batch Code Calls the Files a Skill Just Loaded by @lia-by-librechat in #16115
- ๐ฅข fix: Exclude Prompt Inputs From Terminal Events by @lia-by-librechat in #16112
- ๐ฅ fix: Refresh MCP Credentials That Arrive Already Expired by @lia-by-librechat in #16111
- ๐งบ fix: Bound Background Completion Batches by @danny-avila in #16102
- ๐ฌ fix: Persist Background Results Before Parent Rows by @danny-avila in #16101
- ๐ฌ fix: Deliver Same-Turn Background Results by @danny-avila in #16097
- ๐ fix: Stringify Ban Cache Keys When Redis Is Off by @gokay-ai in #16039
- ๐๏ธ fix: Keep a Running Attachment Chat in the Sidebar by @danny-avila in #16104
- ๐ฅพ fix: Define Code Execution Persistence Boundaries by @danny-avila in #16099
- ๐ fix: Send Textual Documents to Claude Through Gateways as Text by @mihidumh in #16055
- ๐ฑ fix: Stop Sealing a Code Environment Decision a Chat Never Made by @lia-by-librechat in #16056
- ๐ซ fix: Roll Back Incomplete Skill Archive Imports by @lia-by-librechat in #16052
- ๐ค fix(langfuse): support documented media upload types by @upman in #16079
- ๐๏ธ fix: Preserve BYOM Tool Calls Through Capacity Windows by @danny-avila in #16060
- ๐ฑ fix: Open Sign-In and External Links From iOS Home-Screen Apps by @danny-avila in #16077
- ๐พ fix: Route Cross-Region Attachments Through CloudFront by @upman in #16082
- ๐ฑ fix: Fit the Tool Library and Skills Pickers to Small Screens by @berry-13 in #16067
- ๐ fix: Ask for MCP Sign-In When a Server Rejects Refreshed Tokens by @danny-avila in #16075
- ๐ fix: Stop Code Outputs and Tool-Routed Spreadsheets From Locking Threads by @danny-avila in #16058
- ๐ฅก fix: Delete Storage and Embeddings With Owned Agent Files by @lia-by-librechat in #16007
- ๐ fix: Drop Unread Credentials From MCP Domain Validation by @SpectralOne in #16035
- ๐ผ fix: Serialize MCP OAuth Token Refresh Across Replicas by @lia-by-librechat in #15993
- ๐ฃ๏ธ fix: Keep Provider Error Text on Unclassified Agent Failures by @berry-13 in #16034
- ๐ fix(locales): correct English setting descriptions by @simpleqt in #16023
- ๐ญ fix: Deliver Attachment Text Until a File Tool Holds It by @lia-by-librechat in #16027
- ๐ fix: Verify Agents OpenAPI contracts and disable external reporting by @dustinhealy in #16028
- ๐จ๏ธ fix: Regenerate the Agents OpenAPI Spec With
repositoryInstructionsby @lia-by-librechat in #16029 - ๐๏ธ fix: Resolve Global Access Roles for Tenant Owner Grants by @lia-by-librechat in #15986
- ๐ช fix: Explain Workspace Capacity Timeouts by @danny-avila in #16016
- ๐ fix: Theme the Tool Approval Decision Fields by @lia-by-librechat in #16014
- ๐๏ธ fix: Route Background Tool Handoffs by @danny-avila in #15990
- ๐ช fix: Strip Cache-Bust Suffixes From Every Local File Read by @lia-by-librechat in #15991
- ๐๏ธ fix: Allow Opting Out of the MCP OAuth
resourceParameter by @lia-by-librechat in #15982 - โ๏ธ fix: Bind Programmatic Bash to Selected Workspaces by @danny-avila in #15992
- โฎ๏ธ fix: Keep the Last Keystrokes When a Run Finishes by @lia-by-librechat in #15987
- ๐ fix: Keep Typed Text When Starting a New Chat by @lia-by-librechat in #15985
- ๐งฆ fix: Restore OpenID Refresh After the Session Store TTL Expires by @lia-by-librechat in #15983
- ๐ fix: Thumb-Sized Send Button on Touch Devices by @lia-by-librechat in #15979
- ๐ช fix: Remember the Last Code Approval Mode by @lia-by-librechat in #15973
- ๐งฑ fix: Keep Streamed Content When a Turn Fails by @danny-avila in #15961
- ๐ฏ fix: Stop Approval Pauses From Unsealing Code Environments by @danny-avila in #15963
๐ง Refactoring and Performance
- ๐พ style: Show the Multiplier Only on a Generic Tool Line by @lia-by-librechat in #16225
- ๐งโ๐คโ๐ง style: Seat the Live Multiplier Beside Its Status Line by @lia-by-librechat in #16220
- ๐๏ธ perf: Discover MCP Tools Only When Needed by @lia-by-librechat in #16190
- โก perf: Throttle Code Highlighting While a Message Streams by @berry-13 in #16073
- ๐๏ธ perf: Highlight Tool Code Once, and Only When Its Pane Is Open by @danny-avila in #16143
- โก perf: Virtualize the Model Selector's Search Results by @berry-13 in #16074
- โก perf: Preserve Message References in the Content Handler by @berry-13 in #16072
- โก perf: Exclude Agent Version History From Default
getAgentReads by @berry-13 in #16070 - โก perf: Split Streaming Markdown Blocks Incrementally by @berry-13 in #16071
- โ๏ธ refactor: Name Tool Rounds From the Trace, and Match a Cut Response From Its End by @danny-avila in #16113
- ๐ซ perf: Limit Redis Script Caching to Atomic Claims by @lia-by-librechat in #16116
- ๐ perf: Enable Redis Stream Coalescing by Default by @lia-by-librechat in #16093
- ๐ refactor: Scrim OGDialog With the Overlay Theme Role by @berry-13 in #16068
- ๐ชถ perf: Cut the Mount Cost of Finished Agent Messages by @danny-avila in #16057
- โ๏ธ refactor: Separate Content, Tool, and Agent Types From the Assistants Module by @lia-by-librechat in #15910
๐งช Tests
- ๐ท test: Capture Revision-Pinned PR Screenshot Evidence by @lia-by-librechat in #16191
- ๐ test: Poll Instead of Sleeping for Dead Subagent Owner Expiry by @lia-by-librechat in #16144
- ๐ test: Add Deployed Smoke Profile by @danny-avila in #16135
- ๐ฅ test: Prove MCP Refresh Coordination Across Replica Processes by @lia-by-librechat in #16131
- ๐ซ test: Separate an Authoring Run From a Skills-Off Run by @lia-by-librechat in #16128
- ๐ฅ test: Hold Group Cache Reads Until Concurrent Callers Arrive by @lia-by-librechat in #16059
๐ฆ Dependencies, Chores & CI
- ๐ช ci: Mirror Published Images to a Legacy GHCR Namespace by @danny-avila in #16214
- ๐ฆ chore: bump agents SDK to v3.9.1 by @danny-avila in #16212
- ๐ฉ docs: Set Expectations for AI-Assisted Contributions by @lia-by-librechat in #16207
- ๐ฅข ci: Select Quote Text Across the Streaming Fade's Word Spans by @lia-by-librechat in #16189
- ๐ docs: Clarify Type of Change and Screenshot Uploads in the PR Template by @berry-13 in #16165
- ๐ฆพ chore: Bump Agents SDK to v3.9.0 by @danny-avila in #16142
- ๐ ci: Upload Per-Test Jest Results From Review Workflows by @danny-avila in #16110
- ๐ chore: Restructure Pull Request Template by @berry-13 in #16094
New Contributors
- @minwookshin made their first contribution in #16167
- @gokay-ai made their first contribution in #16039
- @simpleqt made their first contribution in #16023
Full Changelog: v0.8.8-rc3...v0.8.8-rc4