🚀 chore: Prepare v0.8.8-rc1 release

This commit is contained in:
Danny Avila 2026-07-22 10:02:41 -04:00
parent a53936d273
commit 217127c505
17 changed files with 90 additions and 32 deletions

View file

@ -571,6 +571,19 @@ MEILI_MASTER_KEY=DrhYf7zENyR6AlUCKmnz0eYASOQdl6zxH7s7MKFSfFCt
STT_API_KEY=
TTS_API_KEY=
#==================================================#
# Code Interpreter #
#==================================================#
# LIBRECHAT_CODE_API_KEY=
# LIBRECHAT_CODE_BASEURL=
# Prewarm stateful per-conversation sandboxes in parallel with model generation (default: true).
# CODE_SANDBOX_PREWARM=true
# Time in milliseconds before LibreChat treats a tracked sandbox as cold (default: 2100000 / 35 minutes).
# CODE_SANDBOX_COLD_AFTER_MS=2100000
# Bytes read per sandbox image chunk; lower this if the runner has a small stdout limit (default: 32768).
# LIBRECHAT_CODE_IMAGE_CHUNK_BYTES=32768
#==================================================#
# RAG #
#==================================================#
@ -585,11 +598,18 @@ TTS_API_KEY=
# Stream upload responses with heartbeats during long-running file processing.
# FILE_UPLOAD_SSE_ENABLED=false
# Timeout in milliseconds for server-side remote file downloads (default: 15000).
# REMOTE_FILE_FETCH_TIMEOUT_MS=15000
# Maximum size in bytes for server-side remote file downloads (default: 536870912 / 512 MiB).
# REMOTE_FILE_FETCH_MAX_BYTES=536870912
#===================================================#
# User System #
#===================================================#
# Maximum characters in one mid-run Agent steering message (default: 16000).
# STEER_MAX_LENGTH=16000
#========================#
# Moderation #
#========================#
@ -1007,6 +1027,10 @@ HELP_AND_FAQ_URL=https://librechat.ai
# Set to empty string to force all namespaces through Redis: FORCED_IN_MEMORY_CACHE_NAMESPACES=
# FORCED_IN_MEMORY_CACHE_NAMESPACES=CONFIG_STORE,APP_CONFIG
# Opt-in cache for authenticated user documents during request bursts. Requires Redis and
# the AUTH_USER_DOC namespace to remain Redis-backed (default: off; set exactly to "on").
# AUTH_USER_CACHE_MODE=off
# TTL in milliseconds for cached group memberships used in ACL permission checks (default: 300000 / 5 minutes; 0 disables)
# Membership changes invalidate affected entries immediately; the TTL bounds staleness from cross-process races.
# USER_PRINCIPALS_CACHE_TTL_MS=300000

View file

@ -1,4 +1,4 @@
# v0.8.7
# v0.8.8-rc1
# Base node image
FROM node:24.16.0-alpine AS node

View file

@ -1,5 +1,5 @@
# Dockerfile.multi
# v0.8.7
# v0.8.8-rc1
# Set configurable max-old-space-size with default
ARG NODE_MAX_OLD_SPACE_SIZE=6144

View file

