๐ LibreChat v0.8.8-rc1
The v0.8.8-rc1 release of LibreChat
v0.8.8-rc1
What's Changed
๐๏ธ Highlights
- Interrupt or steer Agent runs in progress, or queue the next message
- Agents can ask up to four related questions in one form, pause for input or approval, then resume
- Redesigned Agent Builder with a unified Tools marketplace and background tools
- Experimental Agent Plugins with deployment Skills, MCP servers, and opt-in command hooks
- Activity groups, parent phase summaries, and live tool intent labels
- Experimental stateful Code Interpreter sessions with reusable conversation workspaces
- Agent-managed memory with optional per-agent isolation
- Stable shared-link updates, active-link badges, and personal copies
- Fullscreen artifact previews and Mermaid SVG/PNG export
- In-app Langfuse connections, tenant fanout, and admin session links
- Unified message layouts, multi-part response editing, and full-message copy
- Smooth text fade-in, adaptive streaming, and live MCP tool-catalog refresh
- Stronger SSRF guards for speech, OCR, and web tools
- Provider updates: GPT-5.6, Claude Opus 5 and Sonnet 5, Gemini 3.7 and 3.6 Flash, and Gemini 3.5 Flash-Lite
โจ Features
- ๐ feat: Track terms acceptance timestamp by @berry-13 in #10810
- ๐ feat: Continue Shared Conversations as Personal Copies by @berry-13 in #13714
- ๐ช feat: HITL Tool Approval Scaffolding (Slice A) by @danny-avila in #12938
- ๐ง feat: Add Memory as an Agent Capability with Inline Tools and Ephemeral Badge by @danny-avila in #13869
- ๐ feat: Agent Contact Visibility with Owner Fallback by @peeeteeer in #13663
- ๐ช feat: Faithful Over-Window Context Estimate via Prune Mirror and Overhead Reserve by @danny-avila in #13959
- ๐ชญ feat: Add opt-in Langfuse fanout gateway + collector by @upman in #13872
- ๐ช feat: Human-in-the-Loop Runtime - Tool Approval + Ask-User-Question (Slice B) by @danny-avila in #13942
- ๐ช feat: Dock-Style Fisheye Nav Rail With Instant Hover Preview by @danny-avila in #14021
- ๐ค feat: Add Claude Sonnet 5 Support by @danny-avila in #14042
- ๐ฅท feat: Add
showInMenuOption to Model Specs by @alexkorep in #14034 - ๐ซท feat: Exclude File Authoring Tools From Eager Execution by @danny-avila in #14051
- ๐ช feat: Configurable Tool-Approval Policy via Programmatic Hooks by @danny-avila in #14025
- ๐งน feat: Eager HITL Checkpoint Cleanup (Expiry + Deletion) & Full-Wiring E2E by @danny-avila in #14123
- ๐งฐ feat: Redesign Agent Builder with Unified Tools Marketplace, Skills & Orchestration by @berry-13 in #13952
- ๐ก feat: add rum browser page-load diagnostics by @upman in #14106
- ๐๏ธ feat: Explicit "Use All Skills" Toggle in the Skills Section by @berry-13 in #14125
- ๐ feat: ask_user_question - agent-initiated questions with durable pause/resume by @danny-avila in #14139
- ๐๏ธ feat: Per-Agent Memory Partitions by @danny-avila in #14084
- ๐ค feat: Add GPT-5.6 (Sol/Terra/Luna) OpenAI Models by @danny-avila in #14206
- ๐ชญ feat: support per-run central export suppression by @upman in #14207
- โจ feat: stateful_code_sessions capability for warm Code API sandbox sessions (experimental) by @danny-avila in #14150
- ๐ง feat: Add GPT-5.6 reasoning.mode + reasoning.context (Responses API) by @danny-avila in #14233
- ๐งต feat: Background Tool Calls for Agents & Model Specs by @danny-avila in #14197
- ๐๏ธ feat: Encrypted Langfuse Fanout Config by @dustinhealy in #14107
- ๐งญ feat: Mid-Run Steering and Queued Messages for Agent Runs by @danny-avila in #14220
- โจ๏ธ feat: Prewarm Stateful Code Sandboxes with Cold-Boot UX Feedback by @danny-avila in #14239
- ๐ feat: Add Client Name Header to Tavily Search Requests by @manisrinivasan2k1 in #14082
- ๐ฌ feat: Explain Steering & Queuing at Every User-Facing Surface by @danny-avila in #14260
- ๐ผ๏ธ feat: Return Sandbox Images From
read_fileas Viewable Artifacts by @danny-avila in #14277 - feat: add low-noise Redis observability by @upman in #14309
- โ feat: Add Reclaim-Gated Controls to In-Flight Steers by @danny-avila in #14321
- ๐ซง feat: Float In-Flight Steers Over the Thread with Collapsible Content by @danny-avila in #14365
- โก feat: Add Gemini 3.6 Flash and Gemini 3.5 Flash-Lite Support by @danny-avila in #14369
- ๐งต feat: Native Background Execution for Code Interpreter Tools by @danny-avila in #14386
- โณ๏ธ feat: Claude Opus 5 Support by @danny-avila in #14422
- โฑ๏ธ feat: Configurable HTTP Server Timeouts by @danny-avila in #14481
- ๐ถ feat: Generalize Admin Config Secret Redaction by @dustinhealy in #14509
- ๐ท๏ธ feat: Activity Groups With Fast-Model Headers by @danny-avila in #14391
- ๐๏ธ feat: Custom Endpoint API Key Encryption via Array Secret Registry by @danny-avila in #14510
- ๐ฏ feat: Tool Intent Label Capability (tool_intents) by @danny-avila in #14499
- ๐ชข feat: Langfuse Fanout Connection Setting by @danny-avila in #14108
- ๐ feat: Preemptive Steer - Backend Interrupt & Steer by @danny-avila in #14518
- ๐ฏ feat: Per-Tool Intent Labels for Model Specs by @danny-avila in #14526
- โก feat: Interrupt & Steer, Client by @danny-avila in #14528
- ๐งต feat: Background-Native Code Execution Tools by @danny-avila in #14532
- ๐ฏ feat: Render Tool Intent as the Live Tool-Call Label by @danny-avila in #14536
- ๐ฏ feat: Per-Tool Intent Label Toggles in the Agent Builder by @danny-avila in #14550
- โก feat: Reliable Interrupt & Steer Escalation and Recovery by @danny-avila in #14558
- ๐ฌ feat: Interim Progress Card for Streaming Q&A Calls by @danny-avila in #14576
- ๐ฆ feat: Configurable Circuit Breakers for Runaway Streamed Tool Args by @danny-avila in #14613
- โก feat: Coalesce Redis Streaming Delta Publications into Windowed Batches by @danny-avila in #14614
- ๐ feat: Add allowedAddresses Exemption to Speech (STT/TTS) and OCR Config Schemas by @dustinhealy in #14559
- ๐ feat: Wire Adaptive Stream Smoothing Across Google, Bedrock, and Zero-Disable Semantics by @danny-avila in #14660
- ๐ feat: Admin Panel Link in Settings for Admins by @dustinhealy in #14662
- ๐ feat: Day-Aware Landing Greeting Schedule by @berry-13 in #14633
- ๐ feat: Refresh-Capable Google Admin OAuth Sessions by @dustinhealy in #13832
- ๐ก๏ธ feat: Add Batched MCP Authority Proofs by @danny-avila in #14688
- ๐ช feat: Add Claude Hook Compatibility Layer by @danny-avila in #14412
- โถ feat: add fullscreen artifact previews by @berry-13 in #14585
- ๐ feat: Add Agent Plugins (Experimental) by @danny-avila in #14704
- ๐ feat: Shared Conversation Badge and Stable Share Links by @berry-13 in #14712
- ๐ง feat: Open Mermaid Diagrams as Artifacts with SVG/PNG Export by @berry-13 in #14713
- ๐ชถ feat: Resolve Explicit Subagents Lazily by @danny-avila in #14714
- ๐ก feat: Route Web Search and Scrape Egress through the SSRF-safe Agent by @dustinhealy in #14606
- ๐จ feat: Add Versioned Theme Foundation by @danny-avila in #14709
- ๐ช feat: Add Parent Activity Phase Summaries by @danny-avila in #14721
- ๐จ feat: Refine Client Colors and Sharing Dialogs by @berry-13 in #14734
- ๐๏ธ feat: Adopt Composer Density Tokens by @danny-avila in #14730
- ๐ก feat: Batched User Questions With A Single Bounded Answer Form by @danny-avila in #14737
- ๐ช feat: Execute Agent Plugin Command Hooks by @danny-avila in #14755
- ๐ฃโโ๏ธ feat: Smooth Streaming Text Fade-In by @danny-avila in #14757
- ๐ชข feat: add Langfuse session links by @upman in #14776
- ๐ feat: Bound Parent Activity Phases With an Exclusive End Index by @danny-avila in #14768
- ๐ฌ style: Unify Message Row Layout and Edit Surfaces by @berry-13 in #14770
- ๐ feat: accept PowerPoint template MIME type by @snapydziuba in #14761
- โก feat: Add Gemini 3.7 Flash Support by @danny-avila in #14818
๐ Fixes
- ๐ fix: Honor User-Provided MCP API Key Instead of Forcing OAuth by @danny-avila in #13954
- ๐ช fix: Count Quote Tokens on Message Edit by @danny-avila in #13958
- ๐ fix: Route Clipboard Paste Through Upload Options by @dustinhealy in #13957
- ๐ fix: Index sharedlinks updatedAt for Cosmos DB Sorts by @danny-avila in #13979
- ๐ fix: Mount Skill Files Under skills/ in Code Interpreter by @danny-avila in #13961 and #13975
- ๐ช fix: Re-measure Sidebar Chat List on Width Change to Fix Date-Group Spacing by @danny-avila in #13981
- ๐ fix: Make create_file Missing-Content Error Truncation-Aware by @danny-avila in #14043
- fix: use
logAxiosErrorat the RAG file_search/context call sites by @mawburn in #14014 - fix:
stripHeavyErrorFieldsWinston format (defense-in-depth) by @mawburn in #14018 - ๐ฅ fix: Download Original File From Artifact Preview Panel for Office Documents by @berry-13 in #14026
- ๐ฅ fix: Firebase CDN Initialization Under tsdown CJS Interop by @jakacenta in #14046
- fix: preserve role SHARE permissions across boot in initializeRoles by @mawburn in #14022
- fix: bound peak memory of concurrent base64 attachment encoding by @mawburn in #14023
- ๐ง fix: Add .eml (message/rfc822) Support to File Upload by @Zirkonium88 in #13989
- ๐ช fix: Support Admin Redirect Detection for Same-Origin Subpaths by @arjunvijay24 in #14040
- ๐ฉน fix: Coerce Stringified
edit_fileEdits (JSON-in-JSON) by @danny-avila in #14056 - ๐ง fix: Apply Bedrock thinking config to bare inference-profile model IDs by @danny-avila in #14054
- ๐ง fix: Default Bedrock thinking
maxTokensto model max output by @danny-avila in #14058 - fix: stop the artifact-edit retry loop on unrecoverable 400s by @mawburn in #14060
- ๐ฃ fix: Surface Resumable Stream Start Errors by @danny-avila in #14072
- ๐งฏ fix: Harden Principals Cache Invalidation and Lock-Wait Paths by @danny-avila in #14120
- ๐ fix: Ignore Finalized SSE Transport Errors by @danny-avila in #14114
- fix: fall back to
_idfor user id increateSafeUserby @mawburn in #14083 - ๐ fix: guard IME composition on Enter in prompt name/labels and dynamic tag inputs by @mahirhir in #13996
- ๐๏ธ fix: Return Cached Transaction-Support Value on Cache Hit by @Osamaali313 in #13999
- ๐ง fix: Format Reasoning Exports by @danny-avila in #14116
- ๐งฎ fix: Prevent String Corruption of Numeric Agent Model Parameters by @danny-avila in #14119
- ๐งข fix: Raise Claude Sonnet 4.6 Output Cap by @danny-avila in #14115
- ๐งต fix: Preserve Fenced Markdown Artifacts by @danny-avila in #14121
- ๐ fix: Prevent Role Grants on Shared Links by @danny-avila in #14137
- ๐ค fix: Exclude Provider Secrets from HITL Pending Actions by @danny-avila in #14136
- โณ fix: Defer MCP Connection for Request-Scoped Placeholders on Reinitialize by @danny-avila in #14148
- ๐งท fix: Align Agent File Attachment Ownership by @danny-avila in #14149
- ๐ง fix: Include Conversation Starters in Agent View and List Responses by @serhiizghama in #14142
- โ fix: Resolve Local JSON Pointer Refs & Sanitize Tool Search Schema for Gemini by @usnavy13 in #14161
- ๐ก๏ธ fix: Guard HITL checkpoint size against MongoDB 16MB limit by @danny-avila in #14157
- ๐ก fix: Normalize Email Case When Issuing Verification Tokens by @VictorEPlus in #14172
- ๐ช fix: Apply Recursion Limit Config to Subagents by @danny-avila in #14185
- ๐ fix: Enforce ALLOW_EMAIL_LOGIN on the Backend Login Route by @lurkerCha in #14180
- ๐งฉ fix: Allow
compatibilityField in Skill Frontmatter by @danny-avila in #14189 - ๐ fix: Translate Finite
supportedMimeTypesAllowlists to Picker Accept by @danny-avila in #14186 - ๐ช fix: Serve Nested Skill Files Through a Wildcard Route by @danny-avila in #14191
- ๐ fix: Attach Request-Scoped MCP Servers From the Builder via the
mcp_allWildcard by @adamscross04 in #14177 - ๐ fix: Sync Conversation Title Updates to MeiliSearch by @danny-avila in #14223
- ๐ป fix: Guard Redis Stream Resume Against Disposed HITL Graph by @danny-avila in #14258
- ๐ค fix: Discover MCP OAuth Exchange Methods by @danny-avila in #14256
- ๐ fix: Terminate Streamable HTTP MCP Sessions on Teardown by @danny-avila in #14252
- ๐๏ธ fix: Route read_file Through the Stateful Code Session by @danny-avila in #14259
- ๐ญ fix: Default GPT-5.6 Reasoning Requests to Responses API by @jomspk in #14232
- ๐ fix: Preserve Ephemeral Agent Params and Identity for ask_user_question Resume by @jjhidalgar-celonis in #14254
- ๐ซ fix: Strip Reserved Fields From Bedrock
additionalModelRequestFieldsby @danny-avila in #14246 - ๐ฑ fix: Single-Tap Select for Pinned Agents, Model Specs & Models on Touch by @danny-avila in #14272
- ๐งฝ fix: Clear Deleted Chats From Message Cache by @danny-avila in #14270
- ๐ง fix: Prevent Drained Steer From Re-Queuing After Run-End Race by @danny-avila in #14276
- ๐ fix: Await
ask_user_questionTool Factory inloadToolsby @danny-avila in #14291 - ๐งท fix: Flush Pending File Deletion on Unmount by @danny-avila in #14293
- ๐ fix: Stop Answered
ask_user_questionCard From Reopening Its Popover by @danny-avila in #14297 - ๐ fix: Scope, Cap, and De-Execute the In-Flight Steer Stack by @danny-avila in #14310
- ๐ฑ fix: Don't Connect the Favorites Drag Source on Touch Pointers by @danny-avila in #14312
- ๐งต fix: Harden Request-Scoped MCP Lifecycle by @danny-avila in #14342
- ๐ช fix: Build RAG-API Chart Before Parent to Bundle PostgreSQL Dependency by @Aho-Bakaa in #14262
- ๐ช fix: Keep Owners From Being Locked Out of Their Own Resource When Sharing by @danny-avila in #14347
- ๐ fix: Route Admin-Configured Document Types to RAG /text on Agent Upload by @danny-avila in #14345
- ๐๏ธ fix: Claim Idempotency Keys to Dedup Retried Generation Requests and Prevent Double Billing by @danny-avila in #14344
- ๐ง fix: Restore Agent Memory Scope Control in Unified Builder by @danny-avila in #14292
- ๐ fix: Keep File Uploads Alive With SSE Heartbeats by @MarcAmick in #14295
- ๐งฉ fix: Preserve Deployment Skill IDs on Agents by @danny-avila in #14368
- ๐งญ fix: Keep Message Nav Chevrons Working on In-Thread Steers by @danny-avila in #14377
- ๐ค fix: Withhold MCP OAuth Headers From Untrusted Preconfigured Discovery by @danny-avila in #14379
- ๐ fix: Preserve resource owner access when sharing (key share diff by stable id) by @jomspk in #14317
- ๐ช fix: Preserve Nested Subagent Delegation by @danny-avila in #14392
- โ fix: Enable Submit on First Tool-Approval Decision by @danny-avila in #14393
- ๐๏ธ fix: Surface Clear Error for Unprocessable Gemini YouTube Videos by @danny-avila in #14396
- ๐ fix: Pin Scroll-to-Bottom Rib in Message Nav by @danny-avila in #14397
- ๐ซ fix: Preserve Loaded Message Content When Resume Snapshot Is Empty by @danny-avila in #14399
- ๐ฏ fix: Correct Off-by-One Rail Scrub After Pinning the Terminus by @danny-avila in #14409
- โพ๏ธ fix: Preserve Resumable Stream Ordering Across Turns by @danny-avila in #14411
- ๐งฉ fix: Harden Agent Skill Lifecycles End to End by @danny-avila in #14429
- ๐ง fix: Restore
invite-userCLI by @unsnow-iac in #14436 - ๐ fix: Resolve MCP Tool-Key Boundary Against Configured Server Names by @danny-avila in #14448
- ๐ fix: Strip $-Prefixed Schema Keywords Before Persisting MCP Tool Params by @danny-avila in #14464
- ๐ fix: Render Shared Links Containing Steers by @danny-avila in #14480
- ๐ fix: Bound
/files/usageTTL Hold Instead of Clearing It by @danny-avila in #14470 - ๐ค fix: Filter Admin Config Reads by Section-Scoped Read Capability by @dustinhealy in #14472
- ๐ fix: Amazon DocumentDB Compatibility for Pipeline-Form Updates by @danny-avila in #14495
- ๐ก๏ธ fix: validate message feedback payloads by @upman in #14500
- ๐งฉ fix: Apply Every Entry of Multi-Part Stream Deltas by @danny-avila in #14502
- ๐ท๏ธ fix: Re-attribute Agent Content After In-Thread Steers by @danny-avila in #14497
- ๐ฏ fix: Keep Run Steps and Labels in One Index Space After a Resume Sync by @danny-avila in #14516
- ๐ชถ fix: Yield Soft Default Model Spec to Agent Picks in Picker-Only Deployments by @danny-avila in #14515
- ๐ช fix: Surface MCP Initialization Errors by @danny-avila in #14529
- ๐ช fix: Resolve User Vars Before the First Post-OAuth Reconnect by @schumajs in #14538
- ๐ fix: Remove Owner Email from Agent
owner_contactFallback by @danny-avila in #14541 - ๐ fix: Filter Non-PDF Documents on the Anthropic Encode Path by @danny-avila in #14535
- ๐ฏ fix: Exact Ask-Question Attribution via Interrupt tool_call_id by @danny-avila in #14539
- ๐งน fix: Clean Up MCP OAuth State Mappings on Uninstall + Reject Superseded Callbacks by @danny-avila in #14549
- ๐ง fix: Preserve Deferred Tool Schemas Across HITL Resume by @danny-avila in #14552
- ๐ฆ fix: Ignore Sequenced Redis Events Without SSE Subscribers by @danny-avila in #14557
- ๐ fix: Normalize MCP Tool Keys at Every Producer, Resolve Raw Names via Aliases by @danny-avila in #14553
- ๐ข fix: Preserve Tenant Context for Partial Response Saves on Disconnect by @danny-avila in #14567
- ๐ฆ fix: Deliver Abort Acknowledgements on Zero-Subscriber Replicas by @danny-avila in #14569
- ๐ท๏ธ fix: Skip Title Generation for Preempt-Incomplete Turns by @danny-avila in #14571
- ๐ชง fix: Guard Admin OAuth Routes When Providers Are Not Configured by @cyphercodes in #14507
- ๐ fix: Resolve Relative Skill Markdown Links by @berry-13 in #14586
- ๐งญ fix: Drop v6-Only MemoryRouter future Prop from Skill Markdown Spec by @danny-avila in #14588
- ๐ชช fix: Strip Unresolved Header Placeholders at Final Resolution by @danny-avila in #14595
- ๐ fix: Single-Flight MCP OAuth Token Refresh per User/Server by @danny-avila in #14596
- ๐ชบ fix: Keep Preempt-Abandoned Siblings Nested, Make Message Tree Order-Robust by @danny-avila in #14587
- โจ๏ธ fix: Honor
defaultPreventedin Global Shortcut Dispatch by @danny-avila in #14570 - ๐ชข fix: Bind MCP OAuth Secrets to Trusted Endpoints by @danny-avila in #14578
- โ fix: Bind Action Servers to Metadata Ports by @danny-avila in #14575
- ๐งฑ fix: Enforce Agent Runtime File Trust Boundaries by @danny-avila in #14577
- ๐ fix: Scope Skill Command Query to Text Before the Caret by @danny-avila in #14604
- ๐งฌ fix: Resolve URL-Named Model Spec to Its Full Preset on Cold Load by @danny-avila in #14610
- โ๏ธ fix: Truncate Overflowing Activity and Intent Labels in Chat UI by @danny-avila in #14607
- ๐ฆ fix: Bound, Single-Flight, and Retry Skill File Priming Uploads by @danny-avila in #14611
- ๐งน fix: Exclude Mongo ID From Conversation Updates by @danny-avila in #14631
- โฟ๏ธ a11y: improve keyboard operability, focus retention, and accessible naming by @berry-13 in #14600
- ๐ fix: Localized Guidance for Model-Not-Found Errors by @danny-avila in
557c22d102 - ๐ก๏ธ fix: Run message-filter PII patterns on a linear-time regex engine (ReDoS) by @dustinhealy in #14554
- ๐ชข fix: disable central fanout media uploads for langfuse by @upman in #14642
- ๐งญ fix: Fail Closed When Expected MCP Tools Are Unavailable by @danny-avila in #14646
- ๐ fix: Honor Claude Document Limits Through Inference Gateways by @danny-avila in #14650
- ๐๏ธ fix: Reconcile MCP OAuth Readiness Across Pods by @danny-avila in #14629
- ๐ fix: Preserve Custom Endpoint
streamRateWhenendpoints.allIs Defined by @danny-avila in #14645 - ๐ fix: Preserve Structured JWT Auth Context by @danny-avila in #14652
- โฑ๏ธ fix: Compile admin file-config MIME patterns on a linear-time engine (ReDoS) by @dustinhealy in #14555
- ๐ก๏ธ fix: SSRF-Guard Speech (STT/TTS) and OCR Outbound Requests at Connect Time by @dustinhealy in #14560
- ๐ fix: Re-Arm Soft Default When a Stored Agent No Longer Resolves by @danny-avila in #14664
- ๐ fix: Prevent duplicate share rows from clobbering pending role edits (dedupe adds by stable id) by @jomspk in #14655
- ๐ fix: Stop Agents When Code Resources Cannot Recover by @danny-avila in #14651
- โฟ fix: Restore WCAG AA Contrast for Text Tokens & Hide Edit Action While Streaming by @danny-avila in #14677
- ๐ฉน fix: Keep Edit Action Fully Hidden While Streaming by @danny-avila in #14687
- ๐ก fix: Refresh MCP Tools After List-Changed Notifications by @danny-avila in #14686
- ๐งฌ fix: Rebind Request Context After Remote Agent Auth by @danny-avila in #14685
- ๐งญ fix: Make MCP Catalog Redis Cluster-Safe by @danny-avila in #14717
- ๐งฌ fix: Normalize Legacy MCP Null Headers by @danny-avila in #14720
- ๐ fix: Consistent Export Filenames Across Formats by @lidonius1122 in #14708
- ๐งท fix: Safely Recover Runtime MCP OAuth Rejections by @danny-avila in #14684
- ๐ช fix: Rebase Activity Phase Bounds over Sparse Content by @danny-avila in #14729
- ๐ fix: Re-enable Send After File Upload by @danny-avila in #14727
- ๐ธ fix: Guard Screenshot Export Against Main-Thread Freezes by @danny-avila in #14733
- ๐ fix: Preserve Plugin MCP Provenance Through Registry Storage by @danny-avila in #14744
- ๐งญ fix: Re-Anchor Parent Activity Phase Bounds by @danny-avila in #14741
- ๐งท fix: Preserve Elicitation Answers Across Aborts by @danny-avila in #14745
- ๐ก fix: Preserve Redis Abort Terminal Delivery by @danny-avila in #14749
- โจ๏ธ fix: allow file upload shortcut when editing by @likeabas in #14764
- ๐ fix: Isolate Invalid Skills During GitHub Sync by @berry-13 in #14735
- ๐๏ธ fix: Align Speech Engine Configuration With Runtime by @berry-13 in #14736
- ๐งฉ fix: Normalize Malformed MCP Required Schemas by @danny-avila in #14771
- ๐งพ fix: Honor Disabled Transactions on the Token-Count Fallback Path by @jtodaroii in #14774
- ๐ฐ๏ธ fix: Attach Request-Scoped MCP Servers by @danny-avila in #14780
- ๐ฑ fix: Show Quote Popup for Block Selections and on Touch Devices by @danny-avila in #14777
- ๐ช fix: Rebase Activity Phase Bounds Onto Compacted Content and Unskip the MCPManager Suite by @danny-avila in #14782
- ๐ fix: Split Activity Phases at Substantial Text by @danny-avila in #14785
- ๐๏ธ style: Use correct text colour for answer textarea in dark mode by @lizzykerrigan in #14791
- ๐ฉน fix: Restore the
@librechat/apiBuild and Remove Legacy Code by @danny-avila in #14808 - ๐ฉน fix: apply agent updates that match the newest version entry by @mihidumh in #14810
- ๐ฌ style: Right-Align In-Flight Steer Bubbles to the Message UI by @danny-avila in #14814
- ๐ fix: Preserve MCP
serverInstructionsDeclaration Through Inspection by @danny-avila in #14815 - ๐ fix: Recover Quietly From Stale MCP SSE Stream Conflicts by @danny-avila in #14816
- ๐ fix: Alias Shell Script MIME Variants to
application/x-shby @danny-avila in #14817
๐ง Refactoring and Performance
- โป๏ธ refactor: Compute Context Gauge Client-Side, Drop Projection Endpoint by @danny-avila in #13953
- ๐ชฃ refactor: Rate-Limit Token Routes and Cap Remote File Downloads by @danny-avila in #13978
- ๐ฆฅ perf: Lazy-Load Agent Version History in Editor by @danny-avila in #13977
- ๐ perf: Fetch Pinned Agents Directly Past the Global Agents Map by @danny-avila in #13972
- โก perf: memoize FavoritesList and BookmarkNav to prevent re-renders during streaming by @berry-13 in #14011
- ๐บ๏ธ refactor: Light Up In-Viewport Ribs at Rest in Message Nav by @danny-avila in #14041
- โก perf: Minimize group membership query in principal resolution by @danny-avila in #14055
- โก perf: Skip Role Route Capability Probe for Own and Default Roles by @danny-avila in #14073
- ๐ชญ refactor: safe structured failure logging for langfuse fanout gateway by @upman in #14050
- ๐ perf: Skip Redundant Permission Queries on MCP Servers List by @danny-avila in #14077
- โก perf: Persist HITL checkpoints only on pause (lazy checkpointer) by @danny-avila in #14024
- ๐๏ธ perf: Cache Group Memberships for ACL Principal Resolution by @danny-avila in #14075
- โ๏ธ perf: reduce first-load MongoDB round trips by @upman in #14101
- ๐ฏ style: Center Scroll-to-Bottom Rib in Message Nav Rail by @danny-avila in #14151
- ๐ perf: cache OpenID JWT user documents by @upman in #14187
- ๐ perf: start message queries before file map loads by @upman in #14188
- ๐ช style: Adjust rib dimensions and button sizes in
MessageNavby @danny-avila in #14234 - ๐ช style: Center scroll-to-bottom marker in MessageNav by @danny-avila in #14238
- ๐ style: Reveal the Steered "?" on Message Hover/Focus by @danny-avila in #14271
- ๐ refactor: Clarify Ask Question Schema Errors and Retry Guidance by @danny-avila in #14279
- ๐ฌ refactor: Anchor In-Flight Steers Above the Composer by @danny-avila in #14308
- โก perf: Halve Per-Delta Redis Round Trips in Resumable Streams by @danny-avila in #14313
- ๐งญ refactor:
web_searchDescription on When To Search vs Answer Directly by @joshbla in #13930 - ๐งท perf: Stabilize Mutation-Dependent Memos in Chat Hooks by @danny-avila in #14328
- ๐ฐ perf: Suppress No-Op Conversation Writes and Widen-Proof Atom Subscriptions by @danny-avila in #14329
- ๐ refactor: Surface primary OpenID JWT failure reason in auth failure log by @danny-avila in #14346
- ๐งญ perf: Warm Conversation Switches with Single-Navigation Focus Intent by @danny-avila in #14334
- ๐งน perf: Share Voices Store, Gate Timestamp Ticker, Stabilize Greeting Springs by @danny-avila in #14335
- ๐๏ธ perf: Coalesce Streaming Delta Cache Writes Per Animation Frame by @danny-avila in #14332
- ๐๏ธ perf: Narrow Composer Subscriptions to Streaming State by @danny-avila in #14333
- ๐งฌ perf: Memoize Message Spine and Isolate Scroll-Button State by @danny-avila in #14330
- ๐ช perf: Virtualize Search Results and Stop the Per-Query Remount by @danny-avila in #14352
- โก perf: Reduce Agent Chat Startup Latency by @danny-avila in #14423
- ๐ฌ refactor: Raise
ask_user_questionOption Label Cap to 280 Chars by @danny-avila in #14491 - ๐ชข refactor: Move Agent Execution Seam Before Initialization by @danny-avila in #14581
- ๐ perf: Bound Early Event Buffering for Detached Generations by @danny-avila in #14612
- ๐จ refactor: adopt the
@librechat/clientdesign system (semantic color tokens + component migration) by @berry-13 in #13879 - ๐งฉ refactor: Shared UI Design System Tokens by @danny-avila in #14670
- โก perf: Agent List and Model Selector at Scale by @berry-13 in #14601
- ๐งญ refactor: make the side panels behave the same way by @berry-13 in #14695
- ๐ซง refactor: Fading Pre-Response Dot, Legacy Cursor CSS Removed by @danny-avila in #14772
- ๐งฑ refactor: Require Broad Config Management for Base Field Mutations by @danny-avila in #14775
- ๐๏ธ refactor: Typed Console Colors and Hardened Script Helpers by @danny-avila in #14778
- ๐งฑ refactor: Make Activity Phase Anchor Construction Exhaustive by @danny-avila in #14805
- ๐งญ refactor: Resolve Activity Phase Position Once Per Boundary by @danny-avila in #14807
๐งช Tests
- ๐ test: Guard Web Search Description Length by @danny-avila in #14044
- ๐ test: Cover Tool Approval Workflows End to End by @danny-avila in #14427
- ๐งญ test: Cover Agent Handoffs End to End by @danny-avila in #14428
- ๐งช test: Reasoning-Stream Render Perf Benchmark via react-scan by @danny-avila in #14494
- ๐๏ธ test: Guard Multi-Steer Injection Across Tool Boundaries by @danny-avila in #14498
- ๐งช test: Run mock E2E against Redis in shards by @danny-avila in #14551
- ๐ฒ test: Replace Microtask Timing Assumptions in Client Specs by @berry-13 in #14653
- ๐ test: refresh FerretDB harness, registry-derived models, bulkWrite coverage by @danny-avila in #14679
- test(mcp): mock static tool startup sync by @danny-avila in #14711
- ๐งช test(e2e): add Bombadil property exploration by @upman in #14462
- ๐งพ test: Pin the Transactions Config Wiring on the Fallback Path by @danny-avila in #14779
๐ฆ Dependencies, Chores & CI
- ๐ฆ chore: bump
@librechat/agentsto v3.2.52 by @danny-avila in #13939 - โฌ๏ธ chore: Migrate off deprecated @ariakit/react-core to @ariakit/react-components by @danny-avila in #13940
- ๐งช ci: Resolve DataTable test infinite re-render by @danny-avila in #13947
- ๐ฆ chore: bump
@librechat/agentsto v3.2.54 by @danny-avila in #14035 - ๐ chore: Bump
@librechat/agentsto v3.2.55 by @danny-avila in954caef3a3 - ๐งช ci: De-flake ConversationsSection Memoization Spec on Slow Runners by @danny-avila in #14071
- ๐งท chore: Expose Retain Recent Summarization Config by @danny-avila in #14134
- ๐ฆ chore: bump langfuse fanout Go dependencies by @upman in #14126
- โญ docs: update Star History section by @berry-13 in #14198
- ๐ฆ chore: Update
@librechat/agentsto v3.2.62 by @danny-avila in #14235 - ๐ฆ chore: Update
@librechat/agentsto v3.2.65 by @danny-avila in #14263 - ๐งน chore: Prune Dangling Images After deployed-update Pull by @danny-avila in #14269
- ๐ฝ๏ธ chore: Drop Pending Composer Draft When Steering or Queuing by @danny-avila in #14289
- ๐งฉ chore: Prebundle Node Polyfills for Buffer, Process, and Global in Vite
optimizeDepsby @danny-avila in #14354 - ๐ฆ chore: Update
@librechat/agentsto v3.2.66 &npm audit fixby @danny-avila in #14361 - ๐งพ ci: Skip Workflows for Markdown-Only Changes by @danny-avila in #14378
- ๐ฆ chore: Update
@librechat/agentsto v3.2.68 by @danny-avila in #14380 - ๐ฆ ci: Gate Playwright Runs to Maintainers by @danny-avila in #14385
- ๐ญ ci: Scope Playwright Runs to Relevant Changes by @danny-avila in #14388
- ๐ chore: Bump Mongoose to 8.24.1 to Patch Prototype Pollution by @danny-avila in #14461
- ๐บ๏ธ chore: Bump PostCSS to 8.5.18 to Patch Source Map Traversal by @danny-avila in #14463
- ๐ฆ chore: bump
@librechat/agentsto v3.3.4 by @danny-avila in #14482 - ๐ chore: Prune Deprecated Packages From the Dependency Tree by @danny-avila in #14483
- ๐ฏ chore: Retire Rollup-Era devDependencies After tsdown Migration by @danny-avila in #14496
- ๐ฆ chore: Bump @librechat/agents to v3.3.5 by @danny-avila in #14506
- ๐ฆ chore: bump
@librechat/agentsto v3.3.8 by @danny-avila in #14525 - ๐งช chore: Add the Activity-Label Prose Eval Harness by @danny-avila in #14527
- ๐ฆ chore: Convert Activity-Label Eval Harness to TypeScript by @danny-avila in #14530
- ๐ฆ chore: bump
@librechat/agentsto v3.3.9 by @danny-avila in #14548 - ๐ฆ chore: bump
@librechat/agentsto v3.3.11 by @danny-avila in #14562 - ๐ฆ chore: update
sanitize-htmlto latest by @danny-avila in #14573 - ๐ ci: Deterministic Circular Dependency Checks by @danny-avila in #14579
- ๐ chore: Upgrade react-router-dom to v7.18.2 (security) by @danny-avila in #14582
- ๐งช ci: Settle to render-idle before ConversationsSection memo baselines by @danny-avila in #14590
- ๐งน chore: Migrate Legacy Duplicate Code Files Blocking Dedupe Index by @danny-avila in #14593
- ๐ฆ chore: npm audit by @danny-avila in #14640
- ๐ฐ๏ธ chore: bump
@librechat/agentsto v3.4.0, cover streamed subagent results e2e by @danny-avila in #14647 - ๐ซ chore: Remove Published Credential Defaults by @danny-avila in #14680
- ๐ chore: add opt-in alternative local stack experiments by @danny-avila in #14678
- โ๏ธ ci: Bump GitHub Actions to Node.js 24 Runtimes by @berry-13 in #14689
- ๐ฆ chore: bump
@librechat/agentsto v3.4.2 andnpm auditby @danny-avila in #14702 - ๐ฆ ci: Reduce GitHub Actions Runner Pressure by @berry-13 in #14716
- ๐งฉ ci: Close Workflow Path-Filter Gaps by @danny-avila in #14728
- ๐ป ci: Move the ESLint Config Sweep Into Its Own Job by @danny-avila in #14742
- ๐งท ci: Enforce Durable Agent Finalization for E2E tests by @danny-avila in #14740
- ๐ชถ chore: Aggregate Empty MCP Tool Logs by @danny-avila in #14767
- ๐ฆ chore: Update
@librechat/agentsto v3.4.6 by @danny-avila in #14781 - ๐ ci: Harden Locize Translation Sync by @danny-avila in #14784
- ๐ chore: Bump the MCP SDK to 1.30.0 and Parse Content-Type Instead of Searching It by @danny-avila in #14820
- ci: gate the e2e activity-phase DOM assertions on the persisted phase by @danny-avila in #14821
๐ Internationalization
- ๐ i18n: Update translation.json with latest translations by @danny-avila in #14053
- ๐ i18n: Update translation.json with latest translations by @danny-avila in #14070
- ๐ i18n: Localize Token Balance Error Message by @Philipp-Voss in #14169
- ๐ i18n: Update translation.json with latest translations by @danny-avila in #14266
- ๐ i18n: Update translation.json with latest translations by @danny-avila in #14307
- ๐ i18n: Update translation.json with latest translations by @danny-avila in #14376
- ๐ i18n: Update translation.json with latest translations by @danny-avila in #14406
- ๐ i18n: Update translation.json with latest translations by @danny-avila in #14460
- ๐ i18n: Update translation.json with latest translations by @danny-avila in #14598
- ๐ i18n: Update translation.json with latest translations by @danny-avila in #14739
- ๐ chore: Restore English Localization Source Values by @danny-avila in #14743
New Contributors
- @alexkorep made their first contribution in #14034
- @jakacenta made their first contribution in #14046
- @Zirkonium88 made their first contribution in #13989
- @arjunvijay24 made their first contribution in #14040
- @mahirhir made their first contribution in #13996
- @Osamaali313 made their first contribution in #13999
- @Philipp-Voss made their first contribution in #14169
- @VictorEPlus made their first contribution in #14172
- @adamscross04 made their first contribution in #14177
- @manisrinivasan2k1 made their first contribution in #14082
- @jomspk made their first contribution in #14232
- @jjhidalgar-celonis made their first contribution in #14254
- @Aho-Bakaa made their first contribution in #14262
- @joshbla made their first contribution in #13930
- @unsnow-iac made their first contribution in #14436
- @schumajs made their first contribution in #14538
- @cyphercodes made their first contribution in #14507
- @likeabas made their first contribution in #14764
- @jtodaroii made their first contribution in #14774
- @lizzykerrigan made their first contribution in #14791
- @mihidumh made their first contribution in #14810
- @snapydziuba made their first contribution in #14761
Full Changelog: v0.8.7...v0.8.8-rc1