LibreChat
Enhanced ChatGPT clone
Alternative to: chatgpt, perplexity, anthropic, claude, grok, gemini
About
Versions (13)
v0.8.8-rc3
2026-09-15https://www.librechat.ai/changelog/v0.8.8-rc3
🏞️ Highlights
- Experimental: Bring-Your-Own-Machine for scalable coding agents
- Agent/Skills CRUD API improvements
- Conversation Trace Viewer and Subagent file sharing
- GPT-6 Astra and expanded Context Usage
- File text fallback, unified artifact rows, and upload previews
- Unified pinning, chat filtering, and interface polish
- MCP, OpenID, Agent, and Code reliability improvements
Click to expand Release Notes
✨ Features
- 🧷 feat: Carry Ask User Answers Past Compaction by @danny-avila in #15944
- 🪂 feat: Opt-In Text Fallback for Files No Tool Can Read by @danny-avila in #15940
- 🕹️ feat: Run Declared Project Actions on Attached Workers by @danny-avila in #15943
- 🪧 feat: Unify Artifact Triggers as Tool Rows by @berry-13 in #15915
- 🔁 feat: Retry OpenID Discovery After Startup Failures by @danny-avila in #15899
- 🔭 feat: Conversation Trace Viewer by @danny-avila in #15869
- 🦘 feat: Share Run-Scoped Files With Subagents by @usnavy13 in #15848
- 🔎 feat: Filter and Sort the Sidebar Chats List by @berry-13 in #15842
- 📟 feat: Record Safe Upstream Model Failures by @dustinhealy in #15800
- 🔠 feat: Render Safe Upstream Model Errors by @dustinhealy in #15837
- 🖋️ feat: Seal Code Environment Choices Per Conversation by @danny-avila in #15868
- 🏡 feat: Remember Agent Workspace Defaults by @danny-avila in #15843
- 🧮 feat: Surface Retained Tool-Message Context Usage by @berry-13 in #15796
- 🩻 feat: improve agent filter controls for insights by @upman in #15807
- 📌 feat: Unified Pinned Section With Sidebar Drag Interactions by @berry-13 in #15057
- 🥼 feat: Expose BYOM Cancellation Diagnostics by @danny-avila in #15810
- 🪓 feat: Cancel Background Tool Invocations by @danny-avila in #15773
- 🪔 feat: Expose Bounded Attached Bash Timeouts by @danny-avila in #15776
- 🏕️ feat: Select Attached Code Workspaces by @danny-avila in #15768
- 🚚 feat: Route Attachments and Provision Tools Lazily by @danny-avila in #15763
- 🏛️ feat: Establish Agent Management API Contract by @danny-avila in #15545
- 🔐 feat: Add M2M Authentication for Agent Management by @dustinhealy in #15555
- 🪵 feat: Add OpenTelemetry Logs Pipeline via Winston Bridge by @danny-avila in #15565
- 👀 feat: Add Agent Management Read Endpoints by @dustinhealy in #15561
- ✨ feat: add morphing state icons across the client by @berry-13 in #14697
- ➕ feat: Add Agent Management Creation Endpoint by @dustinhealy in #15564
- ✏️ feat: Add Agent Management Update Endpoint by @dustinhealy in #15566
- 🪓 feat: Add Tenant-Scoped Agent Deletion by @dustinhealy in #15573
- 👓 feat: Read Attached Workspace Files by @danny-avila in #15524
- 🕯️ feat: Search Text in Attached Workspaces by @danny-avila in #15525
- 🌌 feat: Add GPT-6 Astra Support by @danny-avila in #15567
- 🎨 feat: Theme-Adaptive SVG Support for Custom MCP and Group Icons by @berry-13 in #13817
- 🌳 feat: List Attached Workspace Trees by @danny-avila in #15527
- 🏕️ feat: Provision Native Code Workers by @danny-avila in #15587
- 🛻 feat: Route Bash Through Attached Workspaces by @danny-avila in #15546
- 📓 feat: Author Files in Attached Workspaces by @danny-avila in #15548
- 🛰️ feat: Show BYOM Worker Readiness by @danny-avila in #15618
- 🩻 feat(insights): Scope Insights to Authorized Agents by @upman in #15549
- 📋 feat: Copy Messages as Rich Text by @berry-13 in #15087
- ♿ feat: High Contrast Light and Dark Appearance Modes by @berry-13 in #15178
- 🪪 feat: Add Per-Agent Git Identity by @danny-avila in #15628
- 🔭 feat: Tag Browser Diagnostics With Client Build IDs by @danny-avila in #15656
- 🧶 feat: Flatten Active Message Threads Behind a Flag by @danny-avila in #15633
- 🛅 feat: Add Agent File Management APIs by @danny-avila in #15666
- 🍋 feat: Add AMD Lemonade Provider Recognition and Branding by @berry-13 in #15664
- 🧰 feat: Unify Tool Activity, Reasoning, Search, and Agent Workflows by @berry-13 in #14546
- 🛂 feat: Add Configurable BYOM Enrollment Policy by @danny-avila in #15673
- 📜 feat: Add Skills Discovery and Authoring to the Management API by @danny-avila in #15642
- 🪬 feat: Configure Langfuse Trace User Identity and Metadata by @danny-avila in #15667
- 🗳️ feat: Define Conversation Code Approval Modes by @danny-avila in #15685
- 🧶 feat: Thread Conversation Code Approval Through Requests by @danny-avila in #15698
- 🪧 feat: Surface Conversation Code Approval Modes by @danny-avila in #15703
- 🪗 feat: Compact Context in a Summarize-Only Turn by @danny-avila in #15690
- 🧐 feat: Restore Interactive Tool Approval Review by @danny-avila in #15717
- 🛫 feat: Enable Full Access for BYOM Coding by @danny-avila in #15718
- 🧰 feat: Move Code Settings Into Run Code by @danny-avila in #15722
🐛 Fixes
- 🧼 fix: Render Agent Description HTML Safely by @danny-avila in #15951
- 🫴 fix: Preserve Queued Follow-Ups Through Handoff by @danny-avila in #15942
- 📖 fix: Preview Extracted Upload Text by @danny-avila in #15946
- 🔓 fix: Keep Code Approval Mode Selectable Mid-Run by @danny-avila in #15938
- 🎞️ fix: Deliver Opted-In Custom Endpoint Media Safely by @danny-avila in #15937
- 🛅 fix: Preserve Agent Management Upload IDs by @dustinhealy in #15840
- 👯 fix: Reject Duplicate Tool Approval Identities by @danny-avila in #15933
- 📫 fix: Route Azure Astra Through Responses API by @usnavy13 in #15845
- 🗯️ fix: Give Failed Turns Actionable Guidance by @berry-13 in #15896
- 🍵 fix: Support Renewable MCP Credentials for Schedules by @danny-avila in #15908
- 🧷 fix: Keep a Failed Summary From Bounding the Conversation History by @berry-13 in #15913
- 👑 fix: Elect a Single Expired-File Sweeper by @danny-avila in #15909
- 🚛 fix: Move Sealed Chats to New Code Environments by @danny-avila in #15902
- 🏦 fix: Reserve Credits for In-Flight Requests by @danny-avila in #15879
- 📐 fix: Accept Custom WIDTHxHEIGHT Sizes in OpenAI Image Tools by @danny-avila in #15904
- 💰 fix: Bill Stopped Agent Turns From Provider Usage by @danny-avila in #15889
- 🧿 fix: Bind Login Flows to the Browser That Started Them by @danny-avila in #15880
- 🪢 fix: Withhold the Editor’s Rerun Where No User Turn Can Be Replayed by @berry-13 in #15887
- 🪟 fix: Opaque Header Controls Over the Chat Gradient by @berry-13 in #15894
- 🧷 fix: Mark a Failed Compaction So Its Rerun Controls Stay Withheld by @berry-13 in #15883
- 🪧 fix: Emit the Configured-Footer Answer With the HTML Shell by @berry-13 in #15886
- 🧾 fix: Count the Tool Results a Tool-Limit Stop Retains by @berry-13 in #15893
- 🏷️ fix: Keep a Configured Sender Label From Revealing the Model on Hover by @aruj0 in #15489
- 🫂 fix: Scope People Picker Searches to Permitted Types by @danny-avila in #15878
- 🛬 fix: Land MCP OAuth Callbacks on Waiting Connections by @danny-avila in #15876
- 💤 fix: Preserve Dormant Workspace Bindings by @danny-avila in #15877
- 🔎 fix: Enforce WEB_SEARCH Role Permission on Agents by @danny-avila in #15875
- 🪂 fix: Release Stalled MCP Catalog Recovery Without Dropping Refreshed Tokens by @danny-avila in #15871
- 📇 fix: Stop an MCP Credential Refresh From Fencing Its Own Catalog Recovery by @danny-avila in #15865
- 🪢 fix: Recover a Failed MCP Server Once When Reinspections Overlap by @danny-avila in #15867
- 🔐 fix: Stop an MCP Credential Refresh From Fencing Its Own Connection by @danny-avila in #15863
- 💠 fix: Paint Native Tool Verification Badges by @berry-13 in #15862
- 🔣 fix: Encode Images From Storage Keys by @Ricky-Hao in #15851
- 🧵 fix: Preserve Per-Message Inspection Budgets Through Provider Preparation by @danny-avila in #15860
- 🧲 fix: Match Directory Users to Existing Principals by @danny-avila in #15855
- 🧨 fix: Defuse Skill and Artifact Parsing Backtracking by @danny-avila in #15856
- 🥅 fix: Keep Tool Error Prefix Parsing In Bounds by @danny-avila in #15857
- 🏰 fix: Read OpenID Flight State From Mongo Primary by @danny-avila in #15849
- 📴 fix: Stop Hidden Code Spinners by @danny-avila in #15846
- 📿 fix: Inspect Stored File Locators Per Message by @danny-avila in #15841
- 🔠 fix: Name Artifact Downloads After Their Titles by @danny-avila in #15836
- 🧊 fix: Withhold Rerun Controls on Compaction Turns by @berry-13 in #15797
- 🏷️ fix: Model-Agnostic Hint for Short Skill Descriptions by @L4XB in #15833
- 🔌 fix: Close Leaked HTTP Server in Server Specs by @jomspk in #15821
- 🪢 fix: Keep One Code File per Sandbox Destination by @jomspk in #15817
- 🥅 fix: Keep Mobile Composer Actions In Bounds by @danny-avila in #15825
- 🛖 fix: Restore Saved Attached Workspaces by @danny-avila in #15811
- 📯 fix: Propagate Host Cancellation Into API Tools by @danny-avila in #15812
- 🈳 fix: Treat Blank Mongo Index Settings as Unset by @Zsanz3 in #15809
- 🎒 fix: Carry Subagent Identity Past Streaming by @dustinhealy in #15795
- 🛂 fix: Back Off MCP OAuth Discovery by @danny-avila in #15783
- 🛎️ fix: Preflight MCP Readiness for Scheduled Chats by @danny-avila in #15782
- 🕳️ fix: Clear Nullable Queue Anchor by @danny-avila in #15794
- 🛟 fix: Recover CodeAPI File Uploads After Throttling by @danny-avila in #15784
- fix: Preserve Durable Parents for Queued Turns by @danny-avila in #15787
- 🌳 fix: Guard Ambiguous BYOM Workspace Selection by @danny-avila in #15785
- 🔐 fix: Send One Code API Authentication Method by @danny-avila in #15781
- 🛑 fix: Preserve BYOM Foreground Cancellation Identity by @danny-avila in #15777
- 🪡 fix: Thread Stop Into BYOM Commands by @danny-avila in #15772
- 🪴 fix: Restore Native Workspace Selection by @danny-avila in #15771
- 🧿 fix: Patch gRPC xDS Denial of Service by @danny-avila in #15769
- 🔢 fix: Normalize PDF Citation Page Numbers by @danny-avila in #15731
- 🪫 fix: Gate Programmatic Bash on Stateful Worker Capabilities by @danny-avila in #15726
- 🫧 fix: Raise Nested Popovers Above Dialog Layers by @danny-avila in #15738
- ⏳ fix: Separate Temporary and General Chat Retention by @danny-avila in #15734
- 🛄 fix: Clear MCP Connection State Before Catalog Refresh by @danny-avila in #15741
- 🧘 fix: Settle Stale Response Parts by @danny-avila in #15743
- 🟫 fix: Reject Invalid Hex Color Matches by @danny-avila in #15744
- 🫣 fix: Hide Scroll-to-Bottom Under Composer Panels by @danny-avila in #15746
- 🪪 fix: Guard Null Avatar URLs in Social Login by @ncchinh in #15747
- 👯 fix: Collapse Radix Layer Packages to One Copy by @danny-avila in #15742
- 🧍 fix: Accommodate BYOM Queue and Execution Budgets by @danny-avila in #15750
- 🧷 fix: Keep Ref Cleanup and Hold Consumer Handlers to the Frontmost Dialog by @danny-avila in #15751
- 🗝️ fix: Load User Keys on Resumed Requests by @danny-avila in #15749
- 🗳️ fix: Recover Durable Background Tool Receipts by @danny-avila in #15752
- 🛗 fix: Add Tenant Index Upgrade Migration by @danny-avila in #15767
- 🏠 fix: Keep MCP Caches Fresh on Demand by @danny-avila in #15765
- 🚰 fix: Record the Provider Drain When Shutdown Cuts a Generation Short by @danny-avila in #15532
- 📧 fix: Normalize Token Emails on Write, as Every Read Already Does by @danny-avila in #15536
- 💓 fix: Detect Silently Dead Redis Sockets With Deadline-Bounded Heartbeats by @danny-avila in #15539
- 🧼 fix: Clear Model Spec Fields on Configured Selections by @danny-avila in #15544
- 🧳 fix: Carry Logical Endpoints Through Agent Runs by @danny-avila in #15538
- 🐝 fix: Keep Polling for Owed Agent Successors by @danny-avila in #15537
- 📮 fix: Validate Invite Email Claims by @lailson in #15542
- 🏗️ fix: Wait Out Concurrent Index Builds on DocumentDB by @danny-avila in #15563
- 🧶 fix: Render Solo Agent Groups as Sequential Content by @danny-avila in #15574
- 🗜️ fix: Bound Conversation Page Size by @danny-avila in #15576
- 🛞 fix: Re-Exchange Rejected OBO Tokens by @danny-avila in #15577
- 👓 fix: Match Pasted Text Focus Feedback by @danny-avila in #15588
- 🔎 fix: Report Measured Skill Catalog Truncation by @danny-avila in #15590
- 🔇 fix: Stop logging an absent
create_filetarget as an error by @danny-avila in #15591 - 🧬 fix: Carry Whole File Refs Through Sandbox Authoring by @danny-avila in #15593
- 🪵 fix: Log Code API Auth Header Failures With Request Context by @danny-avila in #15592
- 🥣 fix: Apply Agent Shaping to Built-In Summarizers by @danny-avila in #15599
- 🧃 fix: Decode Blob-Backed MCP Resources by @danny-avila in #15601
- 🎖️ fix: Preserve Endpoint Approval Policy Precedence by @danny-avila in #15604
- 🏷️ fix: Record the Media Type of Saved Images, Not the Declared One by @danny-avila in #15606
- fix(insights): stop the KPI grid orphaning a card on its own row by @danielclickh in #15553
- 🚰 fix: Throttle Shared Link Reads and Aggregate Audit Findings by @danny-avila in #15605
- 🚫 fix: Decline to Name a Heif Container With Unreported Compression by @danny-avila in #15612
- 🪁 fix: Honor Endpoint Drop Params in Parameter Panels by @danny-avila in #15610
- 🛰️ fix: Repair BYOM Live Integration by @danny-avila in #15613
- 🪫 fix: Back Off Failed Retention Deletes by @danny-avila in #15608
- 📮 fix: Consume an Invite Only Once the Account Exists by @danny-avila in #15611
- 🗓️ fix: Classify Scheduled Run Duplicate Conflicts on DocumentDB by @danny-avila in #15622
- 🛎️ fix: Start Code Environment Reconciliation After Mongo Connects by @danny-avila in #15620
- 🧮 fix: Scale Code Environment Reconciliation by @danny-avila in #15625
- 🩹 fix: Restore the Client Build by Parsing Single-Dollar Math via Micromark by @berry-13 in #15638
- 📐 fix: Keep the Live Slot Under a Phase Card One Row Tall by @danny-avila in #15639
- 🐛 fix: improve sidebar title clarity and hover scrolling by @berry-13 in #15644
- 🧠 fix: Return 400 for Invalid Memory Keys by @mihidumh in #14618
- 🔔 fix: Honor Toast Duration and Support Persistent Toasts by @jtodaroii in #15049
- 🪠 fix: Unblock Failed OpenID Publication Flights by @danny-avila in #15641
- 🖼️ fix: Precache PWA Icons and Let Them Refresh by @berry-13 in #15654
- 🗓️ fix: Surface a Run Now Scheduled Chat in the Sidebar by @danny-avila in #15630
- 🚮 fix: Require Sign-In After Missing OpenID Sessions by @danny-avila in #15655
- 🍃 fix: Serialize Index Builds and the Agent Edge Cleanup for DocumentDB by @danny-avila in #15670
- 🧺 fix: Discard Stale Session Tokens at OpenID Login by @danny-avila in #15668
- 🗓️ fix: Refresh the Sidebar When a Scheduled Run Fires or Settles by @danny-avila in #15631
- 📫 fix: Surface Sandbox Artifact Delivery Failures by @danny-avila in #15671
- 🫳 fix: Let the Composer Column Shrink Below a Queued Row’s Text by @danny-avila in #15665
- 🪶 fix: Preserve Preset Prompt Insertion Behavior by @danny-avila in #15672
- 🎟️ fix: Preserve OpenID Logout Token Hints by @aeyeopsdev in #15653
- 🏠 fix: Route Standalone File Writes to BYOM Workers by @danny-avila in #15675
- 📣 fix: Surface Skill Creation Feedback by @aeyeopsdev in #15649
- 🛤️ fix: Align File Search Citation Paths by @aeyeopsdev in #15650
- 🫸 fix: Stop OAuth Sign-In After Binding Failure by @aeyeopsdev in #15652
- 🕹 fix: Keep Composer Focus Off Clicked Controls So Menus Can Close by @danny-avila in #15669
- 🫠 fix: Surface Bedrock Content Filter Refusals by @aeyeopsdev in #15647
- 📍 fix: Pin Persisted Saves to Their Tenant by @danny-avila in #15582
- 🫙 fix: Surface Document Extraction Failures by @aeyeopsdev in #15651
- 🧫 fix: Verify Early Stream Recovery by @danny-avila in #15676
- 🧺 fix: Contain Conversation Import and Upload Failures by @dustinhealy in #15681
- 🛬 fix: Land Early Steers on the Live Placeholder by @danny-avila in #15692
- 🪣 fix: Decode S3 Object Keys from URLs by @SGudbrandsson in #15426
- 🥽 fix: Stop the DocumentDB Guard Flagging Mongoose’s Document
$whereby @danny-avila in #15686 - 🚧 fix: Gate File Search and Run Code by Role by @danny-avila in #15691
- 🧺 fix: Skip Priming Denied File Search Resources by @danny-avila in #15699
- 🧲 fix: Coalesce and Bound Code Environment Status Polls by @danny-avila in #15701
- 🏰 fix: Enforce Platform Grants for Code Workers by @danny-avila in #15700
- 🎒 fix: Bound Agent Attachment Context by @danny-avila in #15694
- 🫧 fix: Retire Cancelled MCP OAuth State by @danny-avila in #15702
- 🧱 fix: Close MCP OAuth Teardown Races by @danny-avila in #15716
- 🪫 fix: Recharge Direct OpenID MCP Bearer Sessions by @danny-avila in #15704
- 🪬 fix: Fence Agent Checkpoint Ownership and Cleanup Recovery by @dustinhealy in #15680
- 🏠 fix: Preserve Stateful Deployment Default by @danny-avila in #15719
- 🩻 fix: Preserve Workspace Tool HTTP Diagnostics by @danny-avila in #15723
- 🪹 fix: Attach Ready OAuth MCP Servers With Empty Catalogs by @danny-avila in #15727
- ⛔ fix: Bind Tool Approvals to Generation Scope by @danny-avila in #15724
🔧 Refactoring and Performance
- 📜 style: Scroll the Sidebar as One Surface by @berry-13 in #15914
- 🧷 style: Sidebar Row Controls, Pinned Unpin Badge and Drag Rules by @berry-13 in #15870
- 🔡 style: Size Image Tool Labels Like Every Other Activity Row by @danny-avila in #15898
- 🎨 style: Color Image Tool Labels With the Activity Rows’ Secondary Role by @danny-avila in #15900
- 🚄 perf: Linearize Conversation Import Lineage by @danny-avila in #15881
- 🧽 style: Composer, Welcome Screen and Context Panel Polish by @berry-13 in #15838
- 🔙 refactor: Keep Pasted Text Return Action Visible by @danny-avila in #15586
- style(insights): use Click UI muted token for KPI labels and 32/12 page spacing by @danielclickh in #15551
- 🔣 refactor: Replace Mongo Filters With Typed Criteria by @danny-avila in #15580
- 🏛️ refactor: Extract Engine-Neutral Tenant Policy by @danny-avila in #15575
- style(insights): give panels their own surface in dark mode by @danielclickh in #15552
- 💫 style: Align the Phase Summary Rail and Simplify its Fold by @danny-avila in #15619
- 🎛 refactor: Replace Agent Skills Toggles With a Three-Way Mode Control by @berry-13 in #15520
- 📏 style: Center Every Row Glyph on the Avatar’s Axis by @danny-avila in #15643
- 🎖️ perf: Promote Flat Thread Rendering to Default by @danny-avila in #15660
- 📏 style: Put the Grouped Thought on the Row Rail by @berry-13 in #15674
- 🗝️ refactor: Prefer the Recorded Storage Key for Every Download Stream by @danny-avila in #15695
- 🕓 style: Move the Queued-Message Hint Into a Hover Tooltip on the Clock Icon by @danny-avila in #15706
- 🏁 style: Align Streaming Elapsed Reading With Footer Start by @danny-avila in #15720
- 💠 style: Unify Code Approval With Composer Controls by @danny-avila in #15721
🧪 Tests
- 🧪 test: Wait for the Durable Task Input Before Reserving a Child Control by @danny-avila in #15901
- 🧪 test: Restore Two Rotted Integration Suites and Run Every One in CI by @danny-avila in #15866
- 🧵 test: Type BYOM Cancellation Mock by @danny-avila in #15774
- 📎 test: Verify Stateful Sandbox Upload Continuity by @danny-avila in #14363
- 🧽 test: Restore the Admin Allowlist Override This Spec Leaks Into the Shard by @danny-avila in #15543
- ⏱️ test: Size the Subagent Lease TTL Above Shard Jitter by @danny-avila in #15568
- 🔬 test: Make the Paste Action’s Hover-Gate Guard Actually Guard by @danny-avila in #15589
- 🍃 test: Restore Sweep Coverage of Typed-Criteria Methods by @danny-avila in #15609
- ✅ test: Prove Tenant Scoping at the Driver, Below the Engine Binding by @danny-avila in #15578
- ✅ test: Add the Portable Tenant-Isolation Contract by @danny-avila in #15662
- 🧪 test: Verify Native BYOM File Reliability End to End by @danny-avila in #15678
📦 Dependencies, Chores & CI
- 🚀 v0.8.8-rc3 by @danny-avila in #15953
- 🚚 ci: Make Image Publishing Owner-Agnostic Ahead of the Org Move by @danny-avila in #15952
- 📊 chore: bump Helm chart to 2.0.12 by @danny-avila in #15950
- ⬆️ chore(deps): bump agents to 3.8.7 by @upman in #15947
- 🪓 ci: Cull Stale Codegraph Select Runs by @danny-avila in #15939
- 🏮 docs: Relight the Helm AI Setup Link by @jrlprost in #15808
- 🎖️ chore: Promote Helm Chart to 2.0.11 by @danny-avila in #15905
- 💉 chore: Upgrade
@azure/msal-nodeto v5.6.0 by @danny-avila in #15903 - 🧵 ci: Keep a Floor of Two Jest Workers in CI by @jomspk in #15819
- 🩹 ci: Invoke ESLint and Prettier Binaries Directly in Static Checks by @danny-avila in #15884
- ⏱️ ci: Cut the ESLint Config Sweep to the Rules That Can Regress by @danny-avila in #15890
- 🧷 ci: Await durable finalization in conversation-management mock e2e by @jtodaroii in #15791
- 📦 chore: bump npm audit packages and
@librechat/agentsto v3.8.5 by @danny-avila in #15770 - 📐 docs: Set PR Description, Review and Completion Standards by @danny-avila in #15753
- 🧱 docs: Hold Module Boundaries, Configurable Levers and Injected Dependencies by @danny-avila in #15754
- 👣 docs: Define CJS and Jotai Migration Triggers by @danny-avila in #15756
- 🧫 chore: Keep Jest Specs Out of Tool Discovery by @danny-avila in #15766
- 🚀 v0.8.8-rc3 by @danny-avila in #15859
- 🪤 chore: Scope Assistant Tool-Resource Lookups by @danny-avila in #15579
- 🎈 ci: Gate Page Loads Under Database Latency by @upman in #15646
- 🥅 chore: Block DB Model APIs That Bypass Isolation by @danny-avila in #15663
- 🔦 chore: Drop
@lhci/cliand Run Lighthouse 13 Directly by @danny-avila in #15687
New Contributors
- @jrlprost made their first contribution in #15808
- @L4XB made their first contribution in #15833
- @Zsanz3 made their first contribution in #15809
- @ncchinh made their first contribution in #15747
Full Changelog: v0.8.8-rc2…v0.8.8-rc3