Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack ๐ŸŽ‰ Learn more
โ† Back to changelog

๐Ÿš€ 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 showInMenu Option 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_file as 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 logAxiosError at the RAG file_search/context call sites by @mawburn in #14014
  • fix: stripHeavyErrorFields Winston 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_file Edits (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 maxTokens to 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 _id for user id in createSafeUser by @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 compatibility Field in Skill Frontmatter by @danny-avila in #14189
  • ๐Ÿ“Ž fix: Translate Finite supportedMimeTypes Allowlists 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_all Wildcard 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 additionalModelRequestFields by @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_question Tool Factory in loadTools by @danny-avila in #14291
  • ๐Ÿงท fix: Flush Pending File Deletion on Unmount by @danny-avila in #14293
  • ๐Ÿ™‹ fix: Stop Answered ask_user_question Card 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-user CLI 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/usage TTL 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_contact Fallback 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 defaultPrevented in 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 streamRate When endpoints.all Is 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/api Build 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 serverInstructions Declaration 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-sh by @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 MessageNav by @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_search Description 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_question Option 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/client design 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

๐ŸŒ Internationalization

New Contributors

Full Changelog: v0.8.7...v0.8.8-rc1