@ -1,6 +1,6 @@
{
"name": "@librechat/backend",
"version": "v0.8.7",
"version": "v0.8.8-rc1",
"description": "",
"scripts": {
"start": "echo 'please run this from the root directory'",

View file

@ -37,7 +37,7 @@
},
"api": {
"name": "@librechat/backend",
"version": "0.8.7",
"version": "0.8.8-rc1",
"dependencies": {
"@anthropic-ai/vertex-sdk": "^0.14.3",
"@aws-sdk/client-bedrock-runtime": "^3.980.0",
@ -130,7 +130,7 @@
},
"client": {
"name": "@librechat/frontend",
"version": "0.8.7",
"version": "0.8.8-rc1",
"dependencies": {
"@ariakit/react": "^0.4.15",
"@ariakit/react-core": "^0.4.17",
@ -264,7 +264,7 @@
},
"packages/api": {
"name": "@librechat/api",
"version": "1.7.34",
"version": "1.7.35",
"devDependencies": {
"@babel/preset-env": "^7.21.5",
"@babel/preset-react": "^7.18.6",
@ -345,7 +345,7 @@
},
"packages/client": {
"name": "@librechat/client",
"version": "0.4.63",
"version": "0.4.64",
"devDependencies": {
"@babel/core": "^7.28.5",
"@babel/preset-env": "^7.28.5",
@ -433,7 +433,7 @@
},
"packages/data-provider": {
"name": "librechat-data-provider",
"version": "0.8.509",
"version": "0.8.510",
"dependencies": {
"axios": "^1.13.5",
"dayjs": "^1.11.13",
@ -470,7 +470,7 @@
},
"packages/data-schemas": {
"name": "@librechat/data-schemas",
"version": "0.0.56",
"version": "0.0.57",
"devDependencies": {
"@rollup/plugin-alias": "^5.1.0",
"@rollup/plugin-commonjs": "^29.0.0",

View file

@ -1,4 +1,4 @@
/** v0.8.7 */
/** v0.8.8-rc1 */
module.exports = {
roots: ['<rootDir>/src'],
testEnvironment: 'jsdom',

View file

@ -1,6 +1,6 @@
{
"name": "@librechat/frontend",
"version": "v0.8.7",
"version": "v0.8.8-rc1",
"description": "",
"type": "module",
"scripts": {

View file

@ -1,3 +1,3 @@
// v0.8.7
// v0.8.8-rc1
// See .env.test.example for an example of the '.env.test' file.
require('dotenv').config({ path: './e2e/.env.test' });

View file

@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 2.0.7
version: 2.0.8
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
@ -23,7 +23,7 @@ version: 2.0.7
# It is recommended to use it with quotes.
# renovate: image=registry.librechat.ai/danny-avila/librechat
appVersion: "v0.8.7"
appVersion: "v0.8.8-rc1"
home: https://www.librechat.ai

View file

@ -2,11 +2,21 @@
# https://www.librechat.ai/docs/configuration/librechat_yaml
# Configuration version (required)
version: 1.3.13
version: 1.3.14
# Cache settings: Set to true to enable caching
cache: true
# Tenant-scoped Langfuse export (optional). Fanout also requires the deployment
# services and environment variables documented in the Langfuse guide.
# langfuse:
# enabled: true
# publicKey: '${TENANT_LANGFUSE_PUBLIC_KEY}'
# secretKey: '${TENANT_LANGFUSE_SECRET_KEY}'
# destination: 'us' # Must match an allowed LANGFUSE_FANOUT_TENANT_DESTINATIONS key
# fanout:
# enabled: true
# File storage configuration
# Single strategy for all file types (legacy format, still supported)
# fileStrategy: "s3"
@ -427,7 +437,21 @@ endpoints:
# skills:
# maxCatalogSkills: 20
# # (optional) Agent Capabilities available to all users. Omit the ones you wish to exclude. Defaults to list below.
# capabilities: ["deferred_tools", "execute_code", "file_search", "actions", "tools"]
# capabilities: ["deferred_tools", "execute_code", "file_search", "web_search", "artifacts", "subagents", "actions", "context", "skills", "memory", "ask_user_question", "tools", "chain", "ocr"]
# # The following capabilities are opt-in and must be added explicitly:
# # "programmatic_tools", "stateful_code_sessions", "run_in_background"
# # (optional) Require user approval before matching tool calls. Disabled by default.
# toolApproval:
# enabled: true
# mode: default # default, dontAsk, or bypass
# allow: ["mcp:trusted-server:read_*"]
# deny: ["mcp:*:delete_*"] # Deny rules always take precedence
# ask: ["mcp:*:*"]
# reason: "Review {tool} before it runs."
# # (optional) Persist Agent runs paused for approval or Ask User. MongoDB is the durable default.
# checkpointer:
# type: mongo # mongo (default) or memory (single-process development only)
# ttl: 86400 # Approval window in seconds; defaults to 24 hours
# (optional) Custom request headers for the built-in OpenAI / Google endpoints.
# Forwarded on every request to the provider (or an AI gateway / reverse proxy
@ -702,6 +726,7 @@ endpoints:
# description: "Most capable GPT-4 model with multimodal support"
# # default: true # Hard admin default; takes precedence over prior user choices
# # softDefault: true # First-time default only; skipped after a user selects a model/spec/agent
# # showInMenu: false # Hide from the model selector while keeping explicit `spec` access
# group: "openAI" # String value matching the endpoint name
# preset:
# endpoint: "openAI"
@ -767,6 +792,15 @@ endpoints:
# endpoint: "openAI"
# model: "gpt-4o-mini"
# Automatic conversation summarization (optional)
# summarization:
# enabled: true
# provider: "openAI"
# model: "gpt-4o-mini"
# retainRecent:
# turns: 2 # Keep the newest complete user/assistant turns outside the summary
# tokens: 2000 # Also preserve up to this many recent tokens
# fileConfig:
# endpoints:
# assistants:

16
package-lock.json generated
View file

@ -1,12 +1,12 @@
{
"name": "LibreChat",
"version": "v0.8.7",
"version": "v0.8.8-rc1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "LibreChat",
"version": "v0.8.7",
"version": "v0.8.8-rc1",
"license": "ISC",
"workspaces": [
"api",
@ -46,7 +46,7 @@
},
"api": {
"name": "@librechat/backend",
"version": "v0.8.7",
"version": "v0.8.8-rc1",
"license": "ISC",
"dependencies": {
"@anthropic-ai/vertex-sdk": "^0.16.0",
@ -917,7 +917,7 @@
},
"client": {
"name": "@librechat/frontend",
"version": "v0.8.7",
"version": "v0.8.8-rc1",
"license": "ISC",
"dependencies": {
"@ariakit/react": "^0.4.29",
@ -43633,7 +43633,7 @@
},
"packages/api": {
"name": "@librechat/api",
"version": "1.7.34",
"version": "1.7.35",
"license": "ISC",
"dependencies": {
"@langchain/langgraph-checkpoint": "^1.1.2",
@ -44343,7 +44343,7 @@
},
"packages/client": {
"name": "@librechat/client",
"version": "0.4.63",
"version": "0.4.64",
"devDependencies": {
"@babel/core": "^7.28.5",
"@babel/preset-env": "^7.29.5",
@ -45486,7 +45486,7 @@
},
"packages/data-provider": {
"name": "librechat-data-provider",
"version": "0.8.509",
"version": "0.8.510",
"license": "ISC",
"dependencies": {
"axios": "^1.16.0",
@ -46094,7 +46094,7 @@
},
"packages/data-schemas": {
"name": "@librechat/data-schemas",
"version": "0.0.56",
"version": "0.0.57",
"license": "MIT",
"devDependencies": {
"@rollup/plugin-alias": "^5.1.0",

View file

@ -1,6 +1,6 @@
{
"name": "LibreChat",
"version": "v0.8.7",
"version": "v0.8.8-rc1",
"description": "",
"packageManager": "npm@11.13.0",
"workspaces": [

View file

@ -1,6 +1,6 @@
{
"name": "@librechat/api",
"version": "1.7.34",
"version": "1.7.35",
"type": "commonjs",
"description": "MCP services for LibreChat",
"main": "dist/index.cjs",

View file

@ -1,6 +1,6 @@
{
"name": "@librechat/client",
"version": "0.4.63",
"version": "0.4.64",
"description": "React components for LibreChat",
"repository": {
"type": "git",

View file

@ -1,6 +1,6 @@
{
"name": "librechat-data-provider",
"version": "0.8.509",
"version": "0.8.510",
"description": "data services for librechat apps",
"main": "dist/index.js",
"module": "dist/index.mjs",

View file

@ -902,8 +902,8 @@ export const agentsEndpointSchema = baseEndpointSchema
remoteApi: remoteApiSchema.optional(),
/** Human-in-the-loop tool approval policy. Off by default. */
toolApproval: toolApprovalPolicySchema,
/** Durable checkpointer backing HITL resume. Defaults to the app's MongoDB
* when `toolApproval.enabled` is set; ignored otherwise. */
/** Durable checkpointer backing tool-approval and Ask User resume.
* Defaults to the app's MongoDB when either flow needs it. */
checkpointer: checkpointerSchema,
}),
)
@ -2699,7 +2699,7 @@ export enum Constants {
*/
VERSION = '__LIBRECHAT_VERSION__',
/** Key for the Custom Config's version (librechat.yaml). */
CONFIG_VERSION = '1.3.13',
CONFIG_VERSION = '1.3.14',
/** Standard value for the first message's `parentMessageId` value, to indicate no parent exists. */
NO_PARENT = '00000000-0000-0000-0000-000000000000',
/** Standard value to use whatever the submission prelim. `responseMessageId` is */

View file

@ -1,6 +1,6 @@
{
"name": "@librechat/data-schemas",
"version": "0.0.56",
"version": "0.0.57",
"description": "Mongoose schemas and models for LibreChat",
"type": "module",
"main": "dist/index.cjs",