From 5cbceeee10f02823c0a1b0c420c5051310748c99 Mon Sep 17 00:00:00 2001 From: Lia Date: Fri, 23 Oct 2026 04:47:41 +0000 Subject: [PATCH 1/4] =?UTF-8?q?=F0=9F=97=92=EF=B8=8F=20docs:=20Prepare=20v?= =?UTF-8?q?0.8.9-rc1=20Notes=20and=20Upgrade=20Guidance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/LocalInstallHub.tsx | 2 +- content/changelog/config_v1.3.18.mdx | 80 +++ content/changelog/v0.8.9-rc1.mdx | 618 ++++++++++++++++++ .../configuration/authentication/index.mdx | 4 + content/docs/configuration/cdn/azure.de.mdx | 2 +- content/docs/configuration/cdn/azure.es.mdx | 2 +- content/docs/configuration/cdn/azure.fr.mdx | 2 +- content/docs/configuration/cdn/azure.id.mdx | 2 +- content/docs/configuration/cdn/azure.it.mdx | 2 +- content/docs/configuration/cdn/azure.ja.mdx | 2 +- content/docs/configuration/cdn/azure.ko.mdx | 2 +- content/docs/configuration/cdn/azure.mdx | 2 +- content/docs/configuration/cdn/azure.nl.mdx | 2 +- content/docs/configuration/cdn/azure.pl.mdx | 2 +- .../docs/configuration/cdn/azure.pt-BR.mdx | 2 +- content/docs/configuration/cdn/azure.tr.mdx | 2 +- content/docs/configuration/cdn/azure.vi.mdx | 2 +- content/docs/configuration/cdn/azure.zh.mdx | 2 +- .../docs/configuration/cdn/cloudfront.de.mdx | 2 +- .../docs/configuration/cdn/cloudfront.es.mdx | 2 +- .../docs/configuration/cdn/cloudfront.fr.mdx | 2 +- .../docs/configuration/cdn/cloudfront.id.mdx | 2 +- .../docs/configuration/cdn/cloudfront.it.mdx | 2 +- .../docs/configuration/cdn/cloudfront.ja.mdx | 2 +- .../docs/configuration/cdn/cloudfront.ko.mdx | 2 +- content/docs/configuration/cdn/cloudfront.mdx | 2 +- .../docs/configuration/cdn/cloudfront.nl.mdx | 2 +- .../docs/configuration/cdn/cloudfront.pl.mdx | 2 +- .../configuration/cdn/cloudfront.pt-BR.mdx | 2 +- .../docs/configuration/cdn/cloudfront.tr.mdx | 2 +- .../docs/configuration/cdn/cloudfront.vi.mdx | 2 +- .../docs/configuration/cdn/cloudfront.zh.mdx | 2 +- .../docs/configuration/cdn/firebase.de.mdx | 2 +- .../docs/configuration/cdn/firebase.es.mdx | 2 +- .../docs/configuration/cdn/firebase.fr.mdx | 2 +- .../docs/configuration/cdn/firebase.id.mdx | 2 +- .../docs/configuration/cdn/firebase.it.mdx | 2 +- .../docs/configuration/cdn/firebase.ja.mdx | 2 +- .../docs/configuration/cdn/firebase.ko.mdx | 2 +- content/docs/configuration/cdn/firebase.mdx | 2 +- .../docs/configuration/cdn/firebase.nl.mdx | 2 +- .../docs/configuration/cdn/firebase.pl.mdx | 2 +- .../docs/configuration/cdn/firebase.pt-BR.mdx | 2 +- .../docs/configuration/cdn/firebase.tr.mdx | 2 +- .../docs/configuration/cdn/firebase.vi.mdx | 2 +- .../docs/configuration/cdn/firebase.zh.mdx | 2 +- content/docs/configuration/cdn/s3.de.mdx | 2 +- content/docs/configuration/cdn/s3.es.mdx | 2 +- content/docs/configuration/cdn/s3.fr.mdx | 2 +- content/docs/configuration/cdn/s3.id.mdx | 2 +- content/docs/configuration/cdn/s3.it.mdx | 2 +- content/docs/configuration/cdn/s3.ja.mdx | 2 +- content/docs/configuration/cdn/s3.ko.mdx | 2 +- content/docs/configuration/cdn/s3.mdx | 2 +- content/docs/configuration/cdn/s3.nl.mdx | 2 +- content/docs/configuration/cdn/s3.pl.mdx | 2 +- content/docs/configuration/cdn/s3.pt-BR.mdx | 2 +- content/docs/configuration/cdn/s3.tr.mdx | 2 +- content/docs/configuration/cdn/s3.vi.mdx | 2 +- content/docs/configuration/cdn/s3.zh.mdx | 2 +- content/docs/configuration/dotenv.mdx | 8 +- .../librechat_yaml/example.de.mdx | 4 +- .../librechat_yaml/example.es.mdx | 4 +- .../librechat_yaml/example.fr.mdx | 4 +- .../librechat_yaml/example.id.mdx | 4 +- .../librechat_yaml/example.it.mdx | 4 +- .../librechat_yaml/example.ja.mdx | 4 +- .../librechat_yaml/example.ko.mdx | 4 +- .../configuration/librechat_yaml/example.mdx | 4 +- .../librechat_yaml/example.nl.mdx | 4 +- .../librechat_yaml/example.pl.mdx | 4 +- .../librechat_yaml/example.pt-BR.mdx | 4 +- .../librechat_yaml/example.tr.mdx | 4 +- .../librechat_yaml/example.vi.mdx | 4 +- .../librechat_yaml/example.zh.mdx | 4 +- .../configuration/librechat_yaml/index.de.mdx | 2 +- .../configuration/librechat_yaml/index.es.mdx | 2 +- .../configuration/librechat_yaml/index.fr.mdx | 2 +- .../configuration/librechat_yaml/index.id.mdx | 2 +- .../configuration/librechat_yaml/index.it.mdx | 2 +- .../configuration/librechat_yaml/index.ja.mdx | 2 +- .../configuration/librechat_yaml/index.ko.mdx | 2 +- .../configuration/librechat_yaml/index.mdx | 2 +- .../configuration/librechat_yaml/index.nl.mdx | 2 +- .../configuration/librechat_yaml/index.pl.mdx | 2 +- .../librechat_yaml/index.pt-BR.mdx | 2 +- .../configuration/librechat_yaml/index.tr.mdx | 2 +- .../configuration/librechat_yaml/index.vi.mdx | 2 +- .../configuration/librechat_yaml/index.zh.mdx | 2 +- .../object_structure/agents.mdx | 28 +- .../object_structure/balance.mdx | 10 +- .../object_structure/config.mdx | 49 ++ .../object_structure/interface.mdx | 24 + .../object_structure/memory.de.mdx | 2 +- .../object_structure/memory.es.mdx | 2 +- .../object_structure/memory.fr.mdx | 2 +- .../object_structure/memory.id.mdx | 2 +- .../object_structure/memory.it.mdx | 2 +- .../object_structure/memory.ja.mdx | 2 +- .../object_structure/memory.ko.mdx | 2 +- .../object_structure/memory.mdx | 2 +- .../object_structure/memory.nl.mdx | 2 +- .../object_structure/memory.pl.mdx | 2 +- .../object_structure/memory.pt-BR.mdx | 2 +- .../object_structure/memory.tr.mdx | 2 +- .../object_structure/memory.vi.mdx | 2 +- .../object_structure/memory.zh.mdx | 2 +- .../object_structure/speech.de.mdx | 2 +- .../object_structure/speech.es.mdx | 2 +- .../object_structure/speech.fr.mdx | 2 +- .../object_structure/speech.id.mdx | 2 +- .../object_structure/speech.it.mdx | 2 +- .../object_structure/speech.ja.mdx | 2 +- .../object_structure/speech.ko.mdx | 2 +- .../object_structure/speech.mdx | 6 +- .../object_structure/speech.nl.mdx | 2 +- .../object_structure/speech.pl.mdx | 2 +- .../object_structure/speech.pt-BR.mdx | 2 +- .../object_structure/speech.tr.mdx | 2 +- .../object_structure/speech.vi.mdx | 2 +- .../object_structure/speech.zh.mdx | 2 +- .../object_structure/summarization.de.mdx | 2 +- .../object_structure/summarization.es.mdx | 2 +- .../object_structure/summarization.fr.mdx | 2 +- .../object_structure/summarization.id.mdx | 2 +- .../object_structure/summarization.it.mdx | 2 +- .../object_structure/summarization.ja.mdx | 2 +- .../object_structure/summarization.ko.mdx | 2 +- .../object_structure/summarization.mdx | 2 +- .../object_structure/summarization.nl.mdx | 2 +- .../object_structure/summarization.pl.mdx | 2 +- .../object_structure/summarization.pt-BR.mdx | 2 +- .../object_structure/summarization.tr.mdx | 2 +- .../object_structure/summarization.vi.mdx | 2 +- .../object_structure/summarization.zh.mdx | 2 +- .../object_structure/web_search.mdx | 4 + content/docs/configuration/logging.mdx | 4 + content/docs/configuration/meta.json | 1 + .../bedrock_inference_profiles.de.mdx | 2 +- .../bedrock_inference_profiles.es.mdx | 2 +- .../bedrock_inference_profiles.fr.mdx | 2 +- .../bedrock_inference_profiles.id.mdx | 2 +- .../bedrock_inference_profiles.it.mdx | 2 +- .../bedrock_inference_profiles.ja.mdx | 2 +- .../bedrock_inference_profiles.ko.mdx | 2 +- .../bedrock_inference_profiles.mdx | 2 +- .../bedrock_inference_profiles.nl.mdx | 2 +- .../bedrock_inference_profiles.pl.mdx | 2 +- .../bedrock_inference_profiles.pt-BR.mdx | 2 +- .../bedrock_inference_profiles.tr.mdx | 2 +- .../bedrock_inference_profiles.vi.mdx | 2 +- .../bedrock_inference_profiles.zh.mdx | 2 +- content/docs/configuration/token_usage.de.mdx | 4 +- content/docs/configuration/token_usage.es.mdx | 4 +- content/docs/configuration/token_usage.fr.mdx | 4 +- content/docs/configuration/token_usage.id.mdx | 4 +- content/docs/configuration/token_usage.it.mdx | 4 +- content/docs/configuration/token_usage.ja.mdx | 4 +- content/docs/configuration/token_usage.ko.mdx | 4 +- content/docs/configuration/token_usage.mdx | 4 +- content/docs/configuration/token_usage.nl.mdx | 4 +- content/docs/configuration/token_usage.pl.mdx | 4 +- .../docs/configuration/token_usage.pt-BR.mdx | 4 +- content/docs/configuration/token_usage.tr.mdx | 4 +- content/docs/configuration/token_usage.vi.mdx | 4 +- content/docs/configuration/token_usage.zh.mdx | 4 +- content/docs/configuration/upgrade.mdx | 76 +++ content/docs/development/architecture.de.mdx | 2 +- content/docs/development/architecture.es.mdx | 2 +- content/docs/development/architecture.fr.mdx | 2 +- content/docs/development/architecture.id.mdx | 2 +- content/docs/development/architecture.it.mdx | 2 +- content/docs/development/architecture.ja.mdx | 2 +- content/docs/development/architecture.ko.mdx | 2 +- content/docs/development/architecture.mdx | 2 +- content/docs/development/architecture.nl.mdx | 2 +- content/docs/development/architecture.pl.mdx | 2 +- .../docs/development/architecture.pt-BR.mdx | 2 +- content/docs/development/architecture.tr.mdx | 2 +- content/docs/development/architecture.vi.mdx | 2 +- content/docs/development/architecture.zh.mdx | 2 +- content/docs/development/get_started.de.mdx | 8 +- content/docs/development/get_started.es.mdx | 8 +- content/docs/development/get_started.fr.mdx | 8 +- content/docs/development/get_started.id.mdx | 8 +- content/docs/development/get_started.it.mdx | 8 +- content/docs/development/get_started.ja.mdx | 8 +- content/docs/development/get_started.ko.mdx | 8 +- content/docs/development/get_started.mdx | 8 +- content/docs/development/get_started.nl.mdx | 8 +- content/docs/development/get_started.pl.mdx | 8 +- .../docs/development/get_started.pt-BR.mdx | 8 +- content/docs/development/get_started.tr.mdx | 8 +- content/docs/development/get_started.vi.mdx | 8 +- content/docs/development/get_started.zh.mdx | 8 +- content/docs/development/index.de.mdx | 4 +- content/docs/development/index.es.mdx | 4 +- content/docs/development/index.fr.mdx | 4 +- content/docs/development/index.id.mdx | 4 +- content/docs/development/index.it.mdx | 4 +- content/docs/development/index.ja.mdx | 4 +- content/docs/development/index.ko.mdx | 4 +- content/docs/development/index.mdx | 4 +- content/docs/development/index.nl.mdx | 4 +- content/docs/development/index.pl.mdx | 4 +- content/docs/development/index.pt-BR.mdx | 4 +- content/docs/development/index.tr.mdx | 4 +- content/docs/development/index.vi.mdx | 4 +- content/docs/development/index.zh.mdx | 4 +- content/docs/features/admin_panel.mdx | 8 + content/docs/features/code_interpreter.mdx | 4 +- content/docs/features/image_gen.de.mdx | 2 +- content/docs/features/image_gen.es.mdx | 2 +- content/docs/features/image_gen.fr.mdx | 2 +- content/docs/features/image_gen.id.mdx | 2 +- content/docs/features/image_gen.it.mdx | 2 +- content/docs/features/image_gen.ja.mdx | 2 +- content/docs/features/image_gen.ko.mdx | 2 +- content/docs/features/image_gen.mdx | 2 +- content/docs/features/image_gen.nl.mdx | 2 +- content/docs/features/image_gen.pl.mdx | 2 +- content/docs/features/image_gen.pt-BR.mdx | 2 +- content/docs/features/image_gen.tr.mdx | 2 +- content/docs/features/image_gen.vi.mdx | 2 +- content/docs/features/image_gen.zh.mdx | 2 +- content/docs/features/memory.de.mdx | 2 +- content/docs/features/memory.es.mdx | 2 +- content/docs/features/memory.fr.mdx | 2 +- content/docs/features/memory.id.mdx | 2 +- content/docs/features/memory.it.mdx | 2 +- content/docs/features/memory.ja.mdx | 2 +- content/docs/features/memory.ko.mdx | 2 +- content/docs/features/memory.mdx | 2 +- content/docs/features/memory.nl.mdx | 2 +- content/docs/features/memory.pl.mdx | 2 +- content/docs/features/memory.pt-BR.mdx | 2 +- content/docs/features/memory.tr.mdx | 2 +- content/docs/features/memory.vi.mdx | 2 +- content/docs/features/memory.zh.mdx | 2 +- content/docs/local/npm.de.mdx | 8 +- content/docs/local/npm.es.mdx | 8 +- content/docs/local/npm.fr.mdx | 8 +- content/docs/local/npm.id.mdx | 8 +- content/docs/local/npm.it.mdx | 8 +- content/docs/local/npm.ja.mdx | 8 +- content/docs/local/npm.ko.mdx | 8 +- content/docs/local/npm.mdx | 8 +- content/docs/local/npm.nl.mdx | 8 +- content/docs/local/npm.pl.mdx | 8 +- content/docs/local/npm.pt-BR.mdx | 8 +- content/docs/local/npm.tr.mdx | 8 +- content/docs/local/npm.vi.mdx | 8 +- content/docs/local/npm.zh.mdx | 8 +- .../docs/quick_start/custom_endpoints.de.mdx | 2 +- .../docs/quick_start/custom_endpoints.es.mdx | 2 +- .../docs/quick_start/custom_endpoints.fr.mdx | 2 +- .../docs/quick_start/custom_endpoints.id.mdx | 2 +- .../docs/quick_start/custom_endpoints.it.mdx | 2 +- .../docs/quick_start/custom_endpoints.ja.mdx | 2 +- .../docs/quick_start/custom_endpoints.ko.mdx | 2 +- content/docs/quick_start/custom_endpoints.mdx | 2 +- .../docs/quick_start/custom_endpoints.nl.mdx | 2 +- .../docs/quick_start/custom_endpoints.pl.mdx | 2 +- .../quick_start/custom_endpoints.pt-BR.mdx | 2 +- .../docs/quick_start/custom_endpoints.tr.mdx | 2 +- .../docs/quick_start/custom_endpoints.vi.mdx | 2 +- .../docs/quick_start/custom_endpoints.zh.mdx | 2 +- content/docs/remote/docker_linux.de.mdx | 4 +- content/docs/remote/docker_linux.es.mdx | 4 +- content/docs/remote/docker_linux.fr.mdx | 4 +- content/docs/remote/docker_linux.id.mdx | 4 +- content/docs/remote/docker_linux.it.mdx | 4 +- content/docs/remote/docker_linux.ja.mdx | 4 +- content/docs/remote/docker_linux.ko.mdx | 4 +- content/docs/remote/docker_linux.mdx | 4 +- content/docs/remote/docker_linux.nl.mdx | 4 +- content/docs/remote/docker_linux.pl.mdx | 4 +- content/docs/remote/docker_linux.pt-BR.mdx | 4 +- content/docs/remote/docker_linux.tr.mdx | 4 +- content/docs/remote/docker_linux.vi.mdx | 4 +- content/docs/remote/docker_linux.zh.mdx | 4 +- content/docs/remote/nginx.de.mdx | 2 +- content/docs/remote/nginx.es.mdx | 2 +- content/docs/remote/nginx.fr.mdx | 2 +- content/docs/remote/nginx.id.mdx | 2 +- content/docs/remote/nginx.it.mdx | 2 +- content/docs/remote/nginx.ja.mdx | 2 +- content/docs/remote/nginx.ko.mdx | 2 +- content/docs/remote/nginx.mdx | 2 +- content/docs/remote/nginx.nl.mdx | 2 +- content/docs/remote/nginx.pl.mdx | 2 +- content/docs/remote/nginx.pt-BR.mdx | 2 +- content/docs/remote/nginx.tr.mdx | 2 +- content/docs/remote/nginx.vi.mdx | 2 +- content/docs/remote/nginx.zh.mdx | 2 +- e2e/quick-start-install-steps.spec.ts | 4 +- lib/ui-i18n.ts | 2 +- release-notes/v0.8.9-rc1.md | 612 +++++++++++++++++ 298 files changed, 1951 insertions(+), 431 deletions(-) create mode 100644 content/changelog/config_v1.3.18.mdx create mode 100644 content/changelog/v0.8.9-rc1.mdx create mode 100644 content/docs/configuration/upgrade.mdx create mode 100644 release-notes/v0.8.9-rc1.md diff --git a/components/LocalInstallHub.tsx b/components/LocalInstallHub.tsx index 8c60a6b0c..0ff497a19 100644 --- a/components/LocalInstallHub.tsx +++ b/components/LocalInstallHub.tsx @@ -102,7 +102,7 @@ const methods: { time: '~20 min', difficulty: 'Intermediate', prereqs: [ - { label: 'Node.js v24.16.0', href: 'https://nodejs.org/en/download' }, + { label: 'Node.js v24.22.1', href: 'https://nodejs.org/en/download' }, { label: 'Git', href: 'https://git-scm.com/downloads' }, { label: 'MongoDB', href: '/docs/configuration/mongodb/mongodb_atlas' }, ], diff --git a/content/changelog/config_v1.3.18.mdx b/content/changelog/config_v1.3.18.mdx new file mode 100644 index 000000000..f432155cc --- /dev/null +++ b/content/changelog/config_v1.3.18.mdx @@ -0,0 +1,80 @@ +--- +date: 2026-10-23 +title: โš™๏ธ Config v1.3.18 +version: '1.3.18' +--- + +Config `1.3.18` accompanies the pending `v0.8.9-rc1` candidate. The previous config changelog is unchanged. Review the [upgrade guide](/docs/configuration/upgrade) before rolling deployments or rollback. + +## Account Security and Credentials + +- `credentials.writeFormat` defaults to `v3`; use `legacy` while older readers remain. Existing records are not converted by changing the switch. +- `TWO_FACTOR_BACKUP_CODE_FORMAT` defaults to strong codes. Legacy codes remain usable; issuing strong codes creates a rollback boundary for older readers. +- `emailChange.enabled` overrides `ALLOW_EMAIL_CHANGE`; omission preserves the default-on behavior. Keep it off until every node uses address-bound password reset links. `tokenTTLSeconds` defaults to `900`. +- `ALLOW_PASSKEY_LOGIN` defaults to `false`. `passkeys.perUserMax` overrides `MAX_PASSKEYS_PER_USER` and defaults to `20`. +- `ENFORCE_TWO_FACTOR_AUTHENTICATION` defaults to `false`. Temporary-code and enrollment-setup budgets are separate process-level limits. +- `AUDIT_LOG_FAIL_CLOSED` protects system-grant assignments and widening sharing changes by default. Revocations are not blocked by an audit outage. +- `CONFIG_OVERRIDE_ENV_ALLOWLIST` extends the permitted environment references in admin-written config. Stored credentials require re-entry when their bound destination changes or disappears. +- `permissions.leaseTtlMs` defaults to `30000` and `leaseWaitMs` to `3000`, bounding contention for sharing updates on deployments without transactions. + +## Configuration Profiles + +The database Base profile overrides YAML before principal profiles. Removing an override restores inheritance; a tombstone hides inherited values. Atomic per-profile changes support dry-run validation and revision checks. Role rename/delete operations preserve or clean up their dependent profiles and access grants but are not multi-document transactions. + +## Interface, Projects, and Data Retention + +| Setting | Default / behavior | +| --------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `projects.maxFiles` | `50`, maximum `500` | +| `projects.maxInstructionsLength` | `16000`, maximum `200000` | +| `projects.maxDescriptionLength` | `1000`, maximum `10000` | +| `toolCallPreviews.enabled` | `true`; only clients requesting previews receive them | +| `toolCallPreviews.outputChars`, `argsChars` | `512` characters each | +| `fileListLimit` | `100` for explicit file-list `limit` requests | +| `interface.landingHeading` | `entity`; `greeting` is an alternative | +| `interface.landingFooter` | `true`; a custom footer remains independent | +| `interface.runningChatRename` | `true`; turn off during mixed-version title-job rollouts | +| `interface.historyCacheTtlMs`, `historyCacheRecent` | `60000` ms and `1` recently left conversation | +| `interface.artifactUndocking`, `mascot` | `true`; users still opt in to the mascot | +| `interface.replyNotifications` | Deployment permission gates; alert preferences remain per device | +| `interface.retentionMode` | `temporary`; `all` expires ordinary history and `ephemeral` forces all chats temporary | +| `langfuse.trace.temporaryChats` | `false` | +| `fileConfig.clientImageResize.enabled` | Omit for the user's choice, on by default; explicit values force it | + +`interface.theme` accepts a bundled theme name or versioned light/dark definition. It is deployment-owned, outranks stored themes and legacy environment colors, and yields to high-contrast modes. + +## Agent and Tool Controls + +- `balance.refillMode: add` retains rollover; `reset` replaces the allowance and requires compatible replicas. `balance.display` accepts `credits`, `currency`, or `percent`. +- `speech.tts.maxInputChars` defaults to `20000`. +- `passwordHashing.maxWorkers` bounds background hashing; the default is one less than the CPU count, capped at four. +- `timeouts` adds per-operation outbound budgets: `ragMs: 30000`, `ocrMs: 300000`, `actionsMs: 300000`, `moderationMs: 10000`, and `imageFetchMs: 30000`. +- `endpoints.agents.streamKeepaliveIntervalMs` defaults to `25000`; `0` disables quiet-stream keepalives. +- `hostFileEdits` bounds host-side edit matching, not attached-worker edits: `maxEdits: 100`, `maxWorkBytes: 67108864`, `maxOccurrences: 100000`, `timeoutMs: 2000`, and `maxConcurrent: 2`. +- `subagentActivity` adds bounded live replay independent of the completed transcript. Defaults: `replayTtlMs: 300000`, `publicationTimeoutMs: 1000`, `retryAttempts: 3`, `retryBaseDelayMs: 100`, `recoveryDelayMs: 1000`, `memoryMaxStreams: 1000`, and `memoryMaxBytes: 16777216`. +- `backgroundTasks.completionReceiptBatching` defaults to `true`; disable while incompatible replicas remain. +- `toolApproval.agentModes` defaults to `false`; `grantLookupTimeoutMs` defaults to `3000`. `allowAlways` defaults to `false`. Administrator ask/deny rules remain authoritative. +- `endpoints.all` title settings resolve per field; `titleEndpoint` and `titleModel` are selected together from the first layer specifying either. +- `web_search` gates LibreChat's external search pipeline, not provider-native search. Both require `WEB_SEARCH.USE`, seeded by `interface.webSearch`. + +## Attached Workspaces and Pull Requests + +Decision protocol v1 is advertised by default. `CODE_ENVIRONMENT_DECISION_VERSION=0` retains the legacy path and disables per-chat machine choice. `statefulCodeSessions.allowEnvironmentSelection` defaults to `true`, with explicit per-agent machine allowlists; `maxEnvironmentChoices` defaults to `32` and supports up to `128`. + +Attached environments may set `configSchema.limits.defaultCommandTimeoutMs` and `defaultReadFileLines`; omission keeps `30000` ms and `200` lines. Worker and HTTP ceilings still apply. Upgrade all replicas before using new strict fields. Saved-chat moves and attach/detach remain separate opt-ins. + +`endpoints.agents.pullRequests` adds scoped GitHub, GitLab, and Bitbucket lookups, optional per-user OAuth, and optional Redis sharing. It requires compatible worker git reporting and provider credentials; see the [upgrade guide](/docs/configuration/upgrade#connected-coding-and-mcp-apps). + +## MCP Apps and OAuth + +- New MCP Apps require explicit `mcpSettings.apps: true`. Omission retains legacy inline HTML; `false` disables both. +- `mcpAppSandbox` configures a deployment-owned dedicated origin and bounded source, storage, admission, active-view, and preview limits. +- `mcpServers..oauthPrompt` defaults to `on_start`. `on_use` postpones sign-in only when every selected tool from that server is deferred and a usable `oauthToolCatalog` is available; otherwise turn-start prompting remains. + +## Telemetry and Content Protection + +- `telemetry.rum.enabled` and `telemetry.rum.sessionReplay.enabled` override environment fallbacks. Replay is a separate opt-in, not general-purpose DLP. +- `RUM_CLIENT_LOGS` defaults to `false` and is proxy-only. `RUM_SESSION_REPLAY_ENABLED` supersedes the deprecated inverse fallback. +- Proxy defaults: `RUM_PROXY_BODY_LIMIT=3mb`, `RUM_PROXY_USER_MAX=240`, and `RUM_PROXY_USER_WINDOW=1` minute. +- `LOG_REDACTION_MAX_NODES` defaults to `5000` per log record. +- PII `action: redact` can transform fresh text-only interactive Agent submissions with `clientRequestId`; edits, resumes, files, quotes, other endpoints, and other fields retain blocking checks. Encrypted owner-original recovery requires the original `CREDS_KEY`; ordinary exports remain canonical/filtered. diff --git a/content/changelog/v0.8.9-rc1.mdx b/content/changelog/v0.8.9-rc1.mdx new file mode 100644 index 000000000..ad226824e --- /dev/null +++ b/content/changelog/v0.8.9-rc1.mdx @@ -0,0 +1,618 @@ +--- +date: 2026-10-23 +title: ๐Ÿš€ LibreChat v0.8.9-rc1 +description: Chat Projects, account security, deployment themes, and connected coding workflows +version: '0.8.9-rc1' +--- + +## What's Changed + +### ๐Ÿž๏ธ Highlights + +- Chat Projects with shared instructions and reference files +- Passkey sign-in, email changes, and stronger two-factor account protection +- Redesigned chat controls, reply notifications, and right-to-left layouts +- Deployment themes with configurable colors and appearance +- MCP Apps and more deliberate tool-approval choices +- Attached-machine enrollment, per-chat workspace choices, and pull request status +- Recoverable subagent transcripts and clearer background-task progress +- Node.js 24.22.1 security updates and bounded history/tool previews + +### Upgrade Notes + +This candidate uses config `1.3.18`. Read the [upgrade guide](/docs/configuration/upgrade) and [config changelog](/changelog/config_v1.3.18) before a rolling deployment. Stateful Code sessions remain highly experimental and require compatible Code API and worker builds. + +These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/LibreChat-AI/LibreChat/commit/8c2ed7be08a43ec895053d98696e2671ff7c27f2); no release tag or publication is implied. + +### โœจ Features + +- ๐Ÿ” feat: Admin Config Secrets v2 (MCP and Azure Credentials, Re-entry, Env Allowlist, Rebinding) by [@danny-avila](https://github.com/danny-avila) in [#17353](https://github.com/LibreChat-AI/LibreChat/pull/17353) +- ๐Ÿง‘โ€โœˆ๏ธ feat: Enroll Machines Through Explicit Browser Approval by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17344](https://github.com/LibreChat-AI/LibreChat/pull/17344) +- ๐Ÿ™ˆ feat: Let Config Profiles Hide librechat.yaml MCP Servers and Remove Their Fields by [@danny-avila](https://github.com/danny-avila) in [#17327](https://github.com/LibreChat-AI/LibreChat/pull/17327) +- โš›๏ธ feat: Atomic Admin Config Changes Endpoint (set, unset, tombstone, entry upsert/remove/rename) by [@danny-avila](https://github.com/danny-avila) in [#17328](https://github.com/LibreChat-AI/LibreChat/pull/17328) +- ๐Ÿ”— feat: Link Custom Artifact Mode to Its Instructions Guide by [@danny-avila](https://github.com/danny-avila) in [#17021](https://github.com/LibreChat-AI/LibreChat/pull/17021) +- ๐Ÿ”‘ feat: Keep Dotted Record Keys in Admin Config Writes and Publish the Config Contract by [@danny-avila](https://github.com/danny-avila) in [#17322](https://github.com/LibreChat-AI/LibreChat/pull/17322) +- feat: add masked session replay lifecycle by [@graphaelli](https://github.com/graphaelli) in [#17194](https://github.com/LibreChat-AI/LibreChat/pull/17194) +- ๐Ÿ›‚ feat: Keyboard Submit and Escape for Tool Approval Cards by [@berry-13](https://github.com/berry-13) in [#17233](https://github.com/LibreChat-AI/LibreChat/pull/17233) +- ๐Ÿ” feat: Defer MCP OAuth Sign-In Until a Deferred Tool Is Used by [@berry-13](https://github.com/berry-13) in [#17225](https://github.com/LibreChat-AI/LibreChat/pull/17225) +- ๐ŸŽจ feat: Paint Inline Deployment Themes From the First Frame by [@berry-13](https://github.com/berry-13) in [#17203](https://github.com/LibreChat-AI/LibreChat/pull/17203) +- ๐Ÿข feat: Add Microsoft, Z.ai, IBM and Amazon Nova Model Marks by [@berry-13](https://github.com/berry-13) in [#17250](https://github.com/LibreChat-AI/LibreChat/pull/17250) +- ๐Ÿชช feat: Show Each Model's Maker on Its Model List Row by [@berry-13](https://github.com/berry-13) in [#17246](https://github.com/LibreChat-AI/LibreChat/pull/17246) +- ๐Ÿงฌ feat: Show the Model Maker's Icon When Another Host Serves the Model by [@berry-13](https://github.com/berry-13) in [#17238](https://github.com/LibreChat-AI/LibreChat/pull/17238) +- โŒจ๏ธ feat: Keyboard Submit, Focus and Escape for Ask User Cards by [@berry-13](https://github.com/berry-13) in [#17231](https://github.com/LibreChat-AI/LibreChat/pull/17231) +- ๐Ÿ’  feat: Add Gemini 4 Argon Support by [@berry-13](https://github.com/berry-13) in [#17200](https://github.com/LibreChat-AI/LibreChat/pull/17200) +- ๐ŸŽ feat: Add Claude Haiku 5.5 Support by [@berry-13](https://github.com/berry-13) in [#17201](https://github.com/LibreChat-AI/LibreChat/pull/17201) +- ๐Ÿ›‹๏ธ feat: Open Subagents Directly from Background Tasks by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17020](https://github.com/LibreChat-AI/LibreChat/pull/17020) +- ๐Ÿ—ž๏ธ feat: Make Context Usage Responsive and Condensed by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17018](https://github.com/LibreChat-AI/LibreChat/pull/17018) +- ๐Ÿ”Œ feat: Integrate Durable Skill Lifecycle Across Writers and Routes by [@dustinhealy](https://github.com/dustinhealy) in [#17043](https://github.com/LibreChat-AI/LibreChat/pull/17043) +- ๐Ÿงน feat: Add Bounded Whole-Skill Cleanup Engine by [@dustinhealy](https://github.com/dustinhealy) in [#17042](https://github.com/LibreChat-AI/LibreChat/pull/17042) +- ๐Ÿงพ feat: Add Skill Upload Reservation Helpers by [@dustinhealy](https://github.com/dustinhealy) in [#17041](https://github.com/LibreChat-AI/LibreChat/pull/17041) +- ๐Ÿงฑ feat: Add Skill Lifecycle Persistence Primitives by [@dustinhealy](https://github.com/dustinhealy) in [#17040](https://github.com/LibreChat-AI/LibreChat/pull/17040) +- ๐Ÿ—‘๏ธ feat: Expose Skill Deletion in Management API by [@dustinhealy](https://github.com/dustinhealy) in [#17005](https://github.com/LibreChat-AI/LibreChat/pull/17005) +- ๐Ÿงฉ feat: Add Skill Creation and File Deletion to Management API by [@dustinhealy](https://github.com/dustinhealy) in [#16878](https://github.com/LibreChat-AI/LibreChat/pull/16878) +- ๐Ÿ—‚๏ธ feat: Audit MCP, Code Worker, Langfuse, Skill Credential, Passkey and Audit Log Access by [@berry-13](https://github.com/berry-13) in [#17054](https://github.com/LibreChat-AI/LibreChat/pull/17054) +- ๐Ÿ›‚ feat: Audit Resource Sharing Changes and Fail Closed on Reversible Audit Writes by [@berry-13](https://github.com/berry-13) in [#17053](https://github.com/LibreChat-AI/LibreChat/pull/17053) +- ๐Ÿ“œ feat: Audit Admin Role, Group, Config and IdP Role Mutations by [@berry-13](https://github.com/berry-13) in [#17052](https://github.com/LibreChat-AI/LibreChat/pull/17052) +- ๐Ÿ“ feat: Cap the Select List at the Popover's Available Height by [@berry-13](https://github.com/berry-13) in [#16938](https://github.com/LibreChat-AI/LibreChat/pull/16938) +- ๐ŸŽจ feat: Paint the Operator Theme on a First-Ever Visit by [@berry-13](https://github.com/berry-13) in [#16962](https://github.com/LibreChat-AI/LibreChat/pull/16962) +- ๐Ÿ‘‹ feat: Optional Greeting Heading and Footer-Free Welcome Screen by [@berry-13](https://github.com/berry-13) in [#17055](https://github.com/LibreChat-AI/LibreChat/pull/17055) +- ๐ŸŒ— feat: Hand the Colour Mode Over on an Entry Link by [@berry-13](https://github.com/berry-13) in [#17056](https://github.com/LibreChat-AI/LibreChat/pull/17056) +- ๐Ÿ”Œ feat: Add a Connected Account Setting for Pull Requests by [@berry-13](https://github.com/berry-13) in [#16990](https://github.com/LibreChat-AI/LibreChat/pull/16990) +- ๐Ÿ—ณ๏ธ feat: Approval-Responded, Output-Denied and Ask-User Parts in the UI Message View by [@berry-13](https://github.com/berry-13) in [#16961](https://github.com/LibreChat-AI/LibreChat/pull/16961) +- ๐Ÿ”‘ feat: Let Users Connect Their Own Account for Pull Request Lookups by [@berry-13](https://github.com/berry-13) in [#16989](https://github.com/LibreChat-AI/LibreChat/pull/16989) +- โ™ป๏ธ feat: Share Pull Request Lookups Across Replicas Through Redis by [@berry-13](https://github.com/berry-13) in [#16988](https://github.com/LibreChat-AI/LibreChat/pull/16988) +- ๐Ÿชฃ feat: Look Up Bitbucket Cloud Pull Requests by [@berry-13](https://github.com/berry-13) in [#16987](https://github.com/LibreChat-AI/LibreChat/pull/16987) +- โŒจ๏ธ feat: Change Default Chat Preferences by [@berry-13](https://github.com/berry-13) in [#16932](https://github.com/LibreChat-AI/LibreChat/pull/16932) +- ๐ŸฆŠ feat: Look Up GitLab Merge Requests Behind a Provider Setting by [@berry-13](https://github.com/berry-13) in [#16986](https://github.com/LibreChat-AI/LibreChat/pull/16986) +- ๐Ÿข feat: Look Up Pull Requests on a GitHub Enterprise Host by [@berry-13](https://github.com/berry-13) in [#16985](https://github.com/LibreChat-AI/LibreChat/pull/16985) +- ๐ŸŽฌ feat: Animate Background Tasks and Add Tool Navigation by [@berry-13](https://github.com/berry-13) in [#16959](https://github.com/LibreChat-AI/LibreChat/pull/16959) +- ๐Ÿ“ฆ feat: Scaffold the @librechat/chat Package by [@berry-13](https://github.com/berry-13) in [#16964](https://github.com/LibreChat-AI/LibreChat/pull/16964) +- โ˜‘๏ธ feat: Give the Checkbox Theme Roles for Its Fill and Corner by [@berry-13](https://github.com/berry-13) in [#16958](https://github.com/LibreChat-AI/LibreChat/pull/16958) +- ๐Ÿงฏ feat: Recover Conversations Whose Attachments Keep Failing by [@danny-avila](https://github.com/danny-avila) in [#16965](https://github.com/LibreChat-AI/LibreChat/pull/16965) +- ๐Ÿšฆ feat: Lint Disabled Dims That Compose No Disabled Recipe by [@berry-13](https://github.com/berry-13) in [#16907](https://github.com/LibreChat-AI/LibreChat/pull/16907) +- ๐Ÿ“ feat: Let a Theme Reshape the Sign-In Field and Button by [@berry-13](https://github.com/berry-13) in [#16939](https://github.com/LibreChat-AI/LibreChat/pull/16939) +- ๐Ÿช„ feat: Adopt the Continue Icon, Artifact Timing, Avatar Border and Dropdown Intents Tailwind 3 Never Rendered by [@berry-13](https://github.com/berry-13) in [#16941](https://github.com/LibreChat-AI/LibreChat/pull/16941) +- ๐Ÿ’“ feat: Keep Quiet Chat Streams Alive Behind Idle-Timeout Proxies by [@berry-13](https://github.com/berry-13) in [#16904](https://github.com/LibreChat-AI/LibreChat/pull/16904) +- ๐Ÿ–ฑ๏ธ feat: Open the Pull Request Card When Hovering Anywhere on a Conversation Row by [@berry-13](https://github.com/berry-13) in [#16895](https://github.com/LibreChat-AI/LibreChat/pull/16895) +- ๐ŸŽš๏ธ feat: Filter OpenRouter Reasoning Efforts by the Selected Model by [@berry-13](https://github.com/berry-13) in [#16808](https://github.com/LibreChat-AI/LibreChat/pull/16808) +- ๐Ÿง  feat: Infer Reasoning Effort Support From Known Custom Endpoint Hosts by [@berry-13](https://github.com/berry-13) in [#16797](https://github.com/LibreChat-AI/LibreChat/pull/16797) +- ๐ŸŽš๏ธ feat: Promote Stylesheet Colour Roles to Registry Colours by [@berry-13](https://github.com/berry-13) in [#16864](https://github.com/LibreChat-AI/LibreChat/pull/16864) +- ๐Ÿงฑ feat: Add Flush, Embedded and Nav Primitive Variants by [@berry-13](https://github.com/berry-13) in [#16862](https://github.com/LibreChat-AI/LibreChat/pull/16862) +- ๐Ÿ”Œ feat: Enable Pull Requests by Default With a Token Fallback by [@berry-13](https://github.com/berry-13) in [#16876](https://github.com/LibreChat-AI/LibreChat/pull/16876) +- ๐Ÿ”  feat: Add 10, 11, 13 and 15px Steps to the Theme Type Scale by [@berry-13](https://github.com/berry-13) in [#16827](https://github.com/LibreChat-AI/LibreChat/pull/16827) +- ๐ŸŽ›๏ธ feat: Add Quiet and Message Action Button Variants by [@berry-13](https://github.com/berry-13) in [#16839](https://github.com/LibreChat-AI/LibreChat/pull/16839) +- ๐Ÿ”€ feat: Show the Conversation Pull Request in the Sidebar List by [@berry-13](https://github.com/berry-13) in [#16815](https://github.com/LibreChat-AI/LibreChat/pull/16815) +- ๐ŸŽจ feat: Add Secondary Label Variant and Spinner Tone by [@berry-13](https://github.com/berry-13) in [#16837](https://github.com/LibreChat-AI/LibreChat/pull/16837) +- ๐Ÿ—‚๏ธ feat: Merge Change and Remove Project Into One Submenu by [@berry-13](https://github.com/berry-13) in [#16844](https://github.com/LibreChat-AI/LibreChat/pull/16844) +- ๐Ÿ–ฅ๏ธ feat: Show Lia on the Welcome Screen by [@berry-13](https://github.com/berry-13) in [#16684](https://github.com/LibreChat-AI/LibreChat/pull/16684) +- ๐Ÿ”€ feat: Show the Conversation Pull Request in the Chat Header by [@berry-13](https://github.com/berry-13) in [#16794](https://github.com/LibreChat-AI/LibreChat/pull/16794) +- ๐Ÿ“ feat: Visible Prose Markers and Composer Shape Roles for ClickHouse by [@berry-13](https://github.com/berry-13) in [#16736](https://github.com/LibreChat-AI/LibreChat/pull/16736) +- ๐Ÿชถ feat: Quiet Prompt Editor Boxes, Table Columns and Destructive Buttons by [@berry-13](https://github.com/berry-13) in [#16751](https://github.com/LibreChat-AI/LibreChat/pull/16751) +- ๐Ÿ—‚๏ธ feat: Record Lane Git State and Serve Conversation Pull Requests by [@berry-13](https://github.com/berry-13) in [#16793](https://github.com/LibreChat-AI/LibreChat/pull/16793) +- ๐ŸŒฟ feat: Accept Lane Git State and Pull Request Contract by [@berry-13](https://github.com/berry-13) in [#16792](https://github.com/LibreChat-AI/LibreChat/pull/16792) +- ๐Ÿ”‡ feat: Let a Theme Quiet Decorative Borders by [@berry-13](https://github.com/berry-13) in [#16741](https://github.com/LibreChat-AI/LibreChat/pull/16741) +- โš™๏ธ feat: Move Chat Actions Into a Header Options Menu by [@berry-13](https://github.com/berry-13) in [#16775](https://github.com/LibreChat-AI/LibreChat/pull/16775) +- ๐Ÿงฑ feat: Layered Surface Roles for the ClickHouse Theme by [@berry-13](https://github.com/berry-13) in [#16737](https://github.com/LibreChat-AI/LibreChat/pull/16737) +- โณ feat: Reset Balance Allowances Without Rollover by [@danny-avila](https://github.com/danny-avila) in [#16781](https://github.com/LibreChat-AI/LibreChat/pull/16781) +- ๐ŸชŸ feat: Overlay Theme Roles for Tooltips, Error Alerts and Artifact Previews by [@berry-13](https://github.com/berry-13) in [#16739](https://github.com/LibreChat-AI/LibreChat/pull/16739) +- ๐Ÿฆ‰ feat: Compare Review Commit Ancestry Without Git by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16734](https://github.com/LibreChat-AI/LibreChat/pull/16734) +- ๐Ÿชช feat: Name and Face Subagents Like Main Chat Turns by [@danny-avila](https://github.com/danny-avila) in [#16692](https://github.com/LibreChat-AI/LibreChat/pull/16692) +- ๐Ÿ”ฑ feat: Simplify Steering Controls to Three Modes by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16759](https://github.com/LibreChat-AI/LibreChat/pull/16759) +- ๐Ÿ’ณ feat: Show Balance in the Context Gauge as Credits, Currency, or Percent by [@danny-avila](https://github.com/danny-avila) in [#16762](https://github.com/LibreChat-AI/LibreChat/pull/16762) +- ๐Ÿš• feat: Add Per-Call Subagent Machine Selection by [@danny-avila](https://github.com/danny-avila) in [#16757](https://github.com/LibreChat-AI/LibreChat/pull/16757) +- ๐Ÿ•Š๏ธ feat: Supply Authorized Scheduled MCP Resource Bearers by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16699](https://github.com/LibreChat-AI/LibreChat/pull/16699) +- ๐Ÿ”— feat(agents): use LibreChat prompt groups as agent instructions by [@AtefBellaaj](https://github.com/AtefBellaaj) in [#16686](https://github.com/LibreChat-AI/LibreChat/pull/16686) +- ๐Ÿ” feat: App-Wide UI Scale Setting by [@berry-13](https://github.com/berry-13) in [#14903](https://github.com/LibreChat-AI/LibreChat/pull/14903) +- ๐ŸŒฒ feat: Expose Navigable Subagent Progress Trees by [@danny-avila](https://github.com/danny-avila) in [#16748](https://github.com/LibreChat-AI/LibreChat/pull/16748) +- ๐Ÿช‡ feat: Consolidate Orchestration Into a Native Tool by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16744](https://github.com/LibreChat-AI/LibreChat/pull/16744) +- ๐ŸŽฃ feat: Poll Durable Workspace Requests Without Rejoining Admission by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16733](https://github.com/LibreChat-AI/LibreChat/pull/16733) +- ๐Ÿซฐ feat: Configure Tool Approval Modes Per Agent by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16707](https://github.com/LibreChat-AI/LibreChat/pull/16707) +- ๐Ÿง  feat: Add Lia's Behavior Engine by [@berry-13](https://github.com/berry-13) in [#16683](https://github.com/LibreChat-AI/LibreChat/pull/16683) +- ๐Ÿง— feat: Light the Fold Path to the Hovered Activity Row by [@danny-avila](https://github.com/danny-avila) in [#16722](https://github.com/LibreChat-AI/LibreChat/pull/16722) +- ๐Ÿ”ญ feat: Recover Stale Chunks Without the Error Page and Ship Client Logs to RUM by [@danny-avila](https://github.com/danny-avila) in [#16701](https://github.com/LibreChat-AI/LibreChat/pull/16701) +- ๐Ÿฆซ feat: Enforce Scheduled MCP Read-Only Authority by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16681](https://github.com/LibreChat-AI/LibreChat/pull/16681) +- feat: Simplify Queue Row Actions And Steer Controls by Marco Beretta in [35db010412](https://github.com/LibreChat-AI/LibreChat/commit/35db010412f95721459c07903164fe318005c48f) +- ๐Ÿ›ฐ๏ธ feat: Status on the Avatar, a Finished Group, and Project Chats in the Sidebar List by Danny Avila in [10e9cb90e7](https://github.com/LibreChat-AI/LibreChat/commit/10e9cb90e759176bbea9071df9274bbc8cba2b7e) +- ๐ŸŽจ feat: Add Lia's Pixel Art Renderer by [@berry-13](https://github.com/berry-13) in [#16682](https://github.com/LibreChat-AI/LibreChat/pull/16682) +- ๐Ÿ“ feat: Size Roles for the Select List by [@berry-13](https://github.com/berry-13) in [#16714](https://github.com/LibreChat-AI/LibreChat/pull/16714) +- ๐Ÿ“ feat: Show the Current Text Where a Missing Workspace Edit Belongs by [@danny-avila](https://github.com/danny-avila) in [#16698](https://github.com/LibreChat-AI/LibreChat/pull/16698) +- ๐Ÿ”“ feat: Remember Tool Approvals Per Conversation by [@berry-13](https://github.com/berry-13) in [#16557](https://github.com/LibreChat-AI/LibreChat/pull/16557) +- ๐Ÿด feat: Separate Machine, Workspace, and Git Controls by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16696](https://github.com/LibreChat-AI/LibreChat/pull/16696) +- โœ… feat: Default Machine Selection and Linked-Worktree Lanes On by [@danny-avila](https://github.com/danny-avila) in [#16678](https://github.com/LibreChat-AI/LibreChat/pull/16678) +- ๐Ÿงญ feat: Give the Mobile Drawer Edge a Role and Move the Last Page Colours Onto Roles by [@berry-13](https://github.com/berry-13) in [#16631](https://github.com/LibreChat-AI/LibreChat/pull/16631) +- ๐Ÿ“ feat: Edit Projects in a Dialog and Pick Files From the Your Files Dialog by [@berry-13](https://github.com/berry-13) in [#16643](https://github.com/LibreChat-AI/LibreChat/pull/16643) +- ๐Ÿ™‹ feat: Refine the Ask Question Card and Smooth Batched Question Steps by [@berry-13](https://github.com/berry-13) in [#16641](https://github.com/LibreChat-AI/LibreChat/pull/16641) +- ๐Ÿ—‚๏ธ feat: Choose Conversation Checkout Mode by [@danny-avila](https://github.com/danny-avila) in [#16679](https://github.com/LibreChat-AI/LibreChat/pull/16679) +- ๐Ÿ“” feat: Preserve Owner Text During PII Redaction by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16311](https://github.com/LibreChat-AI/LibreChat/pull/16311) +- ๐Ÿงณ feat: Choose Agent-Allowed Machines For New Chats by [@danny-avila](https://github.com/danny-avila) in [#16651](https://github.com/LibreChat-AI/LibreChat/pull/16651) +- ๐Ÿช” feat: Add Bound Scheduled MCP Consent by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16652](https://github.com/LibreChat-AI/LibreChat/pull/16652) +- ๐Ÿ“ feat: Size Roles for the Shared Primitives by [@berry-13](https://github.com/berry-13) in [#16617](https://github.com/LibreChat-AI/LibreChat/pull/16617) +- โ›บ feat: Report Attached Bash Starting Directories by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16539](https://github.com/LibreChat-AI/LibreChat/pull/16539) +- ๐Ÿชข feat: Collapse Activity Folds From Their Rails by [@danny-avila](https://github.com/danny-avila) in [#16637](https://github.com/LibreChat-AI/LibreChat/pull/16637) +- ๐Ÿงพ feat: Serve Built-In Endpoint Model Lists From Config So Overrides Can Narrow Them by [@danny-avila](https://github.com/danny-avila) in [#16639](https://github.com/LibreChat-AI/LibreChat/pull/16639) +- ๐Ÿฅฝ feat: Configure Attached Defaults and Honor Skill Read Ranges by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16540](https://github.com/LibreChat-AI/LibreChat/pull/16540) +- ๐Ÿ” feat: Enforce Required Two-Factor Authentication by [@berry-13](https://github.com/berry-13) in [#14731](https://github.com/LibreChat-AI/LibreChat/pull/14731) +- ๐Ÿ“ feat: Click UI Spacing and Mono Stack for the ClickHouse Theme by [@berry-13](https://github.com/berry-13) in [#16616](https://github.com/LibreChat-AI/LibreChat/pull/16616) +- ๐Ÿซ— feat: Field Fill and Ink Theme Roles by [@berry-13](https://github.com/berry-13) in [#16607](https://github.com/LibreChat-AI/LibreChat/pull/16607) +- ๐Ÿ’ฌ feat: Conversation Starters in Agent Builder by [@berry-13](https://github.com/berry-13) in [#16523](https://github.com/LibreChat-AI/LibreChat/pull/16523) +- โฏ๏ธ feat: Resume Streams and Send AI SDK Messages Through the Chat Facade by [@berry-13](https://github.com/berry-13) in [#16609](https://github.com/LibreChat-AI/LibreChat/pull/16609) +- ๐ŸชŸ feat: Undock the Artifacts Pane into Its Own Window by [@berry-13](https://github.com/berry-13) in [#15911](https://github.com/LibreChat-AI/LibreChat/pull/15911) +- ๐Ÿ—‚๏ธ feat: Give File-Type Tiles Their Own Theme Roles by [@berry-13](https://github.com/berry-13) in [#16603](https://github.com/LibreChat-AI/LibreChat/pull/16603) +- ๐Ÿ–๏ธ feat: Give the Remaining Component Colour Literals Theme Roles by [@berry-13](https://github.com/berry-13) in [#16597](https://github.com/LibreChat-AI/LibreChat/pull/16597) +- ๐Ÿ“ฑ feat: Give the Mobile Drawer One Place for Each Control by [@berry-13](https://github.com/berry-13) in [#16248](https://github.com/LibreChat-AI/LibreChat/pull/16248) +- ๐Ÿ–ผ๏ธ feat: Give Media Overlays Their Own Theme Roles by [@berry-13](https://github.com/berry-13) in [#16596](https://github.com/LibreChat-AI/LibreChat/pull/16596) +- ๐ŸŒ— feat: Per-Mode Appearance Defaults for Menu and Tooltip Shadows by [@berry-13](https://github.com/berry-13) in [#16602](https://github.com/LibreChat-AI/LibreChat/pull/16602) +- ๐Ÿ“ feat: Menu, Tooltip and Tab Corner Theme Roles by [@berry-13](https://github.com/berry-13) in [#16599](https://github.com/LibreChat-AI/LibreChat/pull/16599) +- ๐ŸŽฏ feat: Focus Ring Width and Offset Theme Roles by [@berry-13](https://github.com/berry-13) in [#16587](https://github.com/LibreChat-AI/LibreChat/pull/16587) +- ๐Ÿท๏ธ feat: Give the Badge Label Its Own Ink and Let the Legacy Dialog Spinner Inherit by [@berry-13](https://github.com/berry-13) in [#16554](https://github.com/LibreChat-AI/LibreChat/pull/16554) +- โณ feat: Add Ephemeral Retention Mode for Forced Temporary Chats by [@berry-13](https://github.com/berry-13) in [#13811](https://github.com/LibreChat-AI/LibreChat/pull/13811) +- ๐Ÿ”Ž feat: Let Themes Focus Fields by Their Edge and Size Fields and Labels by [@berry-13](https://github.com/berry-13) in [#16550](https://github.com/LibreChat-AI/LibreChat/pull/16550) +- ๐Ÿšฆ feat: Show Exit Status and Stderr for Attached Workspace Commands by [@berry-13](https://github.com/berry-13) in [#16556](https://github.com/LibreChat-AI/LibreChat/pull/16556) +- ๐ŸชŸ feat: Expand, Copy and Tail Long Bash Output by [@berry-13](https://github.com/berry-13) in [#16555](https://github.com/LibreChat-AI/LibreChat/pull/16555) +- ๐ŸชŸ feat: Give OGDialog Theme Roles for Its Edge, Padding and Title by [@berry-13](https://github.com/berry-13) in [#16546](https://github.com/LibreChat-AI/LibreChat/pull/16546) +- ๐Ÿง‘โ€๐ŸŽจ feat: Give the Default Avatar and Avatar Placeholder Theme Roles by [@berry-13](https://github.com/berry-13) in [#16545](https://github.com/LibreChat-AI/LibreChat/pull/16545) +- ๐ŸŽš๏ธ feat: Group Model Parameters Into Sections by [@berry-13](https://github.com/berry-13) in [#16247](https://github.com/LibreChat-AI/LibreChat/pull/16247) +- ๐Ÿงฉ feat: Ignore Unknown Theme Color Tokens Instead of Dropping the Theme by [@berry-13](https://github.com/berry-13) in [#16529](https://github.com/LibreChat-AI/LibreChat/pull/16529) +- ๐ŸŽ›๏ธ feat: Give the Button Theme Roles for Its Label, Height, Fill and States by [@berry-13](https://github.com/berry-13) in [#16530](https://github.com/LibreChat-AI/LibreChat/pull/16530) +- ๐Ÿ“ feat: Give Theme-Sized Controls Their Own Padding and Gap Roles by [@berry-13](https://github.com/berry-13) in [#16528](https://github.com/LibreChat-AI/LibreChat/pull/16528) +- ๐ŸŽ’ feat: Carry Project Context Across Conversations by [@berry-13](https://github.com/berry-13) in [#15684](https://github.com/LibreChat-AI/LibreChat/pull/15684) +- ๐Ÿ—‚๏ธ feat: Give the Table Theme Roles for Header Text, Row Rules and Density by [@berry-13](https://github.com/berry-13) in [#16489](https://github.com/LibreChat-AI/LibreChat/pull/16489) +- ๐ŸŽš๏ธ feat: Give the Switch Theme Roles for Its Size and Knob by [@berry-13](https://github.com/berry-13) in [#16486](https://github.com/LibreChat-AI/LibreChat/pull/16486) +- ๐ŸŒซ๏ธ feat: Give the Dialog Scrims Theme-Owned Opacity Roles by [@berry-13](https://github.com/berry-13) in [#16492](https://github.com/LibreChat-AI/LibreChat/pull/16492) +- ๐Ÿ”ค feat: Give Display Type and the Type Scale Their Own Theme Roles by [@berry-13](https://github.com/berry-13) in [#16491](https://github.com/LibreChat-AI/LibreChat/pull/16491) +- ๐Ÿšฆ feat: Give Pressed and Disabled States Their Own Theme Roles by [@berry-13](https://github.com/berry-13) in [#16487](https://github.com/LibreChat-AI/LibreChat/pull/16487) +- ๐ŸŽฏ feat: Give Keyboard Focus Its Own Theme Roles by [@berry-13](https://github.com/berry-13) in [#16478](https://github.com/LibreChat-AI/LibreChat/pull/16478) +- ๐Ÿงญ feat: Palette Show All Catalogs, MCP Status and Composer Polish by [@berry-13](https://github.com/berry-13) in [#16422](https://github.com/LibreChat-AI/LibreChat/pull/16422) +- ๐Ÿ—‚๏ธ feat: Chat List Properties Menu and Project-Scoped Chats by [@berry-13](https://github.com/berry-13) in [#16246](https://github.com/LibreChat-AI/LibreChat/pull/16246) +- ๐Ÿช feat: AI SDK-Shaped useChat Facade Over the Chat Contract by [@berry-13](https://github.com/berry-13) in [#16375](https://github.com/LibreChat-AI/LibreChat/pull/16375) +- ๐Ÿ”‘ feat: Expose the Messages Key on the Chat Contract by [@berry-13](https://github.com/berry-13) in [#16395](https://github.com/LibreChat-AI/LibreChat/pull/16395) +- ๐Ÿ”Ž feat: Filter the Conversation List by Date, Endpoint, Files, and Sharing by [@berry-13](https://github.com/berry-13) in [#16245](https://github.com/LibreChat-AI/LibreChat/pull/16245) +- ๐Ÿงฉ feat: Map Message Content Parts to a UI Parts Union by [@berry-13](https://github.com/berry-13) in [#16374](https://github.com/LibreChat-AI/LibreChat/pull/16374) +- ๐ŸŽ›๏ธ feat: Close the Data-Level Click UI Gaps in the ClickHouse Theme by [@berry-13](https://github.com/berry-13) in [#16379](https://github.com/LibreChat-AI/LibreChat/pull/16379) +- ๐Ÿ”ค feat: Bundle Inconsolata for the ClickHouse Theme by [@berry-13](https://github.com/berry-13) in [#16376](https://github.com/LibreChat-AI/LibreChat/pull/16376) +- ๐Ÿงฉ feat: Let Theme Readers Ignore Unknown Appearance Tokens by [@berry-13](https://github.com/berry-13) in [#16373](https://github.com/LibreChat-AI/LibreChat/pull/16373) +- ๐ŸŸจ feat: ClickHouse Theme Shape Parity by [@berry-13](https://github.com/berry-13) in [#16342](https://github.com/LibreChat-AI/LibreChat/pull/16342) +- ๐ŸŒซ๏ธ feat: Shadow Scale Follows the Theme by [@berry-13](https://github.com/berry-13) in [#16341](https://github.com/LibreChat-AI/LibreChat/pull/16341) +- ๐Ÿ“ feat: Radius and Font Scales Follow the Theme by [@berry-13](https://github.com/berry-13) in [#16340](https://github.com/LibreChat-AI/LibreChat/pull/16340) +- โš™๏ธ feat: Make the Per-User Passkey Cap Configurable by [@berry-13](https://github.com/berry-13) in [#16259](https://github.com/LibreChat-AI/LibreChat/pull/16259) +- ๐ŸŽจ feat: Theme the Shared Code Block With surface-code and a New surface-code-body Role by [@berry-13](https://github.com/berry-13) in [#16334](https://github.com/LibreChat-AI/LibreChat/pull/16334) +- ๐ŸŽจ feat: Pick the Deployment Theme in librechat.yaml by [@berry-13](https://github.com/berry-13) in [#16286](https://github.com/LibreChat-AI/LibreChat/pull/16286) +- ๐ŸŸจ feat: Add a ClickHouse Reference Theme by [@berry-13](https://github.com/berry-13) in [#16262](https://github.com/LibreChat-AI/LibreChat/pull/16262) +- ๐Ÿงฉ feat: MCP Apps support by [@dustinhealy](https://github.com/dustinhealy) in [#13831](https://github.com/LibreChat-AI/LibreChat/pull/13831) +- ๐Ÿฅง feat: Show Last-Turn Token Usage Beside Conversation Totals by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16230](https://github.com/LibreChat-AI/LibreChat/pull/16230) +- ๐ŸŽจ feat: Check Color Tokens and Class Existence by [@berry-13](https://github.com/berry-13) in [#16041](https://github.com/LibreChat-AI/LibreChat/pull/16041) +- ๐Ÿ”‘ feat: Passkey Authentication with WebAuthn Sign-In and Management by [@berry-13](https://github.com/berry-13) in [#14715](https://github.com/LibreChat-AI/LibreChat/pull/14715) +- ๐Ÿ”” feat: Unseen Reply Indicators, Reply Notifications, and Mark as Unread by [@berry-13](https://github.com/berry-13) in [#15025](https://github.com/LibreChat-AI/LibreChat/pull/15025) +- ๐Ÿ“ง feat: add email address change by [@berry-13](https://github.com/berry-13) in [#14597](https://github.com/LibreChat-AI/LibreChat/pull/14597) +- ๐Ÿชž feat: Expand Agent Cards Into Their Detail Dialog by [@berry-13](https://github.com/berry-13) in [#15798](https://github.com/LibreChat-AI/LibreChat/pull/15798) +- ๐Ÿ›ฐ๏ธ feat: Status on the Avatar, a Finished Group, and Project Chats in the Sidebar List by [@danny-avila](https://github.com/danny-avila) in [#16715](https://github.com/LibreChat-AI/LibreChat/pull/16715) +- ๐Ÿช„ feat: Simplify Steer Controls And Queue Row Actions by [@berry-13](https://github.com/berry-13) in [#16713](https://github.com/LibreChat-AI/LibreChat/pull/16713) + +### ๐Ÿ› Fixes + +- โŽ fix: Restore Enter to Send as the Default by [@berry-13](https://github.com/berry-13) in [#17374](https://github.com/LibreChat-AI/LibreChat/pull/17374) +- ๐Ÿชœ fix: Base-First Config Precedence, Profile Lifecycle and Role Renames That Keep Their Profile by [@danny-avila](https://github.com/danny-avila) in [#17352](https://github.com/LibreChat-AI/LibreChat/pull/17352) +- ๐Ÿ” fix: Apply Base Config Overrides Before Sign-In and Refuse Script Policy Links by [@danny-avila](https://github.com/danny-avila) in [#17351](https://github.com/LibreChat-AI/LibreChat/pull/17351) +- ๐Ÿท๏ธ fix: Resolve endpoints.all Title Settings per Field and Fold Ollama Endpoint Names by [@danny-avila](https://github.com/danny-avila) in [#17316](https://github.com/LibreChat-AI/LibreChat/pull/17316) +- ๐Ÿ›ก๏ธ fix: Reject Unknown Admin Config Sections and Scope Write Responses to Read Access by [@danny-avila](https://github.com/danny-avila) in [#17315](https://github.com/LibreChat-AI/LibreChat/pull/17315) +- ๐Ÿ“” fix: Recover Subagent Content With Shared Chat Rendering by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17290](https://github.com/LibreChat-AI/LibreChat/pull/17290) +- ๐Ÿฅผ fix: Separate Agent Inference Settings From SDK Configuration by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17220](https://github.com/LibreChat-AI/LibreChat/pull/17220) +- ๐Ÿชต fix: Keep the Winston Level Symbol in `jsonTruncateFormat` for OpenTelemetry Logs by [@trois-six](https://github.com/trois-six) in [#17307](https://github.com/LibreChat-AI/LibreChat/pull/17307) +- ๐Ÿšก fix: Restore Enforced Model Specs for Agent Continuations by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17229](https://github.com/LibreChat-AI/LibreChat/pull/17229) +- ๐Ÿ”‘ fix: Use Admin-Stored Web Search Credentials at Runtime by [@danny-avila](https://github.com/danny-avila) in [#17323](https://github.com/LibreChat-AI/LibreChat/pull/17323) +- ๐Ÿšœ fix: Release Heavy Chat State on Conversation Switches by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17291](https://github.com/LibreChat-AI/LibreChat/pull/17291) +- ๐Ÿช fix: Restore Explicit File Search Uploads by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17226](https://github.com/LibreChat-AI/LibreChat/pull/17226) +- โฑ๏ธ fix: Bound Outbound Calls Made Inside a Request by [@berry-13](https://github.com/berry-13) in [#17263](https://github.com/LibreChat-AI/LibreChat/pull/17263) +- ๐ŸŽด fix: Match Image Media Types to Their Bytes by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17230](https://github.com/LibreChat-AI/LibreChat/pull/17230) +- ๐Ÿš fix: Fail Closed When Plugin Hook Shell Cannot Start by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17227](https://github.com/LibreChat-AI/LibreChat/pull/17227) +- ๐Ÿ“„ fix: Mirror Agents, Prompts, Skills and Other Pages for RTL by [@berry-13](https://github.com/berry-13) in [#17268](https://github.com/LibreChat-AI/LibreChat/pull/17268) +- ๐Ÿชž fix: Mirror Shared Primitives for Right-to-Left Layouts by [@berry-13](https://github.com/berry-13) in [#17265](https://github.com/LibreChat-AI/LibreChat/pull/17265) +- ๐Ÿ’ฌ fix: Mirror Chat Messages, Markdown and Code Blocks for RTL by [@berry-13](https://github.com/berry-13) in [#17267](https://github.com/LibreChat-AI/LibreChat/pull/17267) +- ๐Ÿ” fix: Build the KeyvMongo Key Index Through the Retrying Helper by [@berry-13](https://github.com/berry-13) in [#17282](https://github.com/LibreChat-AI/LibreChat/pull/17282) +- ๐Ÿงญ fix: Anchor the Sidebar, Mobile Drawer and Panels to Inline Edges in RTL by [@berry-13](https://github.com/berry-13) in [#17266](https://github.com/LibreChat-AI/LibreChat/pull/17266) +- ๐Ÿ”• fix: Quiet Client Disconnects, Fall Back When Hash Workers Fail, Log Speech Truncation by [@berry-13](https://github.com/berry-13) in [#17278](https://github.com/LibreChat-AI/LibreChat/pull/17278) +- โ†”๏ธ fix: Follow the Interface Direction in Radix, the Composer and First Paint by [@berry-13](https://github.com/berry-13) in [#17264](https://github.com/LibreChat-AI/LibreChat/pull/17264) +- ๐Ÿงฏ fix: Close Abandoned Download and Speech Streams and Cap Speech Input by [@berry-13](https://github.com/berry-13) in [#17270](https://github.com/LibreChat-AI/LibreChat/pull/17270) +- ๐Ÿ” fix: Hash Passwords on a Worker Pool and Surface API Key Lookup Failures by [@berry-13](https://github.com/berry-13) in [#17261](https://github.com/LibreChat-AI/LibreChat/pull/17261) +- ๐Ÿ™Š fix: Keep API Keys and Internal Errors Out of Logs and Responses by [@berry-13](https://github.com/berry-13) in [#17258](https://github.com/LibreChat-AI/LibreChat/pull/17258) +- ๐Ÿ“‹ fix: Load Full Tool Output So Copy Works on Panels Without a Row by [@berry-13](https://github.com/berry-13) in [#17262](https://github.com/LibreChat-AI/LibreChat/pull/17262) +- ๐Ÿ”’ fix: Restrict Stop to the Generation's Owner and Contain S3 Ingest Stream Errors by [@berry-13](https://github.com/berry-13) in [#17256](https://github.com/LibreChat-AI/LibreChat/pull/17256) +- ๐Ÿฉบ fix: Report Not Ready on /readyz While Redis Is Disconnected by [@berry-13](https://github.com/berry-13) in [#17232](https://github.com/LibreChat-AI/LibreChat/pull/17232) +- ๐Ÿ“ fix: Keep the Batch Question Card On Screen Above a Long Draft by [@berry-13](https://github.com/berry-13) in [#17222](https://github.com/LibreChat-AI/LibreChat/pull/17222) +- โณ fix: Wait for Chat History Before URL Auto-Submit by [@berry-13](https://github.com/berry-13) in [#17224](https://github.com/LibreChat-AI/LibreChat/pull/17224) +- ๐Ÿ”ข fix: Pair English Plural Keys as \_one/\_other for Locize by [@berry-13](https://github.com/berry-13) in [#17223](https://github.com/LibreChat-AI/LibreChat/pull/17223) +- ๐Ÿงฉ fix: Render Nested MCP Apps Under Standalone Subagent Calls by [@berry-13](https://github.com/berry-13) in [#17211](https://github.com/LibreChat-AI/LibreChat/pull/17211) +- ๐Ÿ›ฐ๏ธ fix: Route Subagent Files Delivered After a Mid-Run Reload by [@berry-13](https://github.com/berry-13) in [#17212](https://github.com/LibreChat-AI/LibreChat/pull/17212) +- ๐Ÿ–ผ๏ธ fix: Render Files Saved by Tools Inside a Subagent Run by [@berry-13](https://github.com/berry-13) in [#17204](https://github.com/LibreChat-AI/LibreChat/pull/17204) +- ๐Ÿ“ฆ fix: Strip Assistant Prefill for Claude 5.x Models by [@berry-13](https://github.com/berry-13) in [#17209](https://github.com/LibreChat-AI/LibreChat/pull/17209) +- ๐Ÿงฌ fix: Skip Re-Embedding Legacy File Search Files After Upgrade by [@berry-13](https://github.com/berry-13) in [#17206](https://github.com/LibreChat-AI/LibreChat/pull/17206) +- ๐Ÿช™ fix: Price 1-Hour Prompt Cache Writes at the 1-Hour Rate by [@berry-13](https://github.com/berry-13) in [#17208](https://github.com/LibreChat-AI/LibreChat/pull/17208) +- ๐Ÿ•ถ๏ธ fix: Keep Temporary Chats Out of Langfuse by [@berry-13](https://github.com/berry-13) in [#17202](https://github.com/LibreChat-AI/LibreChat/pull/17202) +- ๐Ÿงต fix: Harmony Headers in Text Attachments Break OpenAI Models on Bedrock by [@danny-avila](https://github.com/danny-avila) in [#17101](https://github.com/LibreChat-AI/LibreChat/pull/17101) +- ๐Ÿท๏ธ fix: Drop a File Name Removed Through the UI Parts View by [@berry-13](https://github.com/berry-13) in [#17184](https://github.com/LibreChat-AI/LibreChat/pull/17184) +- ๐Ÿ› fix: Restore MCP App Rendering and Actions by [@dustinhealy](https://github.com/dustinhealy) in [#16382](https://github.com/LibreChat-AI/LibreChat/pull/16382) +- ๐Ÿ› fix: Keep Artifact Download Clear of Message Navigation by [@dustinhealy](https://github.com/dustinhealy) in [#17079](https://github.com/LibreChat-AI/LibreChat/pull/17079) +- ๐Ÿณ fix: Align Admin Panel Image With Upstream Publishing Namespace by [@dustinhealy](https://github.com/dustinhealy) in [#17096](https://github.com/LibreChat-AI/LibreChat/pull/17096) +- ๐Ÿ”’ fix: Upgrade the MCP SDK Past the OAuth Credential Leak (GHSA-6qxp-vccf-f47h) by [@danny-avila](https://github.com/danny-avila) in [#17015](https://github.com/LibreChat-AI/LibreChat/pull/17015) +- ๐Ÿช„ fix: Ground the Default Artifacts Prompt in What the Renderer Supports by [@danny-avila](https://github.com/danny-avila) in [#17024](https://github.com/LibreChat-AI/LibreChat/pull/17024) +- ๐Ÿ” fix: Skip Reasoning Labels for Encrypted Reasoning by [@danny-avila](https://github.com/danny-avila) in [#17100](https://github.com/LibreChat-AI/LibreChat/pull/17100) +- ๐Ÿ”“ fix: Prevent 30-Second OpenID Refresh Stalls After a Discarded Prerender by [@upman](https://github.com/upman) in [#17174](https://github.com/LibreChat-AI/LibreChat/pull/17174) +- ๐Ÿ› fix: Defer Logger Serialization Until After Transport Sanitization by [@dustinhealy](https://github.com/dustinhealy) in [#17169](https://github.com/LibreChat-AI/LibreChat/pull/17169) +- ๐Ÿ” fix: Keep the Error Card When a Stream Reattached Without Resume State Fails by [@berry-13](https://github.com/berry-13) in [#17112](https://github.com/LibreChat-AI/LibreChat/pull/17112) +- ๐Ÿ™ˆ fix: Mask Emails and Drop Personal Identifiers From Logs by [@berry-13](https://github.com/berry-13) in [#17048](https://github.com/LibreChat-AI/LibreChat/pull/17048) +- ๐Ÿงน fix: Run the Full Erasure Cascade When an Admin Deletes a User by [@berry-13](https://github.com/berry-13) in [#17050](https://github.com/LibreChat-AI/LibreChat/pull/17050) +- ๐Ÿ—‘๏ธ fix: Route Delete-User CLI Through the Shared Account Erasure Cascade by [@berry-13](https://github.com/berry-13) in [#17033](https://github.com/LibreChat-AI/LibreChat/pull/17033) +- โŽˆ fix: Authenticate Bundled Helm Databases and Warn on Plain-HTTP Ingress by [@berry-13](https://github.com/berry-13) in [#17047](https://github.com/LibreChat-AI/LibreChat/pull/17047) +- โณ fix: Expire Dead-Lettered Trigger Deliveries and Clean Up Orphaned Image Uploads by [@berry-13](https://github.com/berry-13) in [#17049](https://github.com/LibreChat-AI/LibreChat/pull/17049) +- ๐Ÿ“ƒ fix: Enforce Terms Acceptance on the Server and Mark Backfilled Consent by [@berry-13](https://github.com/berry-13) in [#17063](https://github.com/LibreChat-AI/LibreChat/pull/17063) +- ๐Ÿงญ fix: Land on Chat History Instead of the Last Sidebar Panel by [@berry-13](https://github.com/berry-13) in [#17083](https://github.com/LibreChat-AI/LibreChat/pull/17083) +- ๐Ÿ“ฌ fix: Drain a Follow-Up Queued in a Chat the User Left by [@berry-13](https://github.com/berry-13) in [#16632](https://github.com/LibreChat-AI/LibreChat/pull/16632) +- ๐Ÿชช fix: Boot-Paint a Cached Theme Only for Its Signed-In Owner by [@berry-13](https://github.com/berry-13) in [#16926](https://github.com/LibreChat-AI/LibreChat/pull/16926) +- ๐Ÿ” fix: Encrypt Provider Keys With v3, Reject Plaintext in decryptV2 and Default to Strong Backup Codes by [@berry-13](https://github.com/berry-13) in [#17051](https://github.com/LibreChat-AI/LibreChat/pull/17051) +- fix(prompts): include command in prompt group list projections by [@aniketkrs](https://github.com/aniketkrs) in [#17046](https://github.com/LibreChat-AI/LibreChat/pull/17046) +- ๐Ÿ“ง fix: Log User IDs Instead of Emails in Admin Panel Auth Flow by [@berry-13](https://github.com/berry-13) in [#17032](https://github.com/LibreChat-AI/LibreChat/pull/17032) +- ๐ŸŽฏ fix: Hold Default Button Heights and the Dialog Close Button at the 24px Target by [@berry-13](https://github.com/berry-13) in [#16928](https://github.com/LibreChat-AI/LibreChat/pull/16928) +- ๐Ÿคซ fix: Stop Logging Action Auth Credentials to the Console by [@berry-13](https://github.com/berry-13) in [#17031](https://github.com/LibreChat-AI/LibreChat/pull/17031) +- ๐Ÿช fix: Load Google Tag Manager Only After Analytics Consent by [@berry-13](https://github.com/berry-13) in [#16999](https://github.com/LibreChat-AI/LibreChat/pull/16999) +- ๐Ÿ” fix: Encrypt User Plugin Credentials With Random-IV v3 Format by [@berry-13](https://github.com/berry-13) in [#16996](https://github.com/LibreChat-AI/LibreChat/pull/16996) +- ๐Ÿงน fix: Stop Cache Audit From Logging Cache Keys and Values by [@berry-13](https://github.com/berry-13) in [#16995](https://github.com/LibreChat-AI/LibreChat/pull/16995) +- ๐Ÿ•ต๏ธ fix: Redact Email Addresses and IPs From Auth Flow Logs by [@berry-13](https://github.com/berry-13) in [#16994](https://github.com/LibreChat-AI/LibreChat/pull/16994) +- ๐Ÿชฆ fix: Omit Email From Account Deletion Log by [@berry-13](https://github.com/berry-13) in [#16993](https://github.com/LibreChat-AI/LibreChat/pull/16993) +- ๐Ÿ”— fix: Detect Pull Request Links in Command Output for Conversation Lanes by [@berry-13](https://github.com/berry-13) in [#16982](https://github.com/LibreChat-AI/LibreChat/pull/16982) +- ๐Ÿ“ฑ fix: Keep Focused Text Fields at 16px on Touch Devices by [@berry-13](https://github.com/berry-13) in [#16971](https://github.com/LibreChat-AI/LibreChat/pull/16971) +- ๐Ÿงฉ fix: Use Dropdown In Code Execution Settings by [@berry-13](https://github.com/berry-13) in [#16980](https://github.com/LibreChat-AI/LibreChat/pull/16980) +- ๐Ÿ“Ž fix: Resolve useChat Tool Parts Against Live Attachments by [@berry-13](https://github.com/berry-13) in [#16960](https://github.com/LibreChat-AI/LibreChat/pull/16960) +- ๐Ÿ’ฌ fix: Clear Queued Attachments and Simplify Steer Controls by [@berry-13](https://github.com/berry-13) in [#16969](https://github.com/LibreChat-AI/LibreChat/pull/16969) +- ๐ŸŽฏ fix: Show the Focused State of the InputNumber Option Variant by [@berry-13](https://github.com/berry-13) in [#16925](https://github.com/LibreChat-AI/LibreChat/pull/16925) +- ๐Ÿงฎ fix: Read Math Function Channels in CSS Custom Property Triplets by [@berry-13](https://github.com/berry-13) in [#16924](https://github.com/LibreChat-AI/LibreChat/pull/16924) +- ๐Ÿงญ fix: Bring Submenus Closer to Their Parent Menu by [@berry-13](https://github.com/berry-13) in [#16930](https://github.com/LibreChat-AI/LibreChat/pull/16930) +- ๐Ÿชข fix: Settle Compaction Rows Past Anchor Collisions and Legacy Parts by [@berry-13](https://github.com/berry-13) in [#16552](https://github.com/LibreChat-AI/LibreChat/pull/16552) +- ๐Ÿ“ fix: Lay Out Agent Builder Model Parameters Like the Chat Panel by [@berry-13](https://github.com/berry-13) in [#16897](https://github.com/LibreChat-AI/LibreChat/pull/16897) +- ๐ŸŽฏ fix: Load Pull Request Status Only for Code Conversations by [@berry-13](https://github.com/berry-13) in [#16885](https://github.com/LibreChat-AI/LibreChat/pull/16885) +- ๐Ÿงฌ fix: Derive the Theme Cache Version and Align Color Tokens by [@berry-13](https://github.com/berry-13) in [#16819](https://github.com/LibreChat-AI/LibreChat/pull/16819) +- ๐ŸŽ›๏ธ fix: Polish the Pull Request Chip and Card Header by [@berry-13](https://github.com/berry-13) in [#16860](https://github.com/LibreChat-AI/LibreChat/pull/16860) +- ๐Ÿฉน fix: Keep Chrome Surfaces and Destructive Confirms Legible in Quiet-Chrome Themes by [@berry-13](https://github.com/berry-13) in [#16833](https://github.com/LibreChat-AI/LibreChat/pull/16833) +- ๐ŸŒซ๏ธ fix: Dim a Disabled InputNumber Through Its Nested Input by [@berry-13](https://github.com/berry-13) in [#16820](https://github.com/LibreChat-AI/LibreChat/pull/16820) +- ๐Ÿ“ fix: Make DataTable Row Estimates Breakpoint- and Leaf-Column-Aware by [@berry-13](https://github.com/berry-13) in [#16817](https://github.com/LibreChat-AI/LibreChat/pull/16817) +- ๐Ÿฉน fix: Stub the Attached Route in the Lane Recording Specs by [@berry-13](https://github.com/berry-13) in [#16840](https://github.com/LibreChat-AI/LibreChat/pull/16840) +- ๐Ÿ”‘ fix: Require Colon in API-Key Header Detection by [@dustinhealy](https://github.com/dustinhealy) in [#16803](https://github.com/LibreChat-AI/LibreChat/pull/16803) +- โน๏ธ fix: Reconcile Stopped Generations Before Detaching the Stream by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16788](https://github.com/LibreChat-AI/LibreChat/pull/16788) +- ๐Ÿ๏ธ fix: Apply the No-Workspace Decision Wherever an Agent's Code Route Resolves by [@danny-avila](https://github.com/danny-avila) in [#16798](https://github.com/LibreChat-AI/LibreChat/pull/16798) +- ๐ŸŽฏ fix: Keep Running Chat Ring Centered at Any UI Scale by [@berry-13](https://github.com/berry-13) in [#16810](https://github.com/LibreChat-AI/LibreChat/pull/16810) +- ๐ŸŽ›๏ธ fix: Smooth, Compact Code Workspace, Checkout and Approval Selectors by [@berry-13](https://github.com/berry-13) in [#16789](https://github.com/LibreChat-AI/LibreChat/pull/16789) +- ๐Ÿ” fix: Recover Concurrent First SAML, LDAP and Social Logins by [@danny-avila](https://github.com/danny-avila) in [#16779](https://github.com/LibreChat-AI/LibreChat/pull/16779) +- ๐Ÿšช fix: Let Concurrent First OpenID Logins Continue as the New User by [@danny-avila](https://github.com/danny-avila) in [#16778](https://github.com/LibreChat-AI/LibreChat/pull/16778) +- ๐Ÿ”‡ fix: Keep Reasoning Out of Read Aloud by [@berry-13](https://github.com/berry-13) in [#16790](https://github.com/LibreChat-AI/LibreChat/pull/16790) +- ๐ŸชŸ fix: Layer Tooltips Above the Popups They Open Inside by [@berry-13](https://github.com/berry-13) in [#16791](https://github.com/LibreChat-AI/LibreChat/pull/16791) +- ๐Ÿงท fix: Finalize Stopped Compactions and Verify Their Anchor by [@berry-13](https://github.com/berry-13) in [#16551](https://github.com/LibreChat-AI/LibreChat/pull/16551) +- ๐Ÿ“ด fix: Persist Cancelled Compactions With Their Identity by [@berry-13](https://github.com/berry-13) in [#16436](https://github.com/LibreChat-AI/LibreChat/pull/16436) +- ๐Ÿช„ fix: Hide Sole Tool Row Under Its Group Header by [@berry-13](https://github.com/berry-13) in [#16750](https://github.com/LibreChat-AI/LibreChat/pull/16750) +- ๐Ÿฆ” fix: Keep System Messages Stable During Collapse by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16780](https://github.com/LibreChat-AI/LibreChat/pull/16780) +- ๐Ÿ๏ธ fix: Let a No-Workspace Turn Carry a Remembered Approval Mode by [@danny-avila](https://github.com/danny-avila) in [#16763](https://github.com/LibreChat-AI/LibreChat/pull/16763) +- โš™๏ธ fix: Default Running Chat Rename to On by [@berry-13](https://github.com/berry-13) in [#16769](https://github.com/LibreChat-AI/LibreChat/pull/16769) +- ๐Ÿ‘ฏ fix: Separate Subagents and Handoffs Into Native Tools by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16761](https://github.com/LibreChat-AI/LibreChat/pull/16761) +- ๐Ÿงฌ fix: Default Subagents to Their Parent's Code Machine and Workspace by [@danny-avila](https://github.com/danny-avila) in [#16756](https://github.com/LibreChat-AI/LibreChat/pull/16756) +- ๐Ÿ’ถ fix: Price Mistral Large 3 at $0.50 / $1.50 per MTok by [@Alan-Billi](https://github.com/Alan-Billi) in [#16675](https://github.com/LibreChat-AI/LibreChat/pull/16675) +- ๐ŸŒ€ fix: Sync Spinner Rotation Phase Across Instances by [@berry-13](https://github.com/berry-13) in [#16738](https://github.com/LibreChat-AI/LibreChat/pull/16738) +- ๐Ÿ—‚๏ธ fix: Keep Project Chats Out of Chats by Default and Space Project Rows by [@berry-13](https://github.com/berry-13) in [#16755](https://github.com/LibreChat-AI/LibreChat/pull/16755) +- ๐Ÿ“ fix: Truncate Long Titles in the Archived Chats Dialog by [@berry-13](https://github.com/berry-13) in [#16754](https://github.com/LibreChat-AI/LibreChat/pull/16754) +- ๐Ÿซฅ fix: Remove Hover and Press Backgrounds From Chat Tool Rows by [@berry-13](https://github.com/berry-13) in [#16749](https://github.com/LibreChat-AI/LibreChat/pull/16749) +- ๐Ÿ—๏ธ fix: Strengthen Two-Factor Recovery Credentials by [@danny-avila](https://github.com/danny-avila) in [#16742](https://github.com/LibreChat-AI/LibreChat/pull/16742) +- ๐Ÿงน fix: Let File Deletes Succeed When the Code API No Longer Serves the Ref's Profile by [@TomasPalsson](https://github.com/TomasPalsson) in [#16671](https://github.com/LibreChat-AI/LibreChat/pull/16671) +- ๐Ÿ‘ป fix: Reveal Project Row Actions on Hover and Focus by [@berry-13](https://github.com/berry-13) in [#16731](https://github.com/LibreChat-AI/LibreChat/pull/16731) +- ๐Ÿ–ฒ๏ธ fix: Enable Running Chat Menus and Preserve Renamed Titles by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16697](https://github.com/LibreChat-AI/LibreChat/pull/16697) +- ๐Ÿช€ fix: Separate Workspace Admission and Transport Budgets by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16728](https://github.com/LibreChat-AI/LibreChat/pull/16728) +- ๐Ÿ“ฉ fix: Stage URL Prompts Before Agent Submission by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16647](https://github.com/LibreChat-AI/LibreChat/pull/16647) +- fix: Align Agent Contact Email with Its Label by Lia in [97bccd2e7d](https://github.com/LibreChat-AI/LibreChat/commit/97bccd2e7db9a4c490b3d635e85724dd25e5b02c) +- ๐Ÿฆฏ fix: Preserve Keyboard Access to BYOM Diagnostics by Lia in [d9ec51ba47](https://github.com/LibreChat-AI/LibreChat/commit/d9ec51ba477b4a98609966e879e2e2f0cb4fb8bf) +- fix: Order Server Snapshots Against Pending Read Intent by Lia in [ac2b51e98f](https://github.com/LibreChat-AI/LibreChat/commit/ac2b51e98f479f2a01c6855a07ae7338f8f9be3a) +- fix: Fence Reply Read State and Preserve Snapshot Clears by Lia in [c85795d08f](https://github.com/LibreChat-AI/LibreChat/commit/c85795d08f82df169d0ee032470d8ced0929e21f) +- fix: Preserve Unread Intent Across Mixed Backend Versions by Lia in [4bc9c9e5c0](https://github.com/LibreChat-AI/LibreChat/commit/4bc9c9e5c0769992cc37364020b23c44f43f4565) +- fix: Preserve Legacy Unread Reminder Placement by Lia in [d621cd8b69](https://github.com/LibreChat-AI/LibreChat/commit/d621cd8b69a8b9add11f9f1dc3f1426ddfbbb35d) +- fix: Keep Manual Unread Reminders in Date Groups by Lia in [c41413ad21](https://github.com/LibreChat-AI/LibreChat/commit/c41413ad21d5c69d22fbd2dd9599304f8f63acba) +- fix: Verify Sidebar Status and Project Name Loading by Lia in [ad99250a35](https://github.com/LibreChat-AI/LibreChat/commit/ad99250a3520940f37ffc7221493631818b82548) +- ๐Ÿ” fix: Warn When interface.webSearch Blocks Native Search by [@berry-13](https://github.com/berry-13) in [#16708](https://github.com/LibreChat-AI/LibreChat/pull/16708) +- ๐Ÿ›ผ fix: Keep BYOM Workspace Diagnostics Out of Composer Layout by Lia in [179ff350ec](https://github.com/LibreChat-AI/LibreChat/commit/179ff350ec3202f297c87f8edd16025ea6591cad) +- ๐ŸŒ— fix: Ink the Artifact Refresh Veil with the Media Text Role by [@berry-13](https://github.com/berry-13) in [#16716](https://github.com/LibreChat-AI/LibreChat/pull/16716) +- ๐Ÿชœ fix: Layer Settings Dialog Popovers Above Its Panel by [@berry-13](https://github.com/berry-13) in [#16720](https://github.com/LibreChat-AI/LibreChat/pull/16720) +- ๐Ÿงพ fix: Commit Resume Provenance With the Approval Claim by [@berry-13](https://github.com/berry-13) in [#16430](https://github.com/LibreChat-AI/LibreChat/pull/16430) +- ๐Ÿ–๏ธ fix: Read Theme Roles for the Last Artifact and Agent Chip Colours by [@berry-13](https://github.com/berry-13) in [#16705](https://github.com/LibreChat-AI/LibreChat/pull/16705) +- ๐Ÿงญ fix: Explain Missing Workspace Paths to the Model by [@danny-avila](https://github.com/danny-avila) in [#16700](https://github.com/LibreChat-AI/LibreChat/pull/16700) +- ๐Ÿซ– fix: Debounce Streaming Tool Code Highlights by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16695](https://github.com/LibreChat-AI/LibreChat/pull/16695) +- ๐Ÿ‹๏ธ fix: Bound Host File Edits Outside the API Event Loop by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16677](https://github.com/LibreChat-AI/LibreChat/pull/16677) +- ๐Ÿƒ fix: List Every Running Chat in the Sidebar's Running Group by [@danny-avila](https://github.com/danny-avila) in [#16668](https://github.com/LibreChat-AI/LibreChat/pull/16668) +- ๐Ÿ•Š๏ธ fix: Keep Attachment History From Locking Conversations by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16690](https://github.com/LibreChat-AI/LibreChat/pull/16690) +- ๐Ÿ”• fix: Log Lost Generation Predecessor Fences as Warnings by [@danny-avila](https://github.com/danny-avila) in [#16689](https://github.com/LibreChat-AI/LibreChat/pull/16689) +- ๐Ÿ” fix: Authenticate Code Session Probes the Way Their Route Expects by [@danny-avila](https://github.com/danny-avila) in [#16688](https://github.com/LibreChat-AI/LibreChat/pull/16688) +- ๐Ÿ“• fix: Explain Native Web Search Permission Denials by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16691](https://github.com/LibreChat-AI/LibreChat/pull/16691) +- ๐Ÿ’ญ fix: Show the Thoughts Floating Bar Only When Its Header Is Off Screen by [@berry-13](https://github.com/berry-13) in [#16642](https://github.com/LibreChat-AI/LibreChat/pull/16642) +- ๐Ÿ—๏ธ fix: Resolve Config-Scoped Custom Providers by [@danny-avila](https://github.com/danny-avila) in [#16687](https://github.com/LibreChat-AI/LibreChat/pull/16687) +- ๐Ÿ“ผ fix: Replay Running Subagent Activity by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16541](https://github.com/LibreChat-AI/LibreChat/pull/16541) +- ๐Ÿ›– fix: Scope OAuth Binding Cookies to the Public API Path by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16649](https://github.com/LibreChat-AI/LibreChat/pull/16649) +- ๐Ÿ’ฌ fix: Keep Healthy Workspace Detach Available by [@danny-avila](https://github.com/danny-avila) in [#16670](https://github.com/LibreChat-AI/LibreChat/pull/16670) +- ๐ŸชŸ fix: Read the Static Checks Workflow With CRLF Line Endings by [@danny-avila](https://github.com/danny-avila) in [#16669](https://github.com/LibreChat-AI/LibreChat/pull/16669) +- ๐Ÿ“ง fix: Pass `requireTLS` So `EMAIL_ENCRYPTION=starttls` Requires STARTTLS by [@ethanlaj](https://github.com/ethanlaj) in [#16656](https://github.com/LibreChat-AI/LibreChat/pull/16656) +- ๐Ÿต fix: Preserve Workspace Decisions in Warm Chat Caches by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16648](https://github.com/LibreChat-AI/LibreChat/pull/16648) +- ๐Ÿฅพ fix: Advertise Stable Uploaded File Paths Before Code Execution by [@Oliver777int](https://github.com/Oliver777int) in [#16578](https://github.com/LibreChat-AI/LibreChat/pull/16578) +- ๐Ÿšท fix: Stop Reporting Rejected MCP Credentials as Authorized by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16571](https://github.com/LibreChat-AI/LibreChat/pull/16571) +- ๐Ÿซก fix: Keep Pending Steering Within the Chat Column by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16621](https://github.com/LibreChat-AI/LibreChat/pull/16621) +- fix: Restore MCP OAuth Browser Binding ๐Ÿชข by [@danny-avila](https://github.com/danny-avila) in [#16634](https://github.com/LibreChat-AI/LibreChat/pull/16634) +- ๐ŸฆŽ fix: Restore Theme Contrast in Composer and Messages by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16624](https://github.com/LibreChat-AI/LibreChat/pull/16624) +- ๐Ÿชง fix: Open the Mobile Drawer Below a Site Banner by [@berry-13](https://github.com/berry-13) in [#16611](https://github.com/LibreChat-AI/LibreChat/pull/16611) +- ๐Ÿ”— fix: Hide the Viewer's Deployment Theme While a Shared Link Loads by [@berry-13](https://github.com/berry-13) in [#16608](https://github.com/LibreChat-AI/LibreChat/pull/16608) +- ๐Ÿช— fix: Open the Lone Tool Call Directly and Label Settled Commands Ran by [@berry-13](https://github.com/berry-13) in [#16547](https://github.com/LibreChat-AI/LibreChat/pull/16547) +- ๐Ÿช€ fix: Stop the Textarea Jump During File Uploads by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16623](https://github.com/LibreChat-AI/LibreChat/pull/16623) +- ๐Ÿง‘โ€๐Ÿณ fix: Distinguish Tool Preparation From Execution by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16619](https://github.com/LibreChat-AI/LibreChat/pull/16619) +- ๐ŸŒ… fix: Paint the Cached Deployment Theme on the First Frame by [@berry-13](https://github.com/berry-13) in [#16590](https://github.com/LibreChat-AI/LibreChat/pull/16590) +- ๐Ÿช† fix: Resolve Theme Markers to the Nearest Themed Root by [@berry-13](https://github.com/berry-13) in [#16589](https://github.com/LibreChat-AI/LibreChat/pull/16589) +- ๐ŸŽ‹ fix: Reconcile Canary Promotion Static Checks by Lia in [443d27ba32](https://github.com/LibreChat-AI/LibreChat/commit/443d27ba32a153a9411ed686fb9bfe902343e03c) +- โ›ด๏ธ fix: Reset Agent Search and Wait for Completed Diagram Exports by Lia in [e6d6092448](https://github.com/LibreChat-AI/LibreChat/commit/e6d6092448cd60df1a617c81b4d447b167f9c4cb) +- โ›ด๏ธ fix: Align Canary Timing Types and CI Formatting by Lia in [206ef476f6](https://github.com/LibreChat-AI/LibreChat/commit/206ef476f652d89a8291003eaeb29a436f3f32e4) +- ๐Ÿงฝ fix: Paint Freed Feature Surfaces From Theme Roles by [@berry-13](https://github.com/berry-13) in [#16517](https://github.com/LibreChat-AI/LibreChat/pull/16517) +- ๐Ÿ“ fix: Draw Controls at the Theme Control Radius by [@berry-13](https://github.com/berry-13) in [#16481](https://github.com/LibreChat-AI/LibreChat/pull/16481) +- ๐Ÿงฉ fix: Paint Panel Surfaces From Theme Roles by [@berry-13](https://github.com/berry-13) in [#16484](https://github.com/LibreChat-AI/LibreChat/pull/16484) +- ๐Ÿซง fix: Paint Chat Surfaces From Theme Roles by [@berry-13](https://github.com/berry-13) in [#16483](https://github.com/LibreChat-AI/LibreChat/pull/16483) +- ๐Ÿ”ค fix: Ship the Theme Font Faces With the Package by [@berry-13](https://github.com/berry-13) in [#16485](https://github.com/LibreChat-AI/LibreChat/pull/16485) +- ๐Ÿชž fix: Publish the Theme Defaults and Scale Mapping to Package Consumers by [@berry-13](https://github.com/berry-13) in [#16479](https://github.com/LibreChat-AI/LibreChat/pull/16479) +- ๐Ÿ–Œ๏ธ fix: Apply Controlled Themes Before Paint and Theme Prose Links, Inline Code and QR Backdrops by [@berry-13](https://github.com/berry-13) in [#16480](https://github.com/LibreChat-AI/LibreChat/pull/16480) +- ๐ŸŽจ fix: Draw Library Colours From Theme Roles and Record the Exceptions by [@berry-13](https://github.com/berry-13) in [#16482](https://github.com/LibreChat-AI/LibreChat/pull/16482) +- ๐ŸŽจ fix: Fall Back From an Invalid Theme in librechat.yaml Instead of Exiting by [@berry-13](https://github.com/berry-13) in [#16462](https://github.com/LibreChat-AI/LibreChat/pull/16462) +- ๐Ÿงฏ fix: Outlast Failed Auth Cache Eviction on Credential Changes by [@berry-13](https://github.com/berry-13) in [#16435](https://github.com/LibreChat-AI/LibreChat/pull/16435) +- โ›ด๏ธ fix: Keep MCP App and Speech Limits in One E2E Config by Lia in [04461d4cdb](https://github.com/LibreChat-AI/LibreChat/commit/04461d4cdbace27cc3767571a3c9a40dab1dc56c) +- ๐Ÿ”Œ fix: Reattach a Resume Stream Whose Body Ends Before Final by [@berry-13](https://github.com/berry-13) in [#16438](https://github.com/LibreChat-AI/LibreChat/pull/16438) +- ๐Ÿ›ถ fix: Remove Obsolete Steer Recovery Translation Keys by Lia in [321dfb1fe9](https://github.com/LibreChat-AI/LibreChat/commit/321dfb1fe97aa5a028ea44925d564c157788588a) +- ๐Ÿ›ถ fix: Keep Revealed Queue Actions and E2E Flows After Composer Redesign by Lia in [596c4dd592](https://github.com/LibreChat-AI/LibreChat/commit/596c4dd5922ce8d503c63085c3a7470b4c72b652) +- ๐Ÿ›ถ fix: Reconcile Canary Server Startup and Static Gates by Lia in [3a73e508fc](https://github.com/LibreChat-AI/LibreChat/commit/3a73e508fc566b58bac65ecc5578be8a370ec3c9) +- ๐Ÿ”… fix: Quiet Form-Control Outlines in the Stock Palettes by [@berry-13](https://github.com/berry-13) in [#16400](https://github.com/LibreChat-AI/LibreChat/pull/16400) +- ๐Ÿ›ถ fix: Reconcile Canary Sync Checks by Lia in [3ae115785e](https://github.com/LibreChat-AI/LibreChat/commit/3ae115785ef868f2fd805d575a7fd70d2ab4d59a) +- ๐Ÿ–ผ๏ธ fix: Paint the Shared Link Tenant's Deployment Theme by [@berry-13](https://github.com/berry-13) in [#16333](https://github.com/LibreChat-AI/LibreChat/pull/16333) +- ๐Ÿซ— fix: Bound MCP App Responses and In-Flight Work by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16300](https://github.com/LibreChat-AI/LibreChat/pull/16300) +- โ™ฟ fix: Keep Identity Badge Labels at Text Contrast by [@berry-13](https://github.com/berry-13) in [#16337](https://github.com/LibreChat-AI/LibreChat/pull/16337) +- ๐Ÿ”‡ fix: Mute the Create Assistant Empty State in the Assistant Picker by [@berry-13](https://github.com/berry-13) in [#16338](https://github.com/LibreChat-AI/LibreChat/pull/16338) +- ๐Ÿงฉ fix: Keep Streamed Parts Intact Across Replays and Early Completions by [@berry-13](https://github.com/berry-13) in [#16331](https://github.com/LibreChat-AI/LibreChat/pull/16331) +- ๐Ÿซธ fix: Gate MCP App Views and Actions on User Intent by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16297](https://github.com/LibreChat-AI/LibreChat/pull/16297) +- ๐Ÿ”‘ fix: Invalidate the Auth User Cache After a CLI Password Reset by [@berry-13](https://github.com/berry-13) in [#16257](https://github.com/LibreChat-AI/LibreChat/pull/16257) +- ๐Ÿ” fix: Revoke Password Reset Credentials Independently by [@berry-13](https://github.com/berry-13) in [#16320](https://github.com/LibreChat-AI/LibreChat/pull/16320) +- ๐Ÿฅข fix: Fit MCP App Snapshots Within Message Documents by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16299](https://github.com/LibreChat-AI/LibreChat/pull/16299) +- ๐Ÿ”‘ fix: Refresh the Stored Passkey Backup State on Each Sign-In by [@berry-13](https://github.com/berry-13) in [#16255](https://github.com/LibreChat-AI/LibreChat/pull/16255) +- ๐Ÿ”‘ fix: Keep Passkey Sign-In Reachable When Email Login Is Disabled by [@berry-13](https://github.com/berry-13) in [#16254](https://github.com/LibreChat-AI/LibreChat/pull/16254) +- ๐Ÿงต fix: Restore Classes tailwind-merge Was Silently Dropping by [@berry-13](https://github.com/berry-13) in [#15995](https://github.com/LibreChat-AI/LibreChat/pull/15995) +- ๐Ÿฆฏ fix: Restore BYOM Diagnostic Access and Stabilize Readiness Checks by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16723](https://github.com/LibreChat-AI/LibreChat/pull/16723) +- ๐Ÿ›ผ fix: Keep BYOM Workspace Diagnostics Out of Composer Layout by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16721](https://github.com/LibreChat-AI/LibreChat/pull/16721) +- ๐Ÿ•ด๏ธ fix: Align Agent Contact Email on the Landing Page by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16655](https://github.com/LibreChat-AI/LibreChat/pull/16655) + +### ๐Ÿ”ง Refactoring and Performance + +- ๐Ÿ—„๏ธ refactor: Portable Admin Config Store with Revisions, Key Encoding and Coherent Writes by [@danny-avila](https://github.com/danny-avila) in [#17326](https://github.com/LibreChat-AI/LibreChat/pull/17326) +- ๐Ÿ”‘ refactor: Read Stream Auth and Deployment Config Through ChatSettings by [@berry-13](https://github.com/berry-13) in [#17141](https://github.com/LibreChat-AI/LibreChat/pull/17141) +- โš›๏ธ refactor: Move Run Display, Live Attachment and PTC Trace Atoms to Jotai by [@berry-13](https://github.com/berry-13) in [#17138](https://github.com/LibreChat-AI/LibreChat/pull/17138) +- ๐Ÿ—‚๏ธ refactor: Split useEventHandlers by Responsibility by [@berry-13](https://github.com/berry-13) in [#17136](https://github.com/LibreChat-AI/LibreChat/pull/17136) +- ๐Ÿงท refactor: Split useResumeOnLoad by Responsibility by [@berry-13](https://github.com/berry-13) in [#17134](https://github.com/LibreChat-AI/LibreChat/pull/17134) +- ๐Ÿชก refactor: Split useResumableSSE Into Thin Host Bindings by [@berry-13](https://github.com/berry-13) in [#17133](https://github.com/LibreChat-AI/LibreChat/pull/17133) +- ๐Ÿงฉ refactor: Move the Resumable Submission Mount Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17132](https://github.com/LibreChat-AI/LibreChat/pull/17132) +- ๐Ÿš€ refactor: Move the Resumable Generation Start Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17131](https://github.com/LibreChat-AI/LibreChat/pull/17131) +- ๐Ÿชข refactor: Keep Chat Direction in Jotai and Cover Direction Scenarios by [@berry-13](https://github.com/berry-13) in [#17279](https://github.com/LibreChat-AI/LibreChat/pull/17279) +- ๐Ÿงน refactor: Use Logical Spacing and Positioning in the App Shell by [@berry-13](https://github.com/berry-13) in [#17269](https://github.com/LibreChat-AI/LibreChat/pull/17269) +- ๐Ÿ—‚๏ธ perf: Index Hot Lookups and Project the Remote Models List by [@berry-13](https://github.com/berry-13) in [#17259](https://github.com/LibreChat-AI/LibreChat/pull/17259) +- ๐Ÿšฐ refactor: Move the Queue Drain, Reveal and Recovery Hooks into the Chat Package by [@berry-13](https://github.com/berry-13) in [#17170](https://github.com/LibreChat-AI/LibreChat/pull/17170) +- ๐ŸŽจ refactor: Draw Lemonade, MLX, ShuttleAI and Unify as Brand Marks by [@berry-13](https://github.com/berry-13) in [#17252](https://github.com/LibreChat-AI/LibreChat/pull/17252) +- ๐Ÿท๏ธ refactor: Draw Provider Icons as Theme-Following Brand Marks by [@berry-13](https://github.com/berry-13) in [#17237](https://github.com/LibreChat-AI/LibreChat/pull/17237) +- ๐Ÿงพ refactor: Drop the Unsent Request/Response Pair From ChatErrorData by [@berry-13](https://github.com/berry-13) in [#17221](https://github.com/LibreChat-AI/LibreChat/pull/17221) +- ๐Ÿงท refactor: Require a Mounted Steer Host Instead of a Module Default by [@berry-13](https://github.com/berry-13) in [#17164](https://github.com/LibreChat-AI/LibreChat/pull/17164) +- ๐Ÿงฝ refactor: Import Composer State and Restore from the Chat Package by [@berry-13](https://github.com/berry-13) in [#17163](https://github.com/LibreChat-AI/LibreChat/pull/17163) +- ๐Ÿงน refactor: Import Steer Queue and Recovery State from the Chat Package by [@berry-13](https://github.com/berry-13) in [#17162](https://github.com/LibreChat-AI/LibreChat/pull/17162) +- ๐Ÿšš refactor: Move the Steering Hooks into the Chat Package by [@berry-13](https://github.com/berry-13) in [#17158](https://github.com/LibreChat-AI/LibreChat/pull/17158) +- ๐Ÿ”ฒ refactor: Route Picker Panels Through Theme Radius Roles by [@berry-13](https://github.com/berry-13) in [#17186](https://github.com/LibreChat-AI/LibreChat/pull/17186) +- ๐Ÿ—‚๏ธ refactor: Move Pane Composer Files to Jotai in the Chat Package by [@berry-13](https://github.com/berry-13) in [#17193](https://github.com/LibreChat-AI/LibreChat/pull/17193) +- ๐ŸŽš๏ธ refactor: Move Pane Preset and Option Settings to Jotai in the Chat Package by [@berry-13](https://github.com/berry-13) in [#17179](https://github.com/LibreChat-AI/LibreChat/pull/17179) +- ๐Ÿ—‚๏ธ refactor: Read the Search, File and Message Editor Siblings Through the Parts Host by [@berry-13](https://github.com/berry-13) in [#17173](https://github.com/LibreChat-AI/LibreChat/pull/17173) +- โœ๏ธ refactor: Read the Inline Editors' Messages View Through the Parts Host by [@berry-13](https://github.com/berry-13) in [#17172](https://github.com/LibreChat-AI/LibreChat/pull/17172) +- ๐Ÿ”Ž perf: Index-Bound Word-Prefix Search for Users and Groups by [@berry-13](https://github.com/berry-13) in [#16719](https://github.com/LibreChat-AI/LibreChat/pull/16719) +- ๐Ÿง  perf: Recycle Backend Jest Workers Past 1GB by [@berry-13](https://github.com/berry-13) in [#17098](https://github.com/LibreChat-AI/LibreChat/pull/17098) +- ๐ŸŽจ style: Restore Resumable SSE Import Order by [@dustinhealy](https://github.com/dustinhealy) in [#17191](https://github.com/LibreChat-AI/LibreChat/pull/17191) +- ๐Ÿงฑ refactor: Read Message Content Siblings Through the Parts Host by [@berry-13](https://github.com/berry-13) in [#17171](https://github.com/LibreChat-AI/LibreChat/pull/17171) +- ๐Ÿงช refactor: Move Test-Only Helpers Out of Production Modules by [@berry-13](https://github.com/berry-13) in [#17139](https://github.com/LibreChat-AI/LibreChat/pull/17139) +- โœ‚๏ธ refactor: Remove Dead Helpers, Classes and Dependencies From packages/api by [@berry-13](https://github.com/berry-13) in [#17118](https://github.com/LibreChat-AI/LibreChat/pull/17118) +- ๐Ÿ”Œ refactor: Inject the App Services the Steer Hooks Use through a Steer Host by [@berry-13](https://github.com/berry-13) in [#17156](https://github.com/LibreChat-AI/LibreChat/pull/17156) +- ๐Ÿ”€ refactor: Move Resumable Frame Dispatch and Attach Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17129](https://github.com/LibreChat-AI/LibreChat/pull/17129) +- ๐Ÿ›ฐ๏ธ refactor: Move the Pane Submission to Jotai in the Chat Package by [@berry-13](https://github.com/berry-13) in [#17159](https://github.com/LibreChat-AI/LibreChat/pull/17159) +- ๐Ÿ“ฆ refactor: Move the Generation Run Atoms Into the Chat Package by [@berry-13](https://github.com/berry-13) in [#17140](https://github.com/LibreChat-AI/LibreChat/pull/17140) +- ๐Ÿฉน refactor: Move Resumable Response Patching Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17127](https://github.com/LibreChat-AI/LibreChat/pull/17127) +- ๐Ÿ›Ÿ refactor: Move Resumable Transport Failure Handling Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17120](https://github.com/LibreChat-AI/LibreChat/pull/17120) +- ๐Ÿ›ฐ๏ธ refactor: Move the Submitting Flag to Jotai in the Chat Package by [@berry-13](https://github.com/berry-13) in [#17121](https://github.com/LibreChat-AI/LibreChat/pull/17121) +- โœ‚๏ธ refactor: Split the Chat Ask Function Into Turn Modules by [@berry-13](https://github.com/berry-13) in [#17115](https://github.com/LibreChat-AI/LibreChat/pull/17115) +- ๐Ÿงฑ refactor: Split the Chat Step Reducer Into Stream Modules by [@berry-13](https://github.com/berry-13) in [#17105](https://github.com/LibreChat-AI/LibreChat/pull/17105) +- ๐Ÿ“ฆ refactor: Move Steer Queue and Composer State into the Chat Package by [@berry-13](https://github.com/berry-13) in [#17155](https://github.com/LibreChat-AI/LibreChat/pull/17155) +- ๐Ÿšฐ refactor: Move Queue Drain Decisions into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17130](https://github.com/LibreChat-AI/LibreChat/pull/17130) +- ๐Ÿ refactor: Move Resumable Terminal Handoff and Lifecycle Reconcile Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17119](https://github.com/LibreChat-AI/LibreChat/pull/17119) +- ๐Ÿงญ refactor: Give the Resumable Stream a Core Run and Subscription by [@berry-13](https://github.com/berry-13) in [#17117](https://github.com/LibreChat-AI/LibreChat/pull/17117) +- ๐Ÿงต refactor: Move Turn Message Helpers Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17110](https://github.com/LibreChat-AI/LibreChat/pull/17110) +- ๐Ÿงฐ refactor: Move Resumable Start Helpers Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17109](https://github.com/LibreChat-AI/LibreChat/pull/17109) +- ๐Ÿงฎ refactor: Move Token Usage Math Into the Chat Package by [@berry-13](https://github.com/berry-13) in [#17106](https://github.com/LibreChat-AI/LibreChat/pull/17106) +- ๐ŸชŸ refactor: Read Mounted Pane Conversations through ChatSettings in Steer Recovery by [@berry-13](https://github.com/berry-13) in [#17137](https://github.com/LibreChat-AI/LibreChat/pull/17137) +- โš›๏ธ refactor: Move the Steer Atoms to Jotai in the Chat Package by [@berry-13](https://github.com/berry-13) in [#17135](https://github.com/LibreChat-AI/LibreChat/pull/17135) +- ๐Ÿงฎ refactor: Lift Stream Steer-Chip Reconciliation into Core Reducers by [@berry-13](https://github.com/berry-13) in [#17128](https://github.com/LibreChat-AI/LibreChat/pull/17128) +- ๐Ÿงฒ refactor: Move Pending Quotes and Manual Skills onto Jotai by [@berry-13](https://github.com/berry-13) in [#17126](https://github.com/LibreChat-AI/LibreChat/pull/17126) +- ๐ŸŽ›๏ธ refactor: Move Queued Send and During-Run Actions out of useSteering by [@berry-13](https://github.com/berry-13) in [#17125](https://github.com/LibreChat-AI/LibreChat/pull/17125) +- ๐Ÿ“ฎ refactor: Move the Steer POST into useSubmitSteer with Core Helpers by [@berry-13](https://github.com/berry-13) in [#17124](https://github.com/LibreChat-AI/LibreChat/pull/17124) +- ๐Ÿงท refactor: Split Steer Chips, Enqueue and Queued Recovery out of useSteering by [@berry-13](https://github.com/berry-13) in [#17123](https://github.com/LibreChat-AI/LibreChat/pull/17123) +- ๐Ÿชก refactor: Split Queue Receipts, Rows and Composer Takes out of useSteering by [@berry-13](https://github.com/berry-13) in [#17122](https://github.com/LibreChat-AI/LibreChat/pull/17122) +- ๐Ÿงญ refactor: Move App-Only Conversation and Sharing Hooks Out of hooks/Chat by [@berry-13](https://github.com/berry-13) in [#17108](https://github.com/LibreChat-AI/LibreChat/pull/17108) +- ๐Ÿงญ refactor: Move Steer and Queue Pure Logic into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17107](https://github.com/LibreChat-AI/LibreChat/pull/17107) +- ๐Ÿงฝ refactor: Remove Dead Client Components, Providers and Barrels by [@berry-13](https://github.com/berry-13) in [#17116](https://github.com/LibreChat-AI/LibreChat/pull/17116) +- ๐Ÿชฆ refactor: Remove Dead Legacy API Modules and Root Tooling by [@berry-13](https://github.com/berry-13) in [#17114](https://github.com/LibreChat-AI/LibreChat/pull/17114) +- ๐Ÿ—ƒ๏ธ refactor: Remove Dead Data Schemas Methods and Data Provider Exports by [@berry-13](https://github.com/berry-13) in [#17113](https://github.com/LibreChat-AI/LibreChat/pull/17113) +- ๐Ÿงน refactor: Remove Dead Client Hooks, Store Modules and Utilities by [@berry-13](https://github.com/berry-13) in [#17111](https://github.com/LibreChat-AI/LibreChat/pull/17111) +- ๐Ÿ“ refactor: Move Text-Like Message Parts Into @librechat/chat by [@berry-13](https://github.com/berry-13) in [#17087](https://github.com/LibreChat-AI/LibreChat/pull/17087) +- ๐Ÿงฉ refactor: Route Message Parts Through a @librechat/chat Part Dispatcher and Host by [@berry-13](https://github.com/berry-13) in [#16976](https://github.com/LibreChat-AI/LibreChat/pull/16976) +- ๐Ÿ”˜ refactor: Draw the Composer Controls With the Shared Button by [@berry-13](https://github.com/berry-13) in [#16953](https://github.com/LibreChat-AI/LibreChat/pull/16953) +- ๐Ÿ” refactor: Lift the Step Handler Into a Core reduceStep With an Effects Channel by [@berry-13](https://github.com/berry-13) in [#17000](https://github.com/LibreChat-AI/LibreChat/pull/17000) +- ๐Ÿšฐ refactor: Move the Pure Stream Code into the @librechat/chat Core by [@berry-13](https://github.com/berry-13) in [#16979](https://github.com/LibreChat-AI/LibreChat/pull/16979) +- ๐Ÿชข refactor: Move Stop Button, Abort Scroll and Submission Start State to Jotai by [@berry-13](https://github.com/berry-13) in [#16968](https://github.com/LibreChat-AI/LibreChat/pull/16968) +- ๐Ÿงฑ refactor: Judge Chat Package Imports on the Resolved Module by [@berry-13](https://github.com/berry-13) in [#16975](https://github.com/LibreChat-AI/LibreChat/pull/16975) +- ๐Ÿงญ refactor: Supply Deployment Config and Auth to Chat Hooks Through ChatSettings by [@berry-13](https://github.com/berry-13) in [#16963](https://github.com/LibreChat-AI/LibreChat/pull/16963) +- ๐Ÿ“ refactor: Read ChatView's Save-Drafts Setting From the Host Chat Settings by [@berry-13](https://github.com/berry-13) in [#16952](https://github.com/LibreChat-AI/LibreChat/pull/16952) +- ๐ŸŽจ style: Quiet Failed Tool Activity by [@berry-13](https://github.com/berry-13) in [#16949](https://github.com/LibreChat-AI/LibreChat/pull/16949) +- ๐Ÿช refactor: Supply Auto-Expand Tools to Tool Cards From the Message Host by [@berry-13](https://github.com/berry-13) in [#16951](https://github.com/LibreChat-AI/LibreChat/pull/16951) +- ๐Ÿ“ฆ refactor: Move the Token-Usage Jotai State Into the TokenUsage Feature by [@berry-13](https://github.com/berry-13) in [#16950](https://github.com/LibreChat-AI/LibreChat/pull/16950) +- ๐Ÿชถ perf: Mount a Sidebar Row's Menu Actions Only Once Its Menu Is Used by [@berry-13](https://github.com/berry-13) in [#16948](https://github.com/LibreChat-AI/LibreChat/pull/16948) +- ๐Ÿงญ refactor: Normalize Model-Authored Artifact Types in One Place by [@berry-13](https://github.com/berry-13) in [#16947](https://github.com/LibreChat-AI/LibreChat/pull/16947) +- ๐ŸŽš๏ธ refactor: Define the Code Highlight Cadence Default Once by [@berry-13](https://github.com/berry-13) in [#16946](https://github.com/LibreChat-AI/LibreChat/pull/16946) +- ๐Ÿ–ฑ๏ธ refactor: Hover the Rail Toggle, New Chat and Marketplace Controls in the Nav Role by [@berry-13](https://github.com/berry-13) in [#16940](https://github.com/LibreChat-AI/LibreChat/pull/16940) +- ๐Ÿงญ refactor: Give the Desktop Icon Rail Nav Hover and Selected States by [@berry-13](https://github.com/berry-13) in [#16937](https://github.com/LibreChat-AI/LibreChat/pull/16937) +- ๐ŸชŸ refactor: Use the Embedded Input Variant in the Command Popovers by [@berry-13](https://github.com/berry-13) in [#16901](https://github.com/LibreChat-AI/LibreChat/pull/16901) +- ๐Ÿงฑ refactor: Use the Framed Textarea Variant in the Skill Editors by [@berry-13](https://github.com/berry-13) in [#16894](https://github.com/LibreChat-AI/LibreChat/pull/16894) +- ๐ŸŽš๏ธ refactor: Use Primitive Tones, Variants and Shapes in Remaining Components by [@berry-13](https://github.com/berry-13) in [#16872](https://github.com/LibreChat-AI/LibreChat/pull/16872) +- ๐Ÿงน refactor: Move Inline Styles to Classes Outside Chat and the Side Panel by [@berry-13](https://github.com/berry-13) in [#16871](https://github.com/LibreChat-AI/LibreChat/pull/16871) +- ๐ŸŽฏ refactor: Hold ClickHouse Colors at Their Click UI Values by [@berry-13](https://github.com/berry-13) in [#16821](https://github.com/LibreChat-AI/LibreChat/pull/16821) +- ๐ŸŸฃ style: Show Merged Pull Requests in Purple by [@berry-13](https://github.com/berry-13) in [#16882](https://github.com/LibreChat-AI/LibreChat/pull/16882) +- ๐Ÿงผ refactor: Drop Redundant Design Overrides in the Remaining Side Panels by [@berry-13](https://github.com/berry-13) in [#16867](https://github.com/LibreChat-AI/LibreChat/pull/16867) +- ๐Ÿงน refactor: Drop Redundant Design Overrides in the Agents Panel by [@berry-13](https://github.com/berry-13) in [#16866](https://github.com/LibreChat-AI/LibreChat/pull/16866) +- ๐ŸŽš๏ธ refactor: Give InputNumber an Option Variant for Setting Values by [@berry-13](https://github.com/berry-13) in [#16831](https://github.com/LibreChat-AI/LibreChat/pull/16831) +- ๐Ÿงน refactor: Use Existing Variants and Drop Redundant Overrides in Nav, Skills and Prompts by [@berry-13](https://github.com/berry-13) in [#16868](https://github.com/LibreChat-AI/LibreChat/pull/16868) +- ๐Ÿงน refactor: Clear Chat Input Design Suppressions Through Existing Variants by [@berry-13](https://github.com/berry-13) in [#16863](https://github.com/LibreChat-AI/LibreChat/pull/16863) +- ๐Ÿงน refactor: Resolve Unknown Classes and Shed Restyle Overrides in Chat Messages by [@berry-13](https://github.com/berry-13) in [#16865](https://github.com/LibreChat-AI/LibreChat/pull/16865) +- ๐Ÿงน refactor: Clear Raw-Color, Unknown-Class and Arbitrary-Value Suppressions by [@berry-13](https://github.com/berry-13) in [#16829](https://github.com/LibreChat-AI/LibreChat/pull/16829) +- ๐ŸŽจ refactor: Route Stylesheet Colours Through Theme Variables by [@berry-13](https://github.com/berry-13) in [#16823](https://github.com/LibreChat-AI/LibreChat/pull/16823) +- ๐Ÿงฝ refactor: Drop Redundant Button Overrides in Chat Messages and Input by [@berry-13](https://github.com/berry-13) in [#16838](https://github.com/LibreChat-AI/LibreChat/pull/16838) +- ๐Ÿ”— refactor: Use the Bare and Wide Button Sizes in the Account Settings Dialogs by [@berry-13](https://github.com/berry-13) in [#16834](https://github.com/LibreChat-AI/LibreChat/pull/16834) +- ๐Ÿ” refactor: Give Sign-In Controls Button, Input and Alert Variants by [@berry-13](https://github.com/berry-13) in [#16828](https://github.com/LibreChat-AI/LibreChat/pull/16828) +- ๐Ÿงน refactor: Clear the Raw-Color and Unknown-Class Design Suppressions by [@berry-13](https://github.com/berry-13) in [#16825](https://github.com/LibreChat-AI/LibreChat/pull/16825) +- ๐Ÿงฝ refactor: Drop Classes Primitives Already Set by [@berry-13](https://github.com/berry-13) in [#16835](https://github.com/LibreChat-AI/LibreChat/pull/16835) +- ๐Ÿท๏ธ refactor: Drop Redundant Label Ink Overrides in Panels by [@berry-13](https://github.com/berry-13) in [#16830](https://github.com/LibreChat-AI/LibreChat/pull/16830) +- ๐Ÿงน refactor: Replace Arbitrary Values in the Agent Builder and Skills by [@berry-13](https://github.com/berry-13) in [#16824](https://github.com/LibreChat-AI/LibreChat/pull/16824) +- ๐Ÿงน refactor: Clear Raw-Color and Unknown-Class Suppressions in Panels by [@berry-13](https://github.com/berry-13) in [#16818](https://github.com/LibreChat-AI/LibreChat/pull/16818) +- ๐Ÿท๏ธ refactor: Mark Message Text Containers With a Data Attribute by [@berry-13](https://github.com/berry-13) in [#16826](https://github.com/LibreChat-AI/LibreChat/pull/16826) +- ๐Ÿงน refactor: Clear Chat Design Suppressions That Render Nothing by [@berry-13](https://github.com/berry-13) in [#16822](https://github.com/LibreChat-AI/LibreChat/pull/16822) +- ๐Ÿชถ perf: Load Tool-Call Previews and Fetch Full Parts on Demand by [@danny-avila](https://github.com/danny-avila) in [#16753](https://github.com/LibreChat-AI/LibreChat/pull/16753) +- ๐ŸŽจ style: Compact Queue Buttons and Restyle Projects and Composer Context Rail by [@berry-13](https://github.com/berry-13) in [#16772](https://github.com/LibreChat-AI/LibreChat/pull/16772) +- โšก perf: Cache Package Builds and Make Client Coverage Opt-In by [@berry-13](https://github.com/berry-13) in [#16709](https://github.com/LibreChat-AI/LibreChat/pull/16709) +- โšก perf: Async Local File Saves and Compile Hot-Path Regexes Once by [@berry-13](https://github.com/berry-13) in [#16712](https://github.com/LibreChat-AI/LibreChat/pull/16712) +- ๐Ÿซ— perf: Release Message Histories of Conversations the User Has Left by [@danny-avila](https://github.com/danny-avila) in [#16747](https://github.com/LibreChat-AI/LibreChat/pull/16747) +- perf: Skip Unchanged Skills in GitHub Skill Sync by Marco Beretta in [565976be52](https://github.com/LibreChat-AI/LibreChat/commit/565976be52d72deab020276415aa489e6c0d8b1b) +- style: Sort Imports In ChatForm And Queue by Marco Beretta in [18a1ecfde9](https://github.com/LibreChat-AI/LibreChat/commit/18a1ecfde90da23497471f2142697f601ecb493e) +- refactor: Remove Visible Composer Hint Row And Tips Setting by Marco Beretta in [f87fb0dbc6](https://github.com/LibreChat-AI/LibreChat/commit/f87fb0dbc61a65be97f26f714a8c15b406ac68c1) +- ๐ŸŽ perf: Coalesce Ready Background Completions by Default by Danny Avila in [2b4e5b5acd](https://github.com/LibreChat-AI/LibreChat/commit/2b4e5b5acdde5e4170c45af1de52efaf8e9b22f4) +- ๐Ÿงบ perf: Batch Prompt Group Permission Checks in the Sidebar by [@berry-13](https://github.com/berry-13) in [#16710](https://github.com/LibreChat-AI/LibreChat/pull/16710) +- ๐Ÿ—„๏ธ perf: Cut Serial and Redundant Database Reads by [@berry-13](https://github.com/berry-13) in [#16711](https://github.com/LibreChat-AI/LibreChat/pull/16711) +- ๐ŸŒŠ perf: Trim Per-Token and Per-Render Work in Streaming and Lists by [@berry-13](https://github.com/berry-13) in [#16718](https://github.com/LibreChat-AI/LibreChat/pull/16718) +- ๐ŸŽš๏ธ refactor: Drop Inline Pointer Styles From Select and Menu Primitives by [@berry-13](https://github.com/berry-13) in [#16704](https://github.com/LibreChat-AI/LibreChat/pull/16704) +- ๐Ÿช‡ perf: Coalesce Ready Background Completions by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16650](https://github.com/LibreChat-AI/LibreChat/pull/16650) +- ๐Ÿงฐ style: Hover-Revealed Tool Output Copy, Full Output, and a Virtualized My Files Table by [@berry-13](https://github.com/berry-13) in [#16640](https://github.com/LibreChat-AI/LibreChat/pull/16640) +- โ™ป๏ธ refactor: Native Prompts Behind a Shared Service and Adapter by [@AtefBellaaj](https://github.com/AtefBellaaj) in [#16506](https://github.com/LibreChat-AI/LibreChat/pull/16506) +- ๐Ÿ›ท perf: Reduce Browser Work When Sending Documents by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16646](https://github.com/LibreChat-AI/LibreChat/pull/16646) +- ๐Ÿงฉ refactor: Serve Chat Context Through a Facade-Owned Provider by [@berry-13](https://github.com/berry-13) in [#16610](https://github.com/LibreChat-AI/LibreChat/pull/16610) +- ๐Ÿงน refactor: Keep Store Imports Out of the Chat Hooks by [@berry-13](https://github.com/berry-13) in [#16620](https://github.com/LibreChat-AI/LibreChat/pull/16620) +- ๐ŸŽ›๏ธ refactor: Pass the New-Chat Panel Preference Into the Sidebar by [@berry-13](https://github.com/berry-13) in [#16605](https://github.com/LibreChat-AI/LibreChat/pull/16605) +- ๐ŸŽ›๏ธ refactor: Hand Chat Preferences to the Host and the Follow-Up Queue to Jotai by [@berry-13](https://github.com/berry-13) in [#16604](https://github.com/LibreChat-AI/LibreChat/pull/16604) +- ๐Ÿงฉ refactor: Message Parts Host Context by [@berry-13](https://github.com/berry-13) in [#16591](https://github.com/LibreChat-AI/LibreChat/pull/16591) +- ๐Ÿšฆ refactor: Route Chat Send, Stop, Steer and Queue Through the Transport by [@berry-13](https://github.com/berry-13) in [#16593](https://github.com/LibreChat-AI/LibreChat/pull/16593) +- ๐Ÿ”Œ refactor: Host-Supplied Chat Transport and Settings in the Contract by [@berry-13](https://github.com/berry-13) in [#16592](https://github.com/LibreChat-AI/LibreChat/pull/16592) +- โ›ด๏ธ style: Match Canary Theme Class Ordering by Lia in [385a648e17](https://github.com/LibreChat-AI/LibreChat/commit/385a648e177f5f659a4f59e2d1ee48326cfd6ed2) +- โ›ด๏ธ style: Match Theme Class Ordering in Canary Sync by Lia in [70bf641e50](https://github.com/LibreChat-AI/LibreChat/commit/70bf641e50ec198aec5cd5c5884b2c291f220426) +- โšก perf: Keep the Mermaid Chunk Off the Boot Path by [@berry-13](https://github.com/berry-13) in [#16493](https://github.com/LibreChat-AI/LibreChat/pull/16493) +- ๐ŸŽ›๏ธ refactor: Supply App-Global Chat Settings From the Host by [@berry-13](https://github.com/berry-13) in [#16466](https://github.com/LibreChat-AI/LibreChat/pull/16466) +- ๐Ÿ›ถ style: Match Schedule Recovery Theme Formatting by Lia in [bb82aee8c3](https://github.com/LibreChat-AI/LibreChat/commit/bb82aee8c3461a1c5366f384345c5e8d52cf4311) +- ๐Ÿ’ฌ refactor: ChatForm UI redesign with unified palette by [@berry-13](https://github.com/berry-13) in [#14473](https://github.com/LibreChat-AI/LibreChat/pull/14473) +- ๐Ÿ”Œ refactor: Drive the Resumable Stream Through the ChatTransport by [@berry-13](https://github.com/berry-13) in [#16378](https://github.com/LibreChat-AI/LibreChat/pull/16378) +- ๐Ÿ›ถ style: Match CI Tailwind Formatting in Canary Sync by Lia in [57e26fae44](https://github.com/LibreChat-AI/LibreChat/commit/57e26fae4443c23f457679a899a1fa1925396d1d) +- ๐Ÿชถ style: Quieter Primitives, Shared Panel Headers, and Flat Management Lists by [@berry-13](https://github.com/berry-13) in [#16244](https://github.com/LibreChat-AI/LibreChat/pull/16244) +- ๐Ÿ”Œ refactor: Drive useSSE Through the ChatTransport by [@berry-13](https://github.com/berry-13) in [#16336](https://github.com/LibreChat-AI/LibreChat/pull/16336) +- ๐Ÿ“ refactor: Normalize Stream Events Behind a ChatTransport Type by [@berry-13](https://github.com/berry-13) in [#16335](https://github.com/LibreChat-AI/LibreChat/pull/16335) +- ๐Ÿ–Œ๏ธ refactor: Read Theme Roles in Prose, Settings Dialog and Composer Surfaces by [@berry-13](https://github.com/berry-13) in [#16332](https://github.com/LibreChat-AI/LibreChat/pull/16332) +- ๐Ÿงฐ refactor: Pure Step Reducer for Tool Call Events by [@berry-13](https://github.com/berry-13) in [#16290](https://github.com/LibreChat-AI/LibreChat/pull/16290) +- ๐Ÿงฎ refactor: Pure Step Reducer Behind useStepHandler by [@berry-13](https://github.com/berry-13) in [#16289](https://github.com/LibreChat-AI/LibreChat/pull/16289) +- ๐Ÿ“œ refactor: Declare the Chat Context Contract by [@berry-13](https://github.com/berry-13) in [#16288](https://github.com/LibreChat-AI/LibreChat/pull/16288) +- ๐ŸŽจ style: Semantic Colour Roles for Builder, Tools and Sharing Surfaces by [@berry-13](https://github.com/berry-13) in [#16294](https://github.com/LibreChat-AI/LibreChat/pull/16294) +- ๐Ÿงน refactor: Keep Mongoose Types Out of the Passkey Handler Contract by [@berry-13](https://github.com/berry-13) in [#16263](https://github.com/LibreChat-AI/LibreChat/pull/16263) +- ๐ŸŒŠ refactor: Upgrade the Client to Tailwind v4 by [@berry-13](https://github.com/berry-13) in [#15996](https://github.com/LibreChat-AI/LibreChat/pull/15996) +- โš–๏ธ refactor: Move Policy Links to the Signup Consent by [@berry-13](https://github.com/berry-13) in [#16138](https://github.com/LibreChat-AI/LibreChat/pull/16138) +- ๐ŸŽ perf: Coalesce Ready Background Completions by Default by [@danny-avila](https://github.com/danny-avila) in [#16724](https://github.com/LibreChat-AI/LibreChat/pull/16724) +- ๐Ÿชž perf: Skip Unchanged Skills in GitHub Skill Sync by [@berry-13](https://github.com/berry-13) in [#16717](https://github.com/LibreChat-AI/LibreChat/pull/16717) + +### ๐Ÿงช Tests + +- ๐Ÿ•› test: Control the Code API Retry Budget Clock by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17338](https://github.com/LibreChat-AI/LibreChat/pull/17338) +- ๐Ÿงช test: Keep EndpointService Spec Mocks Complete When the Real API Package Loads by [@danny-avila](https://github.com/danny-avila) in [#17324](https://github.com/LibreChat-AI/LibreChat/pull/17324) +- ๐ŸŽช test: Mount the Steer Host in the Batch Composer Fixture by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17235](https://github.com/LibreChat-AI/LibreChat/pull/17235) +- ๐Ÿ› test: Isolate Empty Panel Cards From Shared Data by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17234](https://github.com/LibreChat-AI/LibreChat/pull/17234) +- ๐Ÿงญ test: Cover ClickHouse Control Boundaries on the Sidebar Surface by [@berry-13](https://github.com/berry-13) in [#17197](https://github.com/LibreChat-AI/LibreChat/pull/17197) +- ๐ŸŽฒ test: Make the ClickHouse Pinned-Pair Check Order-Independent by [@berry-13](https://github.com/berry-13) in [#17192](https://github.com/LibreChat-AI/LibreChat/pull/17192) +- ๐Ÿ—‘๏ธ test: Run useIsActiveItem Spec Under jsdom So GC Cannot Drop the Observer by [@berry-13](https://github.com/berry-13) in [#17199](https://github.com/LibreChat-AI/LibreChat/pull/17199) +- ๐Ÿงช test: Spec the First-Sentence Diagnostic Comparison in the Suppression Runner by [@berry-13](https://github.com/berry-13) in [#17165](https://github.com/LibreChat-AI/LibreChat/pull/17165) +- ๐Ÿงช test: Scroll UI-Scale Conversation Rows Into View by [@dustinhealy](https://github.com/dustinhealy) in [#17188](https://github.com/LibreChat-AI/LibreChat/pull/17188) +- ๐ŸŽฏ test: Match the Action Save Toast Once When a Live Region Repeats It by [@berry-13](https://github.com/berry-13) in [#17091](https://github.com/LibreChat-AI/LibreChat/pull/17091) +- ๐Ÿชค test: Widen the Theme Cache Pin to Joint Fallbacks, Enum Literals and Joint Rules by [@berry-13](https://github.com/berry-13) in [#16927](https://github.com/LibreChat-AI/LibreChat/pull/16927) +- ๐Ÿ” test: Retry MCP Reinitialize Past the Circuit Breaker Cooldown in Credential Scenarios by [@berry-13](https://github.com/berry-13) in [#17029](https://github.com/LibreChat-AI/LibreChat/pull/17029) +- ๐Ÿงช test: Drive useChat Through a Substitute Transport for Send, Stop, Steer and Errors by [@berry-13](https://github.com/berry-13) in [#16957](https://github.com/LibreChat-AI/LibreChat/pull/16957) +- ๐Ÿงช test: Apply One Reference Theme Across Radius, Font, Shadow and Spacing by [@berry-13](https://github.com/berry-13) in [#16905](https://github.com/LibreChat-AI/LibreChat/pull/16905) +- ๐Ÿงฌ test: Pin Built-In Theme Output to the Cache Epoch by [@berry-13](https://github.com/berry-13) in [#16875](https://github.com/LibreChat-AI/LibreChat/pull/16875) +- ๐Ÿ› test: Stabilize MCP App Link Clicks by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16760](https://github.com/LibreChat-AI/LibreChat/pull/16760) +- ๐Ÿ”ค test: Cover Alias Frontmatter Keys in the Skill Sync Skip by [@berry-13](https://github.com/berry-13) in [#16725](https://github.com/LibreChat-AI/LibreChat/pull/16725) +- ๐Ÿฆ test: Define PII Policy and Conformance Fixtures by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16726](https://github.com/LibreChat-AI/LibreChat/pull/16726) +- ๐Ÿฅ test: Stabilize Host Edit Responsiveness Assertions by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16727](https://github.com/LibreChat-AI/LibreChat/pull/16727) +- test: Cover Queue Row Actions And The Single Send Control In Scenarios by Marco Beretta in [a588339dd7](https://github.com/LibreChat-AI/LibreChat/commit/a588339dd79305e7d693ed8b4264099e41addf32) +- test: Cover Every Palette Slot in Repeatable Samples by Lia in [9dfdea13cb](https://github.com/LibreChat-AI/LibreChat/commit/9dfdea13cbffb62875b7a96231896f1357fb593c) +- ๐Ÿฅพ test: Wait for Palette Completion and Stable Quote Geometry by Lia in [37df3c1146](https://github.com/LibreChat-AI/LibreChat/commit/37df3c1146a78832070ba787254f401e2053f48f) +- test: Include i18n Helper in Isolated Static Fixtures by Lia in [e19d2dbea1](https://github.com/LibreChat-AI/LibreChat/commit/e19d2dbea14a9c294081810d764c9912a4018380) +- ๐Ÿ“Œ test: Re-Pin Click UI Drift Guard to v0.13.0 and Probe the Checkbox by [@berry-13](https://github.com/berry-13) in [#16706](https://github.com/LibreChat-AI/LibreChat/pull/16706) +- ๐Ÿฆญ test: Add Scheduled MCP Authorization Contract Fixtures by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16645](https://github.com/LibreChat-AI/LibreChat/pull/16645) +- ๐Ÿ” test: Reload Mid-Reply Reattaches and Finishes by [@berry-13](https://github.com/berry-13) in [#16598](https://github.com/LibreChat-AI/LibreChat/pull/16598) +- ๐Ÿงพ test: Complete the Click UI Not-Expressible List by [@berry-13](https://github.com/berry-13) in [#16588](https://github.com/LibreChat-AI/LibreChat/pull/16588) +- โ›ด๏ธ test: Keep Executor and Timing Callback Adapters Aligned by Lia in [2e0690616f](https://github.com/LibreChat-AI/LibreChat/commit/2e0690616fab73ce268b8eb6575a1aecb8001d0d) +- ๐Ÿงพ test: Enumerate the Click UI Decisions the Theme Cannot Express by [@berry-13](https://github.com/berry-13) in [#16544](https://github.com/LibreChat-AI/LibreChat/pull/16544) +- โ›ด๏ธ test: Make Passkey Ordering Fixtures Deterministic by Lia in [2d1dfae0c3](https://github.com/LibreChat-AI/LibreChat/commit/2d1dfae0c3631d710d7ca9601c78b0a95db732b4) +- ๐Ÿงท test: Count Derived Scrim Tokens as Theme-Owned by [@berry-13](https://github.com/berry-13) in [#16512](https://github.com/LibreChat-AI/LibreChat/pull/16512) +- ๐Ÿงญ test: Pin the ClickHouse Theme to Click UI and Route Focus Through the Ring by [@berry-13](https://github.com/berry-13) in [#16461](https://github.com/LibreChat-AI/LibreChat/pull/16461) +- โ›ด๏ธ test: Check Code Steers in the Canary Thread by Lia in [d98ca2b073](https://github.com/LibreChat-AI/LibreChat/commit/d98ca2b073b26c988ddba5b4a12db5dc1139c83b) +- ๐Ÿงช test: Cover MCP App Operation Limits in Authenticated Startup Config by [@berry-13](https://github.com/berry-13) in [#16429](https://github.com/LibreChat-AI/LibreChat/pull/16429) +- ๐Ÿ›ถ test: Isolate Marketplace Retries and MCP OAuth Ownership by Lia in [733f5e678c](https://github.com/LibreChat-AI/LibreChat/commit/733f5e678c3985a7fde8bce3c4ebe7a21cacf7e8) + +### ๐Ÿ“ฆ Dependencies, Chores & CI + +- Merge remote-tracking branch 'origin/dev' into lia/rc1-release-prep by Lia in [8c2ed7be08](https://github.com/LibreChat-AI/LibreChat/commit/8c2ed7be08a43ec895053d98696e2671ff7c27f2) +- ๐Ÿง‘โ€๐Ÿ”ง chore: Refresh Package Versions for v0.8.9-rc1 by Lia in [f5a869a1f7](https://github.com/LibreChat-AI/LibreChat/commit/f5a869a1f7c428f731b57d4580cbab8cb2d8bd93) +- ๐Ÿ“Œ chore: Re-Pin the ClickHouse Theme to Click UI v0.15.0 by [@berry-13](https://github.com/berry-13) in [#17356](https://github.com/LibreChat-AI/LibreChat/pull/17356) +- ๐Ÿ†™ chore: Bump Agents SDK to 4.1.0 by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17345](https://github.com/LibreChat-AI/LibreChat/pull/17345) +- ๐Ÿšฟ chore: Upgrade `sanitize-html`, Hono, and MongoDB Memory Server by [@danny-avila](https://github.com/danny-avila) in [#17343](https://github.com/LibreChat-AI/LibreChat/pull/17343) +- ๐Ÿ—ณ๏ธ ci: Shard the Codegraph E2E Vote Suite Across Ten Runners by [@danny-avila](https://github.com/danny-avila) in [#17339](https://github.com/LibreChat-AI/LibreChat/pull/17339) +- ๐Ÿ›ผ chore: Upgrade Vite to 8.3.5 by [@danny-avila](https://github.com/danny-avila) in [#17337](https://github.com/LibreChat-AI/LibreChat/pull/17337) +- ๐Ÿฃ chore: Prepare v0.8.9-rc1 Release by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17336](https://github.com/LibreChat-AI/LibreChat/pull/17336) +- ๐Ÿ’‰ chore: Upgrade Node.js to Security Release 24.22.1 by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17332](https://github.com/LibreChat-AI/LibreChat/pull/17332) +- ๐Ÿ—ณ๏ธ ci: Let Codegraph E2E Vote Runs Finish by [@danny-avila](https://github.com/danny-avila) in [#17325](https://github.com/LibreChat-AI/LibreChat/pull/17325) +- ๐Ÿชฆ chore: Retire the DALL-E 3 Tool by [@berry-13](https://github.com/berry-13) in [#17205](https://github.com/LibreChat-AI/LibreChat/pull/17205) +- ๐ŸŒ  chore: Default OpenAI Image Tools to GPT Image Flare by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17014](https://github.com/LibreChat-AI/LibreChat/pull/17014) +- ๐Ÿ”’ chore: Update `pbkdf2` and `to-buffer` by [@danny-avila](https://github.com/danny-avila) in [#17187](https://github.com/LibreChat-AI/LibreChat/pull/17187) +- ๐Ÿ”’ chore: Resolve Open Dependabot Security Alerts by [@danny-avila](https://github.com/danny-avila) in [#17016](https://github.com/LibreChat-AI/LibreChat/pull/17016) +- โฑ๏ธ ci: Balance Playwright Shards by Recorded Duration by [@danny-avila](https://github.com/danny-avila) in [#17019](https://github.com/LibreChat-AI/LibreChat/pull/17019) +- ๐ŸฅŸ ci: Type-Check Workspaces with bun check by [@berry-13](https://github.com/berry-13) in [#17009](https://github.com/LibreChat-AI/LibreChat/pull/17009) +- ๐ŸŽฏ a11y: Move Field and Focus Call Sites Onto the Control Roles by [@berry-13](https://github.com/berry-13) in [#16929](https://github.com/LibreChat-AI/LibreChat/pull/16929) +- ๐ŸŽฏ a11y: Hand Focus Back When an Agent Detail Refresh Removes the Focused Control by [@berry-13](https://github.com/berry-13) in [#16945](https://github.com/LibreChat-AI/LibreChat/pull/16945) +- ๐Ÿ‘† a11y: Show Hover-Revealed Actions to the Touchscreen on a 2-in-1 by [@berry-13](https://github.com/berry-13) in [#16943](https://github.com/LibreChat-AI/LibreChat/pull/16943) +- ๐ŸŽจ a11y: Draw Every Prompt Category Icon Muted Under ClickHouse by [@berry-13](https://github.com/berry-13) in [#16935](https://github.com/LibreChat-AI/LibreChat/pull/16935) +- ๐Ÿท๏ธ a11y: Give Prompt Category Icons Their Own Color Role by [@berry-13](https://github.com/berry-13) in [#16933](https://github.com/LibreChat-AI/LibreChat/pull/16933) +- ๐ŸŒ— a11y: Ink the Dark Default Avatar Glyph at 3:1 on Its Fill by [@berry-13](https://github.com/berry-13) in [#16931](https://github.com/LibreChat-AI/LibreChat/pull/16931) +- โ™ฟ a11y: Name the Global Focus Outline on Tabs, Table Rows and Dropdown by [@berry-13](https://github.com/berry-13) in [#16870](https://github.com/LibreChat-AI/LibreChat/pull/16870) +- โ™ฟ a11y: Let Dark Mode Honor Outline Utilities on Focus by [@berry-13](https://github.com/berry-13) in [#16861](https://github.com/LibreChat-AI/LibreChat/pull/16861) +- ๐Ÿงฑ chore: Let Callers Own Spacing on Dialog and Panel Containers by [@berry-13](https://github.com/berry-13) in [#16836](https://github.com/LibreChat-AI/LibreChat/pull/16836) +- โ™ฟ a11y: Ring Content Rows in a Themeable Focus Role by [@berry-13](https://github.com/berry-13) in [#16740](https://github.com/LibreChat-AI/LibreChat/pull/16740) +- ๐Ÿชš chore: Deprecate Agent Chain Authoring by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16745](https://github.com/LibreChat-AI/LibreChat/pull/16745) +- โ™ฟ a11y: Stop Agent API Keys Dialog Opening Its Info Card On Focus by [@berry-13](https://github.com/berry-13) in [#16735](https://github.com/LibreChat-AI/LibreChat/pull/16735) +- ๐Ÿ“ docs: Describe Attached-Workspace Lanes, Sandbox Scratch, and Skill Files in Tool Descriptions by [@danny-avila](https://github.com/danny-avila) in [#16702](https://github.com/LibreChat-AI/LibreChat/pull/16702) +- โ›ด๏ธ chore: Bring Canary Up to Date With Dev by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16457](https://github.com/LibreChat-AI/LibreChat/pull/16457) +- ๐Ÿ›ถ chore: Bring Canary Up to Date With Dev by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16361](https://github.com/LibreChat-AI/LibreChat/pull/16361) +- ๐Ÿ”ฒ a11y: Form-Control Outlines Clear 3:1 in Every Palette by [@berry-13](https://github.com/berry-13) in [#16377](https://github.com/LibreChat-AI/LibreChat/pull/16377) +- ๐Ÿ›ฉ๏ธ ci: Allow More Time for Chrome Startup in Client Build Recovery by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16330](https://github.com/LibreChat-AI/LibreChat/pull/16330) +- ๐Ÿงน chore: Remove the Unmounted Files Component Tree by [@berry-13](https://github.com/berry-13) in [#16243](https://github.com/LibreChat-AI/LibreChat/pull/16243) +- ๐Ÿฅผ ci: Gate MCP Apps on Executed Browser Tests by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16283](https://github.com/LibreChat-AI/LibreChat/pull/16283) +- ๐ŸŽจ chore: Enforce Design-System Rules With @shadcn/lint by [@berry-13](https://github.com/berry-13) in [#15981](https://github.com/LibreChat-AI/LibreChat/pull/15981) +- ๐Ÿ“ฆ ci: Remove Legacy GHCR Mirror by [@danny-avila](https://github.com/danny-avila) in [#16585](https://github.com/LibreChat-AI/LibreChat/pull/16585) +- ๐ŸŽ‹ chore: Validate Canary History on Current Dev by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16586](https://github.com/LibreChat-AI/LibreChat/pull/16586) + +## New Contributors + +- [@Alan-Billi](https://github.com/Alan-Billi) made their first contribution in [#16675](https://github.com/LibreChat-AI/LibreChat/pull/16675) +- [@aniketkrs](https://github.com/aniketkrs) made their first contribution in [#17046](https://github.com/LibreChat-AI/LibreChat/pull/17046) +- [@trois-six](https://github.com/trois-six) made their first contribution in [#17307](https://github.com/LibreChat-AI/LibreChat/pull/17307) + +**Full Changelog:** [v0.8.8...8c2ed7be08a4](https://github.com/LibreChat-AI/LibreChat/compare/v0.8.8...8c2ed7be08a43ec895053d98696e2671ff7c27f2) diff --git a/content/docs/configuration/authentication/index.mdx b/content/docs/configuration/authentication/index.mdx index ccd1be4c1..9239c1ac9 100644 --- a/content/docs/configuration/authentication/index.mdx +++ b/content/docs/configuration/authentication/index.mdx @@ -220,3 +220,7 @@ To delete a user, you can use the delete-user script: ``` Replace `email@domain.com` with the email of the user you want to delete. + +## Backup-Code Compatibility + +New and regenerated backup codes default to 128-bit random values with individually salted hashes. Existing legacy codes remain usable until regenerated. `TWO_FACTOR_BACKUP_CODE_FORMAT=legacy` temporarily issues the older 32-bit, unsalted format. Apply it to every replica while incompatible backends or clients remain, then remove it. Do not roll back to an incompatible backend after issuing strong codes without replacing them. See [rolling-deployment guidance](/docs/configuration/upgrade#mixed-version-compatibility). diff --git a/content/docs/configuration/cdn/azure.de.mdx b/content/docs/configuration/cdn/azure.de.mdx index 921ac02d8..6c1916d54 100644 --- a/content/docs/configuration/cdn/azure.de.mdx +++ b/content/docs/configuration/cdn/azure.de.mdx @@ -80,7 +80,7 @@ AZURE_CONTAINER_NAME=files Aktualisieren Sie Ihre LibreChat-Konfigurationsdatei (`librechat.yaml`), um festzulegen, dass die Anwendung Azure Blob Storage fรผr die Dateiverarbeitung verwenden soll: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.es.mdx b/content/docs/configuration/cdn/azure.es.mdx index 5fddc29fe..4c3fec35b 100644 --- a/content/docs/configuration/cdn/azure.es.mdx +++ b/content/docs/configuration/cdn/azure.es.mdx @@ -80,7 +80,7 @@ AZURE_CONTAINER_NAME=files Actualice su archivo de configuraciรณn de LibreChat (`librechat.yaml`) para especificar que la aplicaciรณn debe utilizar Azure Blob Storage para el manejo de archivos: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.fr.mdx b/content/docs/configuration/cdn/azure.fr.mdx index fdc1f7d6f..bbe1c9da2 100644 --- a/content/docs/configuration/cdn/azure.fr.mdx +++ b/content/docs/configuration/cdn/azure.fr.mdx @@ -80,7 +80,7 @@ AZURE_CONTAINER_NAME=files Mettez ร  jour votre fichier de configuration LibreChat (`librechat.yaml`) pour spรฉcifier que l'application doit utiliser Azure Blob Storage pour la gestion des fichiers : ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.id.mdx b/content/docs/configuration/cdn/azure.id.mdx index 52c1b3c68..be84ddc1a 100644 --- a/content/docs/configuration/cdn/azure.id.mdx +++ b/content/docs/configuration/cdn/azure.id.mdx @@ -80,7 +80,7 @@ AZURE_CONTAINER_NAME=files Perbarui file konfigurasi LibreChat Anda (`librechat.yaml`) untuk menentukan bahwa aplikasi harus menggunakan Azure Blob Storage untuk penanganan file: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.it.mdx b/content/docs/configuration/cdn/azure.it.mdx index 3130ba48f..7e410cd5b 100644 --- a/content/docs/configuration/cdn/azure.it.mdx +++ b/content/docs/configuration/cdn/azure.it.mdx @@ -80,7 +80,7 @@ AZURE_CONTAINER_NAME=files Aggiorna il tuo file di configurazione di LibreChat (`librechat.yaml`) per specificare che l'applicazione deve utilizzare Azure Blob Storage per la gestione dei file: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.ja.mdx b/content/docs/configuration/cdn/azure.ja.mdx index f60a8a7f8..a6c3ed776 100644 --- a/content/docs/configuration/cdn/azure.ja.mdx +++ b/content/docs/configuration/cdn/azure.ja.mdx @@ -78,7 +78,7 @@ AZURE_CONTAINER_NAME=files LibreChatใฎ่จญๅฎšใƒ•ใ‚กใ‚คใƒซ๏ผˆ`librechat.yaml`๏ผ‰ใ‚’ๆ›ดๆ–ฐใ—ใ€ใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใŒใƒ•ใ‚กใ‚คใƒซๅ‡ฆ็†ใซAzure Blob Storageใ‚’ไฝฟ็”จใ™ใ‚‹ใ‚ˆใ†ใซๆŒ‡ๅฎšใ—ใพใ™๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.ko.mdx b/content/docs/configuration/cdn/azure.ko.mdx index 7bc445118..f70171da1 100644 --- a/content/docs/configuration/cdn/azure.ko.mdx +++ b/content/docs/configuration/cdn/azure.ko.mdx @@ -78,7 +78,7 @@ AZURE_CONTAINER_NAME=files LibreChat ์„ค์ • ํŒŒ์ผ(`librechat.yaml`)์„ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํŒŒ์ผ ์ฒ˜๋ฆฌ์— Azure Blob Storage๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ง€์ •ํ•˜์„ธ์š”: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.mdx b/content/docs/configuration/cdn/azure.mdx index 92ffbbc06..2849bddd1 100644 --- a/content/docs/configuration/cdn/azure.mdx +++ b/content/docs/configuration/cdn/azure.mdx @@ -84,7 +84,7 @@ AZURE_CONTAINER_NAME=files Update your LibreChat configuration file (`librechat.yaml`) to specify that the application should use Azure Blob Storage for file handling: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.nl.mdx b/content/docs/configuration/cdn/azure.nl.mdx index 2d4ebcae6..935783dc7 100644 --- a/content/docs/configuration/cdn/azure.nl.mdx +++ b/content/docs/configuration/cdn/azure.nl.mdx @@ -80,7 +80,7 @@ AZURE_CONTAINER_NAME=files Werk uw LibreChat configuratiebestand (`librechat.yaml`) bij om aan te geven dat de applicatie Azure Blob Storage moet gebruiken voor bestandsafhandeling: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.pl.mdx b/content/docs/configuration/cdn/azure.pl.mdx index d8da36a01..cacce1521 100644 --- a/content/docs/configuration/cdn/azure.pl.mdx +++ b/content/docs/configuration/cdn/azure.pl.mdx @@ -80,7 +80,7 @@ AZURE_CONTAINER_NAME=files Zaktualizuj plik konfiguracyjny LibreChat (`librechat.yaml`), aby okreล›liฤ‡, ลผe aplikacja powinna uลผywaฤ‡ Azure Blob Storage do obsล‚ugi plikรณw: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.pt-BR.mdx b/content/docs/configuration/cdn/azure.pt-BR.mdx index 5d84deeef..aa84850fa 100644 --- a/content/docs/configuration/cdn/azure.pt-BR.mdx +++ b/content/docs/configuration/cdn/azure.pt-BR.mdx @@ -80,7 +80,7 @@ AZURE_CONTAINER_NAME=files Atualize seu arquivo de configuraรงรฃo do LibreChat (`librechat.yaml`) para especificar que a aplicaรงรฃo deve usar o Azure Blob Storage para o gerenciamento de arquivos: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.tr.mdx b/content/docs/configuration/cdn/azure.tr.mdx index f25689cad..6a91011a3 100644 --- a/content/docs/configuration/cdn/azure.tr.mdx +++ b/content/docs/configuration/cdn/azure.tr.mdx @@ -78,7 +78,7 @@ AZURE_CONTAINER_NAME=files LibreChat yapฤฑlandฤฑrma dosyanฤฑzฤฑ (`librechat.yaml`), uygulamanฤฑn dosya iลŸleme iรงin Azure Blob Storage kullanmasฤฑ gerektiฤŸini belirtecek ลŸekilde gรผncelleyin: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.vi.mdx b/content/docs/configuration/cdn/azure.vi.mdx index 2ce7c6dd2..88b8e45bc 100644 --- a/content/docs/configuration/cdn/azure.vi.mdx +++ b/content/docs/configuration/cdn/azure.vi.mdx @@ -78,7 +78,7 @@ AZURE_CONTAINER_NAME=files Cแบญp nhแบญt tแป‡p cแบฅu hรฌnh LibreChat (`librechat.yaml`) cแปงa bแบกn ฤ‘แปƒ chแป‰ ฤ‘แป‹nh rแบฑng แปฉng dแปฅng nรชn sแปญ dแปฅng Azure Blob Storage cho viแป‡c xแปญ lรฝ tแป‡p: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/azure.zh.mdx b/content/docs/configuration/cdn/azure.zh.mdx index 0a688e544..7e8621fd7 100644 --- a/content/docs/configuration/cdn/azure.zh.mdx +++ b/content/docs/configuration/cdn/azure.zh.mdx @@ -78,7 +78,7 @@ AZURE_CONTAINER_NAME=files ๆ›ดๆ–ฐๆ‚จ็š„ LibreChat ้…็ฝฎๆ–‡ไปถ (`librechat.yaml`)๏ผŒไปฅๆŒ‡ๅฎšๅบ”็”จ็จ‹ๅบๅบ”ไฝฟ็”จ Azure Blob Storage ่ฟ›่กŒๆ–‡ไปถๅค„็†๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: "azure_blob" ``` diff --git a/content/docs/configuration/cdn/cloudfront.de.mdx b/content/docs/configuration/cdn/cloudfront.de.mdx index e3fd8744b..ef77f6fc2 100644 --- a/content/docs/configuration/cdn/cloudfront.de.mdx +++ b/content/docs/configuration/cdn/cloudfront.de.mdx @@ -52,7 +52,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA Verwenden Sie `fileStrategies`, wenn Sie CloudFront fรผr Bilder und Avatare nutzen mรถchten, wรคhrend Dokumente weiterhin รผber S3-signierte URLs bereitgestellt werden: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.es.mdx b/content/docs/configuration/cdn/cloudfront.es.mdx index 945c70af8..66c58a326 100644 --- a/content/docs/configuration/cdn/cloudfront.es.mdx +++ b/content/docs/configuration/cdn/cloudfront.es.mdx @@ -52,7 +52,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA Utilice `fileStrategies` cuando desee CloudFront para imรกgenes y avatares mientras mantiene los documentos en URLs firmadas de S3: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.fr.mdx b/content/docs/configuration/cdn/cloudfront.fr.mdx index 7e6b16358..551b310ad 100644 --- a/content/docs/configuration/cdn/cloudfront.fr.mdx +++ b/content/docs/configuration/cdn/cloudfront.fr.mdx @@ -52,7 +52,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA Utilisez `fileStrategies` lorsque vous souhaitez utiliser CloudFront pour les images et les avatars tout en conservant les documents sur des URLs signรฉes S3 : ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.id.mdx b/content/docs/configuration/cdn/cloudfront.id.mdx index c689a1598..c8274923e 100644 --- a/content/docs/configuration/cdn/cloudfront.id.mdx +++ b/content/docs/configuration/cdn/cloudfront.id.mdx @@ -52,7 +52,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA Gunakan `fileStrategies` jika Anda menginginkan CloudFront untuk gambar dan avatar namun tetap menyimpan dokumen pada URL yang ditandatangani (signed URLs) S3: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.it.mdx b/content/docs/configuration/cdn/cloudfront.it.mdx index 9e0eedf16..b1d8b869e 100644 --- a/content/docs/configuration/cdn/cloudfront.it.mdx +++ b/content/docs/configuration/cdn/cloudfront.it.mdx @@ -52,7 +52,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA Usa `fileStrategies` quando desideri CloudFront per immagini e avatar mantenendo i documenti su URL firmati S3: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.ja.mdx b/content/docs/configuration/cdn/cloudfront.ja.mdx index d706fb247..f955e4df3 100644 --- a/content/docs/configuration/cdn/cloudfront.ja.mdx +++ b/content/docs/configuration/cdn/cloudfront.ja.mdx @@ -51,7 +51,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA ็”ปๅƒใ‚„ใ‚ขใƒใ‚ฟใƒผใซใฏCloudFrontใ‚’ไฝฟ็”จใ—ใคใคใ€ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใฏS3ใฎ็ฝฒๅไป˜ใURLใงไฟๆŒใ—ใŸใ„ๅ ดๅˆใฏใ€`fileStrategies`ใ‚’ไฝฟ็”จใ—ใฆใใ ใ•ใ„๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.ko.mdx b/content/docs/configuration/cdn/cloudfront.ko.mdx index c1c325cbb..899540f82 100644 --- a/content/docs/configuration/cdn/cloudfront.ko.mdx +++ b/content/docs/configuration/cdn/cloudfront.ko.mdx @@ -51,7 +51,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA ์ด๋ฏธ์ง€์™€ ์•„๋ฐ”ํƒ€์—๋Š” CloudFront๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋ฌธ์„œ๋Š” S3 ์„œ๋ช…๋œ URL๋กœ ์œ ์ง€ํ•˜๋ ค๋ฉด `fileStrategies`๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.mdx b/content/docs/configuration/cdn/cloudfront.mdx index e3e95e28c..f506729be 100644 --- a/content/docs/configuration/cdn/cloudfront.mdx +++ b/content/docs/configuration/cdn/cloudfront.mdx @@ -50,7 +50,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA Use `fileStrategies` when you want CloudFront for images and avatars while keeping documents on S3 signed URLs: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.nl.mdx b/content/docs/configuration/cdn/cloudfront.nl.mdx index 183aa1ed9..e5b882e64 100644 --- a/content/docs/configuration/cdn/cloudfront.nl.mdx +++ b/content/docs/configuration/cdn/cloudfront.nl.mdx @@ -52,7 +52,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA Gebruik `fileStrategies` wanneer je CloudFront wilt gebruiken voor afbeeldingen en avatars, terwijl documenten op S3 signed URLs behouden blijven: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.pl.mdx b/content/docs/configuration/cdn/cloudfront.pl.mdx index 5d50cc4a8..f10139e2f 100644 --- a/content/docs/configuration/cdn/cloudfront.pl.mdx +++ b/content/docs/configuration/cdn/cloudfront.pl.mdx @@ -52,7 +52,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA Uลผyj `fileStrategies`, gdy chcesz korzystaฤ‡ z CloudFront dla obrazรณw i awatarรณw, zachowujฤ…c jednoczeล›nie dokumenty w podpisanych adresach URL S3: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.pt-BR.mdx b/content/docs/configuration/cdn/cloudfront.pt-BR.mdx index 3cdc83540..4bb15b99e 100644 --- a/content/docs/configuration/cdn/cloudfront.pt-BR.mdx +++ b/content/docs/configuration/cdn/cloudfront.pt-BR.mdx @@ -52,7 +52,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA Use `fileStrategies` quando vocรช quiser o CloudFront para imagens e avatares, mantendo os documentos em URLs assinadas do S3: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.tr.mdx b/content/docs/configuration/cdn/cloudfront.tr.mdx index ca6d65477..4fe4605a3 100644 --- a/content/docs/configuration/cdn/cloudfront.tr.mdx +++ b/content/docs/configuration/cdn/cloudfront.tr.mdx @@ -52,7 +52,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA Gรถrรผntรผler ve avatarlar iรงin CloudFront kullanmak, belgeleri ise S3 imzalฤฑ URL'lerde tutmak istediฤŸinizde `fileStrategies` kullanฤฑn: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.vi.mdx b/content/docs/configuration/cdn/cloudfront.vi.mdx index 325ae9fe2..6f1ec474b 100644 --- a/content/docs/configuration/cdn/cloudfront.vi.mdx +++ b/content/docs/configuration/cdn/cloudfront.vi.mdx @@ -52,7 +52,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA Sแปญ dแปฅng `fileStrategies` khi bแบกn muแป‘n dรนng CloudFront cho hรฌnh แบฃnh vร  แบฃnh ฤ‘แบกi diแป‡n trong khi vแบซn giแปฏ cรกc tร i liแป‡u trรชn cรกc URL ฤ‘รฃ kรฝ (signed URLs) cแปงa S3: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/cloudfront.zh.mdx b/content/docs/configuration/cdn/cloudfront.zh.mdx index b4166ca2e..fb030a582 100644 --- a/content/docs/configuration/cdn/cloudfront.zh.mdx +++ b/content/docs/configuration/cdn/cloudfront.zh.mdx @@ -51,7 +51,7 @@ CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVA ๅฝ“ไฝ ๆƒณ่ฆไฝฟ็”จ CloudFront ๅค„็†ๅ›พ็‰‡ๅ’Œๅคดๅƒ๏ผŒๅŒๆ—ถๅฐ†ๆ–‡ๆกฃไฟ็•™ๅœจ S3 ็ญพๅ URL ไธŠๆ—ถ๏ผŒ่ฏทไฝฟ็”จ `fileStrategies`๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 fileStrategies: avatar: 'cloudfront' diff --git a/content/docs/configuration/cdn/firebase.de.mdx b/content/docs/configuration/cdn/firebase.de.mdx index fb3edb375..ad4ec5abe 100644 --- a/content/docs/configuration/cdn/firebase.de.mdx +++ b/content/docs/configuration/cdn/firebase.de.mdx @@ -189,7 +189,7 @@ service firebase.storage { Setzen Sie `fileStrategy` in Ihrer `librechat.yaml` Konfigurationsdatei auf `firebase`, damit LibreChat Firebase fรผr die Dateispeicherung verwendet: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.es.mdx b/content/docs/configuration/cdn/firebase.es.mdx index c6e2bb41b..420a5ad30 100644 --- a/content/docs/configuration/cdn/firebase.es.mdx +++ b/content/docs/configuration/cdn/firebase.es.mdx @@ -189,7 +189,7 @@ service firebase.storage { Establezca `fileStrategy` en `firebase` en su archivo de configuraciรณn `librechat.yaml` para que LibreChat utilice Firebase para el almacenamiento de archivos: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.fr.mdx b/content/docs/configuration/cdn/firebase.fr.mdx index 212f5739c..d52c93d52 100644 --- a/content/docs/configuration/cdn/firebase.fr.mdx +++ b/content/docs/configuration/cdn/firebase.fr.mdx @@ -189,7 +189,7 @@ service firebase.storage { Dรฉfinissez `fileStrategy` sur `firebase` dans votre fichier de configuration `librechat.yaml` afin que LibreChat utilise Firebase pour le stockage des fichiers : ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.id.mdx b/content/docs/configuration/cdn/firebase.id.mdx index 36a999ba1..1306c8f05 100644 --- a/content/docs/configuration/cdn/firebase.id.mdx +++ b/content/docs/configuration/cdn/firebase.id.mdx @@ -189,7 +189,7 @@ service firebase.storage { Atur `fileStrategy` ke `firebase` di dalam file konfigurasi `librechat.yaml` Anda agar LibreChat menggunakan Firebase untuk penyimpanan file: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.it.mdx b/content/docs/configuration/cdn/firebase.it.mdx index d0137bdec..34c9fac03 100644 --- a/content/docs/configuration/cdn/firebase.it.mdx +++ b/content/docs/configuration/cdn/firebase.it.mdx @@ -189,7 +189,7 @@ service firebase.storage { Imposta `fileStrategy` su `firebase` nel tuo file di configurazione `librechat.yaml` affinchรฉ LibreChat utilizzi Firebase per l'archiviazione dei file: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.ja.mdx b/content/docs/configuration/cdn/firebase.ja.mdx index a2437e077..7bc373d73 100644 --- a/content/docs/configuration/cdn/firebase.ja.mdx +++ b/content/docs/configuration/cdn/firebase.ja.mdx @@ -187,7 +187,7 @@ service firebase.storage { `librechat.yaml` ่จญๅฎšใƒ•ใ‚กใ‚คใƒซใง `fileStrategy` ใ‚’ `firebase` ใซ่จญๅฎšใ—ใ€LibreChat ใŒใƒ•ใ‚กใ‚คใƒซใ‚นใƒˆใƒฌใƒผใ‚ธใซ Firebase ใ‚’ไฝฟ็”จใ™ใ‚‹ใ‚ˆใ†ใซใ—ใพใ™๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.ko.mdx b/content/docs/configuration/cdn/firebase.ko.mdx index 368f602c2..56a4f621b 100644 --- a/content/docs/configuration/cdn/firebase.ko.mdx +++ b/content/docs/configuration/cdn/firebase.ko.mdx @@ -187,7 +187,7 @@ service firebase.storage { `librechat.yaml` ์„ค์ • ํŒŒ์ผ์—์„œ `fileStrategy`๋ฅผ `firebase`๋กœ ์„ค์ •ํ•˜์—ฌ LibreChat์ด ํŒŒ์ผ ์ €์žฅ์†Œ๋กœ Firebase๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜์„ธ์š”: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.mdx b/content/docs/configuration/cdn/firebase.mdx index 4a35869a4..0f3abebff 100644 --- a/content/docs/configuration/cdn/firebase.mdx +++ b/content/docs/configuration/cdn/firebase.mdx @@ -187,7 +187,7 @@ service firebase.storage { Set `fileStrategy` to `firebase` in your `librechat.yaml` config file so LibreChat uses Firebase for file storage: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.nl.mdx b/content/docs/configuration/cdn/firebase.nl.mdx index d60648f71..7da9fea5f 100644 --- a/content/docs/configuration/cdn/firebase.nl.mdx +++ b/content/docs/configuration/cdn/firebase.nl.mdx @@ -189,7 +189,7 @@ service firebase.storage { Stel `fileStrategy` in op `firebase` in je `librechat.yaml` configuratiebestand zodat LibreChat Firebase gebruikt voor bestandsopslag: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.pl.mdx b/content/docs/configuration/cdn/firebase.pl.mdx index a6cb5f7de..446153084 100644 --- a/content/docs/configuration/cdn/firebase.pl.mdx +++ b/content/docs/configuration/cdn/firebase.pl.mdx @@ -189,7 +189,7 @@ service firebase.storage { Ustaw `fileStrategy` na `firebase` w pliku konfiguracyjnym `librechat.yaml`, aby LibreChat uลผywaล‚ Firebase do przechowywania plikรณw: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.pt-BR.mdx b/content/docs/configuration/cdn/firebase.pt-BR.mdx index c0f658019..6300279ed 100644 --- a/content/docs/configuration/cdn/firebase.pt-BR.mdx +++ b/content/docs/configuration/cdn/firebase.pt-BR.mdx @@ -189,7 +189,7 @@ service firebase.storage { Defina `fileStrategy` como `firebase` no seu arquivo de configuraรงรฃo `librechat.yaml` para que o LibreChat utilize o Firebase para armazenamento de arquivos: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.tr.mdx b/content/docs/configuration/cdn/firebase.tr.mdx index 4232636f6..c0dbb2622 100644 --- a/content/docs/configuration/cdn/firebase.tr.mdx +++ b/content/docs/configuration/cdn/firebase.tr.mdx @@ -189,7 +189,7 @@ service firebase.storage { LibreChat'in dosya depolama iรงin Firebase kullanmasฤฑ amacฤฑyla `librechat.yaml` yapฤฑlandฤฑrma dosyanฤฑzda `fileStrategy` deฤŸerini `firebase` olarak ayarlayฤฑn: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.vi.mdx b/content/docs/configuration/cdn/firebase.vi.mdx index 8fa02c087..d31c1e090 100644 --- a/content/docs/configuration/cdn/firebase.vi.mdx +++ b/content/docs/configuration/cdn/firebase.vi.mdx @@ -189,7 +189,7 @@ service firebase.storage { ฤแบทt `fileStrategy` thร nh `firebase` trong tแป‡p cแบฅu hรฌnh `librechat.yaml` cแปงa bแบกn ฤ‘แปƒ LibreChat sแปญ dแปฅng Firebase lร m nฦกi lฦฐu trแปฏ tแป‡p: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/firebase.zh.mdx b/content/docs/configuration/cdn/firebase.zh.mdx index de0004b98..903c5d789 100644 --- a/content/docs/configuration/cdn/firebase.zh.mdx +++ b/content/docs/configuration/cdn/firebase.zh.mdx @@ -187,7 +187,7 @@ service firebase.storage { ๅœจไฝ ็š„ `librechat.yaml` ้…็ฝฎๆ–‡ไปถไธญๅฐ† `fileStrategy` ่ฎพ็ฝฎไธบ `firebase`๏ผŒไปฅไพฟ LibreChat ไฝฟ็”จ Firebase ่ฟ›่กŒๆ–‡ไปถๅญ˜ๅ‚จ๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 'firebase' ``` diff --git a/content/docs/configuration/cdn/s3.de.mdx b/content/docs/configuration/cdn/s3.de.mdx index 323501fae..398e126d9 100644 --- a/content/docs/configuration/cdn/s3.de.mdx +++ b/content/docs/configuration/cdn/s3.de.mdx @@ -114,7 +114,7 @@ Wenn Sie **IRSA** auf Kubernetes verwenden, mรผssen Sie `AWS_ACCESS_KEY_ID` und Aktualisieren Sie Ihre LibreChat-Konfigurationsdatei (`librechat.yaml`), um festzulegen, dass die Anwendung Amazon S3 fรผr die Dateiverarbeitung verwenden soll: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.es.mdx b/content/docs/configuration/cdn/s3.es.mdx index de454419c..6de886c42 100644 --- a/content/docs/configuration/cdn/s3.es.mdx +++ b/content/docs/configuration/cdn/s3.es.mdx @@ -114,7 +114,7 @@ Si estรก utilizando **IRSA** en Kubernetes, **no** necesita configurar `AWS_ACCE Actualice su archivo de configuraciรณn de LibreChat (`librechat.yaml`) para especificar que la aplicaciรณn debe utilizar Amazon S3 para el manejo de archivos: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.fr.mdx b/content/docs/configuration/cdn/s3.fr.mdx index a1f401f26..2aa8771eb 100644 --- a/content/docs/configuration/cdn/s3.fr.mdx +++ b/content/docs/configuration/cdn/s3.fr.mdx @@ -114,7 +114,7 @@ Si vous utilisez **IRSA** sur Kubernetes, vous n'avez **pas** besoin de dรฉfinir Mettez ร  jour votre fichier de configuration LibreChat (`librechat.yaml`) pour spรฉcifier que l'application doit utiliser Amazon S3 pour la gestion des fichiers : ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.id.mdx b/content/docs/configuration/cdn/s3.id.mdx index 2126fb2d8..db592be96 100644 --- a/content/docs/configuration/cdn/s3.id.mdx +++ b/content/docs/configuration/cdn/s3.id.mdx @@ -114,7 +114,7 @@ Jika Anda menggunakan **IRSA** di Kubernetes, Anda **tidak** perlu mengatur `AWS Perbarui file konfigurasi LibreChat Anda (`librechat.yaml`) untuk menentukan bahwa aplikasi harus menggunakan Amazon S3 untuk penanganan file: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.it.mdx b/content/docs/configuration/cdn/s3.it.mdx index 3543824d5..34d8e3c52 100644 --- a/content/docs/configuration/cdn/s3.it.mdx +++ b/content/docs/configuration/cdn/s3.it.mdx @@ -114,7 +114,7 @@ Se stai utilizzando **IRSA** su Kubernetes, **non** รจ necessario impostare `AWS Aggiorna il tuo file di configurazione LibreChat (`librechat.yaml`) per specificare che l'applicazione deve utilizzare Amazon S3 per la gestione dei file: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.ja.mdx b/content/docs/configuration/cdn/s3.ja.mdx index 85477390f..b48e78cda 100644 --- a/content/docs/configuration/cdn/s3.ja.mdx +++ b/content/docs/configuration/cdn/s3.ja.mdx @@ -112,7 +112,7 @@ KubernetesไธŠใง**IRSA**ใ‚’ไฝฟ็”จใ—ใฆใ„ใ‚‹ๅ ดๅˆใ€็’ฐๅขƒๅค‰ๆ•ฐใซ `AWS_ACCES LibreChatใฎ่จญๅฎšใƒ•ใ‚กใ‚คใƒซ๏ผˆ`librechat.yaml`๏ผ‰ใ‚’ๆ›ดๆ–ฐใ—ใ€ใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใŒใƒ•ใ‚กใ‚คใƒซๅ‡ฆ็†ใซAmazon S3ใ‚’ไฝฟ็”จใ™ใ‚‹ใ‚ˆใ†ใซๆŒ‡ๅฎšใ—ใพใ™๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.ko.mdx b/content/docs/configuration/cdn/s3.ko.mdx index 5885bdff6..06f526f20 100644 --- a/content/docs/configuration/cdn/s3.ko.mdx +++ b/content/docs/configuration/cdn/s3.ko.mdx @@ -112,7 +112,7 @@ Kubernetes์—์„œ **IRSA**๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— `AWS_ACCESS_K LibreChat ๊ตฌ์„ฑ ํŒŒ์ผ(`librechat.yaml`)์„ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํŒŒ์ผ ์ฒ˜๋ฆฌ์— Amazon S3๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ง€์ •ํ•˜์„ธ์š”: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.mdx b/content/docs/configuration/cdn/s3.mdx index bdd02ec54..b951700d0 100644 --- a/content/docs/configuration/cdn/s3.mdx +++ b/content/docs/configuration/cdn/s3.mdx @@ -114,7 +114,7 @@ If you are using **IRSA** on Kubernetes, you do **not** need to set `AWS_ACCESS_ Update your LibreChat configuration file (`librechat.yaml`) to specify that the application should use Amazon S3 for file handling: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.nl.mdx b/content/docs/configuration/cdn/s3.nl.mdx index 821155566..4408e029c 100644 --- a/content/docs/configuration/cdn/s3.nl.mdx +++ b/content/docs/configuration/cdn/s3.nl.mdx @@ -114,7 +114,7 @@ Als je **IRSA** op Kubernetes gebruikt, hoef je `AWS_ACCESS_KEY_ID` en `AWS_SECR Werk uw LibreChat configuratiebestand (`librechat.yaml`) bij om aan te geven dat de applicatie Amazon S3 moet gebruiken voor bestandsafhandeling: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.pl.mdx b/content/docs/configuration/cdn/s3.pl.mdx index 2ef08b25f..5ce8b9fd1 100644 --- a/content/docs/configuration/cdn/s3.pl.mdx +++ b/content/docs/configuration/cdn/s3.pl.mdx @@ -114,7 +114,7 @@ Jeล›li uลผywasz **IRSA** w Kubernetes, **nie** musisz ustawiaฤ‡ `AWS_ACCESS_KEY_ Zaktualizuj plik konfiguracyjny LibreChat (`librechat.yaml`), aby okreล›liฤ‡, ลผe aplikacja powinna uลผywaฤ‡ Amazon S3 do obsล‚ugi plikรณw: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.pt-BR.mdx b/content/docs/configuration/cdn/s3.pt-BR.mdx index c00e72d93..2d6a6b396 100644 --- a/content/docs/configuration/cdn/s3.pt-BR.mdx +++ b/content/docs/configuration/cdn/s3.pt-BR.mdx @@ -114,7 +114,7 @@ Se vocรช estiver usando **IRSA** no Kubernetes, vocรช **nรฃo** precisa definir ` Atualize seu arquivo de configuraรงรฃo do LibreChat (`librechat.yaml`) para especificar que a aplicaรงรฃo deve usar o Amazon S3 para o gerenciamento de arquivos: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.tr.mdx b/content/docs/configuration/cdn/s3.tr.mdx index 5f4d85650..7659a2212 100644 --- a/content/docs/configuration/cdn/s3.tr.mdx +++ b/content/docs/configuration/cdn/s3.tr.mdx @@ -114,7 +114,7 @@ Kubernetes รผzerinde **IRSA** kullanฤฑyorsanฤฑz, ortamฤฑnฤฑzda `AWS_ACCESS_KEY_I Uygulamanฤฑn dosya yรถnetimi iรงin Amazon S3 kullanmasฤฑ gerektiฤŸini belirtmek รผzere LibreChat yapฤฑlandฤฑrma dosyanฤฑzฤฑ (`librechat.yaml`) gรผncelleyin: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.vi.mdx b/content/docs/configuration/cdn/s3.vi.mdx index c2e70f6fa..01fdc02ac 100644 --- a/content/docs/configuration/cdn/s3.vi.mdx +++ b/content/docs/configuration/cdn/s3.vi.mdx @@ -114,7 +114,7 @@ Nแบฟu bแบกn ฤ‘ang sแปญ dแปฅng **IRSA** trรชn Kubernetes, bแบกn **khรดng** cแบงn Cแบญp nhแบญt tแป‡p cแบฅu hรฌnh LibreChat cแปงa bแบกn (`librechat.yaml`) ฤ‘แปƒ chแป‰ ฤ‘แป‹nh rแบฑng แปฉng dแปฅng nรชn sแปญ dแปฅng Amazon S3 ฤ‘แปƒ xแปญ lรฝ tแป‡p: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/cdn/s3.zh.mdx b/content/docs/configuration/cdn/s3.zh.mdx index 7b607b012..3ecb1150c 100644 --- a/content/docs/configuration/cdn/s3.zh.mdx +++ b/content/docs/configuration/cdn/s3.zh.mdx @@ -112,7 +112,7 @@ AWS_ENDPOINT_URL=https://your_endpoint_url ๆ›ดๆ–ฐๆ‚จ็š„ LibreChat ้…็ฝฎๆ–‡ไปถ (`librechat.yaml`)๏ผŒไปฅๆŒ‡ๅฎšๅบ”็”จ็จ‹ๅบๅบ”ไฝฟ็”จ Amazon S3 ่ฟ›่กŒๆ–‡ไปถๅค„็†๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true fileStrategy: 's3' ``` diff --git a/content/docs/configuration/dotenv.mdx b/content/docs/configuration/dotenv.mdx index 61c02b9c2..b843f9388 100644 --- a/content/docs/configuration/dotenv.mdx +++ b/content/docs/configuration/dotenv.mdx @@ -27,6 +27,10 @@ For more info see: --- +## Upgrade Compatibility + +See the [upgrade guide](/docs/configuration/upgrade) for `CONFIG_OVERRIDE_ENV_ALLOWLIST`, credential write formats, strong backup codes, audit failure policy, browser telemetry precedence, and mixed-version deployment switches. + ## Server Configuration ### Port @@ -1431,8 +1435,8 @@ The Code Interpreter API provides a secure environment for executing code and ma [ 'CODE_ENVIRONMENT_DECISION_VERSION', 'number', - 'Advertises immutable, conversation-owned Code-environment decisions. Enable protocol version 1 only after every API replica supports it.', - '# CODE_ENVIRONMENT_DECISION_VERSION=1', + 'Advertises immutable conversation-owned Code-environment decisions. Unset or blank defaults to protocol 1; set 0 for incompatible mixed-version deployments.', + '# CODE_ENVIRONMENT_DECISION_VERSION=0', ], [ 'LIBRECHAT_CODE_BASEURL', diff --git a/content/docs/configuration/librechat_yaml/example.de.mdx b/content/docs/configuration/librechat_yaml/example.de.mdx index 111f3b866..edcf73c46 100644 --- a/content/docs/configuration/librechat_yaml/example.de.mdx +++ b/content/docs/configuration/librechat_yaml/example.de.mdx @@ -10,7 +10,7 @@ icon: FileCode Dieses Beispiel-Config enthรคlt alle dokumentierten endpoints (auรŸer Azure, LiteLLM, MLX und Ollama, die alle zusรคtzliche Konfigurationen erfordern) ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ Diese Beispielkonfigurationsdatei richtet LibreChat mit detaillierten Optionen i # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.es.mdx b/content/docs/configuration/librechat_yaml/example.es.mdx index 212f36bc2..1af66653d 100644 --- a/content/docs/configuration/librechat_yaml/example.es.mdx +++ b/content/docs/configuration/librechat_yaml/example.es.mdx @@ -10,7 +10,7 @@ icon: FileCode Esta configuraciรณn de ejemplo incluye todos los endpoints documentados (Excepto Azure, LiteLLM, MLX y Ollama, los cuales requieren configuraciones adicionales) ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ Este archivo de configuraciรณn de ejemplo configura LibreChat con opciones detal # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.fr.mdx b/content/docs/configuration/librechat_yaml/example.fr.mdx index 8ea67741f..9e6065b1d 100644 --- a/content/docs/configuration/librechat_yaml/example.fr.mdx +++ b/content/docs/configuration/librechat_yaml/example.fr.mdx @@ -10,7 +10,7 @@ icon: FileCode Cet exemple de configuration inclut tous les endpoints documentรฉs (ร  l'exception d'Azure, LiteLLM, MLX et Ollama, qui nรฉcessitent tous des configurations supplรฉmentaires) ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ Cet exemple de fichier de configuration configure LibreChat avec des options dรฉ # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.id.mdx b/content/docs/configuration/librechat_yaml/example.id.mdx index 8dc767632..780464f41 100644 --- a/content/docs/configuration/librechat_yaml/example.id.mdx +++ b/content/docs/configuration/librechat_yaml/example.id.mdx @@ -10,7 +10,7 @@ icon: FileCode Contoh konfigurasi ini mencakup semua endpoint yang didokumentasikan (Kecuali Azure, LiteLLM, MLX, dan Ollama, yang semuanya memerlukan konfigurasi tambahan) ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ Contoh file konfigurasi ini mengatur LibreChat dengan opsi mendetail di beberapa # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.it.mdx b/content/docs/configuration/librechat_yaml/example.it.mdx index 2fab98dfc..7a53e89a4 100644 --- a/content/docs/configuration/librechat_yaml/example.it.mdx +++ b/content/docs/configuration/librechat_yaml/example.it.mdx @@ -10,7 +10,7 @@ icon: FileCode Questo esempio di configurazione include tutti gli endpoint documentati (eccetto Azure, LiteLLM, MLX e Ollama, che richiedono tutti configurazioni aggiuntive) ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ Questo file di configurazione di esempio imposta LibreChat con opzioni dettaglia # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.ja.mdx b/content/docs/configuration/librechat_yaml/example.ja.mdx index c478040ec..ddadb6c3f 100644 --- a/content/docs/configuration/librechat_yaml/example.ja.mdx +++ b/content/docs/configuration/librechat_yaml/example.ja.mdx @@ -10,7 +10,7 @@ icon: FileCode ใ“ใฎ่จญๅฎšไพ‹ใซใฏใ€ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆๅŒ–ใ•ใ‚Œใฆใ„ใ‚‹ใ™ในใฆใฎ endpoint ใŒๅซใพใ‚Œใฆใ„ใพใ™๏ผˆAzureใ€LiteLLMใ€MLXใ€ใŠใ‚ˆใณ Ollama ใ‚’้™คใใ€‚ใ“ใ‚Œใ‚‰ใซใฏใ™ในใฆ่ฟฝๅŠ ใฎ่จญๅฎšใŒๅฟ…่ฆใงใ™๏ผ‰ใ€‚ ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ endpoints: # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.ko.mdx b/content/docs/configuration/librechat_yaml/example.ko.mdx index 239a01c58..c27af9449 100644 --- a/content/docs/configuration/librechat_yaml/example.ko.mdx +++ b/content/docs/configuration/librechat_yaml/example.ko.mdx @@ -10,7 +10,7 @@ icon: FileCode ์ด ์˜ˆ์‹œ ์„ค์ •์—๋Š” ๋ฌธ์„œํ™”๋œ ๋ชจ๋“  endpoint๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค (Azure, LiteLLM, MLX, Ollama๋Š” ๋ชจ๋‘ ์ถ”๊ฐ€ ์„ค์ •์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ์ œ์™ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค). ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ endpoints: # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.mdx b/content/docs/configuration/librechat_yaml/example.mdx index 49dd7146d..cfef2e422 100644 --- a/content/docs/configuration/librechat_yaml/example.mdx +++ b/content/docs/configuration/librechat_yaml/example.mdx @@ -10,7 +10,7 @@ icon: FileCode This example config includes all documented endpoints (Except Azure, LiteLLM, MLX, and Ollama, which all require additional configurations) ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -428,7 +428,7 @@ This example configuration file sets up LibreChat with detailed options across s # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.nl.mdx b/content/docs/configuration/librechat_yaml/example.nl.mdx index 41cdbc9a6..ceb4eb767 100644 --- a/content/docs/configuration/librechat_yaml/example.nl.mdx +++ b/content/docs/configuration/librechat_yaml/example.nl.mdx @@ -10,7 +10,7 @@ icon: FileCode Dit voorbeeldconfiguratiebestand bevat alle gedocumenteerde endpoints (behalve Azure, LiteLLM, MLX en Ollama, die allemaal aanvullende configuraties vereisen) ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ Dit voorbeeldconfiguratiebestand stelt LibreChat in met gedetailleerde opties vo # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.pl.mdx b/content/docs/configuration/librechat_yaml/example.pl.mdx index 438f6b26f..3db423dad 100644 --- a/content/docs/configuration/librechat_yaml/example.pl.mdx +++ b/content/docs/configuration/librechat_yaml/example.pl.mdx @@ -10,7 +10,7 @@ icon: FileCode Ten przykล‚adowy plik konfiguracyjny zawiera wszystkie udokumentowane endpoint (z wyjฤ…tkiem Azure, LiteLLM, MLX oraz Ollama, ktรณre wymagajฤ… dodatkowych konfiguracji). ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ Ten przykล‚adowy plik konfiguracyjny konfiguruje LibreChat z szczegรณล‚owymi opc # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.pt-BR.mdx b/content/docs/configuration/librechat_yaml/example.pt-BR.mdx index dded7940b..9ede20673 100644 --- a/content/docs/configuration/librechat_yaml/example.pt-BR.mdx +++ b/content/docs/configuration/librechat_yaml/example.pt-BR.mdx @@ -10,7 +10,7 @@ icon: FileCode Este exemplo de configuraรงรฃo inclui todos os endpoints documentados (Exceto Azure, LiteLLM, MLX e Ollama, que exigem configuraรงรตes adicionais) ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ Este arquivo de configuraรงรฃo de exemplo configura o LibreChat com opรงรตes det # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.tr.mdx b/content/docs/configuration/librechat_yaml/example.tr.mdx index d597ff04e..5f9ff9ea4 100644 --- a/content/docs/configuration/librechat_yaml/example.tr.mdx +++ b/content/docs/configuration/librechat_yaml/example.tr.mdx @@ -10,7 +10,7 @@ icon: FileCode Bu รถrnek yapฤฑlandฤฑrma, belgelenmiลŸ tรผm endpoint'leri iรงerir (Azure, LiteLLM, MLX ve Ollama hariรง; bunlarฤฑn tรผmรผ ek yapฤฑlandฤฑrmalar gerektirir) ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ Bu รถrnek yapฤฑlandฤฑrma dosyasฤฑ, LibreChat'i รงeลŸitli temel alanlarda ayrฤฑnt # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.vi.mdx b/content/docs/configuration/librechat_yaml/example.vi.mdx index 10a8b7029..bc78942e6 100644 --- a/content/docs/configuration/librechat_yaml/example.vi.mdx +++ b/content/docs/configuration/librechat_yaml/example.vi.mdx @@ -10,7 +10,7 @@ icon: FileCode Cแบฅu hรฌnh mแบซu nร y bao gแป“m tแบฅt cแบฃ cรกc endpoint ฤ‘รฃ ฤ‘ฦฐแปฃc ghi lแบกi (Ngoแบกi trแปซ Azure, LiteLLM, MLX vร  Ollama, tแบฅt cแบฃ ฤ‘แปu yรชu cแบงu cรกc cแบฅu hรฌnh bแป• sung) ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ Tแป‡p cแบฅu hรฌnh vรญ dแปฅ nร y thiแบฟt lแบญp LibreChat vแป›i cรกc tรนy chแปn c # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/example.zh.mdx b/content/docs/configuration/librechat_yaml/example.zh.mdx index 1607dad0f..5d759a0a2 100644 --- a/content/docs/configuration/librechat_yaml/example.zh.mdx +++ b/content/docs/configuration/librechat_yaml/example.zh.mdx @@ -10,7 +10,7 @@ icon: FileCode ๆญค็คบไพ‹้…็ฝฎๅŒ…ๅซไบ†ๆ‰€ๆœ‰ๅทฒ่ฎฐๅฝ•็š„ endpoint๏ผˆAzureใ€LiteLLMใ€MLX ๅ’Œ Ollama ้™คๅค–๏ผŒๅฎƒไปฌ้ƒฝ้œ€่ฆ้ขๅค–็š„้…็ฝฎ๏ผ‰ใ€‚ ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true @@ -323,7 +323,7 @@ endpoints: # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # Cache settings: Set to true to enable caching cache: true diff --git a/content/docs/configuration/librechat_yaml/index.de.mdx b/content/docs/configuration/librechat_yaml/index.de.mdx index fe450b0e4..70fbaf70c 100644 --- a/content/docs/configuration/librechat_yaml/index.de.mdx +++ b/content/docs/configuration/librechat_yaml/index.de.mdx @@ -151,7 +151,7 @@ Verwenden Sie `OPENROUTER_KEY`, nicht `OPENROUTER_API_KEY`. Die Verwendung von ` **3. Fรผgen Sie den endpoint zu `librechat.yaml` hinzu:** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.es.mdx b/content/docs/configuration/librechat_yaml/index.es.mdx index 6a83f7b25..9664370b8 100644 --- a/content/docs/configuration/librechat_yaml/index.es.mdx +++ b/content/docs/configuration/librechat_yaml/index.es.mdx @@ -151,7 +151,7 @@ Use `OPENROUTER_KEY`, no `OPENROUTER_API_KEY`. Usar `OPENROUTER_API_KEY` sobresc **3. Aรฑade el endpoint a `librechat.yaml`:** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.fr.mdx b/content/docs/configuration/librechat_yaml/index.fr.mdx index 4ff58e9ad..15f2c2a9c 100644 --- a/content/docs/configuration/librechat_yaml/index.fr.mdx +++ b/content/docs/configuration/librechat_yaml/index.fr.mdx @@ -151,7 +151,7 @@ Utilisez `OPENROUTER_KEY`, et non `OPENROUTER_API_KEY`. L'utilisation de `OPENRO **3. Ajoutez l'endpoint ร  `librechat.yaml` :** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.id.mdx b/content/docs/configuration/librechat_yaml/index.id.mdx index c86c90cbc..63be802ea 100644 --- a/content/docs/configuration/librechat_yaml/index.id.mdx +++ b/content/docs/configuration/librechat_yaml/index.id.mdx @@ -151,7 +151,7 @@ Gunakan `OPENROUTER_KEY`, bukan `OPENROUTER_API_KEY`. Menggunakan `OPENROUTER_AP **3. Tambahkan endpoint ke `librechat.yaml`:** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.it.mdx b/content/docs/configuration/librechat_yaml/index.it.mdx index 56eceecfa..fa952589f 100644 --- a/content/docs/configuration/librechat_yaml/index.it.mdx +++ b/content/docs/configuration/librechat_yaml/index.it.mdx @@ -151,7 +151,7 @@ Usa `OPENROUTER_KEY`, non `OPENROUTER_API_KEY`. L'utilizzo di `OPENROUTER_API_KE **3. Aggiungi l'endpoint a `librechat.yaml`:** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.ja.mdx b/content/docs/configuration/librechat_yaml/index.ja.mdx index 0eda4fc2a..7090e640c 100644 --- a/content/docs/configuration/librechat_yaml/index.ja.mdx +++ b/content/docs/configuration/librechat_yaml/index.ja.mdx @@ -149,7 +149,7 @@ OPENROUTER_KEY=sk-or-v1-your-key-here **3. `librechat.yaml` ใซ endpoint ใ‚’่ฟฝๅŠ ใ—ใพใ™:** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.ko.mdx b/content/docs/configuration/librechat_yaml/index.ko.mdx index 774a518fc..de5f7c3bd 100644 --- a/content/docs/configuration/librechat_yaml/index.ko.mdx +++ b/content/docs/configuration/librechat_yaml/index.ko.mdx @@ -149,7 +149,7 @@ OPENROUTER_KEY=sk-or-v1-your-key-here **3. `librechat.yaml`์— endpoint ์ถ”๊ฐ€ํ•˜๊ธฐ:** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.mdx b/content/docs/configuration/librechat_yaml/index.mdx index 78fad59ce..5b148e6f6 100644 --- a/content/docs/configuration/librechat_yaml/index.mdx +++ b/content/docs/configuration/librechat_yaml/index.mdx @@ -149,7 +149,7 @@ Use `OPENROUTER_KEY`, not `OPENROUTER_API_KEY`. Using `OPENROUTER_API_KEY` will **3. Add the endpoint to `librechat.yaml`:** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.nl.mdx b/content/docs/configuration/librechat_yaml/index.nl.mdx index 601bd051b..b2726c56a 100644 --- a/content/docs/configuration/librechat_yaml/index.nl.mdx +++ b/content/docs/configuration/librechat_yaml/index.nl.mdx @@ -151,7 +151,7 @@ Gebruik `OPENROUTER_KEY`, niet `OPENROUTER_API_KEY`. Het gebruik van `OPENROUTER **3. Voeg het endpoint toe aan `librechat.yaml`:** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.pl.mdx b/content/docs/configuration/librechat_yaml/index.pl.mdx index cdf3e7bca..03f8849a8 100644 --- a/content/docs/configuration/librechat_yaml/index.pl.mdx +++ b/content/docs/configuration/librechat_yaml/index.pl.mdx @@ -151,7 +151,7 @@ Uลผyj `OPENROUTER_KEY`, a nie `OPENROUTER_API_KEY`. Uลผycie `OPENROUTER_API_KEY` **3. Dodaj endpoint do `librechat.yaml`:** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.pt-BR.mdx b/content/docs/configuration/librechat_yaml/index.pt-BR.mdx index c99cbf301..1ac8badeb 100644 --- a/content/docs/configuration/librechat_yaml/index.pt-BR.mdx +++ b/content/docs/configuration/librechat_yaml/index.pt-BR.mdx @@ -151,7 +151,7 @@ Use `OPENROUTER_KEY`, nรฃo `OPENROUTER_API_KEY`. Usar `OPENROUTER_API_KEY` farรก **3. Adicione o endpoint ao `librechat.yaml`:** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.tr.mdx b/content/docs/configuration/librechat_yaml/index.tr.mdx index 8d37ef015..53dd86126 100644 --- a/content/docs/configuration/librechat_yaml/index.tr.mdx +++ b/content/docs/configuration/librechat_yaml/index.tr.mdx @@ -151,7 +151,7 @@ OPENROUTER_KEY=sk-or-v1-your-key-here **3. `librechat.yaml` dosyasฤฑna endpoint'i ekleyin:** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.vi.mdx b/content/docs/configuration/librechat_yaml/index.vi.mdx index a1e4df5ec..6530e952a 100644 --- a/content/docs/configuration/librechat_yaml/index.vi.mdx +++ b/content/docs/configuration/librechat_yaml/index.vi.mdx @@ -151,7 +151,7 @@ Sแปญ dแปฅng `OPENROUTER_KEY`, khรดng phแบฃi `OPENROUTER_API_KEY`. Viแป‡c sแปญ d **3. Thรชm endpoint vร o `librechat.yaml`:** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/index.zh.mdx b/content/docs/configuration/librechat_yaml/index.zh.mdx index f08b9b607..6928b3ba4 100644 --- a/content/docs/configuration/librechat_yaml/index.zh.mdx +++ b/content/docs/configuration/librechat_yaml/index.zh.mdx @@ -149,7 +149,7 @@ OPENROUTER_KEY=sk-or-v1-your-key-here **3. ๅฐ† endpoint ๆทปๅŠ ๅˆฐ `librechat.yaml`๏ผš** ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/configuration/librechat_yaml/object_structure/agents.mdx b/content/docs/configuration/librechat_yaml/object_structure/agents.mdx index d7345b777..3802cd2e3 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/agents.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/agents.mdx @@ -471,7 +471,7 @@ statefulCodeSessions: `allowedEnvironments` is required whenever the block is present and must include at least one workspace scope. Omit the entire block to allow all three scopes and continue routing stateful work through [`LIBRECHAT_CODE_BASEURL_STATEFUL`](/docs/configuration/dotenv#stateful-code-interpreter-endpoint). The personal default and Agent Builder only permit allowed values. If an administrator tightens the policy, a saved personal default remains visible but disabled, and new Agents use the first allowed scope. Existing enabled Agents retain their saved scope, but a now-disallowed scope fails closed at runtime until the Agent is reconfigured. -`conversationMoves.enabled: true` lets the conversation owner explicitly move a sealed attached workspace to a compatible environment and recover a missing workspace without replacing chat history or restoring old workspace files. To additionally allow a saved chat to **attach** a workspace or **leave** one for normal chat, set `conversationMoves.allowAttachDetach: true`. Both switches are off by default; enabling moves alone retains move-only behavior. Upgrade **all** API replicas, then enable [`CODE_ENVIRONMENT_DECISION_VERSION=1`](/docs/configuration/dotenv#code-interpreter) before opting in. Ownership, target access, active work, and current policy are rechecked at the transition; a running generation cannot be moved. +`conversationMoves.enabled: true` lets the conversation owner explicitly move a sealed attached workspace to a compatible environment and recover a missing workspace without replacing chat history or restoring old workspace files. To additionally allow a saved chat to **attach** a workspace or **leave** one for normal chat, set `conversationMoves.allowAttachDetach: true`. Both switches are off by default; enabling moves alone retains move-only behavior. Upgrade **all** API replicas, confirm decision protocol v1 is advertised (the default; [`CODE_ENVIRONMENT_DECISION_VERSION=0`](/docs/configuration/dotenv#code-interpreter) disables it), then opt in. Ownership, target access, active work, and current policy are rechecked at the transition; a running generation cannot be moved. ```yaml filename="endpoints / agents / statefulCodeSessions / conversationMoves" statefulCodeSessions: @@ -495,7 +495,7 @@ When `environments` is non-empty, every entry requires a unique `id`, a display - `pairing.tokenEnv` names the environment variable containing the bridge administrator token; it never contains the token itself. Pairing requires HTTPS except for loopback development. - `configSchema.permissions` optionally lets authorized owners choose `fileWrite` and `commandExecution` policy for personal environments under **Settings > Code environments**. Each field requires a non-empty `allowed` list containing `allow`, `ask`, and/or `deny`; `default` is `ask` when omitted and must appear in `allowed`. LibreChat rejects stored values outside the administrator's list. - `configSchema.limits.maxCommandTimeoutMs` sets the largest Bash timeout the model may request for that environment. It accepts `1` through `300000` ms; omission preserves the 30-second default. With a total request budget, the advertised command timeout also fits the remaining time after command admission, settlement, and delivery. This is a deployment ceiling and is not user-configurable. -- `configSchema.workspaces.linkedWorktrees: true` enables per-worktree scheduling only for attached workspaces advertising `git_linked_worktree`; omission keeps all requests in the checkout's root lane. Upgrade LibreChat **before** a worker advertises this scope, deploy a Code API supporting linked-worktree lanes, then start the worker with `--linked-worktree-lanes` before enabling the YAML setting. File operations targeting a path inside `.worktrees/` and Bash commands with a `cwd` there use that lane and return checkout-relative paths. Commands that `cd` inside their command text, checkout-root operations, conversation workspace instances, and environment actions stay root-scoped. +- `configSchema.workspaces.linkedWorktrees` permits per-worktree scheduling unless explicitly disabled, and only for attached workers advertising `git_linked_worktree`. Upgrade LibreChat **before** a worker advertises this scope, deploy a compatible Code API, then start the worker with `--linked-worktree-lanes`. Set the YAML field to `false` to retain checkout-wide scheduling. File operations targeting a path inside `.worktrees/` and Bash commands with a `cwd` there use that lane and return checkout-relative paths. Commands that `cd` inside their command text, checkout-root operations, conversation workspace instances, and environment actions stay root-scoped. - `configSchema.edits.tolerantMatching` permits whitespace-tolerant fallback by default on attached workers advertising `tolerant_match`; set it to `false` to require exact matching, including protected edit previews. Matching must remain unique unless the edit explicitly sets `replace_all`. Older workers receive no new matching fields; attached `replace_all` is refused before dispatch unless the worker advertises it. These capabilities require compatible Code API and worker builds implementing [Code Interpreter #271](https://github.com/LibreChat-AI/code-interpreter/pull/271). - Do not configure `settings` in deployment YAML. LibreChat supplies that request-scoped field from the authenticated owner's server-validated preferences. - Only file-write and command-execution policy is user-configurable. Isolation, networking, mounts, privileged execution, ingress, egress, and secrets remain administrator-controlled. @@ -1446,3 +1446,27 @@ For user-facing behavior and limits, see [Subagents](/docs/features/subagents). - The `context` capability works without OCR configuration using text parsing methods. OCR enhances extraction quality when configured. - The `ocr` capability requires an OCR service to be configured (see [OCR Configuration](/docs/configuration/librechat_yaml/object_structure/ocr)). - `maxSubagents` bounds how many subagents a single agent may reference. It does not change the depth or graph limits documented under [Subagents](/docs/features/subagents#limits). + +## hostFileEdits + +These limits apply to host-side Skill and managed-sandbox edits, not attached-worker edits. Over-budget calls write nothing. Defaults: `maxEdits: 100`, `maxWorkBytes: 67108864`, `maxOccurrences: 100000`, `timeoutMs: 2000`, and `maxConcurrent: 2`. Concurrency is per API process, with no waiting queue. + +## subagentActivity + +Live child activity is independent of completed-transcript recovery. Defaults: `replayTtlMs: 300000`, `publicationTimeoutMs: 1000`, `retryAttempts: 3`, `retryBaseDelayMs: 100`, `recoveryDelayMs: 1000`, `memoryMaxStreams: 1000`, and `memoryMaxBytes: 16777216`. Increase replay TTL for long silent calls. Full-content recovery is separately opt-in through `contentRecoveryEnabled`, default `false`. + +## Batched Background Completions + +`backgroundTasks.completionReceiptBatching` defaults to `true`, combining compatible ready sibling results into one parent continuation. Set it to `false` while older replicas that cannot read batched receipts still serve traffic. This flag does not enable background-execution capabilities. + +## Per-Agent Approval Modes + +`toolApproval.agentModes` and `toolApproval.allowAlways` are both opt-in and default to `false`. Agent modes expose per-tool approval choices. Always allow remembers an eligible tool for the conversation, not across every conversation. Administrator deny/ask rules and hooks remain authoritative. Upgrade every replica before enabling these controls; `grantLookupTimeoutMs` defaults to `3000`. + +## Machine Selection and Browser Enrollment + +Unset or blank `CODE_ENVIRONMENT_DECISION_VERSION` advertises protocol `1`; `0` disables it and per-chat machine choice. `statefulCodeSessions.allowEnvironmentSelection` defaults to allowed, but users can choose only from the agent's saved machine allowlist. Saved-chat moves and attach/detach remain separate opt-ins. + +Browser enrollment is separately off by default. Enable `statefulCodeSessions.principalWorkers.browserSetup.enabled`, configure its canonical public `instance` including any deployment prefix, and use an approved personal-worker control plane with compatible enrollment support. Existing principal-worker limits and authentication still apply. Opening the verification page does not enroll a machine: explicit browser approval is required. + +LibreChat permits linked-worktree routing unless explicitly disabled, but a compatible worker advertising `git_linked_worktree` is still required. Conversation-isolated workspace instances do not use those lanes. [Upgrade compatibility](/docs/configuration/upgrade#mixed-version-compatibility) describes the rollout boundaries. diff --git a/content/docs/configuration/librechat_yaml/object_structure/balance.mdx b/content/docs/configuration/librechat_yaml/object_structure/balance.mdx index feef8cd55..5eb2f3fcb 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/balance.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/balance.mdx @@ -154,4 +154,12 @@ balance: ```yaml filename="balance / refillAmount" balance: refillAmount: 10000 -``` \ No newline at end of file +``` + +## refillMode + +Balance tracking and automatic refill remain off by default. With automatic refill enabled, `refillMode: add` (default) accumulates allowance. `reset` replaces it when due on the next balance read/request, without rollover, and requires a positive integer refill interval. Upgrade every replica before selecting `reset`. + +## display + +Defaults to `credits`. `currency` uses `interface.currency`; `percent` shows the share of the allotment spent, not the amount remaining. diff --git a/content/docs/configuration/librechat_yaml/object_structure/config.mdx b/content/docs/configuration/librechat_yaml/object_structure/config.mdx index fe27838ee..ebe34601f 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/config.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/config.mdx @@ -1778,3 +1778,52 @@ see: [Transactions Object Structure](/docs/configuration/librechat_yaml/object_s - [Balance Object Structure](/docs/configuration/librechat_yaml/object_structure/balance) - [Web Search Object Structure](/docs/configuration/librechat_yaml/object_structure/web_search) - [Memory Object Structure](/docs/configuration/librechat_yaml/object_structure/memory) + +## credentials + +`credentials.writeFormat` accepts `v3` (default) or `legacy`. New stored user credentials use a random IV per value; this release reads both formats. During mixed-version deployments, set `legacy` on every replica until all readers support v3. Existing records are not converted by changing this switch. An older release cannot recover values subsequently written as v3. See [rollback boundaries](/docs/configuration/upgrade#mixed-version-compatibility). + +## telemetry + +`telemetry.rum.enabled` and `telemetry.rum.sessionReplay.enabled` override their environment fallbacks. Omission preserves environment settings; explicit `false` disables the feature, and `sessionReplay: {}` disables replay. Replay is a separate opt-in requiring RUM, not general-purpose DLP. [Telemetry controls and privacy](/docs/configuration/upgrade#browser-telemetry) cover proxy limits and public-token deployments. + +## toolCallPreviews + +Supporting clients request bounded previews for settled tool arguments and outputs, then fetch full content when opened. Stored content is not truncated. Exports, share links, and clients not requesting previews retain full content. + +| Field | Default | Accepted values | +| --- | --- | --- | +| `enabled` | `true` | Boolean; `false` restores full payloads | +| `outputChars` | `512` | Integer `256`โ€“`1000000` | +| `argsChars` | `512` | Integer `256`โ€“`1000000`; shortened arguments remain valid JSON | + +## timeouts + +Outbound integration-call budgets are milliseconds, not a universal chat-generation timeout. Omitted keys retain their defaults. Each value must be a positive integer up to `2147483647`. + +| Field | Default | +| --- | --- | +| `ragMs` | `30000` | +| `ocrMs` | `300000` | +| `actionsMs` | `300000` | +| `moderationMs` | `10000` | +| `imageFetchMs` | `30000` | + +## passwordHashing + +`passwordHashing.maxWorkers` bounds the password/token hashing pool. It accepts `1`โ€“`32`; the default is `max(1, min(4, availableParallelism() - 1))`. + +## mcpAppSandbox + +Deployment-owned sandbox settings cannot be overridden by role, group, or user profiles. Configure `url` on a dedicated origin routed to `/api/mcp/sandbox`; App enablement remains separate through `mcpSettings.apps`. + +| Limit | Default | +| --- | --- | +| `maxSourcesPerDirective` | `32` | +| `maxSerializedLength` | `4096` | +| `maxPersistedAppBytes` | `1048576` | +| `maxAdmissionRequestsPerMinute` | `240` | +| `maxActiveViews` | `3` | +| `maxActionPreviewChars` | `16384` | + +Keep these sandbox budgets separate from `rateLimits.mcpApps` browser-route request budgets. diff --git a/content/docs/configuration/librechat_yaml/object_structure/interface.mdx b/content/docs/configuration/librechat_yaml/object_structure/interface.mdx index 5bb2438ec..bf913ccd3 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/interface.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/interface.mdx @@ -1703,3 +1703,27 @@ interface: marketplace: use: true # Enable marketplace access ``` + +## landingHeading + +Defaults to `entity`, showing the selected agent, assistant, or model-spec name. `greeting` uses the time-of-day greeting or `customWelcome` instead. + +## landingFooter + +Defaults to `true`. `false` hides the welcome-screen generic disclaimer and policy links, but does not suppress `CUSTOM_FOOTER`. + +## runningChatRename + +Defaults to `true`. During rolling upgrades, set it to `false` until all API replicas are upgraded and old title-generation jobs drain. This blocks renames of running chats and unowned placeholder titles, not all settled-chat actions. + +## historyCacheTtlMs + +Inactive browser histories receive a `60000` ms grace period by default. Accepts `0`โ€“`3600000`. This is a client memory policy, not server data retention. Running, observed, and Assistants histories have retention exceptions. + +## historyCacheRecent + +Defaults to `1` recently left conversation; accepts `0`โ€“`20`. Older inactive histories are released on switching and refetched on reopening. `historyCacheMaxBytes` separately caps retained content at `8388608` bytes by default. + +## mascot + +Defaults to `true`, allowing users to enable Lia on the welcome screen. The mascot itself stays off until the user opts in through Settings. diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.de.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.de.mdx index 259193fd4..53e4f546e 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.de.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.de.mdx @@ -268,7 +268,7 @@ Bei der Verwendung einer benutzerdefinierten Agentenkonfiguration stehen die fol Hier ist ein umfassendes Beispiel, das alle Konfigurationsoptionen fรผr den Speicher zeigt: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.es.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.es.mdx index fc6fb86f8..169c37bf2 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.es.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.es.mdx @@ -268,7 +268,7 @@ Al utilizar una configuraciรณn de agente personalizada, los siguientes campos es Aquรญ tienes un ejemplo completo que muestra todas las opciones de configuraciรณn de memoria: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.fr.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.fr.mdx index e08cfb634..b737dd672 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.fr.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.fr.mdx @@ -268,7 +268,7 @@ Lors de l'utilisation d'une configuration d'agent personnalisรฉe, les champs sui Voici un exemple complet prรฉsentant toutes les options de configuration de la mรฉmoire : ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.id.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.id.mdx index d1ad44d88..f954a5868 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.id.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.id.mdx @@ -268,7 +268,7 @@ Saat menggunakan konfigurasi agen kustom, kolom-kolom berikut tersedia: Berikut adalah contoh komprehensif yang menampilkan semua opsi konfigurasi memori: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.it.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.it.mdx index 5647ef72f..6218962a3 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.it.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.it.mdx @@ -268,7 +268,7 @@ Quando si utilizza una configurazione personalizzata dell'agente, sono disponibi Ecco un esempio completo che mostra tutte le opzioni di configurazione della memoria: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.ja.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.ja.mdx index 24009ba6a..fa04872e1 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.ja.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.ja.mdx @@ -268,7 +268,7 @@ memory: ใƒกใƒขใƒช่จญๅฎšใฎใ™ในใฆใฎใ‚ชใƒ—ใ‚ทใƒงใƒณใ‚’็คบใ™ๅŒ…ๆ‹ฌ็š„ใชไพ‹ใ‚’ไปฅไธ‹ใซ็คบใ—ใพใ™๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.ko.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.ko.mdx index c5b06d89b..079b61a48 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.ko.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.ko.mdx @@ -268,7 +268,7 @@ memory: ๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์„ฑ ์˜ต์…˜์„ ๋ณด์—ฌ์ฃผ๋Š” ํฌ๊ด„์ ์ธ ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.mdx index cb6207e7e..3ca45f410 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.mdx @@ -288,7 +288,7 @@ When using custom agent configuration, the following fields are available: Here's a comprehensive example showing all memory configuration options: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.nl.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.nl.mdx index afc653451..3e22e59be 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.nl.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.nl.mdx @@ -268,7 +268,7 @@ Bij het gebruik van aangepaste agent-configuratie zijn de volgende velden beschi Hier is een uitgebreid voorbeeld dat alle configuratieopties voor geheugen toont: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.pl.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.pl.mdx index 2b6808cf9..8e7540e5d 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.pl.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.pl.mdx @@ -268,7 +268,7 @@ Podczas korzystania z niestandardowej konfiguracji agenta dostฤ™pne sฤ… nastฤ™pu Oto kompleksowy przykล‚ad pokazujฤ…cy wszystkie opcje konfiguracji pamiฤ™ci: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.pt-BR.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.pt-BR.mdx index ab066ea65..ddeb04638 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.pt-BR.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.pt-BR.mdx @@ -268,7 +268,7 @@ Ao usar a configuraรงรฃo de agente personalizada, os seguintes campos estรฃo dis Aqui estรก um exemplo abrangente mostrando todas as opรงรตes de configuraรงรฃo de memรณria: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.tr.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.tr.mdx index 253e4bbca..a45e3c0d3 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.tr.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.tr.mdx @@ -268,7 +268,7 @@ memory: Tรผm bellek yapฤฑlandฤฑrma seรงeneklerini gรถsteren kapsamlฤฑ bir รถrnek aลŸaฤŸฤฑdadฤฑr: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.vi.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.vi.mdx index bf455968c..2084b0253 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.vi.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.vi.mdx @@ -268,7 +268,7 @@ Khi sแปญ dแปฅng cแบฅu hรฌnh tรกc nhรขn tรนy chแป‰nh, cรกc trฦฐแปng sau ฤ‘รขy s Dฦฐแป›i ฤ‘รขy lร  mแป™t vรญ dแปฅ toร n diแป‡n hiแปƒn thแป‹ tแบฅt cแบฃ cรกc tรนy chแปn cแบฅu hรฌnh bแป™ nhแป›: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/memory.zh.mdx b/content/docs/configuration/librechat_yaml/object_structure/memory.zh.mdx index 0f7a6c5fa..12d4289d0 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/memory.zh.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/memory.zh.mdx @@ -268,7 +268,7 @@ memory: ่ฟ™ๆ˜ฏไธ€ไธชๅฑ•็คบๆ‰€ๆœ‰ๅ†…ๅญ˜้…็ฝฎ้€‰้กน็š„็ปผๅˆ็คบไพ‹๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.de.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.de.mdx index 79f17fe1b..0ec1a8a4e 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.de.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.de.mdx @@ -274,7 +274,7 @@ speechTab: ## Vollstรคndiges Beispiel [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.es.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.es.mdx index e2e51d9fe..7563c3923 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.es.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.es.mdx @@ -274,7 +274,7 @@ speechTab: ## Ejemplo completo [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.fr.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.fr.mdx index 3af2d0aad..0e0a5be6d 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.fr.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.fr.mdx @@ -274,7 +274,7 @@ speechTab: ## Exemple complet [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.id.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.id.mdx index 814ad6afe..9612995a8 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.id.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.id.mdx @@ -274,7 +274,7 @@ speechTab: ## Contoh Lengkap [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.it.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.it.mdx index eb76e37c1..37759b9c1 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.it.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.it.mdx @@ -274,7 +274,7 @@ speechTab: ## Esempio completo [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.ja.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.ja.mdx index ccce1b34b..009667b4a 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.ja.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.ja.mdx @@ -274,7 +274,7 @@ speechTab: ## ๅฎŒๅ…จใชไพ‹ [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.ko.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.ko.mdx index 9368d90d6..69e128f67 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.ko.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.ko.mdx @@ -274,7 +274,7 @@ speechTab: ## ์ „์ฒด ์˜ˆ์‹œ [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.mdx index e13bcee95..9d71f589f 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.mdx @@ -320,7 +320,7 @@ speechTab: ## Complete Example ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: @@ -360,3 +360,7 @@ speech: - `browser` uses the browser's built-in speech support; `external` uses the server-side providers configured under `speech.stt` or `speech.tts` - Existing `openai` and `azureOpenAI` STT defaults, and `openai`, `azureOpenAI`, `elevenlabs`, and `localai` TTS defaults, are migrated to `external`; an unavailable external engine falls back to `browser` - For detailed feature documentation, see [Speech to Text & Text to Speech](/docs/configuration/stt_tts) + +## TTS Input Length + +`speech.tts.maxInputChars` caps server-side synthesized text at the first `20000` characters by default. Longer text is capped, not rejected. Configure a positive integer to change the limit. diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.nl.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.nl.mdx index b5b57b85e..bc9a71694 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.nl.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.nl.mdx @@ -274,7 +274,7 @@ speechTab: ## Volledig voorbeeld [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.pl.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.pl.mdx index dc2770356..b1b206084 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.pl.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.pl.mdx @@ -274,7 +274,7 @@ speechTab: ## Kompletny przykล‚ad [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.pt-BR.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.pt-BR.mdx index 00949005a..6c3a12967 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.pt-BR.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.pt-BR.mdx @@ -274,7 +274,7 @@ speechTab: ## Exemplo Completo [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.tr.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.tr.mdx index 2e3dc3939..c4687c784 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.tr.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.tr.mdx @@ -274,7 +274,7 @@ speechTab: ## Tam ร–rnek [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.vi.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.vi.mdx index 359746dea..70abd2419 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.vi.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.vi.mdx @@ -274,7 +274,7 @@ speechTab: ## Vรญ dแปฅ hoร n chแป‰nh [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/speech.zh.mdx b/content/docs/configuration/librechat_yaml/object_structure/speech.zh.mdx index 4de8ecc7a..c60ea17b0 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/speech.zh.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/speech.zh.mdx @@ -274,7 +274,7 @@ speechTab: ## ๅฎŒๆ•ด็คบไพ‹ [#complete-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true speech: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.de.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.de.mdx index 22f417e88..8600e773c 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.de.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.de.mdx @@ -322,7 +322,7 @@ summarization: ## Vollstรคndiges Konfigurationsbeispiel [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.es.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.es.mdx index 040aedad0..136091dff 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.es.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.es.mdx @@ -322,7 +322,7 @@ summarization: ## Ejemplo de configuraciรณn completa [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.fr.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.fr.mdx index 286da60ec..d7bfc013b 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.fr.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.fr.mdx @@ -322,7 +322,7 @@ summarization: ## Exemple de configuration complรจte [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.id.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.id.mdx index c1f0c2044..cdf7ff599 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.id.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.id.mdx @@ -322,7 +322,7 @@ summarization: ## Contoh Konfigurasi Lengkap [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.it.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.it.mdx index 886dfa874..5cc186172 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.it.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.it.mdx @@ -322,7 +322,7 @@ summarization: ## Esempio di configurazione completa [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.ja.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.ja.mdx index e5d176a1e..b12d449a2 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.ja.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.ja.mdx @@ -322,7 +322,7 @@ summarization: ## ๅฎŒๅ…จใช่จญๅฎšไพ‹ [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.ko.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.ko.mdx index 64a8ecd6d..f2dc2236b 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.ko.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.ko.mdx @@ -322,7 +322,7 @@ summarization: ## ์ „์ฒด ๊ตฌ์„ฑ ์˜ˆ์‹œ [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.mdx index 8c30b785a..34e7ed5b4 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.mdx @@ -363,7 +363,7 @@ summarization: ## Complete Configuration Example ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.nl.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.nl.mdx index 38ad15355..9a40432be 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.nl.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.nl.mdx @@ -322,7 +322,7 @@ summarization: ## Volledig configuratievoorbeeld [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.pl.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.pl.mdx index bfe2dac7b..27692342b 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.pl.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.pl.mdx @@ -322,7 +322,7 @@ summarization: ## Kompletny przykล‚ad konfiguracji [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.pt-BR.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.pt-BR.mdx index 7afd996f4..307422c02 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.pt-BR.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.pt-BR.mdx @@ -322,7 +322,7 @@ summarization: ## Exemplo Completo de Configuraรงรฃo [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.tr.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.tr.mdx index b3aa1bc5d..b6914039e 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.tr.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.tr.mdx @@ -322,7 +322,7 @@ summarization: ## Tam Yapฤฑlandฤฑrma ร–rneฤŸi [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.vi.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.vi.mdx index 1d2dbd4fa..4bbb36ed1 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.vi.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.vi.mdx @@ -322,7 +322,7 @@ summarization: ## Vรญ dแปฅ cแบฅu hรฌnh hoร n chแป‰nh [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/summarization.zh.mdx b/content/docs/configuration/librechat_yaml/object_structure/summarization.zh.mdx index 4ad020cb8..3855c6e7d 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/summarization.zh.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/summarization.zh.mdx @@ -322,7 +322,7 @@ summarization: ## ๅฎŒๆ•ด้…็ฝฎ็คบไพ‹ [#complete-configuration-example] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true summarization: diff --git a/content/docs/configuration/librechat_yaml/object_structure/web_search.mdx b/content/docs/configuration/librechat_yaml/object_structure/web_search.mdx index c6114f53c..9090ea6e6 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/web_search.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/web_search.mdx @@ -771,3 +771,7 @@ curl -s "http://localhost:55011/search?q=librechat&format=json&engines=google,bi ``` This runs from your own machine, so it bypasses LibreChat's connection guard entirely. An empty `results` array here confirms the problem is on the SearXNG side; results here while LibreChat still finds nothing points back at `allowedAddresses`. + +## Stored-Key Re-entry + +Changing, removing, or tombstoning a URL beside a stored API key requires re-entering that key in the same admin write, or removing it. Otherwise the request reports `secret_reentry_required`. Layered overrides cannot silently redirect an inherited key. This covers SearXNG, Firecrawl, Jina, Tavily search/extract, and Keenable search. Environment-owned and user-owned credentials retain their own destination boundaries. diff --git a/content/docs/configuration/logging.mdx b/content/docs/configuration/logging.mdx index 1368a753d..c0ee3b65b 100644 --- a/content/docs/configuration/logging.mdx +++ b/content/docs/configuration/logging.mdx @@ -176,3 +176,7 @@ LibreChat can emit backend OpenTelemetry traces for server, database, Redis, and ], ]} /> + +## Redaction Work Budget + +`LOG_REDACTION_MAX_NODES` defaults to `5000` per log record. Objects and strings weighted by length consume the budget; excess fields are replaced rather than logged unredacted. This process-level environment setting is read when the logger initializes; it is not a YAML setting. diff --git a/content/docs/configuration/meta.json b/content/docs/configuration/meta.json index e9a2c6f1e..773f702bf 100644 --- a/content/docs/configuration/meta.json +++ b/content/docs/configuration/meta.json @@ -4,6 +4,7 @@ "pages": [ "---Core---", "dotenv", + "upgrade", "security_headers", "librechat_yaml", "---Services---", diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.de.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.de.mdx index e5c1a5cb0..26f6084b0 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.de.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.de.mdx @@ -432,7 +432,7 @@ Falls die Vereinbarung fehlt, akzeptieren Sie die Modellvereinbarung in der Bedr ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.es.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.es.mdx index fda55a185..a6d85f78f 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.es.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.es.mdx @@ -432,7 +432,7 @@ Comprueba que tu configuraciรณn se estรฉ leyendo correctamente examinando los re ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.fr.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.fr.mdx index 1725ff61c..8fd198913 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.fr.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.fr.mdx @@ -432,7 +432,7 @@ Vรฉrifiez que votre configuration est lue correctement en examinant les journaux ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.id.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.id.mdx index 8c7ead4da..0763bd8bd 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.id.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.id.mdx @@ -432,7 +432,7 @@ Periksa apakah konfigurasi Anda terbaca dengan benar dengan memeriksa log server ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.it.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.it.mdx index c6aa360c9..d439fb99d 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.it.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.it.mdx @@ -432,7 +432,7 @@ Verifica che la tua configurazione venga letta correttamente esaminando i log de ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.ja.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.ja.mdx index 9c0e8fcca..992f96bd6 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.ja.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.ja.mdx @@ -431,7 +431,7 @@ LibreChatใฎ่ตทๅ‹•ๆ™‚ใซใ‚ตใƒผใƒใƒผใƒญใ‚ฐใ‚’็ขบ่ชใ—ใ€่จญๅฎšใŒๆญฃใ—ใ่ชญ ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.ko.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.ko.mdx index f85b905c9..a04d45cdf 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.ko.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.ko.mdx @@ -431,7 +431,7 @@ LibreChat์ด ์‹œ์ž‘๋  ๋•Œ ์„œ๋ฒ„ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜์—ฌ ์„ค์ •์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.mdx index 49a6db830..09bd788f0 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.mdx @@ -429,7 +429,7 @@ Check that your config is being read correctly by examining the server logs when ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.nl.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.nl.mdx index 4158453c4..c3f1e6d56 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.nl.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.nl.mdx @@ -431,7 +431,7 @@ Controleer of je configuratie correct wordt gelezen door de serverlogs te bekijk ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.pl.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.pl.mdx index d92c3fc31..1da696b51 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.pl.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.pl.mdx @@ -432,7 +432,7 @@ Sprawdลบ, czy Twoja konfiguracja jest poprawnie odczytywana, analizujฤ…c logi se ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.pt-BR.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.pt-BR.mdx index d14ecd597..316919c82 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.pt-BR.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.pt-BR.mdx @@ -432,7 +432,7 @@ Verifique se sua configuraรงรฃo estรก sendo lida corretamente examinando os logs ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.tr.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.tr.mdx index 05e5d459a..4297d7ade 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.tr.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.tr.mdx @@ -431,7 +431,7 @@ LibreChat baลŸladฤฑฤŸฤฑnda sunucu gรผnlรผklerini inceleyerek yapฤฑlandฤฑrmanฤฑz ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.vi.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.vi.mdx index f98ec7d0d..8a2af453f 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.vi.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.vi.mdx @@ -431,7 +431,7 @@ Kiแปƒm tra xem cแบฅu hรฌnh cแปงa bแบกn cรณ ฤ‘ang ฤ‘ฦฐแปฃc ฤ‘แปc chรญnh xรกc hay ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.zh.mdx b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.zh.mdx index 08e23eab7..36f6abba9 100644 --- a/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.zh.mdx +++ b/content/docs/configuration/pre_configured_ai/bedrock_inference_profiles.zh.mdx @@ -429,7 +429,7 @@ aws bedrock get-foundation-model-availability \ ### librechat.yaml ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 endpoints: bedrock: diff --git a/content/docs/configuration/token_usage.de.mdx b/content/docs/configuration/token_usage.de.mdx index 3a0928b9c..24fda074c 100644 --- a/content/docs/configuration/token_usage.de.mdx +++ b/content/docs/configuration/token_usage.de.mdx @@ -70,7 +70,7 @@ Das Transaktionssystem steuert, ob Token-Nutzungsdatensรคtze in der Datenbank ge ### Transaktionseinstellungen [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -92,7 +92,7 @@ Das Guthabensystem in LibreChat ermรถglicht es Administratoren zu konfigurieren, ### Vollstรคndige Kontostand-Einstellungen [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.es.mdx b/content/docs/configuration/token_usage.es.mdx index 3a1963160..4391717a2 100644 --- a/content/docs/configuration/token_usage.es.mdx +++ b/content/docs/configuration/token_usage.es.mdx @@ -70,7 +70,7 @@ El sistema de transacciones controla si los registros de uso de tokens se guarda ### Configuraciรณn de transacciones [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -92,7 +92,7 @@ El sistema de balance en LibreChat permite a los administradores configurar cรณm ### Configuraciรณn completa del balance [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.fr.mdx b/content/docs/configuration/token_usage.fr.mdx index 6cd40a5a9..16590ff02 100644 --- a/content/docs/configuration/token_usage.fr.mdx +++ b/content/docs/configuration/token_usage.fr.mdx @@ -71,7 +71,7 @@ Le systรจme de transaction contrรดle si les enregistrements d'utilisation des je ### Paramรจtres de transaction [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -93,7 +93,7 @@ Le systรจme de solde dans LibreChat permet aux administrateurs de configurer la ### Paramรจtres complets du solde [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.id.mdx b/content/docs/configuration/token_usage.id.mdx index 7bde2a945..2155a1ccc 100644 --- a/content/docs/configuration/token_usage.id.mdx +++ b/content/docs/configuration/token_usage.id.mdx @@ -70,7 +70,7 @@ Sistem transaksi mengontrol apakah catatan penggunaan token disimpan ke dalam ba ### Pengaturan Transaksi [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -92,7 +92,7 @@ Sistem saldo di LibreChat memungkinkan administrator untuk mengonfigurasi bagaim ### Pengaturan Saldo Lengkap [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.it.mdx b/content/docs/configuration/token_usage.it.mdx index 9c666f0f7..c51f31e6a 100644 --- a/content/docs/configuration/token_usage.it.mdx +++ b/content/docs/configuration/token_usage.it.mdx @@ -70,7 +70,7 @@ Il sistema di transazioni controlla se i record di utilizzo dei token vengono sa ### Impostazioni transazione [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -92,7 +92,7 @@ Il sistema di bilancio in LibreChat consente agli amministratori di configurare ### Impostazioni complete del saldo [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.ja.mdx b/content/docs/configuration/token_usage.ja.mdx index 0065a1d00..d906be5ed 100644 --- a/content/docs/configuration/token_usage.ja.mdx +++ b/content/docs/configuration/token_usage.ja.mdx @@ -68,7 +68,7 @@ endpoints: ### ใƒˆใƒฉใƒณใ‚ถใ‚ฏใ‚ทใƒงใƒณ่จญๅฎš [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -90,7 +90,7 @@ LibreChatใฎๆฎ‹้ซ˜ใ‚ทใ‚นใƒ†ใƒ ใงใฏใ€็ฎก็†่€…ใŒใƒฆใƒผใ‚ถใƒผใฎใƒˆใƒผใ‚ฏใƒณ ### ๅฎŒๅ…จใชใƒใƒฉใƒณใ‚น่จญๅฎš [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.ko.mdx b/content/docs/configuration/token_usage.ko.mdx index 831470790..02929af56 100644 --- a/content/docs/configuration/token_usage.ko.mdx +++ b/content/docs/configuration/token_usage.ko.mdx @@ -69,7 +69,7 @@ endpoints: ### ํŠธ๋žœ์žญ์…˜ ์„ค์ • [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -91,7 +91,7 @@ LibreChat์˜ ์ž”์•ก ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๊ด€๋ฆฌ์ž๋Š” ์‚ฌ์šฉ์ž์˜ ํ† ํฐ ํฌ๋ ˆ ### ์ „์ฒด ์ž”์•ก ์„ค์ • [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.mdx b/content/docs/configuration/token_usage.mdx index 656a2ad1f..8eb8ce587 100644 --- a/content/docs/configuration/token_usage.mdx +++ b/content/docs/configuration/token_usage.mdx @@ -72,7 +72,7 @@ The transaction system controls whether token usage records are saved to the dat ### Transaction Settings ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -94,7 +94,7 @@ The balance system in LibreChat allows administrators to configure how token cre ### Complete Balance Settings ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.nl.mdx b/content/docs/configuration/token_usage.nl.mdx index 853eb2052..253b7d963 100644 --- a/content/docs/configuration/token_usage.nl.mdx +++ b/content/docs/configuration/token_usage.nl.mdx @@ -70,7 +70,7 @@ Het transactiesysteem bepaalt of records van tokengebruik worden opgeslagen in d ### Transactie-instellingen [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -92,7 +92,7 @@ Het balanssysteem in LibreChat stelt beheerders in staat om te configureren hoe ### Volledige balansinstellingen [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.pl.mdx b/content/docs/configuration/token_usage.pl.mdx index 8ff9f8257..b3881a02e 100644 --- a/content/docs/configuration/token_usage.pl.mdx +++ b/content/docs/configuration/token_usage.pl.mdx @@ -70,7 +70,7 @@ System transakcyjny kontroluje, czy rekordy uลผycia tokenรณw sฤ… zapisywane w ba ### Ustawienia transakcji [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -92,7 +92,7 @@ System salda w LibreChat umoลผliwia administratorom konfigurowanie sposobu zarz ### Peล‚ne ustawienia salda [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.pt-BR.mdx b/content/docs/configuration/token_usage.pt-BR.mdx index 79d8f102c..63d5f4ac0 100644 --- a/content/docs/configuration/token_usage.pt-BR.mdx +++ b/content/docs/configuration/token_usage.pt-BR.mdx @@ -70,7 +70,7 @@ O sistema de transaรงรตes controla se os registros de uso de tokens sรฃo salvos ### Configuraรงรตes de Transaรงรฃo [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -92,7 +92,7 @@ O sistema de saldo no LibreChat permite que administradores configurem como os s ### Configuraรงรตes Completas de Saldo [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.tr.mdx b/content/docs/configuration/token_usage.tr.mdx index d971d2079..0ba14342a 100644 --- a/content/docs/configuration/token_usage.tr.mdx +++ b/content/docs/configuration/token_usage.tr.mdx @@ -71,7 +71,7 @@ Getirilen token yapฤฑlandฤฑrmasฤฑ, endpoint modelleri, anahtarlar, URL'ler veya ### ฤฐลŸlem Ayarlarฤฑ [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -93,7 +93,7 @@ LibreChat'teki bakiye sistemi, yรถneticilerin kullanฤฑcฤฑlar iรงin token kredi b ### Bakiye Ayarlarฤฑnฤฑ Tamamla [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.vi.mdx b/content/docs/configuration/token_usage.vi.mdx index a47456e19..66a39fdfa 100644 --- a/content/docs/configuration/token_usage.vi.mdx +++ b/content/docs/configuration/token_usage.vi.mdx @@ -70,7 +70,7 @@ Hแป‡ thแป‘ng giao dแป‹ch kiแปƒm soรกt viแป‡c liแป‡u cรกc bแบฃn ghi sแปญ dแปฅng t ### Cร i ฤ‘แบทt giao dแป‹ch [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -92,7 +92,7 @@ Hแป‡ thแป‘ng sแป‘ dฦฐ trong LibreChat cho phรฉp quแบฃn trแป‹ viรชn cแบฅu hรฌnh c ### Cร i ฤ‘แบทt sแป‘ dฦฐ hoร n chแป‰nh [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/token_usage.zh.mdx b/content/docs/configuration/token_usage.zh.mdx index eaaca8359..df4a0cc6c 100644 --- a/content/docs/configuration/token_usage.zh.mdx +++ b/content/docs/configuration/token_usage.zh.mdx @@ -67,7 +67,7 @@ endpoints: ### ไบคๆ˜“่ฎพ็ฝฎ [#transaction-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Transaction settings # Controls whether to save transaction records to the database @@ -89,7 +89,7 @@ LibreChat ไธญ็š„ไฝ™้ข็ณป็ปŸๅ…่ฎธ็ฎก็†ๅ‘˜้…็ฝฎๅฆ‚ไฝ•ไธบ็”จๆˆท็ฎก็†ไปฃๅธ้ข ### ๅฎŒๆ•ดไฝ™้ข่ฎพ็ฝฎ [#complete-balance-settings] ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 # Balance settings balance: diff --git a/content/docs/configuration/upgrade.mdx b/content/docs/configuration/upgrade.mdx new file mode 100644 index 000000000..b9f3689c5 --- /dev/null +++ b/content/docs/configuration/upgrade.mdx @@ -0,0 +1,76 @@ +--- +title: Upgrade and Rolling Deployments +icon: RefreshCw +description: Upgrade prerequisites, compatibility switches, and rollback boundaries for LibreChat operators. +--- + +## Preparing for v0.8.9-rc1 + +Use Node.js **24.22.1** for local installs. Back up MongoDB, `librechat.yaml`, and the encryption credentials before changing versions. Keep `CREDS_KEY` and `CREDS_IV`; replacing them is not a migration. Config `1.3.18` describes this candidate; see the [config changelog](/changelog/config_v1.3.18) for the added settings. + +Upgrade every LibreChat API replica before enabling a feature that older replicas cannot enforce. Update compatible clients, Code API services, and attached workers separately. The LibreChat image does not upgrade an independently deployed Code API or its installed language packages. + +### Mixed-version compatibility + +| Surface | While incompatible replicas or clients remain | After the rollout | +| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| Stored user credentials | Set `credentials.writeFormat: legacy` in deployment YAML on every replica. | Remove the override to use `v3` writes with a random IV per value. Both formats remain readable by this release. | +| Two-factor backup codes | Set `TWO_FACTOR_BACKUP_CODE_FORMAT=legacy` on every replica if older backends or clients cannot read strong codes. | Remove it to issue 128-bit random, individually salted codes. Existing legacy codes remain valid until regenerated. | +| Email-address changes | Set `emailChange.enabled: false` or `ALLOW_EMAIL_CHANGE=false`. The YAML flag takes precedence. | Enable only after every node supports address-bound password reset links. A link issued by an older node can otherwise outlive an email change. | +| Per-chat machine choices | Set `CODE_ENVIRONMENT_DECISION_VERSION=0` or `endpoints.agents.statefulCodeSessions.allowEnvironmentSelection: false`. | Decision protocol v1 and machine selection are enabled by default, but only agents with an explicit machine allowlist can offer choices. | +| Saved-chat workspace changes | Keep `statefulCodeSessions.conversationMoves.enabled` off; `allowAttachDetach` is a separate opt-in. | Enable only with protocol v1 on every API replica and compatible Code API/workers. Refresh clients afterward. | +| Remembered tool approvals | Keep `endpoints.agents.toolApproval.agentModes: false`. | Explicitly opt in after all replicas support the mode. Administrator ask/deny rules remain authoritative. | +| Batched background completions | Set `endpoints.agents.backgroundTasks.completionReceiptBatching: false` while older replicas serve traffic. | Remove the override to deliver ready results together. | +| Renaming running chats | Set `interface.runningChatRename: false` until older title-generation jobs drain. | Remove the override to allow renaming running or placeholder-titled chats. | + +Changing a write-format switch back does **not** convert already stored data. An older release cannot read credentials saved as v3 or newly issued strong backup codes. Before rollback, replace or migrate incompatible data deliberately rather than rotating encryption keys. + +### Authentication and security policy + +[Passkey sign-in](/docs/configuration/authentication) is opt-in through `ALLOW_PASSKEY_LOGIN=true` and requires HTTPS in production. Keep the relying-party ID stable: changing `PASSKEY_RP_ID` can invalidate existing registrations. `passkeys.perUserMax` overrides `MAX_PASSKEYS_PER_USER`; the default is 20. + +`ENFORCE_TWO_FACTOR_AUTHENTICATION` defaults to `false`. When enabled, email/password and LDAP accounts must enroll before receiving a full session. Federated providers remain responsible for their own MFA. Temporary-code budgets (`TWO_FACTOR_TEMP_MAX`, `TWO_FACTOR_TEMP_WINDOW`) are separate from setup-step budgets (`TWO_FACTOR_SETUP_MAX`, `TWO_FACTOR_SETUP_WINDOW`). + +System-grant assignments and widening resource-sharing changes fail closed by default when their pre-change audit write fails. Revocations are not blocked by an audit outage. Only `AUDIT_LOG_FAIL_CLOSED=false` disables that default protection. Other admin mutations have operation-specific audit ordering: an audit error does not universally imply rollback. + +### Admin configuration and secrets + +The active database Base profile overrides deployment YAML before role, group, and user profiles, regardless of Base's numeric priority. Other active profiles merge in ascending priority with deterministic ties. Removing an override restores inheritance; a tombstone suppresses an inherited value. Arrays are suppressed as a whole, not by individual element. + +The admin config `changes` endpoint applies a batch to one profile atomically. Use `dryRun` to validate and `expectedRevision` for optimistic concurrency; a stale revision returns `409`. Inspect ignored results because protected settings may remain unapplied without rejecting the whole batch. This guarantee does not make role renames or other multi-document admin operations atomic. + +Admin-written `${ENV_VAR}` references are restricted to names referenced by deployment YAML, built-in endpoint credentials, and `CONFIG_OVERRIDE_ENV_ALLOWLIST` (comma- or space-separated). Unknown references are rejected on write and resolve to nothing at runtime. Text used literally is exempt: `interface`, `modelSpecs`, endpoint title/activity/reasoning-label prompts, summarization prompts, memory instructions, and Firecrawl change-tracking prompts. + +Stored web-search, MCP, and Azure credentials are bound to their destinations. A write that changes or removes a bound destination must re-enter the stored key in the same write, or remove it. Handle `secret_reentry_required` by collecting the required secret again; do not silently retry an old key against a new URL. Environment-owned and user-owned credentials cannot be redirected through an admin profile. + +Renaming a custom role moves its members, config profile, grants, and ACL entries within its tenant. Deleting it reassigns members to `USER` and removes dependent config and grants. These multi-document changes are not one atomic transaction. After failure, inspect current state before retrying; already revoked access can remain revoked. + +### Browser telemetry + +RUM, client logs, and session replay are independent opt-ins. YAML `telemetry.rum.enabled` and `telemetry.rum.sessionReplay.enabled` take precedence over environment fallbacks; omission preserves the environment setting, and an empty YAML `sessionReplay: {}` disables replay. + +- `RUM_CLIENT_LOGS=true` enables scrubbed client diagnostic logs only in authenticated proxy mode. +- `RUM_SESSION_REPLAY_ENABLED=true` opts in to replay when RUM is enabled. It supersedes the deprecated inverse `RUM_DISABLE_REPLAY` fallback. +- `RUM_PROXY_BODY_LIMIT` defaults to `3mb`. Traces and logs share the authenticated-user budget: `RUM_PROXY_USER_MAX=240` per `RUM_PROXY_USER_WINDOW=1` minute. Excess requests return `429`. +- Replay masks text and input values and excludes authentication screens, but is **not general-purpose DLP**. Validate with synthetic data before recording real users. Direct public-token ingestion bypasses the server's replay filtering and needs its own collector policy. + +`LOG_REDACTION_MAX_NODES=5000` bounds redaction work per server log record. Objects and strings weighted by length consume the budget; excess fields are replaced rather than exported unredacted. This process-level setting is read when the logger initializes. + +### Connected coding and MCP Apps + +Stateful Code sessions remain highly experimental. Browser-approved enrollment does not itself grant every agent access to a machine. Configure the attached environment, enable principal-worker enrollment and its separate `browserSetup.enabled` opt-in, configure the canonical public `instance`, start a compatible worker, and save the agent's explicit machine allowlist. New chats may choose only from that allowlist; existing conversations keep their recorded decision. + +The optional `endpoints.agents.pullRequests` integration needs a compatible worker reporting git state, Code API `CODEAPI_BRIDGE_LANE_GIT=true`, a repository scope, and an appropriately scoped provider token. GitHub needs read-only Pull requests, Checks, and Contents access. GitLab and Bitbucket use their provider-specific credentials. A per-user OAuth connection is a separate opt-in. + +New MCP Apps require `mcpSettings.apps: true`. Omission preserves legacy inline HTML behavior, while `false` disables both. Deploy the MCP App sandbox on a dedicated origin routed to `/api/mcp/sandbox`; deployment sandbox policy is not a role/group/user override. Apply the sandbox-origin and build-time setup in the [MCP configuration guide](/docs/configuration/librechat_yaml/object_structure/mcp_settings). + +### Other changed defaults + +- Enter sends messages by default. Users can change this preference in Settings. +- Browser image resizing is on by default when `fileConfig.clientImageResize.enabled` is omitted. Explicit `true` or `false` forces the deployment-wide choice. +- `interface.retentionMode: ephemeral` forces every chat to be temporary. Before returning to `temporary`, remove retention deadlines from records that must stop expiring; existing deadlines are not migrated automatically. +- Temporary chats, including ephemeral-mode chats, are not traced or feedback-scored unless `langfuse.trace.temporaryChats` is enabled. +- `interface.historyCacheTtlMs` defaults to `60000` and `historyCacheRecent` to `1`, with an additional `historyCacheMaxBytes` budget of `8388608` bytes, bounding how long recently left histories stay cached. +- `toolCallPreviews` defaults to bounded previews for clients that request them. `outputChars` and `argsChars` default to `512`; exports and clients that do not request previews retain full content. + +See the [interface reference](/docs/configuration/librechat_yaml/object_structure/interface), [Agents reference](/docs/configuration/librechat_yaml/object_structure/agents), and [environment reference](/docs/configuration/dotenv) for existing options. diff --git a/content/docs/development/architecture.de.mdx b/content/docs/development/architecture.de.mdx index f712f0125..dd9ca3b8a 100644 --- a/content/docs/development/architecture.de.mdx +++ b/content/docs/development/architecture.de.mdx @@ -37,7 +37,7 @@ LibreChat ist als Monorepo mit klar definierten Workspace-Grenzen organisiert: | `npm run backend:dev` | Startet das Backend mit Dateiรผberwachung (Entwicklung) | | `npm run frontend:dev` | Startet den Frontend-Entwicklungsserver mit HMR (Port 3090, erfordert laufendes Backend) | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - Datenbank: MongoDB - Das Backend lรคuft unter `http://localhost:3080/`; der Frontend-Entwicklungsserver unter `http://localhost:3090/` diff --git a/content/docs/development/architecture.es.mdx b/content/docs/development/architecture.es.mdx index 73abd668f..7f0b0504b 100644 --- a/content/docs/development/architecture.es.mdx +++ b/content/docs/development/architecture.es.mdx @@ -39,7 +39,7 @@ LibreChat estรก organizado como un monorepo con lรญmites de espacio de trabajo c | `npm run backend:dev` | Iniciar el backend con monitoreo de archivos (desarrollo) | | `npm run frontend:dev` | Iniciar el servidor de desarrollo frontend con HMR (puerto 3090, requiere que el backend estรฉ ejecutรกndose) | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - Base de datos: MongoDB - El backend se ejecuta en `http://localhost:3080/`; el servidor de desarrollo del frontend en `http://localhost:3090/` diff --git a/content/docs/development/architecture.fr.mdx b/content/docs/development/architecture.fr.mdx index e09314ed1..17fffff79 100644 --- a/content/docs/development/architecture.fr.mdx +++ b/content/docs/development/architecture.fr.mdx @@ -39,7 +39,7 @@ LibreChat est organisรฉ sous forme de monorepo avec des limites d'espace de trav | `npm run backend:dev` | Dรฉmarre le backend avec surveillance des fichiers (dรฉveloppement) | | `npm run frontend:dev` | Dรฉmarre le serveur de dรฉveloppement frontend avec HMR (port 3090, nรฉcessite que le backend soit en cours d'exรฉcution) | -- Node.js : `v24.16.0` +- Node.js : `v24.22.1` - npm : `v11.16.0` - Base de donnรฉes : MongoDB - Le backend s'exรฉcute sur `http://localhost:3080/` ; le serveur de dรฉveloppement frontend sur `http://localhost:3090/` diff --git a/content/docs/development/architecture.id.mdx b/content/docs/development/architecture.id.mdx index bcb428303..3c9e017aa 100644 --- a/content/docs/development/architecture.id.mdx +++ b/content/docs/development/architecture.id.mdx @@ -37,7 +37,7 @@ LibreChat diatur sebagai monorepo dengan batasan ruang kerja yang terdefinisi de | `npm run backend:dev` | Jalankan backend dengan pemantauan file (pengembangan) | | `npm run frontend:dev` | Jalankan server dev frontend dengan HMR (port 3090, memerlukan backend yang sedang berjalan) | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - Basis data: MongoDB - Backend berjalan pada `http://localhost:3080/`; server pengembangan frontend pada `http://localhost:3090/` diff --git a/content/docs/development/architecture.it.mdx b/content/docs/development/architecture.it.mdx index 0558fee88..d6978a238 100644 --- a/content/docs/development/architecture.it.mdx +++ b/content/docs/development/architecture.it.mdx @@ -39,7 +39,7 @@ LibreChat รจ organizzato come un monorepo con confini dell'area di lavoro chiara | `npm run backend:dev` | Avvia il backend con il monitoraggio dei file (sviluppo) | | `npm run frontend:dev` | Avvia il server di sviluppo frontend con HMR (porta 3090, richiede il backend in esecuzione) | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - Database: MongoDB - Il backend viene eseguito su `http://localhost:3080/`; il server di sviluppo del frontend su `http://localhost:3090/` diff --git a/content/docs/development/architecture.ja.mdx b/content/docs/development/architecture.ja.mdx index 056943800..b269f7fb6 100644 --- a/content/docs/development/architecture.ja.mdx +++ b/content/docs/development/architecture.ja.mdx @@ -37,7 +37,7 @@ LibreChatใฏใ€ๆ˜Ž็ขบใซๅฎš็พฉใ•ใ‚ŒใŸใƒฏใƒผใ‚ฏใ‚นใƒšใƒผใ‚นใฎๅขƒ็•Œใ‚’ๆŒใค | `npm run backend:dev` | ใƒ•ใ‚กใ‚คใƒซ็›ฃ่ฆ–ไป˜ใใงใƒใƒƒใ‚ฏใ‚จใƒณใƒ‰ใ‚’่ตทๅ‹•๏ผˆ้–‹็™บ็”จ๏ผ‰ | | `npm run frontend:dev` | HMRไป˜ใใงใƒ•ใƒญใƒณใƒˆใ‚จใƒณใƒ‰้–‹็™บใ‚ตใƒผใƒใƒผใ‚’่ตทๅ‹•๏ผˆใƒใƒผใƒˆ3090ใ€ใƒใƒƒใ‚ฏใ‚จใƒณใƒ‰ใฎๅฎŸ่กŒใŒๅฟ…่ฆ๏ผ‰ | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - ใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚น: MongoDB - ใƒใƒƒใ‚ฏใ‚จใƒณใƒ‰ใฏ `http://localhost:3080/` ใงใ€ใƒ•ใƒญใƒณใƒˆใ‚จใƒณใƒ‰ใฎ้–‹็™บใ‚ตใƒผใƒใƒผใฏ `http://localhost:3090/` ใงๅฎŸ่กŒใ•ใ‚Œใพใ™ใ€‚ diff --git a/content/docs/development/architecture.ko.mdx b/content/docs/development/architecture.ko.mdx index 4876d6657..2680f50a3 100644 --- a/content/docs/development/architecture.ko.mdx +++ b/content/docs/development/architecture.ko.mdx @@ -37,7 +37,7 @@ LibreChat์€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜๋œ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๊ฒฝ๊ณ„๋ฅผ ๊ฐ€์ง„ ๋ชจ๋…ธ | `npm run backend:dev` | ํŒŒ์ผ ๊ฐ์‹œ ๋ชจ๋“œ๋กœ ๋ฐฑ์—”๋“œ ์‹œ์ž‘ (๊ฐœ๋ฐœ์šฉ) | | `npm run frontend:dev` | HMR์ด ํฌํ•จ๋œ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹œ์ž‘ (ํฌํŠธ 3090, ๋ฐฑ์—”๋“œ ์‹คํ–‰ ํ•„์š”) | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: MongoDB - ๋ฐฑ์—”๋“œ๋Š” `http://localhost:3080/`์—์„œ, ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ์„œ๋ฒ„๋Š” `http://localhost:3090/`์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. diff --git a/content/docs/development/architecture.mdx b/content/docs/development/architecture.mdx index f5a59a22c..ec2314501 100644 --- a/content/docs/development/architecture.mdx +++ b/content/docs/development/architecture.mdx @@ -37,7 +37,7 @@ LibreChat is organized as a monorepo with clearly defined workspace boundaries: | `npm run backend:dev` | Start backend with file watching (development) | | `npm run frontend:dev` | Start frontend dev server with HMR (port 3090, requires backend running) | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - Database: MongoDB - Backend runs on `http://localhost:3080/`; frontend dev server on `http://localhost:3090/` diff --git a/content/docs/development/architecture.nl.mdx b/content/docs/development/architecture.nl.mdx index ca8e8b17f..7a5a4a422 100644 --- a/content/docs/development/architecture.nl.mdx +++ b/content/docs/development/architecture.nl.mdx @@ -37,7 +37,7 @@ LibreChat is georganiseerd als een monorepo met duidelijk gedefinieerde werkruim | `npm run backend:dev` | Start backend met file watching (ontwikkeling) | | `npm run frontend:dev` | Start frontend dev-server met HMR (poort 3090, vereist dat de backend draait) | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - Database: MongoDB - Backend draait op `http://localhost:3080/`; frontend dev server op `http://localhost:3090/` diff --git a/content/docs/development/architecture.pl.mdx b/content/docs/development/architecture.pl.mdx index 7d6d79a2c..495ff496a 100644 --- a/content/docs/development/architecture.pl.mdx +++ b/content/docs/development/architecture.pl.mdx @@ -37,7 +37,7 @@ LibreChat jest zorganizowany jako monorepo z wyraลบnie okreล›lonymi granicami ob | `npm run backend:dev` | Uruchomienie backendu z obserwacjฤ… plikรณw (deweloperskie) | | `npm run frontend:dev` | Uruchomienie serwera deweloperskiego frontendu z HMR (port 3090, wymaga uruchomionego backendu) | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - Baza danych: MongoDB - Backend dziaล‚a na `http://localhost:3080/`; serwer deweloperski frontend na `http://localhost:3090/` diff --git a/content/docs/development/architecture.pt-BR.mdx b/content/docs/development/architecture.pt-BR.mdx index bec0a0ab8..8750e03b9 100644 --- a/content/docs/development/architecture.pt-BR.mdx +++ b/content/docs/development/architecture.pt-BR.mdx @@ -39,7 +39,7 @@ O LibreChat รฉ organizado como um monorepo com limites de workspace claramente d | `npm run backend:dev` | Inicia o backend com monitoramento de arquivos (desenvolvimento) | | `npm run frontend:dev` | Inicia o servidor de desenvolvimento do frontend com HMR (porta 3090, requer o backend em execuรงรฃo) | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - Banco de dados: MongoDB - O backend roda em `http://localhost:3080/`; o servidor de desenvolvimento do frontend em `http://localhost:3090/` diff --git a/content/docs/development/architecture.tr.mdx b/content/docs/development/architecture.tr.mdx index 747f4ca1c..07c0a0242 100644 --- a/content/docs/development/architecture.tr.mdx +++ b/content/docs/development/architecture.tr.mdx @@ -37,7 +37,7 @@ LibreChat, net bir ลŸekilde tanฤฑmlanmฤฑลŸ รงalฤฑลŸma alanฤฑ sฤฑnฤฑrlarฤฑna sahi | `npm run backend:dev` | Backend'i dosya izleme ile baลŸlat (geliลŸtirme) | | `npm run frontend:dev` | Frontend geliลŸtirme sunucusunu HMR ile baลŸlat (port 3090, backend'in รงalฤฑลŸฤฑyor olmasฤฑ gerekir) | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - Veritabanฤฑ: MongoDB - Backend `http://localhost:3080/` adresinde; frontend geliลŸtirme sunucusu ise `http://localhost:3090/` adresinde รงalฤฑลŸฤฑr. diff --git a/content/docs/development/architecture.vi.mdx b/content/docs/development/architecture.vi.mdx index 96eb99d78..c61a50491 100644 --- a/content/docs/development/architecture.vi.mdx +++ b/content/docs/development/architecture.vi.mdx @@ -39,7 +39,7 @@ LibreChat ฤ‘ฦฐแปฃc tแป• chแปฉc dฦฐแป›i dแบกng mแป™t monorepo vแป›i cรกc ranh gi | `npm run backend:dev` | KhแปŸi ฤ‘แป™ng backend vแป›i tรญnh nฤƒng theo dรตi tแป‡p (phรกt triแปƒn) | | `npm run frontend:dev` | KhแปŸi ฤ‘แป™ng mรกy chแปง frontend dev vแป›i HMR (cแป•ng 3090, yรชu cแบงu backend ฤ‘ang chแบกy) | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - Cฦก sแปŸ dแปฏ liแป‡u: MongoDB - Backend chแบกy trรชn `http://localhost:3080/`; mรกy chแปง phรกt triแปƒn frontend trรชn `http://localhost:3090/` diff --git a/content/docs/development/architecture.zh.mdx b/content/docs/development/architecture.zh.mdx index f553a1a4f..d748fcd9e 100644 --- a/content/docs/development/architecture.zh.mdx +++ b/content/docs/development/architecture.zh.mdx @@ -37,7 +37,7 @@ LibreChat ้‡‡็”จ monorepo๏ผˆๅ•ไฝ“ไป“ๅบ“๏ผ‰็ป“ๆž„๏ผŒๅนถๅ…ทๆœ‰ๆ˜Ž็กฎๅฎšไน‰็š„ๅทฅ | `npm run backend:dev` | ๅฏๅŠจๅธฆๆœ‰ๆ–‡ไปถ็›‘่ง†ๅŠŸ่ƒฝ็š„ๅŽ็ซฏ๏ผˆๅผ€ๅ‘ๆจกๅผ๏ผ‰ | | `npm run frontend:dev` | ๅฏๅŠจๅธฆๆœ‰ HMR ็š„ๅ‰็ซฏๅผ€ๅ‘ๆœๅŠกๅ™จ๏ผˆ็ซฏๅฃ 3090๏ผŒ้œ€่ฆๅŽ็ซฏๆญฃๅœจ่ฟ่กŒ๏ผ‰ | -- Node.js: `v24.16.0` +- Node.js: `v24.22.1` - npm: `v11.16.0` - ๆ•ฐๆฎๅบ“๏ผšMongoDB - ๅŽ็ซฏ่ฟ่กŒๅœจ `http://localhost:3080/`๏ผ›ๅ‰็ซฏๅผ€ๅ‘ๆœๅŠกๅ™จ่ฟ่กŒๅœจ `http://localhost:3090/` diff --git a/content/docs/development/get_started.de.mdx b/content/docs/development/get_started.de.mdx index 6fd933075..b40925400 100644 --- a/content/docs/development/get_started.de.mdx +++ b/content/docs/development/get_started.de.mdx @@ -9,7 +9,7 @@ description: >- ## Anforderungen [#requirements] - [Git](https://git-scm.com/downloads) (Essentiell) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (Erforderlich) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (Erforderlich) - npm `v11.16.0` (Erforderlich) - [MongoDB](https://www.mongodb.com/try/download/community) (Essenziell, fรผr die Datenbank) - [Git LFS](https://git-lfs.com/) (Nรผtzlich fรผr grรถรŸere Dateien) @@ -31,8 +31,8 @@ Installieren Sie diese Erweiterungen in VS Code: Wenn Sie `nvm` verwenden, installieren und wรคhlen Sie die empfohlene Node.js-Version aus, bevor Sie LibreChat installieren: ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -44,7 +44,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.es.mdx b/content/docs/development/get_started.es.mdx index d9b88332f..9f3d95b73 100644 --- a/content/docs/development/get_started.es.mdx +++ b/content/docs/development/get_started.es.mdx @@ -9,7 +9,7 @@ description: >- ## Requisitos [#requirements] - [Git](https://git-scm.com/downloads) (Esencial) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (Esencial) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (Esencial) - npm `v11.16.0` (Esencial) - [MongoDB](https://www.mongodb.com/try/download/community) (Esencial, para la base de datos) - [Git LFS](https://git-lfs.com/) (รštil para archivos mรกs grandes) @@ -31,8 +31,8 @@ Instala estas extensiones en VS Code: Si utilizas `nvm`, instala y selecciona la versiรณn de Node.js recomendada antes de instalar LibreChat: ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -44,7 +44,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.fr.mdx b/content/docs/development/get_started.fr.mdx index 7b2ac647c..e598a5786 100644 --- a/content/docs/development/get_started.fr.mdx +++ b/content/docs/development/get_started.fr.mdx @@ -9,7 +9,7 @@ description: >- ## Prรฉrequis [#requirements] - [Git](https://git-scm.com/downloads) (Essentiel) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (Essentiel) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (Essentiel) - npm `v11.16.0` (Essentiel) - [MongoDB](https://www.mongodb.com/try/download/community) (Essentiel, pour la base de donnรฉes) - [Git LFS](https://git-lfs.com/) (Utile pour les fichiers plus volumineux) @@ -31,8 +31,8 @@ Installez ces extensions dans VS Code : Si vous utilisez `nvm`, installez et sรฉlectionnez la version de Node.js recommandรฉe avant d'installer LibreChat : ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -44,7 +44,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.id.mdx b/content/docs/development/get_started.id.mdx index 9f7a162e0..9d9e73747 100644 --- a/content/docs/development/get_started.id.mdx +++ b/content/docs/development/get_started.id.mdx @@ -9,7 +9,7 @@ description: >- ## Persyaratan [#requirements] - [Git](https://git-scm.com/downloads) (Penting) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (Penting) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (Penting) - npm `v11.16.0` (Penting) - [MongoDB](https://www.mongodb.com/try/download/community) (Penting, untuk basis data) - [Git LFS](https://git-lfs.com/) (Berguna untuk file yang lebih besar) @@ -31,8 +31,8 @@ Instal ekstensi-ekstensi berikut di VS Code: Jika Anda menggunakan `nvm`, instal dan pilih versi Node.js yang direkomendasikan sebelum menginstal LibreChat: ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -44,7 +44,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.it.mdx b/content/docs/development/get_started.it.mdx index aa563b3a5..1d1a504b0 100644 --- a/content/docs/development/get_started.it.mdx +++ b/content/docs/development/get_started.it.mdx @@ -9,7 +9,7 @@ description: >- ## Requisiti [#requirements] - [Git](https://git-scm.com/downloads) (Essenziale) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (Essenziale) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (Essenziale) - npm `v11.16.0` (Essenziale) - [MongoDB](https://www.mongodb.com/try/download/community) (Essenziale, per il database) - [Git LFS](https://git-lfs.com/) (Utile per file di grandi dimensioni) @@ -31,8 +31,8 @@ Installa queste estensioni in VS Code: Se utilizzi `nvm`, installa e seleziona la versione di Node.js raccomandata prima di installare LibreChat: ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -44,7 +44,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.ja.mdx b/content/docs/development/get_started.ja.mdx index 994463277..a508eb978 100644 --- a/content/docs/development/get_started.ja.mdx +++ b/content/docs/development/get_started.ja.mdx @@ -7,7 +7,7 @@ description: GitHub Desktopใ€VS Codeๆ‹กๅผตๆฉŸ่ƒฝใ€ใŠใ‚ˆใณGit rebaseใ‚’ไฝฟ็”จ ## ่ฆไปถ [#requirements] - [Git](https://git-scm.com/downloads) (ๅฟ…้ ˆ) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (ๅฟ…้ ˆ) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (ๅฟ…้ ˆ) - npm `v11.16.0` (ๅฟ…้ ˆ) - [MongoDB](https://www.mongodb.com/try/download/community) (ๅฟ…้ ˆใ€ใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚น็”จ) - [Git LFS](https://git-lfs.com/) (ๅคงใใชใƒ•ใ‚กใ‚คใƒซใซไพฟๅˆฉ) @@ -29,8 +29,8 @@ VS Codeใซไปฅไธ‹ใฎๆ‹กๅผตๆฉŸ่ƒฝใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใฆใใ ใ•ใ„๏ผš `nvm` ใ‚’ไฝฟ็”จใ—ใฆใ„ใ‚‹ๅ ดๅˆใฏใ€LibreChat ใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ๅ‰ใซใ€ๆŽจๅฅจใ•ใ‚Œใ‚‹ Node.js ใƒใƒผใ‚ธใƒงใƒณใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใฆ้ธๆŠžใ—ใฆใใ ใ•ใ„๏ผš ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -42,7 +42,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.ko.mdx b/content/docs/development/get_started.ko.mdx index 3994343d6..3c46b2e02 100644 --- a/content/docs/development/get_started.ko.mdx +++ b/content/docs/development/get_started.ko.mdx @@ -7,7 +7,7 @@ description: 'GitHub Desktop, VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ, Git rebase๋ฅผ ์‚ฌ์šฉ ## ์š”๊ตฌ ์‚ฌํ•ญ [#requirements] - [Git](https://git-scm.com/downloads) (ํ•„์ˆ˜) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (ํ•„์ˆ˜) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (ํ•„์ˆ˜) - npm `v11.16.0` (ํ•„์ˆ˜) - [MongoDB](https://www.mongodb.com/try/download/community) (ํ•„์ˆ˜, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์šฉ) - [Git LFS](https://git-lfs.com/) (๋” ํฐ ํŒŒ์ผ์— ์œ ์šฉํ•จ) @@ -29,8 +29,8 @@ VS Code์— ๋‹ค์Œ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜์„ธ์š”: `nvm`์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, LibreChat์„ ์„ค์น˜ํ•˜๊ธฐ ์ „์— ๊ถŒ์žฅ๋˜๋Š” Node.js ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๊ณ  ์„ ํƒํ•˜์„ธ์š”: ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -42,7 +42,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.mdx b/content/docs/development/get_started.mdx index 197904243..603ef8f2a 100644 --- a/content/docs/development/get_started.mdx +++ b/content/docs/development/get_started.mdx @@ -7,7 +7,7 @@ description: Learn how to contribute using GitHub Desktop, VS Code extensions, a ## Requirements - [Git](https://git-scm.com/downloads) (Essential) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (Essential) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (Essential) - npm `v11.16.0` (Essential) - [MongoDB](https://www.mongodb.com/try/download/community) (Essential, for the database) - [Git LFS](https://git-lfs.com/) (Useful for larger files) @@ -29,8 +29,8 @@ Install these extensions in VS Code: If you use `nvm`, install and select the recommended Node.js version before installing LibreChat: ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -42,7 +42,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.nl.mdx b/content/docs/development/get_started.nl.mdx index dfd41cb03..a88711b9e 100644 --- a/content/docs/development/get_started.nl.mdx +++ b/content/docs/development/get_started.nl.mdx @@ -9,7 +9,7 @@ description: >- ## Vereisten [#requirements] - [Git](https://git-scm.com/downloads) (Essentieel) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (Essentieel) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (Essentieel) - npm `v11.16.0` (Essentieel) - [MongoDB](https://www.mongodb.com/try/download/community) (Essentieel, voor de database) - [Git LFS](https://git-lfs.com/) (Handig voor grotere bestanden) @@ -31,8 +31,8 @@ Installeer deze extensies in VS Code: Als je `nvm` gebruikt, installeer en selecteer dan de aanbevolen Node.js-versie voordat je LibreChat installeert: ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -44,7 +44,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.pl.mdx b/content/docs/development/get_started.pl.mdx index f30a19585..160c9d46b 100644 --- a/content/docs/development/get_started.pl.mdx +++ b/content/docs/development/get_started.pl.mdx @@ -9,7 +9,7 @@ description: >- ## Wymagania [#requirements] - [Git](https://git-scm.com/downloads) (Niezbฤ™dne) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (Niezbฤ™dne) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (Niezbฤ™dne) - npm `v11.16.0` (Niezbฤ™dne) - [MongoDB](https://www.mongodb.com/try/download/community) (Niezbฤ™dne, dla bazy danych) - [Git LFS](https://git-lfs.com/) (Przydatne w przypadku wiฤ™kszych plikรณw) @@ -31,8 +31,8 @@ Zainstaluj te rozszerzenia w VS Code: Jeล›li uลผywasz `nvm`, zainstaluj i wybierz zalecanฤ… wersjฤ™ Node.js przed instalacjฤ… LibreChat: ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -44,7 +44,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.pt-BR.mdx b/content/docs/development/get_started.pt-BR.mdx index 2b2553fc7..f5dd83f79 100644 --- a/content/docs/development/get_started.pt-BR.mdx +++ b/content/docs/development/get_started.pt-BR.mdx @@ -9,7 +9,7 @@ description: >- ## Requisitos [#requirements] - [Git](https://git-scm.com/downloads) (Essencial) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (Essencial) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (Essencial) - npm `v11.16.0` (Essencial) - [MongoDB](https://www.mongodb.com/try/download/community) (Essencial, para o banco de dados) - [Git LFS](https://git-lfs.com/) (รštil para arquivos maiores) @@ -31,8 +31,8 @@ Instale estas extensรตes no VS Code: Se vocรช usa o `nvm`, instale e selecione a versรฃo recomendada do Node.js antes de instalar o LibreChat: ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -44,7 +44,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.tr.mdx b/content/docs/development/get_started.tr.mdx index 31dafbc88..aafe233a7 100644 --- a/content/docs/development/get_started.tr.mdx +++ b/content/docs/development/get_started.tr.mdx @@ -9,7 +9,7 @@ description: >- ## Gereksinimler [#requirements] - [Git](https://git-scm.com/downloads) (Gerekli) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (Gerekli) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (Gerekli) - npm `v11.16.0` (Zorunlu) - [MongoDB](https://www.mongodb.com/try/download/community) (Zorunlu, veritabanฤฑ iรงin) - [Git LFS](https://git-lfs.com/) (Daha bรผyรผk dosyalar iรงin kullanฤฑลŸlฤฑdฤฑr) @@ -31,8 +31,8 @@ VS Code'da ลŸu eklentileri yรผkleyin: `nvm` kullanฤฑyorsanฤฑz, LibreChat'i yรผklemeden รถnce รถnerilen Node.js sรผrรผmรผnรผ yรผkleyin ve seรงin: ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -44,7 +44,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.vi.mdx b/content/docs/development/get_started.vi.mdx index ce69e8f99..ba88bc2e3 100644 --- a/content/docs/development/get_started.vi.mdx +++ b/content/docs/development/get_started.vi.mdx @@ -9,7 +9,7 @@ description: >- ## Yรชu cแบงu [#requirements] - [Git](https://git-scm.com/downloads) (Thiแบฟt yแบฟu) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (Thiแบฟt yแบฟu) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (Thiแบฟt yแบฟu) - npm `v11.16.0` (Thiแบฟt yแบฟu) - [MongoDB](https://www.mongodb.com/try/download/community) (Thiแบฟt yแบฟu, dร nh cho cฦก sแปŸ dแปฏ liแป‡u) - [Git LFS](https://git-lfs.com/) (Hแปฏu รญch cho cรกc tแป‡p tin lแป›n hฦกn) @@ -31,8 +31,8 @@ Cร i ฤ‘แบทt cรกc tiแป‡n รญch mแปŸ rแป™ng nร y trong VS Code: Nแบฟu bแบกn sแปญ dแปฅng `nvm`, hรฃy cร i ฤ‘แบทt vร  chแปn phiรชn bแบฃn Node.js ฤ‘ฦฐแปฃc khuyแบฟn nghแป‹ trฦฐแป›c khi cร i ฤ‘แบทt LibreChat: ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -44,7 +44,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/get_started.zh.mdx b/content/docs/development/get_started.zh.mdx index ae03225ff..9e0e9dbcd 100644 --- a/content/docs/development/get_started.zh.mdx +++ b/content/docs/development/get_started.zh.mdx @@ -7,7 +7,7 @@ description: ไบ†่งฃๅฆ‚ไฝ•ไฝฟ็”จ GitHub Desktopใ€VS Code ๆ‰ฉๅฑ•ๅ’Œ Git rebase ## ่ฆๆฑ‚ [#requirements] - [Git](https://git-scm.com/downloads) (ๅฟ…้œ€) -- [Node.js](https://nodejs.org/en/download) `v24.16.0` (ๅฟ…้œ€) +- [Node.js](https://nodejs.org/en/download) `v24.22.1` (ๅฟ…้œ€) - npm `v11.16.0` (ๅฟ…้œ€) - [MongoDB](https://www.mongodb.com/try/download/community) (ๅฟ…้œ€๏ผŒ็”จไบŽๆ•ฐๆฎๅบ“) - [Git LFS](https://git-lfs.com/)๏ผˆ้€‚็”จไบŽ่พƒๅคงๆ–‡ไปถ๏ผ‰ @@ -29,8 +29,8 @@ description: ไบ†่งฃๅฆ‚ไฝ•ไฝฟ็”จ GitHub Desktopใ€VS Code ๆ‰ฉๅฑ•ๅ’Œ Git rebase ๅฆ‚ๆžœๆ‚จไฝฟ็”จ `nvm`๏ผŒ่ฏทๅœจๅฎ‰่ฃ… LibreChat ไน‹ๅ‰ๅฎ‰่ฃ…ๅนถ้€‰ๆ‹ฉๆŽจ่็š„ Node.js ็‰ˆๆœฌ๏ผš ```sh filename="Use Node.js 24" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 ``` @@ -42,7 +42,7 @@ npm -v ``` ```txt filename="Expected versions" -v24.16.0 +v24.22.1 11.16.0 ``` diff --git a/content/docs/development/index.de.mdx b/content/docs/development/index.de.mdx index f20b48b3a..cf03c0c66 100644 --- a/content/docs/development/index.de.mdx +++ b/content/docs/development/index.de.mdx @@ -12,11 +12,11 @@ Verwenden Sie diese Toolchain fรผr die npm-basierte Entwicklung: | Tool | Version | | ------- | ------------------------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas oder Community Server | -Node 24 erfรผllt die Laufzeitanforderungen von LibreChat fรผr CommonJS-Interoperabilitรคt mit reinen ESM-Paketen, WebCrypto und der Fetch API. Falls Ihre Shell immer noch eine รคltere Node-Version meldet, fรผhren Sie `nvm use 24.16.0` im LibreChat-Repository aus, bevor Sie die Abhรคngigkeiten installieren. +Node 24 erfรผllt die Laufzeitanforderungen von LibreChat fรผr CommonJS-Interoperabilitรคt mit reinen ESM-Paketen, WebCrypto und der Fetch API. Falls Ihre Shell immer noch eine รคltere Node-Version meldet, fรผhren Sie `nvm use 24.22.1` im LibreChat-Repository aus, bevor Sie die Abhรคngigkeiten installieren. ## Arbeiten im richtigen Arbeitsbereich [#work-in-the-right-workspace] diff --git a/content/docs/development/index.es.mdx b/content/docs/development/index.es.mdx index e25202a78..f100b8e97 100644 --- a/content/docs/development/index.es.mdx +++ b/content/docs/development/index.es.mdx @@ -12,11 +12,11 @@ Utilice esta cadena de herramientas para el desarrollo basado en npm: | Herramienta | Versiรณn | | ------- | ------------------------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas o Community Server | -Node 24 satisface las necesidades de tiempo de ejecuciรณn de LibreChat para la interoperabilidad de CommonJS con paquetes exclusivamente ESM, WebCrypto y la Fetch API. Si tu shell todavรญa reporta una versiรณn de Node mรกs antigua, ejecuta `nvm use 24.16.0` desde el repositorio de LibreChat antes de instalar las dependencias. +Node 24 satisface las necesidades de tiempo de ejecuciรณn de LibreChat para la interoperabilidad de CommonJS con paquetes exclusivamente ESM, WebCrypto y la Fetch API. Si tu shell todavรญa reporta una versiรณn de Node mรกs antigua, ejecuta `nvm use 24.22.1` desde el repositorio de LibreChat antes de instalar las dependencias. ## Trabaje en el รกrea de trabajo correcta [#work-in-the-right-workspace] diff --git a/content/docs/development/index.fr.mdx b/content/docs/development/index.fr.mdx index 3ff522551..0770d7aa1 100644 --- a/content/docs/development/index.fr.mdx +++ b/content/docs/development/index.fr.mdx @@ -14,11 +14,11 @@ Utilisez cette chaรฎne d'outils pour le dรฉveloppement basรฉ sur npm : | Outil | Version | | ------- | ------------------------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas ou Community Server | -Node 24 rรฉpond aux besoins d'exรฉcution de LibreChat pour l'interopรฉrabilitรฉ CommonJS avec les paquets ESM-only, WebCrypto et l'API Fetch. Si votre shell indique toujours une version plus ancienne de Node, exรฉcutez `nvm use 24.16.0` depuis le rรฉpertoire de LibreChat avant d'installer les dรฉpendances. +Node 24 rรฉpond aux besoins d'exรฉcution de LibreChat pour l'interopรฉrabilitรฉ CommonJS avec les paquets ESM-only, WebCrypto et l'API Fetch. Si votre shell indique toujours une version plus ancienne de Node, exรฉcutez `nvm use 24.22.1` depuis le rรฉpertoire de LibreChat avant d'installer les dรฉpendances. ## Travaillez dans le bon espace de travail [#work-in-the-right-workspace] diff --git a/content/docs/development/index.id.mdx b/content/docs/development/index.id.mdx index 65ec84cd6..6cf41e08e 100644 --- a/content/docs/development/index.id.mdx +++ b/content/docs/development/index.id.mdx @@ -12,11 +12,11 @@ Gunakan toolchain ini untuk pengembangan berbasis npm: | Alat | Versi | | ------- | ------------------------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas atau Community Server | -Node 24 memenuhi kebutuhan runtime LibreChat untuk interop CommonJS dengan paket-paket khusus ESM, WebCrypto, dan Fetch API. Jika shell Anda masih melaporkan versi Node yang lebih lama, jalankan `nvm use 24.16.0` dari repositori LibreChat sebelum menginstal dependensi. +Node 24 memenuhi kebutuhan runtime LibreChat untuk interop CommonJS dengan paket-paket khusus ESM, WebCrypto, dan Fetch API. Jika shell Anda masih melaporkan versi Node yang lebih lama, jalankan `nvm use 24.22.1` dari repositori LibreChat sebelum menginstal dependensi. ## Bekerja di Ruang Kerja yang Tepat [#work-in-the-right-workspace] diff --git a/content/docs/development/index.it.mdx b/content/docs/development/index.it.mdx index 86c351e35..894e87526 100644 --- a/content/docs/development/index.it.mdx +++ b/content/docs/development/index.it.mdx @@ -12,11 +12,11 @@ Utilizza questa toolchain per lo sviluppo basato su npm: | Strumento | Versione | | --------- | -------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas o Community Server | -Node 24 soddisfa i requisiti di runtime di LibreChat per l'interoperabilitร  CommonJS con pacchetti esclusivamente ESM, WebCrypto e la Fetch API. Se la tua shell segnala ancora una versione di Node precedente, esegui `nvm use 24.16.0` dalla repository di LibreChat prima di installare le dipendenze. +Node 24 soddisfa i requisiti di runtime di LibreChat per l'interoperabilitร  CommonJS con pacchetti esclusivamente ESM, WebCrypto e la Fetch API. Se la tua shell segnala ancora una versione di Node precedente, esegui `nvm use 24.22.1` dalla repository di LibreChat prima di installare le dipendenze. ## Lavora nello spazio di lavoro giusto [#work-in-the-right-workspace] diff --git a/content/docs/development/index.ja.mdx b/content/docs/development/index.ja.mdx index fca853fa5..129c39b21 100644 --- a/content/docs/development/index.ja.mdx +++ b/content/docs/development/index.ja.mdx @@ -12,11 +12,11 @@ npmใƒ™ใƒผใ‚นใฎ้–‹็™บใซใฏใ€ใ“ใฎใƒ„ใƒผใƒซใƒใ‚งใƒผใƒณใ‚’ไฝฟ็”จใ—ใฆใใ  | ใƒ„ใƒผใƒซ | ใƒใƒผใ‚ธใƒงใƒณ | | ------- | ------------------------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas ใพใŸใฏ Community Server | -Node 24ใฏใ€ESMๅฐ‚็”จใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใจใฎCommonJS็›ธไบ’้‹็”จๆ€งใ€WebCryptoใ€ใŠใ‚ˆใณFetch APIใซ้–ขใ™ใ‚‹LibreChatใฎใƒฉใƒณใ‚ฟใ‚คใƒ ่ฆไปถใ‚’ๆบ€ใŸใ—ใฆใ„ใพใ™ใ€‚ใŠไฝฟใ„ใฎใ‚ทใ‚งใƒซใงๅคใ„Nodeใƒใƒผใ‚ธใƒงใƒณใŒ่กจ็คบใ•ใ‚Œใ‚‹ๅ ดๅˆใฏใ€ไพๅญ˜้–ขไฟ‚ใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ๅ‰ใซใ€LibreChatใƒชใƒใ‚ธใƒˆใƒชใ‹ใ‚‰ `nvm use 24.16.0` ใ‚’ๅฎŸ่กŒใ—ใฆใใ ใ•ใ„ใ€‚ +Node 24ใฏใ€ESMๅฐ‚็”จใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใจใฎCommonJS็›ธไบ’้‹็”จๆ€งใ€WebCryptoใ€ใŠใ‚ˆใณFetch APIใซ้–ขใ™ใ‚‹LibreChatใฎใƒฉใƒณใ‚ฟใ‚คใƒ ่ฆไปถใ‚’ๆบ€ใŸใ—ใฆใ„ใพใ™ใ€‚ใŠไฝฟใ„ใฎใ‚ทใ‚งใƒซใงๅคใ„Nodeใƒใƒผใ‚ธใƒงใƒณใŒ่กจ็คบใ•ใ‚Œใ‚‹ๅ ดๅˆใฏใ€ไพๅญ˜้–ขไฟ‚ใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ๅ‰ใซใ€LibreChatใƒชใƒใ‚ธใƒˆใƒชใ‹ใ‚‰ `nvm use 24.22.1` ใ‚’ๅฎŸ่กŒใ—ใฆใใ ใ•ใ„ใ€‚ ## ้ฉๅˆ‡ใชใƒฏใƒผใ‚ฏใ‚นใƒšใƒผใ‚นใงไฝœๆฅญใ™ใ‚‹ [#work-in-the-right-workspace] diff --git a/content/docs/development/index.ko.mdx b/content/docs/development/index.ko.mdx index 4a2f36006..3d1070b9b 100644 --- a/content/docs/development/index.ko.mdx +++ b/content/docs/development/index.ko.mdx @@ -12,11 +12,11 @@ npm ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ์ด ํˆด์ฒด์ธ์„ ์‚ฌ์šฉํ•˜์„ธ์š”: | ๋„๊ตฌ | ๋ฒ„์ „ | | ------- | ------------------------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas ๋˜๋Š” Community Server | -Node 24๋Š” ESM ์ „์šฉ ํŒจํ‚ค์ง€์™€์˜ CommonJS ์ƒํ˜ธ ์šด์šฉ์„ฑ, WebCrypto ๋ฐ Fetch API์— ๋Œ€ํ•œ LibreChat์˜ ๋Ÿฐํƒ€์ž„ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค. ์…ธ์—์„œ ์—ฌ์ „ํžˆ ์ด์ „ Node ๋ฒ„์ „์„ ๋ณด๊ณ ํ•˜๋Š” ๊ฒฝ์šฐ, ์˜์กด์„ฑ์„ ์„ค์น˜ํ•˜๊ธฐ ์ „์— LibreChat ์ €์žฅ์†Œ์—์„œ `nvm use 24.16.0`์„ ์‹คํ–‰ํ•˜์„ธ์š”. +Node 24๋Š” ESM ์ „์šฉ ํŒจํ‚ค์ง€์™€์˜ CommonJS ์ƒํ˜ธ ์šด์šฉ์„ฑ, WebCrypto ๋ฐ Fetch API์— ๋Œ€ํ•œ LibreChat์˜ ๋Ÿฐํƒ€์ž„ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค. ์…ธ์—์„œ ์—ฌ์ „ํžˆ ์ด์ „ Node ๋ฒ„์ „์„ ๋ณด๊ณ ํ•˜๋Š” ๊ฒฝ์šฐ, ์˜์กด์„ฑ์„ ์„ค์น˜ํ•˜๊ธฐ ์ „์— LibreChat ์ €์žฅ์†Œ์—์„œ `nvm use 24.22.1`์„ ์‹คํ–‰ํ•˜์„ธ์š”. ## ์˜ฌ๋ฐ”๋ฅธ ์ž‘์—… ๊ณต๊ฐ„์—์„œ ์ž‘์—…ํ•˜๊ธฐ [#work-in-the-right-workspace] diff --git a/content/docs/development/index.mdx b/content/docs/development/index.mdx index a4032a9b9..000a98052 100644 --- a/content/docs/development/index.mdx +++ b/content/docs/development/index.mdx @@ -14,12 +14,12 @@ Use this toolchain for npm-based development: | Tool | Version | | ------- | ------------------------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas or Community Server | Node 24 satisfies LibreChat's runtime needs for CommonJS interop with ESM-only packages, WebCrypto, -and the Fetch API. If your shell still reports an older Node version, run `nvm use 24.16.0` from the +and the Fetch API. If your shell still reports an older Node version, run `nvm use 24.22.1` from the LibreChat repository before installing dependencies. ## Work In The Right Workspace diff --git a/content/docs/development/index.nl.mdx b/content/docs/development/index.nl.mdx index 82209bf42..ce12b8a4a 100644 --- a/content/docs/development/index.nl.mdx +++ b/content/docs/development/index.nl.mdx @@ -12,11 +12,11 @@ Gebruik deze toolchain voor npm-gebaseerde ontwikkeling: | Tool | Versie | | ------- | ------------------------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas of Community Server | -Node 24 voldoet aan de runtime-behoeften van LibreChat voor CommonJS-interop met ESM-only pakketten, WebCrypto en de Fetch API. Als je shell nog steeds een oudere Node-versie rapporteert, voer dan `nvm use 24.16.0` uit vanuit de LibreChat-repository voordat je de dependencies installeert. +Node 24 voldoet aan de runtime-behoeften van LibreChat voor CommonJS-interop met ESM-only pakketten, WebCrypto en de Fetch API. Als je shell nog steeds een oudere Node-versie rapporteert, voer dan `nvm use 24.22.1` uit vanuit de LibreChat-repository voordat je de dependencies installeert. ## Werk in de juiste werkruimte [#work-in-the-right-workspace] diff --git a/content/docs/development/index.pl.mdx b/content/docs/development/index.pl.mdx index 066006a45..26541733d 100644 --- a/content/docs/development/index.pl.mdx +++ b/content/docs/development/index.pl.mdx @@ -12,11 +12,11 @@ Uลผyj tego ล‚aล„cucha narzฤ™dzi do programowania opartego na npm: | Narzฤ™dzie | Wersja | | --------- | ------ | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas lub Community Server | -Node 24 speล‚nia wymagania ล›rodowiska uruchomieniowego LibreChat w zakresie wspรณล‚dziaล‚ania CommonJS z pakietami typu ESM-only, WebCrypto oraz Fetch API. Jeล›li Twoja powล‚oka nadal zgล‚asza starszฤ… wersjฤ™ Node, uruchom `nvm use 24.16.0` z poziomu repozytorium LibreChat przed zainstalowaniem zaleลผnoล›ci. +Node 24 speล‚nia wymagania ล›rodowiska uruchomieniowego LibreChat w zakresie wspรณล‚dziaล‚ania CommonJS z pakietami typu ESM-only, WebCrypto oraz Fetch API. Jeล›li Twoja powล‚oka nadal zgล‚asza starszฤ… wersjฤ™ Node, uruchom `nvm use 24.22.1` z poziomu repozytorium LibreChat przed zainstalowaniem zaleลผnoล›ci. ## Pracuj w odpowiednim obszarze roboczym [#work-in-the-right-workspace] diff --git a/content/docs/development/index.pt-BR.mdx b/content/docs/development/index.pt-BR.mdx index 6f93f5d58..6e2ba7c93 100644 --- a/content/docs/development/index.pt-BR.mdx +++ b/content/docs/development/index.pt-BR.mdx @@ -14,11 +14,11 @@ Use esta toolchain para desenvolvimento baseado em npm: | Ferramenta | Versรฃo | | ---------- | ------------------------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas ou Community Server | -O Node 24 atende ร s necessidades de tempo de execuรงรฃo do LibreChat para interoperaรงรฃo CommonJS com pacotes apenas ESM, WebCrypto e a Fetch API. Se o seu terminal ainda indicar uma versรฃo mais antiga do Node, execute `nvm use 24.16.0` a partir do repositรณrio do LibreChat antes de instalar as dependรชncias. +O Node 24 atende ร s necessidades de tempo de execuรงรฃo do LibreChat para interoperaรงรฃo CommonJS com pacotes apenas ESM, WebCrypto e a Fetch API. Se o seu terminal ainda indicar uma versรฃo mais antiga do Node, execute `nvm use 24.22.1` a partir do repositรณrio do LibreChat antes de instalar as dependรชncias. ## Trabalhe no Espaรงo de Trabalho Correto [#work-in-the-right-workspace] diff --git a/content/docs/development/index.tr.mdx b/content/docs/development/index.tr.mdx index e5b40170e..8e63f9788 100644 --- a/content/docs/development/index.tr.mdx +++ b/content/docs/development/index.tr.mdx @@ -12,11 +12,11 @@ npm tabanlฤฑ geliลŸtirme iรงin bu araรง zincirini kullanฤฑn: | Araรง | Sรผrรผm | | ------- | ------------------------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas veya Community Server | -Node 24, LibreChat'in ESM-only paketlerle CommonJS birlikte รงalฤฑลŸabilirliฤŸi, WebCrypto ve Fetch API iรงin รงalฤฑลŸma zamanฤฑ gereksinimlerini karลŸฤฑlar. EฤŸer terminaliniz hala daha eski bir Node sรผrรผmรผ bildiriyorsa, baฤŸฤฑmlฤฑlฤฑklarฤฑ yรผklemeden รถnce LibreChat deposundan `nvm use 24.16.0` komutunu รงalฤฑลŸtฤฑrฤฑn. +Node 24, LibreChat'in ESM-only paketlerle CommonJS birlikte รงalฤฑลŸabilirliฤŸi, WebCrypto ve Fetch API iรงin รงalฤฑลŸma zamanฤฑ gereksinimlerini karลŸฤฑlar. EฤŸer terminaliniz hala daha eski bir Node sรผrรผmรผ bildiriyorsa, baฤŸฤฑmlฤฑlฤฑklarฤฑ yรผklemeden รถnce LibreChat deposundan `nvm use 24.22.1` komutunu รงalฤฑลŸtฤฑrฤฑn. ## DoฤŸru ร‡alฤฑลŸma Alanฤฑnda ร‡alฤฑลŸฤฑn [#work-in-the-right-workspace] diff --git a/content/docs/development/index.vi.mdx b/content/docs/development/index.vi.mdx index 6daeb76fc..c50561495 100644 --- a/content/docs/development/index.vi.mdx +++ b/content/docs/development/index.vi.mdx @@ -12,11 +12,11 @@ Sแปญ dแปฅng chuแป—i cรดng cแปฅ nร y ฤ‘แปƒ phรกt triแปƒn dแปฑa trรชn npm: | Cรดng cแปฅ | Phiรชn bแบฃn | | ------- | --------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas hoแบทc Community Server | -Node 24 ฤ‘รกp แปฉng cรกc yรชu cแบงu vแป mรดi trฦฐแปng thแปฑc thi cแปงa LibreChat ฤ‘แป‘i vแป›i khแบฃ nฤƒng tฦฐฦกng tรกc CommonJS vแป›i cรกc gรณi chแป‰ hแป— trแปฃ ESM, WebCrypto vร  Fetch API. Nแบฟu shell cแปงa bแบกn vแบซn bรกo phiรชn bแบฃn Node cลฉ hฦกn, hรฃy chแบกy `nvm use 24.16.0` tแปซ thฦฐ mแปฅc lฦฐu trแปฏ LibreChat trฦฐแป›c khi cร i ฤ‘แบทt cรกc phแปฅ thuแป™c. +Node 24 ฤ‘รกp แปฉng cรกc yรชu cแบงu vแป mรดi trฦฐแปng thแปฑc thi cแปงa LibreChat ฤ‘แป‘i vแป›i khแบฃ nฤƒng tฦฐฦกng tรกc CommonJS vแป›i cรกc gรณi chแป‰ hแป— trแปฃ ESM, WebCrypto vร  Fetch API. Nแบฟu shell cแปงa bแบกn vแบซn bรกo phiรชn bแบฃn Node cลฉ hฦกn, hรฃy chแบกy `nvm use 24.22.1` tแปซ thฦฐ mแปฅc lฦฐu trแปฏ LibreChat trฦฐแป›c khi cร i ฤ‘แบทt cรกc phแปฅ thuแป™c. ## Lร m viแป‡c trong khรดng gian lร m viแป‡c phรน hแปฃp [#work-in-the-right-workspace] diff --git a/content/docs/development/index.zh.mdx b/content/docs/development/index.zh.mdx index 53e03305a..23e11da4a 100644 --- a/content/docs/development/index.zh.mdx +++ b/content/docs/development/index.zh.mdx @@ -12,11 +12,11 @@ description: ๅฆ‚ไฝ•่ฎพ็ฝฎ้ซ˜ๆ•ˆ็š„ LibreChat ๅผ€ๅ‘ๅทฅไฝœๆต็จ‹ใ€‚ | ๅทฅๅ…ท | ็‰ˆๆœฌ | | ------- | ------------------------- | -| Node.js | `v24.16.0` | +| Node.js | `v24.22.1` | | npm | `v11.16.0` | | MongoDB | Atlas ๆˆ– Community Server | -Node 24 ๆปก่ถณไบ† LibreChat ๅœจ CommonJS ไธŽไป…้™ ESM ็š„ๅŒ…่ฟ›่กŒไบ’ๆ“ไฝœใ€WebCrypto ไปฅๅŠ Fetch API ๆ–น้ข็š„่ฟ่กŒๆ—ถ้œ€ๆฑ‚ใ€‚ๅฆ‚ๆžœๆ‚จ็š„ shell ไป็„ถๆ˜พ็คบ่พƒๆ—ง็š„ Node ็‰ˆๆœฌ๏ผŒ่ฏทๅœจๅฎ‰่ฃ…ไพ่ต–้กนไน‹ๅ‰ไปŽ LibreChat ไป“ๅบ“่ฟ่กŒ `nvm use 24.16.0`ใ€‚ +Node 24 ๆปก่ถณไบ† LibreChat ๅœจ CommonJS ไธŽไป…้™ ESM ็š„ๅŒ…่ฟ›่กŒไบ’ๆ“ไฝœใ€WebCrypto ไปฅๅŠ Fetch API ๆ–น้ข็š„่ฟ่กŒๆ—ถ้œ€ๆฑ‚ใ€‚ๅฆ‚ๆžœๆ‚จ็š„ shell ไป็„ถๆ˜พ็คบ่พƒๆ—ง็š„ Node ็‰ˆๆœฌ๏ผŒ่ฏทๅœจๅฎ‰่ฃ…ไพ่ต–้กนไน‹ๅ‰ไปŽ LibreChat ไป“ๅบ“่ฟ่กŒ `nvm use 24.22.1`ใ€‚ ## ๅœจๆญฃ็กฎ็š„ๅทฅไฝœๅŒบไธญๅทฅไฝœ [#work-in-the-right-workspace] diff --git a/content/docs/features/admin_panel.mdx b/content/docs/features/admin_panel.mdx index 5cbd5ccfa..a8c868bd3 100644 --- a/content/docs/features/admin_panel.mdx +++ b/content/docs/features/admin_panel.mdx @@ -269,3 +269,11 @@ Supported environment references remain readable references for fields that allo - [Authentication](/docs/features/authentication): user authentication on LibreChat - [v0.8.5 changelog](/changelog/v0.8.5): admin API foundations - [GitHub: ClickHouse/librechat-admin-panel](https://github.com/ClickHouse/librechat-admin-panel): source, issues, releases + +## Configuration Precedence and Atomic Changes + +The active database Base profile merges over YAML before principal profiles, regardless of Base's numeric priority. Remaining profiles merge in ascending priority with deterministic ties. Removing an override restores inheritance; a tombstone suppresses inherited values. + +`POST /api/admin/config/:principalType/:principalId/changes` applies one profile batch atomically. Use `dryRun` for validation and `expectedRevision` for optimistic concurrency; stale revisions return `409`. Inspect skipped/ignored results for protected settings. Role lifecycle changes are not covered by this per-profile atomicity guarantee. + +[Upgrade guidance](/docs/configuration/upgrade#admin-configuration-and-secrets) explains permitted environment references, destination-bound secrets, and role migration boundaries. diff --git a/content/docs/features/code_interpreter.mdx b/content/docs/features/code_interpreter.mdx index eacab678e..dae040d74 100644 --- a/content/docs/features/code_interpreter.mdx +++ b/content/docs/features/code_interpreter.mdx @@ -133,13 +133,13 @@ For an attached execution environment, the Agent Builder can set a **Workspace d #### Saved-chat workspace changes -By default a saved conversation's attached workspace decision is sealed. With [`statefulCodeSessions.conversationMoves.enabled`](/docs/configuration/librechat_yaml/object_structure/agents#statefulcodesessions) enabled, the owner can explicitly move to another authorized workspace or recover a missing workspace. Recovery preserves chat history, **not** the lost workspace's files. Setting `allowAttachDetach: true` additionally lets the owner attach a workspace to a saved non-coding chat or leave an attached workspace to continue normal chat; enabling moves alone does not enable attach/detach. These transitions cannot take place while a generation is running and are revalidated on the server. Upgrade all API replicas and enable `CODE_ENVIRONMENT_DECISION_VERSION=1` before opting in. Without the switches, existing move-only and sealed-conversation behavior is unchanged. +By default a saved conversation's attached workspace decision is sealed. With [`statefulCodeSessions.conversationMoves.enabled`](/docs/configuration/librechat_yaml/object_structure/agents#statefulcodesessions) enabled, the owner can explicitly move to another authorized workspace or recover a missing workspace. Recovery preserves chat history, **not** the lost workspace's files. Setting `allowAttachDetach: true` additionally lets the owner attach a workspace to a saved non-coding chat or leave an attached workspace to continue normal chat; enabling moves alone does not enable attach/detach. These transitions cannot take place while a generation is running and are revalidated on the server. Upgrade all API replicas and confirm decision protocol v1 is advertised before opting in; it is on by default, while `CODE_ENVIRONMENT_DECISION_VERSION=0` disables it. Without the switches, existing move-only and sealed-conversation behavior is unchanged. Attached Bash uses a 30-second timeout by default. An environment can expose a larger model-requestable budget with [`configSchema.limits.maxCommandTimeoutMs`](/docs/configuration/librechat_yaml/object_structure/agents#statefulcodesessions), up to the five-minute protocol ceiling. The requested timeout never exceeds the deployment limit. Administrators can separately bound capacity retries with [`configSchema.limits.maxQueueWaitMs`](/docs/configuration/librechat_yaml/object_structure/agents#statefulcodesessions); this queue wait does not cancel an admitted or running command. To allow longer **individual** admission attempts, use `configSchema.limits.maxRequestTimeoutMs` only after the Code API honors the per-request queue allowance and the shortest proxy timeout on the live route is verified. The optional `configSchema.limits.minCommandAdmissionMs` reserves 10 seconds by default (valid 1โ€“300 seconds) for admission before a command. The advertised Bash timeout is fitted to the request budget after this reserve and another 10 seconds for settlement and delivery. This budget does not replace `maxQueueWaitMs`. #### Linked-worktree lanes -Attached environments can opt into [per-worktree request scheduling](/docs/configuration/librechat_yaml/object_structure/agents#statefulcodesessions) with `configSchema.workspaces.linkedWorktrees: true`. First upgrade LibreChat, then deploy a compatible Code API bridge and start the worker with `--linked-worktree-lanes`; enable the YAML setting only after that worker advertises `git_linked_worktree`. Requests that structurally target `.worktrees//` use that worktree's lane without changing the checkout-relative paths shown to the Agent. For Bash, pass the worktree directory in the tool's `cwd` argument; running `cd .worktrees/` inside the command stays in the root lane. Checkout-root operations, environment actions, and conversation workspace instances also stay root-scoped. Without the opt-in, all requests keep their existing checkout-wide scheduling. +Compatible attached environments can use [per-worktree request scheduling](/docs/configuration/librechat_yaml/object_structure/agents#statefulcodesessions) unless `configSchema.workspaces.linkedWorktrees` is explicitly `false`. First upgrade LibreChat, then deploy a compatible Code API bridge and start the worker with `--linked-worktree-lanes`; the worker must advertise `git_linked_worktree`. Requests that structurally target `.worktrees//` use that worktree's lane without changing the checkout-relative paths shown to the Agent. For Bash, pass the worktree directory in the tool's `cwd` argument; running `cd .worktrees/` inside the command stays in the root lane. Checkout-root operations, environment actions, and conversation workspace instances also stay root-scoped. Without a compatible worker, or with the setting disabled, requests retain checkout-wide scheduling. #### Workspace edit matching and conflicts diff --git a/content/docs/features/image_gen.de.mdx b/content/docs/features/image_gen.de.mdx index 76cc00750..8099950c1 100644 --- a/content/docs/features/image_gen.de.mdx +++ b/content/docs/features/image_gen.de.mdx @@ -327,7 +327,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.es.mdx b/content/docs/features/image_gen.es.mdx index 84a37081e..01979f7ee 100644 --- a/content/docs/features/image_gen.es.mdx +++ b/content/docs/features/image_gen.es.mdx @@ -327,7 +327,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.fr.mdx b/content/docs/features/image_gen.fr.mdx index 5e56b9899..422231eb2 100644 --- a/content/docs/features/image_gen.fr.mdx +++ b/content/docs/features/image_gen.fr.mdx @@ -327,7 +327,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.id.mdx b/content/docs/features/image_gen.id.mdx index ebe0fe945..d4f1421cb 100644 --- a/content/docs/features/image_gen.id.mdx +++ b/content/docs/features/image_gen.id.mdx @@ -327,7 +327,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.it.mdx b/content/docs/features/image_gen.it.mdx index dfd3dfc9b..2bf082da1 100644 --- a/content/docs/features/image_gen.it.mdx +++ b/content/docs/features/image_gen.it.mdx @@ -327,7 +327,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.ja.mdx b/content/docs/features/image_gen.ja.mdx index a912b6469..5d4d39296 100644 --- a/content/docs/features/image_gen.ja.mdx +++ b/content/docs/features/image_gen.ja.mdx @@ -325,7 +325,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.ko.mdx b/content/docs/features/image_gen.ko.mdx index 0469ee677..cb3503d2a 100644 --- a/content/docs/features/image_gen.ko.mdx +++ b/content/docs/features/image_gen.ko.mdx @@ -325,7 +325,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.mdx b/content/docs/features/image_gen.mdx index 54bcef186..93756d826 100644 --- a/content/docs/features/image_gen.mdx +++ b/content/docs/features/image_gen.mdx @@ -289,7 +289,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.nl.mdx b/content/docs/features/image_gen.nl.mdx index 52412db7b..b251928cc 100644 --- a/content/docs/features/image_gen.nl.mdx +++ b/content/docs/features/image_gen.nl.mdx @@ -327,7 +327,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.pl.mdx b/content/docs/features/image_gen.pl.mdx index b719064f1..71e9159fa 100644 --- a/content/docs/features/image_gen.pl.mdx +++ b/content/docs/features/image_gen.pl.mdx @@ -327,7 +327,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.pt-BR.mdx b/content/docs/features/image_gen.pt-BR.mdx index 7dafe1e85..5fec0e526 100644 --- a/content/docs/features/image_gen.pt-BR.mdx +++ b/content/docs/features/image_gen.pt-BR.mdx @@ -327,7 +327,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.tr.mdx b/content/docs/features/image_gen.tr.mdx index 8cae3f7d6..9ac1a132b 100644 --- a/content/docs/features/image_gen.tr.mdx +++ b/content/docs/features/image_gen.tr.mdx @@ -327,7 +327,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.vi.mdx b/content/docs/features/image_gen.vi.mdx index 600dc00bb..4f35b4b94 100644 --- a/content/docs/features/image_gen.vi.mdx +++ b/content/docs/features/image_gen.vi.mdx @@ -327,7 +327,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/image_gen.zh.mdx b/content/docs/features/image_gen.zh.mdx index ac153b93c..309658c0b 100644 --- a/content/docs/features/image_gen.zh.mdx +++ b/content/docs/features/image_gen.zh.mdx @@ -325,7 +325,7 @@ mcpServers: args: - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js' # Example with output from `npm root -g`: - # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" + # - "/home/danny/.nvm/versions/node/v24.22.1/lib/node_modules/@gongrzhe/image-gen-server/build/index.js" env: # Do not hardcode the API token here, use the environment variable instead # The following will pick up the token from your .env file or environment diff --git a/content/docs/features/memory.de.mdx b/content/docs/features/memory.de.mdx index bb223ba0e..f08891c89 100644 --- a/content/docs/features/memory.de.mdx +++ b/content/docs/features/memory.de.mdx @@ -36,7 +36,7 @@ Fรผr den Kontext zu vorherigen Nachrichten innerhalb einer einzelnen Unterhaltun Um Memory-Funktionen zu aktivieren, mรผssen Sie die `memory`-Konfiguration zu Ihrer `librechat.yaml`-Datei hinzufรผgen: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.es.mdx b/content/docs/features/memory.es.mdx index 957d307a4..ab833f237 100644 --- a/content/docs/features/memory.es.mdx +++ b/content/docs/features/memory.es.mdx @@ -36,7 +36,7 @@ Para obtener contexto sobre mensajes anteriores dentro de una misma conversaciรณ Para habilitar las funciones de memoria, necesitas aรฑadir la configuraciรณn `memory` a tu archivo `librechat.yaml`: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.fr.mdx b/content/docs/features/memory.fr.mdx index fe7f0358a..7329675d0 100644 --- a/content/docs/features/memory.fr.mdx +++ b/content/docs/features/memory.fr.mdx @@ -36,7 +36,7 @@ Pour le contexte concernant les messages prรฉcรฉdents au sein d'une mรชme conver Pour activer les fonctionnalitรฉs de mรฉmoire, vous devez ajouter la configuration `memory` ร  votre fichier `librechat.yaml` : ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.id.mdx b/content/docs/features/memory.id.mdx index f29408386..cccc7ff58 100644 --- a/content/docs/features/memory.id.mdx +++ b/content/docs/features/memory.id.mdx @@ -36,7 +36,7 @@ Untuk konteks mengenai pesan sebelumnya dalam satu percakapan, LibreChat sudah m Untuk mengaktifkan fitur memori, Anda perlu menambahkan konfigurasi `memory` ke dalam file `librechat.yaml` Anda: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.it.mdx b/content/docs/features/memory.it.mdx index e15689694..14b8a8ac3 100644 --- a/content/docs/features/memory.it.mdx +++ b/content/docs/features/memory.it.mdx @@ -36,7 +36,7 @@ Per il contesto relativo ai messaggi precedenti all'interno di una singola conve Per abilitare le funzionalitร  di memoria, รจ necessario aggiungere la configurazione `memory` al file `librechat.yaml`: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.ja.mdx b/content/docs/features/memory.ja.mdx index 0c9f2ee0e..3a1008898 100644 --- a/content/docs/features/memory.ja.mdx +++ b/content/docs/features/memory.ja.mdx @@ -34,7 +34,7 @@ LibreChatใซใŠใ‘ใ‚‹User Memoryใฏใ€ไผš่ฉฑๅ…จไฝ“ใ‚’้€šใ˜ใฆใƒฆใƒผใ‚ถใƒผๅ›บๆœ‰ ใƒกใƒขใƒชๆฉŸ่ƒฝใ‚’ๆœ‰ๅŠนใซใ™ใ‚‹ใซใฏใ€`librechat.yaml`ใƒ•ใ‚กใ‚คใƒซใซ`memory`่จญๅฎšใ‚’่ฟฝๅŠ ใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚ ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.ko.mdx b/content/docs/features/memory.ko.mdx index 008b6cf12..492b17353 100644 --- a/content/docs/features/memory.ko.mdx +++ b/content/docs/features/memory.ko.mdx @@ -34,7 +34,7 @@ LibreChat์˜ User Memory๋Š” ๋Œ€ํ™” ์ „๋ฐ˜์— ๊ฑธ์ณ ์‚ฌ์šฉ์ž๋ณ„ ์ •๋ณด๋ฅผ ์œ  ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด `librechat.yaml` ํŒŒ์ผ์— `memory` ๊ตฌ์„ฑ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.mdx b/content/docs/features/memory.mdx index c405cf76e..ae517514f 100644 --- a/content/docs/features/memory.mdx +++ b/content/docs/features/memory.mdx @@ -36,7 +36,7 @@ For context about previous messages within a single conversation, LibreChat alre To enable memory features, you need to add the `memory` configuration to your `librechat.yaml` file: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.nl.mdx b/content/docs/features/memory.nl.mdx index 8c29a68d2..5dd5c76f7 100644 --- a/content/docs/features/memory.nl.mdx +++ b/content/docs/features/memory.nl.mdx @@ -36,7 +36,7 @@ Voor context over eerdere berichten binnen een enkele conversatie gebruikt Libre Om geheugenfuncties in te schakelen, moet je de `memory` configuratie toevoegen aan je `librechat.yaml` bestand: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.pl.mdx b/content/docs/features/memory.pl.mdx index 7200f92e8..1935ec21a 100644 --- a/content/docs/features/memory.pl.mdx +++ b/content/docs/features/memory.pl.mdx @@ -36,7 +36,7 @@ W kontekล›cie poprzednich wiadomoล›ci w ramach jednej konwersacji, LibreChat kor Aby wล‚ฤ…czyฤ‡ funkcje pamiฤ™ci, musisz dodaฤ‡ konfiguracjฤ™ `memory` do swojego pliku `librechat.yaml`: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.pt-BR.mdx b/content/docs/features/memory.pt-BR.mdx index c1fc8e6af..dee78a9b7 100644 --- a/content/docs/features/memory.pt-BR.mdx +++ b/content/docs/features/memory.pt-BR.mdx @@ -36,7 +36,7 @@ Para contexto sobre mensagens anteriores dentro de uma รบnica conversa, o LibreC Para habilitar os recursos de memรณria, vocรช precisa adicionar a configuraรงรฃo `memory` ao seu arquivo `librechat.yaml`: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.tr.mdx b/content/docs/features/memory.tr.mdx index ce78ec459..04ac59c68 100644 --- a/content/docs/features/memory.tr.mdx +++ b/content/docs/features/memory.tr.mdx @@ -36,7 +36,7 @@ Tek bir konuลŸma iรงindeki รถnceki mesajlarla ilgili baฤŸlam iรงin LibreChat, ha Bellek รถzelliklerini etkinleลŸtirmek iรงin `librechat.yaml` dosyanฤฑza `memory` yapฤฑlandฤฑrmasฤฑnฤฑ eklemeniz gerekir: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.vi.mdx b/content/docs/features/memory.vi.mdx index 804456b35..63e42f187 100644 --- a/content/docs/features/memory.vi.mdx +++ b/content/docs/features/memory.vi.mdx @@ -36,7 +36,7 @@ User Memory trong LibreChat lร  mแป™t **kho lฦฐu trแปฏ khรณa/giรก trแป‹ (key/val ฤแปƒ kรญch hoแบกt cรกc tรญnh nฤƒng bแป™ nhแป›, bแบกn cแบงn thรชm cแบฅu hรฌnh `memory` vร o tแป‡p `librechat.yaml` cแปงa mรฌnh: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/features/memory.zh.mdx b/content/docs/features/memory.zh.mdx index 4b3f5eda5..9545d2a50 100644 --- a/content/docs/features/memory.zh.mdx +++ b/content/docs/features/memory.zh.mdx @@ -34,7 +34,7 @@ LibreChat ไธญ็š„ User Memory ๆ˜ฏไธ€ไธช**้”ฎ/ๅ€ผๅญ˜ๅ‚จ**๏ผŒ็”จไบŽๅœจไธๅŒๅฏน่ฏ ่ฆๅฏ็”จ memory ๅŠŸ่ƒฝ๏ผŒๆ‚จ้œ€่ฆๅœจ `librechat.yaml` ๆ–‡ไปถไธญๆทปๅŠ  `memory` ้…็ฝฎ๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true memory: diff --git a/content/docs/local/npm.de.mdx b/content/docs/local/npm.de.mdx index 1903f25c4..50e9a3187 100644 --- a/content/docs/local/npm.de.mdx +++ b/content/docs/local/npm.de.mdx @@ -8,7 +8,7 @@ Fรผr die meisten Szenarien ist Docker Compose aufgrund seiner Einfachheit, Benut ## Voraussetzungen [#prerequisites] -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChat verwendet CommonJS (CJS) und openid-client v6; Node 24 erfรผllt die erforderliche CJS/ESM-Interoperabilitรคt sowie die Laufzeitunterstรผtzung fรผr WebCrypto und die Fetch API. - Git: https://git-scm.com/download/ @@ -19,14 +19,14 @@ Fรผr die meisten Szenarien ist Docker Compose aufgrund seiner Einfachheit, Benut Wenn Sie `nvm` verwenden, installieren und wรคhlen Sie die empfohlene Node.js-Version aus und aktualisieren Sie dann npm: ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -Du solltest `v24.16.0` fรผr Node.js und `11.16.0` fรผr npm sehen, bevor du die Abhรคngigkeiten von LibreChat installierst. +Du solltest `v24.22.1` fรผr Node.js und `11.16.0` fรผr npm sehen, bevor du die Abhรคngigkeiten von LibreChat installierst. ## Installationsschritte [#installation-steps] diff --git a/content/docs/local/npm.es.mdx b/content/docs/local/npm.es.mdx index df451767b..418b24b59 100644 --- a/content/docs/local/npm.es.mdx +++ b/content/docs/local/npm.es.mdx @@ -8,7 +8,7 @@ Para la mayorรญa de los escenarios, Docker Compose es el mรฉtodo de instalaciรณn ## Requisitos previos [#prerequisites] -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChat utiliza CommonJS (CJS) y openid-client v6; Node 24 satisface el soporte de tiempo de ejecuciรณn necesario para la interoperabilidad CJS/ESM, WebCrypto y la Fetch API. - Git: https://git-scm.com/download/ @@ -19,14 +19,14 @@ Para la mayorรญa de los escenarios, Docker Compose es el mรฉtodo de instalaciรณn Si utilizas `nvm`, instala y selecciona la versiรณn de Node.js recomendada, luego actualiza npm: ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -Deberรญas ver `v24.16.0` para Node.js y `11.16.0` para npm antes de instalar las dependencias de LibreChat. +Deberรญas ver `v24.22.1` para Node.js y `11.16.0` para npm antes de instalar las dependencias de LibreChat. ## Pasos de instalaciรณn [#installation-steps] diff --git a/content/docs/local/npm.fr.mdx b/content/docs/local/npm.fr.mdx index d3cf77cc2..a77a8390e 100644 --- a/content/docs/local/npm.fr.mdx +++ b/content/docs/local/npm.fr.mdx @@ -8,7 +8,7 @@ Pour la plupart des scรฉnarios, Docker Compose est la mรฉthode d'installation re ## Prรฉrequis [#prerequisites] -- Node.js `v24.16.0` : [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1` : [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChat utilise CommonJS (CJS) et openid-client v6 ; Node 24 prend en charge l'interopรฉrabilitรฉ CJS/ESM, WebCrypto et l'API Fetch requises. - Git : https://git-scm.com/download/ @@ -19,14 +19,14 @@ Pour la plupart des scรฉnarios, Docker Compose est la mรฉthode d'installation re Si vous utilisez `nvm`, installez et sรฉlectionnez la version de Node.js recommandรฉe, puis mettez ร  jour npm : ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -Vous devriez voir `v24.16.0` pour Node.js et `11.16.0` pour npm avant d'installer les dรฉpendances de LibreChat. +Vous devriez voir `v24.22.1` pour Node.js et `11.16.0` pour npm avant d'installer les dรฉpendances de LibreChat. ## ร‰tapes d'installation [#installation-steps] diff --git a/content/docs/local/npm.id.mdx b/content/docs/local/npm.id.mdx index 164350deb..b333b46c5 100644 --- a/content/docs/local/npm.id.mdx +++ b/content/docs/local/npm.id.mdx @@ -8,7 +8,7 @@ Untuk sebagian besar skenario, Docker Compose adalah metode instalasi yang direk ## Prasyarat [#prerequisites] -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChat menggunakan CommonJS (CJS) dan openid-client v6; Node 24 memenuhi dukungan runtime interop CJS/ESM, WebCrypto, dan Fetch API yang diperlukan. - Git: https://git-scm.com/download/ @@ -19,14 +19,14 @@ Untuk sebagian besar skenario, Docker Compose adalah metode instalasi yang direk Jika Anda menggunakan `nvm`, instal dan pilih versi Node.js yang direkomendasikan, lalu perbarui npm: ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -Anda seharusnya melihat `v24.16.0` untuk Node.js dan `11.16.0` untuk npm sebelum menginstal dependensi LibreChat. +Anda seharusnya melihat `v24.22.1` untuk Node.js dan `11.16.0` untuk npm sebelum menginstal dependensi LibreChat. ## Langkah-langkah Instalasi [#installation-steps] diff --git a/content/docs/local/npm.it.mdx b/content/docs/local/npm.it.mdx index b05d14639..f0facf874 100644 --- a/content/docs/local/npm.it.mdx +++ b/content/docs/local/npm.it.mdx @@ -8,7 +8,7 @@ Nella maggior parte degli scenari, Docker Compose รจ il metodo di installazione ## Prerequisiti [#prerequisites] -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChat utilizza CommonJS (CJS) e openid-client v6; Node 24 soddisfa il supporto runtime richiesto per l'interoperabilitร  CJS/ESM, WebCrypto e Fetch API. - Git: https://git-scm.com/download/ @@ -19,14 +19,14 @@ Nella maggior parte degli scenari, Docker Compose รจ il metodo di installazione Se utilizzi `nvm`, installa e seleziona la versione di Node.js raccomandata, quindi aggiorna npm: ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -Dovresti vedere `v24.16.0` per Node.js e `11.16.0` per npm prima di installare le dipendenze di LibreChat. +Dovresti vedere `v24.22.1` per Node.js e `11.16.0` per npm prima di installare le dipendenze di LibreChat. ## Passaggi di installazione [#installation-steps] diff --git a/content/docs/local/npm.ja.mdx b/content/docs/local/npm.ja.mdx index e2217785e..d1be3ff61 100644 --- a/content/docs/local/npm.ja.mdx +++ b/content/docs/local/npm.ja.mdx @@ -8,7 +8,7 @@ description: npmใ‚’ไฝฟ็”จใ—ใฆLibreChatใ‚’ใƒญใƒผใ‚ซใƒซใซใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ ## ๅ‰ๆๆกไปถ [#prerequisites] -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChatใฏCommonJS (CJS) ใจopenid-client v6ใ‚’ไฝฟ็”จใ—ใฆใ„ใพใ™ใ€‚Node 24ใฏใ€ๅฟ…่ฆใชCJS/ESMใฎ็›ธไบ’้‹็”จๆ€งใ€WebCryptoใ€ใŠใ‚ˆใณFetch APIใฎใƒฉใƒณใ‚ฟใ‚คใƒ ใ‚ตใƒใƒผใƒˆใ‚’ๆบ€ใŸใ—ใฆใ„ใพใ™ใ€‚ - Git: https://git-scm.com/download/ @@ -19,14 +19,14 @@ description: npmใ‚’ไฝฟ็”จใ—ใฆLibreChatใ‚’ใƒญใƒผใ‚ซใƒซใซใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ `nvm` ใ‚’ไฝฟ็”จใ—ใฆใ„ใ‚‹ๅ ดๅˆใฏใ€ๆŽจๅฅจใ•ใ‚Œใ‚‹ Node.js ใƒใƒผใ‚ธใƒงใƒณใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใฆ้ธๆŠžใ—ใ€ใใฎๅพŒ npm ใ‚’ๆ›ดๆ–ฐใ—ใฆใใ ใ•ใ„๏ผš ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -LibreChatใฎไพๅญ˜้–ขไฟ‚ใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ๅ‰ใซใ€Node.jsใŒ`v24.16.0`ใ€npmใŒ`11.16.0`ใงใ‚ใ‚‹ใ“ใจใ‚’็ขบ่ชใ—ใฆใใ ใ•ใ„ใ€‚ +LibreChatใฎไพๅญ˜้–ขไฟ‚ใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ๅ‰ใซใ€Node.jsใŒ`v24.22.1`ใ€npmใŒ`11.16.0`ใงใ‚ใ‚‹ใ“ใจใ‚’็ขบ่ชใ—ใฆใใ ใ•ใ„ใ€‚ ## ใ‚คใƒณใ‚นใƒˆใƒผใƒซๆ‰‹้ † [#installation-steps] diff --git a/content/docs/local/npm.ko.mdx b/content/docs/local/npm.ko.mdx index 06c0d074a..d83f7b073 100644 --- a/content/docs/local/npm.ko.mdx +++ b/content/docs/local/npm.ko.mdx @@ -8,7 +8,7 @@ description: npm์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ์— LibreChat์„ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ• ## ํ•„์ˆ˜ ์กฐ๊ฑด [#prerequisites] -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChat์€ CommonJS(CJS)์™€ openid-client v6๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Node 24๋Š” ํ•„์š”ํ•œ CJS/ESM ์ƒํ˜ธ ์šด์šฉ์„ฑ, WebCrypto ๋ฐ Fetch API ๋Ÿฐํƒ€์ž„ ์ง€์›์„ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค. - Git: https://git-scm.com/download/ @@ -19,14 +19,14 @@ description: npm์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ์— LibreChat์„ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ• `nvm`์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ๊ถŒ์žฅ๋˜๋Š” Node.js ๋ฒ„์ „์„ ์„ค์น˜ ๋ฐ ์„ ํƒํ•œ ๋‹ค์Œ npm์„ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”: ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -LibreChat ์˜์กด์„ฑ์„ ์„ค์น˜ํ•˜๊ธฐ ์ „์— Node.js๋Š” `v24.16.0`, npm์€ `11.16.0` ๋ฒ„์ „์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. +LibreChat ์˜์กด์„ฑ์„ ์„ค์น˜ํ•˜๊ธฐ ์ „์— Node.js๋Š” `v24.22.1`, npm์€ `11.16.0` ๋ฒ„์ „์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ## ์„ค์น˜ ๋‹จ๊ณ„ [#installation-steps] diff --git a/content/docs/local/npm.mdx b/content/docs/local/npm.mdx index c872b2502..6ceb28b52 100644 --- a/content/docs/local/npm.mdx +++ b/content/docs/local/npm.mdx @@ -8,7 +8,7 @@ For most scenarios, Docker Compose is the recommended installation method due to ## Prerequisites -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChat uses CommonJS (CJS) and openid-client v6; Node 24 satisfies the required CJS/ESM interop, WebCrypto, and Fetch API runtime support. @@ -22,14 +22,14 @@ For most scenarios, Docker Compose is the recommended installation method due to If you use `nvm`, install and select the recommended Node.js version, then update npm: ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -You should see `v24.16.0` for Node.js and `11.16.0` for npm before installing LibreChat +You should see `v24.22.1` for Node.js and `11.16.0` for npm before installing LibreChat dependencies. ## Installation Steps diff --git a/content/docs/local/npm.nl.mdx b/content/docs/local/npm.nl.mdx index 8aa2f001f..29a26cfa0 100644 --- a/content/docs/local/npm.nl.mdx +++ b/content/docs/local/npm.nl.mdx @@ -8,7 +8,7 @@ Voor de meeste scenario's is Docker Compose de aanbevolen installatiemethode van ## Vereisten [#prerequisites] -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChat gebruikt CommonJS (CJS) en openid-client v6; Node 24 voldoet aan de vereiste CJS/ESM interop, WebCrypto en Fetch API runtime-ondersteuning. - Git: https://git-scm.com/download/ @@ -19,14 +19,14 @@ Voor de meeste scenario's is Docker Compose de aanbevolen installatiemethode van Als je `nvm` gebruikt, installeer en selecteer dan de aanbevolen Node.js-versie en update vervolgens npm: ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -Je zou `v24.16.0` voor Node.js en `11.16.0` voor npm moeten zien voordat je de LibreChat dependencies installeert. +Je zou `v24.22.1` voor Node.js en `11.16.0` voor npm moeten zien voordat je de LibreChat dependencies installeert. ## Installatiestappen [#installation-steps] diff --git a/content/docs/local/npm.pl.mdx b/content/docs/local/npm.pl.mdx index 9a664c8e9..44c13e721 100644 --- a/content/docs/local/npm.pl.mdx +++ b/content/docs/local/npm.pl.mdx @@ -8,7 +8,7 @@ W wiฤ™kszoล›ci scenariuszy Docker Compose jest zalecanฤ… metodฤ… instalacji ze w ## Wymagania wstฤ™pne [#prerequisites] -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChat uลผywa CommonJS (CJS) oraz openid-client v6; Node 24 zapewnia wymaganฤ… obsล‚ugฤ™ wspรณล‚dziaล‚ania CJS/ESM, WebCrypto oraz API Fetch w ล›rodowisku uruchomieniowym. - Git: https://git-scm.com/download/ @@ -19,14 +19,14 @@ W wiฤ™kszoล›ci scenariuszy Docker Compose jest zalecanฤ… metodฤ… instalacji ze w Jeล›li uลผywasz `nvm`, zainstaluj i wybierz zalecanฤ… wersjฤ™ Node.js, a nastฤ™pnie zaktualizuj npm: ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -Powinieneล› zobaczyฤ‡ `v24.16.0` dla Node.js oraz `11.16.0` dla npm przed zainstalowaniem zaleลผnoล›ci LibreChat. +Powinieneล› zobaczyฤ‡ `v24.22.1` dla Node.js oraz `11.16.0` dla npm przed zainstalowaniem zaleลผnoล›ci LibreChat. ## Kroki instalacji [#installation-steps] diff --git a/content/docs/local/npm.pt-BR.mdx b/content/docs/local/npm.pt-BR.mdx index 7e087059a..33159f4e0 100644 --- a/content/docs/local/npm.pt-BR.mdx +++ b/content/docs/local/npm.pt-BR.mdx @@ -8,7 +8,7 @@ Para a maioria dos cenรกrios, o Docker Compose รฉ o mรฉtodo de instalaรงรฃo reco ## Prรฉ-requisitos [#prerequisites] -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - O LibreChat utiliza CommonJS (CJS) e o openid-client v6; o Node 24 atende aos requisitos de suporte de tempo de execuรงรฃo para interoperabilidade CJS/ESM, WebCrypto e Fetch API. - Git: https://git-scm.com/download/ @@ -19,14 +19,14 @@ Para a maioria dos cenรกrios, o Docker Compose รฉ o mรฉtodo de instalaรงรฃo reco Se vocรช usa o `nvm`, instale e selecione a versรฃo recomendada do Node.js, entรฃo atualize o npm: ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -Vocรช deve ver `v24.16.0` para o Node.js e `11.16.0` para o npm antes de instalar as dependรชncias do LibreChat. +Vocรช deve ver `v24.22.1` para o Node.js e `11.16.0` para o npm antes de instalar as dependรชncias do LibreChat. ## Etapas de instalaรงรฃo [#installation-steps] diff --git a/content/docs/local/npm.tr.mdx b/content/docs/local/npm.tr.mdx index a4e95376a..8f974ed5d 100644 --- a/content/docs/local/npm.tr.mdx +++ b/content/docs/local/npm.tr.mdx @@ -8,7 +8,7 @@ description: npm kullanarak LibreChat'i yerel olarak nasฤฑl kurarsฤฑnฤฑz ## ร–n KoลŸullar [#prerequisites] -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChat, CommonJS (CJS) ve openid-client v6 kullanฤฑr; Node 24, gerekli CJS/ESM birlikte รงalฤฑลŸabilirliฤŸini, WebCrypto ve Fetch API รงalฤฑลŸma zamanฤฑ desteฤŸini karลŸฤฑlar. - Git: https://git-scm.com/download/ @@ -19,14 +19,14 @@ description: npm kullanarak LibreChat'i yerel olarak nasฤฑl kurarsฤฑnฤฑz `nvm` kullanฤฑyorsanฤฑz, รถnerilen Node.js sรผrรผmรผnรผ yรผkleyip seรงin ve ardฤฑndan npm'i gรผncelleyin: ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -LibreChat baฤŸฤฑmlฤฑlฤฑklarฤฑnฤฑ yรผklemeden รถnce Node.js iรงin `v24.16.0` ve npm iรงin `11.16.0` sรผrรผmlerini gรถrmelisiniz. +LibreChat baฤŸฤฑmlฤฑlฤฑklarฤฑnฤฑ yรผklemeden รถnce Node.js iรงin `v24.22.1` ve npm iรงin `11.16.0` sรผrรผmlerini gรถrmelisiniz. ## Kurulum Adฤฑmlarฤฑ [#installation-steps] diff --git a/content/docs/local/npm.vi.mdx b/content/docs/local/npm.vi.mdx index 05fcadd1d..230cfaedd 100644 --- a/content/docs/local/npm.vi.mdx +++ b/content/docs/local/npm.vi.mdx @@ -8,7 +8,7 @@ description: Cรกch cร i ฤ‘แบทt LibreChat cแปฅc bแป™ bแบฑng npm ## ฤiแปu kiแป‡n tiรชn quyแบฟt [#prerequisites] -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChat sแปญ dแปฅng CommonJS (CJS) vร  openid-client v6; Node 24 ฤ‘รกp แปฉng cรกc yรชu cแบงu vแป khแบฃ nฤƒng tฦฐฦกng tรกc CJS/ESM, WebCrypto vร  hแป— trแปฃ runtime Fetch API. - Git: https://git-scm.com/download/ @@ -19,14 +19,14 @@ description: Cรกch cร i ฤ‘แบทt LibreChat cแปฅc bแป™ bแบฑng npm Nแบฟu bแบกn sแปญ dแปฅng `nvm`, hรฃy cร i ฤ‘แบทt vร  chแปn phiรชn bแบฃn Node.js ฤ‘ฦฐแปฃc khuyแบฟn nghแป‹, sau ฤ‘รณ cแบญp nhแบญt npm: ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -Bแบกn sแบฝ thแบฅy `v24.16.0` cho Node.js vร  `11.16.0` cho npm trฦฐแป›c khi cร i ฤ‘แบทt cรกc phแปฅ thuแป™c cแปงa LibreChat. +Bแบกn sแบฝ thแบฅy `v24.22.1` cho Node.js vร  `11.16.0` cho npm trฦฐแป›c khi cร i ฤ‘แบทt cรกc phแปฅ thuแป™c cแปงa LibreChat. ## Cรกc bฦฐแป›c cร i ฤ‘แบทt [#installation-steps] diff --git a/content/docs/local/npm.zh.mdx b/content/docs/local/npm.zh.mdx index 952451fab..498faf5b3 100644 --- a/content/docs/local/npm.zh.mdx +++ b/content/docs/local/npm.zh.mdx @@ -8,7 +8,7 @@ description: ๅฆ‚ไฝ•ไฝฟ็”จ npm ๅœจๆœฌๅœฐๅฎ‰่ฃ… LibreChat ## ๅ…ˆๅ†ณๆกไปถ [#prerequisites] -- Node.js `v24.16.0`: [https://nodejs.org/en/download](https://nodejs.org/en/download) +- Node.js `v24.22.1`: [https://nodejs.org/en/download](https://nodejs.org/en/download) - npm `v11.16.0` - LibreChat ไฝฟ็”จ CommonJS (CJS) ๅ’Œ openid-client v6๏ผ›Node 24 ๆปก่ถณไบ†ๆ‰€้œ€็š„ CJS/ESM ไบ’ๆ“ไฝœๆ€งใ€WebCrypto ๅ’Œ Fetch API ่ฟ่กŒๆ—ถๆ”ฏๆŒใ€‚ - Git: https://git-scm.com/download/ @@ -19,14 +19,14 @@ description: ๅฆ‚ไฝ•ไฝฟ็”จ npm ๅœจๆœฌๅœฐๅฎ‰่ฃ… LibreChat ๅฆ‚ๆžœๆ‚จไฝฟ็”จ `nvm`๏ผŒ่ฏทๅฎ‰่ฃ…ๅนถ้€‰ๆ‹ฉๆŽจ่็š„ Node.js ็‰ˆๆœฌ๏ผŒ็„ถๅŽๆ›ดๆ–ฐ npm๏ผš ```bash filename="Use Node.js 24 and npm 11" -nvm install 24.16.0 -nvm use 24.16.0 +nvm install 24.22.1 +nvm use 24.22.1 npm install -g npm@11.16.0 node -v npm -v ``` -ๅœจๅฎ‰่ฃ… LibreChat ไพ่ต–้กนไน‹ๅ‰๏ผŒไฝ ๅบ”่ฏฅ็œ‹ๅˆฐ Node.js ็š„็‰ˆๆœฌไธบ `v24.16.0`๏ผŒnpm ็š„็‰ˆๆœฌไธบ `11.16.0`ใ€‚ +ๅœจๅฎ‰่ฃ… LibreChat ไพ่ต–้กนไน‹ๅ‰๏ผŒไฝ ๅบ”่ฏฅ็œ‹ๅˆฐ Node.js ็š„็‰ˆๆœฌไธบ `v24.22.1`๏ผŒnpm ็š„็‰ˆๆœฌไธบ `11.16.0`ใ€‚ ## ๅฎ‰่ฃ…ๆญฅ้ชค [#installation-steps] diff --git a/content/docs/quick_start/custom_endpoints.de.mdx b/content/docs/quick_start/custom_endpoints.de.mdx index 2108a0a30..7f477a472 100644 --- a/content/docs/quick_start/custom_endpoints.de.mdx +++ b/content/docs/quick_start/custom_endpoints.de.mdx @@ -54,7 +54,7 @@ Erstellen Sie eine `librechat.yaml` Datei im Projektstammverzeichnis (falls dies Hier ist ein Beispiel mit **OpenRouter**, **Ollama** und einem Anthropic-kompatiblen Gateway: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.es.mdx b/content/docs/quick_start/custom_endpoints.es.mdx index e61ab5b8a..a60395c44 100644 --- a/content/docs/quick_start/custom_endpoints.es.mdx +++ b/content/docs/quick_start/custom_endpoints.es.mdx @@ -54,7 +54,7 @@ Cree un archivo `librechat.yaml` en la raรญz del proyecto (si no existe) y aรฑad Aquรญ hay un ejemplo con **OpenRouter**, **Ollama** y una pasarela compatible con Anthropic: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.fr.mdx b/content/docs/quick_start/custom_endpoints.fr.mdx index 3631f2fc0..f273703cf 100644 --- a/content/docs/quick_start/custom_endpoints.fr.mdx +++ b/content/docs/quick_start/custom_endpoints.fr.mdx @@ -54,7 +54,7 @@ Crรฉez un fichier `librechat.yaml` ร  la racine du projet (s'il n'existe pas) et Voici un exemple avec **OpenRouter**, **Ollama** et une passerelle compatible Anthropic : ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.id.mdx b/content/docs/quick_start/custom_endpoints.id.mdx index c2b82d72f..c7d089431 100644 --- a/content/docs/quick_start/custom_endpoints.id.mdx +++ b/content/docs/quick_start/custom_endpoints.id.mdx @@ -54,7 +54,7 @@ Buat file `librechat.yaml` di root proyek (jika belum ada) dan tambahkan konfigu Berikut adalah contoh dengan **OpenRouter**, **Ollama**, dan gateway yang kompatibel dengan Anthropic: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.it.mdx b/content/docs/quick_start/custom_endpoints.it.mdx index 1063a4a25..566d8d55d 100644 --- a/content/docs/quick_start/custom_endpoints.it.mdx +++ b/content/docs/quick_start/custom_endpoints.it.mdx @@ -54,7 +54,7 @@ Crea un file `librechat.yaml` nella root del progetto (se non esiste) e aggiungi Ecco un esempio con **OpenRouter**, **Ollama** e un gateway compatibile con Anthropic: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.ja.mdx b/content/docs/quick_start/custom_endpoints.ja.mdx index 024bd9e7f..0b3658df6 100644 --- a/content/docs/quick_start/custom_endpoints.ja.mdx +++ b/content/docs/quick_start/custom_endpoints.ja.mdx @@ -53,7 +53,7 @@ services: ไปฅไธ‹ใฏใ€**OpenRouter**ใ€**Ollama**ใ€ใŠใ‚ˆใณ Anthropic ไบ’ๆ›ใ‚ฒใƒผใƒˆใ‚ฆใ‚งใ‚คใ‚’ไฝฟ็”จใ—ใŸไพ‹ใงใ™๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.ko.mdx b/content/docs/quick_start/custom_endpoints.ko.mdx index d9c07bbe5..587fd2d2a 100644 --- a/content/docs/quick_start/custom_endpoints.ko.mdx +++ b/content/docs/quick_start/custom_endpoints.ko.mdx @@ -54,7 +54,7 @@ services: ๋‹ค์Œ์€ **OpenRouter**, **Ollama** ๋ฐ Anthropic ํ˜ธํ™˜ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์‚ฌ์šฉํ•œ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.mdx b/content/docs/quick_start/custom_endpoints.mdx index 2e4fb626b..49eb9cb00 100644 --- a/content/docs/quick_start/custom_endpoints.mdx +++ b/content/docs/quick_start/custom_endpoints.mdx @@ -52,7 +52,7 @@ Create a `librechat.yaml` file in the project root (if it does not exist) and ad Here is an example with **OpenRouter**, **Ollama**, and an Anthropic-compatible gateway: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.nl.mdx b/content/docs/quick_start/custom_endpoints.nl.mdx index 468d72b55..c4e4a5547 100644 --- a/content/docs/quick_start/custom_endpoints.nl.mdx +++ b/content/docs/quick_start/custom_endpoints.nl.mdx @@ -54,7 +54,7 @@ Maak een `librechat.yaml` bestand aan in de hoofdmap van het project (als dit no Hier is een voorbeeld met **OpenRouter**, **Ollama** en een Anthropic-compatibele gateway: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.pl.mdx b/content/docs/quick_start/custom_endpoints.pl.mdx index 630b405ab..f6ef878bd 100644 --- a/content/docs/quick_start/custom_endpoints.pl.mdx +++ b/content/docs/quick_start/custom_endpoints.pl.mdx @@ -54,7 +54,7 @@ Utwรณrz plik `librechat.yaml` w katalogu gล‚รณwnym projektu (jeล›li jeszcze nie Oto przykล‚ad z **OpenRouter**, **Ollama** oraz bramkฤ… kompatybilnฤ… z Anthropic: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.pt-BR.mdx b/content/docs/quick_start/custom_endpoints.pt-BR.mdx index 5c9bdc2e2..303801777 100644 --- a/content/docs/quick_start/custom_endpoints.pt-BR.mdx +++ b/content/docs/quick_start/custom_endpoints.pt-BR.mdx @@ -54,7 +54,7 @@ Crie um arquivo `librechat.yaml` na raiz do projeto (caso ele nรฃo exista) e adi Aqui estรก um exemplo com **OpenRouter**, **Ollama** e um gateway compatรญvel com Anthropic: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.tr.mdx b/content/docs/quick_start/custom_endpoints.tr.mdx index 1ffb26d98..33af4f433 100644 --- a/content/docs/quick_start/custom_endpoints.tr.mdx +++ b/content/docs/quick_start/custom_endpoints.tr.mdx @@ -54,7 +54,7 @@ Proje kรถk dizininde bir `librechat.yaml` dosyasฤฑ oluลŸturun (eฤŸer mevcut deฤŸ ฤฐลŸte **OpenRouter**, **Ollama** ve Anthropic uyumlu bir aฤŸ geรงidi ile bir รถrnek: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.vi.mdx b/content/docs/quick_start/custom_endpoints.vi.mdx index e6f6bf3b1..382d7fd3f 100644 --- a/content/docs/quick_start/custom_endpoints.vi.mdx +++ b/content/docs/quick_start/custom_endpoints.vi.mdx @@ -54,7 +54,7 @@ Tแบกo mแป™t tแป‡p `librechat.yaml` trong thฦฐ mแปฅc gแป‘c cแปงa dแปฑ รกn (nแบฟu Dฦฐแป›i ฤ‘รขy lร  mแป™t vรญ dแปฅ vแป›i **OpenRouter**, **Ollama** vร  mแป™t gateway tฦฐฦกng thรญch vแป›i Anthropic: ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/quick_start/custom_endpoints.zh.mdx b/content/docs/quick_start/custom_endpoints.zh.mdx index 211faea31..219d1f62b 100644 --- a/content/docs/quick_start/custom_endpoints.zh.mdx +++ b/content/docs/quick_start/custom_endpoints.zh.mdx @@ -54,7 +54,7 @@ services: ไปฅไธ‹ๆ˜ฏไฝฟ็”จ **OpenRouter**ใ€**Ollama** ๅ’Œๅ…ผๅฎน Anthropic ็š„็ฝ‘ๅ…ณ็š„็คบไพ‹๏ผš ```yaml filename="librechat.yaml" -version: 1.3.17 +version: 1.3.18 cache: true endpoints: custom: diff --git a/content/docs/remote/docker_linux.de.mdx b/content/docs/remote/docker_linux.de.mdx index 9864190b1..2b9b84d47 100644 --- a/content/docs/remote/docker_linux.de.mdx +++ b/content/docs/remote/docker_linux.de.mdx @@ -150,7 +150,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> Hinweis: Dies kann veraltete Node.js- und npm-Versionen installieren. Wenn Sie LibreChat direkt auf dem Host ausfรผhren, verwenden Sie Node.js `v24.16.0` mit npm `v11.16.0`. Fรผr diese Docker-basierte Anleitung spielt die Node.js-Version des Hosts keine Rolle, da LibreChat innerhalb von Containern ausgefรผhrt wird. +> Hinweis: Dies kann veraltete Node.js- und npm-Versionen installieren. Wenn Sie LibreChat direkt auf dem Host ausfรผhren, verwenden Sie Node.js `v24.22.1` mit npm `v11.16.0`. Fรผr diese Docker-basierte Anleitung spielt die Node.js-Version des Hosts keine Rolle, da LibreChat innerhalb von Containern ausgefรผhrt wird. **Ok, jetzt, da du das Droplet eingerichtet hast, wirst du nun die App selbst einrichten** @@ -189,7 +189,7 @@ Sie gelangen nun zum Editor-Bildschirm, in den Sie Folgendes einfรผgen kรถnnen: # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.es.mdx b/content/docs/remote/docker_linux.es.mdx index d31465372..17d2b5cb1 100644 --- a/content/docs/remote/docker_linux.es.mdx +++ b/content/docs/remote/docker_linux.es.mdx @@ -150,7 +150,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> Nota: esto puede instalar versiones antiguas de Node.js y npm. Si ejecuta LibreChat directamente en el host, utilice Node.js `v24.16.0` con npm `v11.16.0`. Para esta guรญa basada en Docker, la versiรณn de Node.js del host no importa porque LibreChat se ejecuta dentro de contenedores. +> Nota: esto puede instalar versiones antiguas de Node.js y npm. Si ejecuta LibreChat directamente en el host, utilice Node.js `v24.22.1` con npm `v11.16.0`. Para esta guรญa basada en Docker, la versiรณn de Node.js del host no importa porque LibreChat se ejecuta dentro de contenedores. **Ok, ahora que has configurado el Droplet, procederรกs a configurar la aplicaciรณn en sรญ** @@ -189,7 +189,7 @@ Entrarรกs en la pantalla del editor y podrรกs pegar lo siguiente: # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.fr.mdx b/content/docs/remote/docker_linux.fr.mdx index 40f4a9573..000224b10 100644 --- a/content/docs/remote/docker_linux.fr.mdx +++ b/content/docs/remote/docker_linux.fr.mdx @@ -150,7 +150,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> Remarque : cela peut installer d'anciennes versions de Node.js et npm. Si vous exรฉcutez LibreChat directement sur l'hรดte, utilisez Node.js `v24.16.0` avec npm `v11.16.0`. Pour ce guide basรฉ sur Docker, la version de Node.js de l'hรดte n'a pas d'importance car LibreChat s'exรฉcute ร  l'intรฉrieur de conteneurs. +> Remarque : cela peut installer d'anciennes versions de Node.js et npm. Si vous exรฉcutez LibreChat directement sur l'hรดte, utilisez Node.js `v24.22.1` avec npm `v11.16.0`. Pour ce guide basรฉ sur Docker, la version de Node.js de l'hรดte n'a pas d'importance car LibreChat s'exรฉcute ร  l'intรฉrieur de conteneurs. **Ok, maintenant que vous avez configurรฉ le Droplet, vous allez maintenant configurer l'application elle-mรชme** @@ -189,7 +189,7 @@ Vous accรฉderez ร  l'รฉcran de l'รฉditeur, et vous pourrez coller ce qui suit : # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.id.mdx b/content/docs/remote/docker_linux.id.mdx index 215952707..7ca1bd597 100644 --- a/content/docs/remote/docker_linux.id.mdx +++ b/content/docs/remote/docker_linux.id.mdx @@ -150,7 +150,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> Catatan: ini mungkin menginstal versi Node.js dan npm yang lama. Jika Anda menjalankan LibreChat secara langsung di host, gunakan Node.js `v24.16.0` dengan npm `v11.16.0`. Untuk panduan berbasis Docker ini, versi Node.js pada host tidak berpengaruh karena LibreChat berjalan di dalam container. +> Catatan: ini mungkin menginstal versi Node.js dan npm yang lama. Jika Anda menjalankan LibreChat secara langsung di host, gunakan Node.js `v24.22.1` dengan npm `v11.16.0`. Untuk panduan berbasis Docker ini, versi Node.js pada host tidak berpengaruh karena LibreChat berjalan di dalam container. **Oke, sekarang setelah Anda menyiapkan Droplet, Anda akan menyiapkan aplikasinya itu sendiri** @@ -189,7 +189,7 @@ Anda akan masuk ke layar editor, dan Anda dapat menempelkan kode berikut: # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.it.mdx b/content/docs/remote/docker_linux.it.mdx index befb09e0b..c747b063b 100644 --- a/content/docs/remote/docker_linux.it.mdx +++ b/content/docs/remote/docker_linux.it.mdx @@ -150,7 +150,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> Nota: questo potrebbe installare versioni obsolete di Node.js e npm. Se esegui LibreChat direttamente sull'host, utilizza Node.js `v24.16.0` con npm `v11.16.0`. Per questa guida basata su Docker, la versione di Node.js dell'host non รจ rilevante poichรฉ LibreChat viene eseguito all'interno dei container. +> Nota: questo potrebbe installare versioni obsolete di Node.js e npm. Se esegui LibreChat direttamente sull'host, utilizza Node.js `v24.22.1` con npm `v11.16.0`. Per questa guida basata su Docker, la versione di Node.js dell'host non รจ rilevante poichรฉ LibreChat viene eseguito all'interno dei container. **Ok, ora che hai configurato il Droplet, procederai con la configurazione dell'app stessa** @@ -189,7 +189,7 @@ Entrerai nella schermata dell'editor e potrai incollare quanto segue: # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.ja.mdx b/content/docs/remote/docker_linux.ja.mdx index fb3127329..60683f061 100644 --- a/content/docs/remote/docker_linux.ja.mdx +++ b/content/docs/remote/docker_linux.ja.mdx @@ -148,7 +148,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> ๆณจ: ใ“ใ‚Œใซใ‚ˆใ‚Šใ€ๅคใ„ใƒใƒผใ‚ธใƒงใƒณใฎ Node.js ใŠใ‚ˆใณ npm ใŒใ‚คใƒณใ‚นใƒˆใƒผใƒซใ•ใ‚Œใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚LibreChat ใ‚’ใƒ›ใ‚นใƒˆไธŠใง็›ดๆŽฅๅฎŸ่กŒใ™ใ‚‹ๅ ดๅˆใฏใ€Node.js `v24.16.0` ใŠใ‚ˆใณ npm `v11.16.0` ใ‚’ไฝฟ็”จใ—ใฆใใ ใ•ใ„ใ€‚ใ“ใฎ Docker ใƒ™ใƒผใ‚นใฎใ‚ฌใ‚คใƒ‰ใงใฏใ€LibreChat ใฏใ‚ณใƒณใƒ†ใƒŠๅ†…ใงๅฎŸ่กŒใ•ใ‚Œใ‚‹ใŸใ‚ใ€ใƒ›ใ‚นใƒˆๅดใฎ Node.js ใƒใƒผใ‚ธใƒงใƒณใฏ้–ขไฟ‚ใ‚ใ‚Šใพใ›ใ‚“ใ€‚ +> ๆณจ: ใ“ใ‚Œใซใ‚ˆใ‚Šใ€ๅคใ„ใƒใƒผใ‚ธใƒงใƒณใฎ Node.js ใŠใ‚ˆใณ npm ใŒใ‚คใƒณใ‚นใƒˆใƒผใƒซใ•ใ‚Œใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚LibreChat ใ‚’ใƒ›ใ‚นใƒˆไธŠใง็›ดๆŽฅๅฎŸ่กŒใ™ใ‚‹ๅ ดๅˆใฏใ€Node.js `v24.22.1` ใŠใ‚ˆใณ npm `v11.16.0` ใ‚’ไฝฟ็”จใ—ใฆใใ ใ•ใ„ใ€‚ใ“ใฎ Docker ใƒ™ใƒผใ‚นใฎใ‚ฌใ‚คใƒ‰ใงใฏใ€LibreChat ใฏใ‚ณใƒณใƒ†ใƒŠๅ†…ใงๅฎŸ่กŒใ•ใ‚Œใ‚‹ใŸใ‚ใ€ใƒ›ใ‚นใƒˆๅดใฎ Node.js ใƒใƒผใ‚ธใƒงใƒณใฏ้–ขไฟ‚ใ‚ใ‚Šใพใ›ใ‚“ใ€‚ **Dropletใฎใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—ใŒๅฎŒไบ†ใ—ใพใ—ใŸใฎใงใ€ๆฌกใฏใ‚ขใƒ—ใƒช่‡ชไฝ“ใฎใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—ใ‚’่กŒใ„ใพใ™ใ€‚** @@ -187,7 +187,7 @@ nano librechat.yaml # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.ko.mdx b/content/docs/remote/docker_linux.ko.mdx index f7655c16f..9f4bd9fa0 100644 --- a/content/docs/remote/docker_linux.ko.mdx +++ b/content/docs/remote/docker_linux.ko.mdx @@ -148,7 +148,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> ์ฐธ๊ณ : ์ด ๋ฐฉ๋ฒ•์€ ๊ตฌ๋ฒ„์ „ Node.js ๋ฐ npm์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. LibreChat์„ ํ˜ธ์ŠคํŠธ์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ, Node.js `v24.16.0` ๋ฐ npm `v11.16.0`์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ด Docker ๊ธฐ๋ฐ˜ ๊ฐ€์ด๋“œ์˜ ๊ฒฝ์šฐ, LibreChat์ด ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ํ˜ธ์ŠคํŠธ์˜ Node.js ๋ฒ„์ „์€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. +> ์ฐธ๊ณ : ์ด ๋ฐฉ๋ฒ•์€ ๊ตฌ๋ฒ„์ „ Node.js ๋ฐ npm์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. LibreChat์„ ํ˜ธ์ŠคํŠธ์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ, Node.js `v24.22.1` ๋ฐ npm `v11.16.0`์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ด Docker ๊ธฐ๋ฐ˜ ๊ฐ€์ด๋“œ์˜ ๊ฒฝ์šฐ, LibreChat์ด ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ํ˜ธ์ŠคํŠธ์˜ Node.js ๋ฒ„์ „์€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. **์ข‹์Šต๋‹ˆ๋‹ค. ์ด์ œ Droplet ์„ค์ •์ด ์™„๋ฃŒ๋˜์—ˆ์œผ๋‹ˆ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์ฒด๋ฅผ ์„ค์ •ํ•  ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค.** @@ -187,7 +187,7 @@ nano librechat.yaml # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.mdx b/content/docs/remote/docker_linux.mdx index 606a34f4f..bacc03027 100644 --- a/content/docs/remote/docker_linux.mdx +++ b/content/docs/remote/docker_linux.mdx @@ -148,7 +148,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> Note: this may install old Node.js and npm versions. If you run LibreChat directly on the host, use Node.js `v24.16.0` with npm `v11.16.0`. For this Docker-based guide, the host Node.js version does not matter because LibreChat runs inside containers. +> Note: this may install old Node.js and npm versions. If you run LibreChat directly on the host, use Node.js `v24.22.1` with npm `v11.16.0`. For this Docker-based guide, the host Node.js version does not matter because LibreChat runs inside containers. **Ok, now that you have set up the Droplet, you will now setup the app itself** @@ -187,7 +187,7 @@ You will enter the editor screen, and you can paste the following: # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.nl.mdx b/content/docs/remote/docker_linux.nl.mdx index 3cdbeee59..4142ad5aa 100644 --- a/content/docs/remote/docker_linux.nl.mdx +++ b/content/docs/remote/docker_linux.nl.mdx @@ -150,7 +150,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> Let op: dit kan oude Node.js- en npm-versies installeren. Als je LibreChat rechtstreeks op de host draait, gebruik dan Node.js `v24.16.0` met npm `v11.16.0`. Voor deze op Docker gebaseerde handleiding maakt de Node.js-versie van de host niet uit, omdat LibreChat binnen containers draait. +> Let op: dit kan oude Node.js- en npm-versies installeren. Als je LibreChat rechtstreeks op de host draait, gebruik dan Node.js `v24.22.1` met npm `v11.16.0`. Voor deze op Docker gebaseerde handleiding maakt de Node.js-versie van de host niet uit, omdat LibreChat binnen containers draait. **Okรฉ, nu je de Droplet hebt ingesteld, ga je nu de app zelf instellen** @@ -189,7 +189,7 @@ Je komt in het editor-scherm terecht, waar je het volgende kunt plakken: # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.pl.mdx b/content/docs/remote/docker_linux.pl.mdx index 926048424..3b630f61a 100644 --- a/content/docs/remote/docker_linux.pl.mdx +++ b/content/docs/remote/docker_linux.pl.mdx @@ -150,7 +150,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> Uwaga: moลผe to zainstalowaฤ‡ starsze wersje Node.js i npm. Jeล›li uruchamiasz LibreChat bezpoล›rednio na hoล›cie, uลผyj Node.js `v24.16.0` z npm `v11.16.0`. W przypadku tego przewodnika opartego na Docker, wersja Node.js na hoล›cie nie ma znaczenia, poniewaลผ LibreChat dziaล‚a wewnฤ…trz kontenerรณw. +> Uwaga: moลผe to zainstalowaฤ‡ starsze wersje Node.js i npm. Jeล›li uruchamiasz LibreChat bezpoล›rednio na hoล›cie, uลผyj Node.js `v24.22.1` z npm `v11.16.0`. W przypadku tego przewodnika opartego na Docker, wersja Node.js na hoล›cie nie ma znaczenia, poniewaลผ LibreChat dziaล‚a wewnฤ…trz kontenerรณw. **Ok, teraz, gdy skonfigurowaล‚eล› Droplet, przejdziesz do konfiguracji samej aplikacji** @@ -189,7 +189,7 @@ Przejdziesz do ekranu edytora, gdzie moลผesz wkleiฤ‡ poniลผszฤ… zawartoล›ฤ‡: # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.pt-BR.mdx b/content/docs/remote/docker_linux.pt-BR.mdx index f9ff59033..fa2d4223f 100644 --- a/content/docs/remote/docker_linux.pt-BR.mdx +++ b/content/docs/remote/docker_linux.pt-BR.mdx @@ -150,7 +150,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> Nota: isso pode instalar versรตes antigas do Node.js e npm. Se vocรช executar o LibreChat diretamente no host, use o Node.js `v24.16.0` com o npm `v11.16.0`. Para este guia baseado em Docker, a versรฃo do Node.js no host nรฃo importa, pois o LibreChat รฉ executado dentro de containers. +> Nota: isso pode instalar versรตes antigas do Node.js e npm. Se vocรช executar o LibreChat diretamente no host, use o Node.js `v24.22.1` com o npm `v11.16.0`. Para este guia baseado em Docker, a versรฃo do Node.js no host nรฃo importa, pois o LibreChat รฉ executado dentro de containers. **Ok, agora que vocรช configurou o Droplet, vocรช configurarรก o prรณprio aplicativo** @@ -189,7 +189,7 @@ Vocรช entrarรก na tela do editor e poderรก colar o seguinte: # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.tr.mdx b/content/docs/remote/docker_linux.tr.mdx index 0a88fda2a..32b6397bb 100644 --- a/content/docs/remote/docker_linux.tr.mdx +++ b/content/docs/remote/docker_linux.tr.mdx @@ -150,7 +150,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> Not: bu iลŸlem eski Node.js ve npm sรผrรผmlerini yรผkleyebilir. LibreChat'i doฤŸrudan ana makinede รงalฤฑลŸtฤฑrฤฑyorsanฤฑz, npm `v11.16.0` ile Node.js `v24.16.0` kullanฤฑn. Bu Docker tabanlฤฑ kฤฑlavuz iรงin, LibreChat konteynerler iรงinde รงalฤฑลŸtฤฑฤŸฤฑndan ana makinedeki Node.js sรผrรผmรผ รถnemli deฤŸildir. +> Not: bu iลŸlem eski Node.js ve npm sรผrรผmlerini yรผkleyebilir. LibreChat'i doฤŸrudan ana makinede รงalฤฑลŸtฤฑrฤฑyorsanฤฑz, npm `v11.16.0` ile Node.js `v24.22.1` kullanฤฑn. Bu Docker tabanlฤฑ kฤฑlavuz iรงin, LibreChat konteynerler iรงinde รงalฤฑลŸtฤฑฤŸฤฑndan ana makinedeki Node.js sรผrรผmรผ รถnemli deฤŸildir. **Tamam, artฤฑk Droplet'i kurduฤŸunuza gรถre, ลŸimdi uygulamanฤฑn kendisini kuracaksฤฑnฤฑz** @@ -189,7 +189,7 @@ Dรผzenleyici ekranฤฑna gireceksiniz ve aลŸaฤŸฤฑdakileri yapฤฑลŸtฤฑrabilirsiniz: # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.vi.mdx b/content/docs/remote/docker_linux.vi.mdx index 9a4ea8240..35f60ff69 100644 --- a/content/docs/remote/docker_linux.vi.mdx +++ b/content/docs/remote/docker_linux.vi.mdx @@ -150,7 +150,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> Lฦฐu รฝ: viแป‡c nร y cรณ thแปƒ cร i ฤ‘แบทt cรกc phiรชn bแบฃn Node.js vร  npm cลฉ. Nแบฟu bแบกn chแบกy LibreChat trแปฑc tiแบฟp trรชn mรกy chแปง, hรฃy sแปญ dแปฅng Node.js `v24.16.0` vแป›i npm `v11.16.0`. ฤแป‘i vแป›i hฦฐแป›ng dแบซn dแปฑa trรชn Docker nร y, phiรชn bแบฃn Node.js trรชn mรกy chแปง khรดng quan trแปng vรฌ LibreChat chแบกy bรชn trong cรกc container. +> Lฦฐu รฝ: viแป‡c nร y cรณ thแปƒ cร i ฤ‘แบทt cรกc phiรชn bแบฃn Node.js vร  npm cลฉ. Nแบฟu bแบกn chแบกy LibreChat trแปฑc tiแบฟp trรชn mรกy chแปง, hรฃy sแปญ dแปฅng Node.js `v24.22.1` vแป›i npm `v11.16.0`. ฤแป‘i vแป›i hฦฐแป›ng dแบซn dแปฑa trรชn Docker nร y, phiรชn bแบฃn Node.js trรชn mรกy chแปง khรดng quan trแปng vรฌ LibreChat chแบกy bรชn trong cรกc container. **ฤฦฐแปฃc rแป“i, bรขy giแป bแบกn ฤ‘รฃ thiแบฟt lแบญp xong Droplet, bแบกn sแบฝ tiแบฟn hร nh thiแบฟt lแบญp chรญnh แปฉng dแปฅng nร y** @@ -189,7 +189,7 @@ Bแบกn sแบฝ vร o mร n hรฌnh trรฌnh chแป‰nh sแปญa vร  bแบกn cรณ thแปƒ dรกn nแป™i d # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/docker_linux.zh.mdx b/content/docs/remote/docker_linux.zh.mdx index c4925c6d0..da0696d36 100644 --- a/content/docs/remote/docker_linux.zh.mdx +++ b/content/docs/remote/docker_linux.zh.mdx @@ -148,7 +148,7 @@ npm -v ![image](https://github.com/danny-avila/LibreChat/assets/110412045/fbba1a38-95cd-4e8e-b813-04001bb82b25) -> ๆณจๆ„๏ผš่ฟ™ๅฏ่ƒฝไผšๅฎ‰่ฃ…ๆ—ง็‰ˆๆœฌ็š„ Node.js ๅ’Œ npmใ€‚ๅฆ‚ๆžœๆ‚จ็›ดๆŽฅๅœจๅฎฟไธปๆœบไธŠ่ฟ่กŒ LibreChat๏ผŒ่ฏทไฝฟ็”จ Node.js `v24.16.0` ๅ’Œ npm `v11.16.0`ใ€‚ๅฏนไบŽๆœฌ Docker ๆŒ‡ๅ—๏ผŒๅฎฟไธปๆœบ็š„ Node.js ็‰ˆๆœฌๆ— ๅ…ณ็ดง่ฆ๏ผŒๅ› ไธบ LibreChat ๆ˜ฏๅœจๅฎนๅ™จๅ†…่ฟ่กŒ็š„ใ€‚ +> ๆณจๆ„๏ผš่ฟ™ๅฏ่ƒฝไผšๅฎ‰่ฃ…ๆ—ง็‰ˆๆœฌ็š„ Node.js ๅ’Œ npmใ€‚ๅฆ‚ๆžœๆ‚จ็›ดๆŽฅๅœจๅฎฟไธปๆœบไธŠ่ฟ่กŒ LibreChat๏ผŒ่ฏทไฝฟ็”จ Node.js `v24.22.1` ๅ’Œ npm `v11.16.0`ใ€‚ๅฏนไบŽๆœฌ Docker ๆŒ‡ๅ—๏ผŒๅฎฟไธปๆœบ็š„ Node.js ็‰ˆๆœฌๆ— ๅ…ณ็ดง่ฆ๏ผŒๅ› ไธบ LibreChat ๆ˜ฏๅœจๅฎนๅ™จๅ†…่ฟ่กŒ็š„ใ€‚ **ๅฅฝไบ†๏ผŒ็Žฐๅœจไฝ ๅทฒ็ป่ฎพ็ฝฎๅฅฝไบ† Droplet๏ผŒๆŽฅไธ‹ๆฅๅฐ†่ฎพ็ฝฎๅบ”็”จๆœฌ่บซ** @@ -187,7 +187,7 @@ nano librechat.yaml # https://www.librechat.ai/docs/configuration/librechat_yaml # Configuration version (required) -version: 1.3.17 +version: 1.3.18 # This setting caches the config file for faster loading across app lifecycle cache: true ``` diff --git a/content/docs/remote/nginx.de.mdx b/content/docs/remote/nginx.de.mdx index a0aa70a9a..8f37f33fb 100644 --- a/content/docs/remote/nginx.de.mdx +++ b/content/docs/remote/nginx.de.mdx @@ -13,7 +13,7 @@ Dieser Leitfaden behandelt die wesentlichen Schritte zur Absicherung Ihrer Libre 1. Ein Cloud-Server (z. B. AWS, Google Cloud, Azure, Digital Ocean). 2. Ein registrierter Domainname. 3. Terminalzugriff auf Ihren Cloud-Server. -4. Node.js `v24.16.0` und npm `v11.16.0`, wenn Sie LibreChat direkt auf dem Host ausfรผhren. +4. Node.js `v24.22.1` und npm `v11.16.0`, wenn Sie LibreChat direkt auf dem Host ausfรผhren. ## Ersteinrichtung [#initial-setup] diff --git a/content/docs/remote/nginx.es.mdx b/content/docs/remote/nginx.es.mdx index 959aa1991..2f4305f2e 100644 --- a/content/docs/remote/nginx.es.mdx +++ b/content/docs/remote/nginx.es.mdx @@ -13,7 +13,7 @@ Esta guรญa cubre los pasos esenciales para asegurar su despliegue de LibreChat c 1. Un servidor en la nube (por ejemplo, AWS, Google Cloud, Azure, Digital Ocean). 2. Un nombre de dominio registrado. 3. Acceso de terminal a su servidor en la nube. -4. Node.js `v24.16.0` y npm `v11.16.0` si ejecutas LibreChat directamente en el host. +4. Node.js `v24.22.1` y npm `v11.16.0` si ejecutas LibreChat directamente en el host. ## Configuraciรณn inicial [#initial-setup] diff --git a/content/docs/remote/nginx.fr.mdx b/content/docs/remote/nginx.fr.mdx index 52016e38d..35565e9c1 100644 --- a/content/docs/remote/nginx.fr.mdx +++ b/content/docs/remote/nginx.fr.mdx @@ -13,7 +13,7 @@ Ce guide couvre les รฉtapes essentielles pour sรฉcuriser votre dรฉploiement Libr 1. Un serveur cloud (par ex. AWS, Google Cloud, Azure, Digital Ocean). 2. Un nom de domaine enregistrรฉ. 3. Accรจs au terminal de votre serveur cloud. -4. Node.js `v24.16.0` et npm `v11.16.0` si vous exรฉcutez LibreChat directement sur l'hรดte. +4. Node.js `v24.22.1` et npm `v11.16.0` si vous exรฉcutez LibreChat directement sur l'hรดte. ## Configuration initiale [#initial-setup] diff --git a/content/docs/remote/nginx.id.mdx b/content/docs/remote/nginx.id.mdx index 632c76ac5..c9fd9f00e 100644 --- a/content/docs/remote/nginx.id.mdx +++ b/content/docs/remote/nginx.id.mdx @@ -13,7 +13,7 @@ Panduan ini mencakup langkah-langkah penting untuk mengamankan deployment LibreC 1. Sebuah server cloud (contohnya AWS, Google Cloud, Azure, Digital Ocean). 2. Nama domain yang terdaftar. 3. Akses terminal ke server cloud Anda. -4. Node.js `v24.16.0` dan npm `v11.16.0` jika Anda menjalankan LibreChat secara langsung pada host. +4. Node.js `v24.22.1` dan npm `v11.16.0` jika Anda menjalankan LibreChat secara langsung pada host. ## Pengaturan Awal [#initial-setup] diff --git a/content/docs/remote/nginx.it.mdx b/content/docs/remote/nginx.it.mdx index a79c65ebe..e1827eda7 100644 --- a/content/docs/remote/nginx.it.mdx +++ b/content/docs/remote/nginx.it.mdx @@ -13,7 +13,7 @@ Questa guida copre i passaggi essenziali per proteggere la tua distribuzione Lib 1. Un server cloud (ad esempio, AWS, Google Cloud, Azure, Digital Ocean). 2. Un nome di dominio registrato. 3. Accesso al terminale del tuo server cloud. -4. Node.js `v24.16.0` e npm `v11.16.0` se esegui LibreChat direttamente sull'host. +4. Node.js `v24.22.1` e npm `v11.16.0` se esegui LibreChat direttamente sull'host. ## Configurazione iniziale [#initial-setup] diff --git a/content/docs/remote/nginx.ja.mdx b/content/docs/remote/nginx.ja.mdx index 9ec9bbcf9..034178956 100644 --- a/content/docs/remote/nginx.ja.mdx +++ b/content/docs/remote/nginx.ja.mdx @@ -11,7 +11,7 @@ description: Nginxใ‚’ใƒชใƒใƒผใ‚นใƒ—ใƒญใ‚ญใ‚ทใจใ—ใฆไฝฟ็”จใ—ใ€HTTPSใงLibreC 1. ใ‚ฏใƒฉใ‚ฆใƒ‰ใ‚ตใƒผใƒใƒผ๏ผˆไพ‹๏ผšAWSใ€Google Cloudใ€Azureใ€Digital Ocean๏ผ‰ใ€‚ 2. ็™ป้Œฒๆธˆใฟใฎใƒ‰ใƒกใ‚คใƒณๅใ€‚ 3. ใ‚ฏใƒฉใ‚ฆใƒ‰ใ‚ตใƒผใƒใƒผใธใฎใ‚ฟใƒผใƒŸใƒŠใƒซใ‚ขใ‚ฏใ‚ปใ‚นใ€‚ -4. LibreChatใ‚’ใƒ›ใ‚นใƒˆไธŠใง็›ดๆŽฅๅฎŸ่กŒใ™ใ‚‹ๅ ดๅˆใฏใ€Node.js `v24.16.0` ใŠใ‚ˆใณ npm `v11.16.0` ใŒๅฟ…่ฆใงใ™ใ€‚ +4. LibreChatใ‚’ใƒ›ใ‚นใƒˆไธŠใง็›ดๆŽฅๅฎŸ่กŒใ™ใ‚‹ๅ ดๅˆใฏใ€Node.js `v24.22.1` ใŠใ‚ˆใณ npm `v11.16.0` ใŒๅฟ…่ฆใงใ™ใ€‚ ## ๅˆๆœŸ่จญๅฎš [#initial-setup] diff --git a/content/docs/remote/nginx.ko.mdx b/content/docs/remote/nginx.ko.mdx index c405c4695..2bf565810 100644 --- a/content/docs/remote/nginx.ko.mdx +++ b/content/docs/remote/nginx.ko.mdx @@ -11,7 +11,7 @@ description: Nginx๋ฅผ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ๋ฐ HTTPS๋กœ ์‚ฌ์šฉํ•˜์—ฌ LibreChat 1. ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„ (์˜ˆ: AWS, Google Cloud, Azure, Digital Ocean). 2. ๋“ฑ๋ก๋œ ๋„๋ฉ”์ธ ์ด๋ฆ„. 3. ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„์— ๋Œ€ํ•œ ํ„ฐ๋ฏธ๋„ ์•ก์„ธ์Šค. -4. LibreChat์„ ํ˜ธ์ŠคํŠธ์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ Node.js `v24.16.0` ๋ฐ npm `v11.16.0`์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. +4. LibreChat์„ ํ˜ธ์ŠคํŠธ์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ Node.js `v24.22.1` ๋ฐ npm `v11.16.0`์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ## ์ดˆ๊ธฐ ์„ค์ • [#initial-setup] diff --git a/content/docs/remote/nginx.mdx b/content/docs/remote/nginx.mdx index 64f2a532d..bfa32f8e2 100644 --- a/content/docs/remote/nginx.mdx +++ b/content/docs/remote/nginx.mdx @@ -11,7 +11,7 @@ This guide covers the essential steps for securing your LibreChat deployment wit 1. A cloud server (e.g., AWS, Google Cloud, Azure, Digital Ocean). 2. A registered domain name. 3. Terminal access to your cloud server. -4. Node.js `v24.16.0` and npm `v11.16.0` if you run LibreChat directly on the host. +4. Node.js `v24.22.1` and npm `v11.16.0` if you run LibreChat directly on the host. ## Initial Setup diff --git a/content/docs/remote/nginx.nl.mdx b/content/docs/remote/nginx.nl.mdx index 91c11aac1..cd900c9ab 100644 --- a/content/docs/remote/nginx.nl.mdx +++ b/content/docs/remote/nginx.nl.mdx @@ -13,7 +13,7 @@ Deze handleiding behandelt de essentiรซle stappen voor het beveiligen van uw Lib 1. Een cloudserver (bijv. AWS, Google Cloud, Azure, Digital Ocean). 2. Een geregistreerde domeinnaam. 3. Terminaltoegang tot uw cloudserver. -4. Node.js `v24.16.0` en npm `v11.16.0` als je LibreChat rechtstreeks op de host draait. +4. Node.js `v24.22.1` en npm `v11.16.0` als je LibreChat rechtstreeks op de host draait. ## Initiรซle configuratie [#initial-setup] diff --git a/content/docs/remote/nginx.pl.mdx b/content/docs/remote/nginx.pl.mdx index fca0cda64..fc1433433 100644 --- a/content/docs/remote/nginx.pl.mdx +++ b/content/docs/remote/nginx.pl.mdx @@ -13,7 +13,7 @@ Ten przewodnik obejmuje niezbฤ™dne kroki w celu zabezpieczenia wdroลผenia LibreC 1. Serwer w chmurze (np. AWS, Google Cloud, Azure, Digital Ocean). 2. Zarejestrowana nazwa domeny. 3. Dostฤ™p do terminala Twojego serwera w chmurze. -4. Node.js `v24.16.0` oraz npm `v11.16.0`, jeล›li uruchamiasz LibreChat bezpoล›rednio na hoล›cie. +4. Node.js `v24.22.1` oraz npm `v11.16.0`, jeล›li uruchamiasz LibreChat bezpoล›rednio na hoล›cie. ## Wstฤ™pna konfiguracja [#initial-setup] diff --git a/content/docs/remote/nginx.pt-BR.mdx b/content/docs/remote/nginx.pt-BR.mdx index 835ac2d9e..008ec2d1b 100644 --- a/content/docs/remote/nginx.pt-BR.mdx +++ b/content/docs/remote/nginx.pt-BR.mdx @@ -13,7 +13,7 @@ Este guia cobre os passos essenciais para proteger sua implantaรงรฃo do LibreCha 1. Um servidor em nuvem (por exemplo, AWS, Google Cloud, Azure, Digital Ocean). 2. Um nome de domรญnio registrado. 3. Acesso via terminal ao seu servidor na nuvem. -4. Node.js `v24.16.0` e npm `v11.16.0` se vocรช executar o LibreChat diretamente no host. +4. Node.js `v24.22.1` e npm `v11.16.0` se vocรช executar o LibreChat diretamente no host. ## Configuraรงรฃo Inicial [#initial-setup] diff --git a/content/docs/remote/nginx.tr.mdx b/content/docs/remote/nginx.tr.mdx index cb55744e8..8b5d221ef 100644 --- a/content/docs/remote/nginx.tr.mdx +++ b/content/docs/remote/nginx.tr.mdx @@ -13,7 +13,7 @@ Bu kฤฑlavuz, LibreChat daฤŸฤฑtฤฑmฤฑnฤฑzฤฑ HTTPS iรงin bir SSL/TLS sertifikasฤฑ i 1. Bir bulut sunucusu (รถrneฤŸin, AWS, Google Cloud, Azure, Digital Ocean). 2. Kayฤฑtlฤฑ bir alan adฤฑ. 3. Bulut sunucunuza terminal eriลŸimi. -4. LibreChat'i doฤŸrudan ana makinede รงalฤฑลŸtฤฑrฤฑyorsanฤฑz Node.js `v24.16.0` ve npm `v11.16.0`. +4. LibreChat'i doฤŸrudan ana makinede รงalฤฑลŸtฤฑrฤฑyorsanฤฑz Node.js `v24.22.1` ve npm `v11.16.0`. ## ฤฐlk Kurulum [#initial-setup] diff --git a/content/docs/remote/nginx.vi.mdx b/content/docs/remote/nginx.vi.mdx index cc4895b70..ab4134c94 100644 --- a/content/docs/remote/nginx.vi.mdx +++ b/content/docs/remote/nginx.vi.mdx @@ -13,7 +13,7 @@ Hฦฐแป›ng dแบซn nร y bao gแป“m cรกc bฦฐแป›c thiแบฟt yแบฟu ฤ‘แปƒ bแบฃo mแบญt tri 1. Mแป™t mรกy chแปง ฤ‘รกm mรขy (vรญ dแปฅ: AWS, Google Cloud, Azure, Digital Ocean). 2. Mแป™t tรชn miแปn ฤ‘รฃ ฤ‘ฤƒng kรฝ. 3. Truy cแบญp Terminal vร o mรกy chแปง ฤ‘รกm mรขy cแปงa bแบกn. -4. Node.js `v24.16.0` vร  npm `v11.16.0` nแบฟu bแบกn chแบกy LibreChat trแปฑc tiแบฟp trรชn mรกy chแปง. +4. Node.js `v24.22.1` vร  npm `v11.16.0` nแบฟu bแบกn chแบกy LibreChat trแปฑc tiแบฟp trรชn mรกy chแปง. ## Thiแบฟt lแบญp ban ฤ‘แบงu [#initial-setup] diff --git a/content/docs/remote/nginx.zh.mdx b/content/docs/remote/nginx.zh.mdx index baa1ac5e1..94f2d6c2f 100644 --- a/content/docs/remote/nginx.zh.mdx +++ b/content/docs/remote/nginx.zh.mdx @@ -11,7 +11,7 @@ description: ไฝฟ็”จ Nginx ไฝœไธบๅๅ‘ไปฃ็†ๅนถ้…็ฝฎ HTTPS ๆฅไฟๆŠคๆ‚จ็š„ Libr 1. ไบ‘ๆœๅŠกๅ™จ๏ผˆไพ‹ๅฆ‚ AWSใ€Google Cloudใ€Azureใ€Digital Ocean๏ผ‰ใ€‚ 2. ไธ€ไธชๅทฒๆณจๅ†Œ็š„ๅŸŸๅใ€‚ 3. ่ฎฟ้—ฎไบ‘ๆœๅŠกๅ™จ็š„็ปˆ็ซฏใ€‚ -4. ๅฆ‚ๆžœๆ‚จ็›ดๆŽฅๅœจไธปๆœบไธŠ่ฟ่กŒ LibreChat๏ผŒๅˆ™้œ€่ฆ Node.js `v24.16.0` ๅ’Œ npm `v11.16.0`ใ€‚ +4. ๅฆ‚ๆžœๆ‚จ็›ดๆŽฅๅœจไธปๆœบไธŠ่ฟ่กŒ LibreChat๏ผŒๅˆ™้œ€่ฆ Node.js `v24.22.1` ๅ’Œ npm `v11.16.0`ใ€‚ ## ๅˆๅง‹่ฎพ็ฝฎ [#initial-setup] diff --git a/e2e/quick-start-install-steps.spec.ts b/e2e/quick-start-install-steps.spec.ts index 715129c1d..3a37e5543 100644 --- a/e2e/quick-start-install-steps.spec.ts +++ b/e2e/quick-start-install-steps.spec.ts @@ -45,7 +45,7 @@ test.describe('Quick Start install steps', () => { } // The npm card must match the Node.js version the npm guide pins. - await expect(body(page).getByText('Node.js v24.16.0', { exact: true })).toBeVisible() + await expect(body(page).getByText('Node.js v24.22.1', { exact: true })).toBeVisible() await expect(body(page).getByText('Node.js v20.19+')).toHaveCount(0) }) @@ -60,7 +60,7 @@ test.describe('Quick Start install steps', () => { expect(steps, `${locale} ${method}`).toHaveLength(4) expect(steps[3].trim(), `${locale} ${method}`).toBe(step) } - await expect(body(page).getByText('Node.js v24.16.0', { exact: true })).toBeVisible() + await expect(body(page).getByText('Node.js v24.22.1', { exact: true })).toBeVisible() } }) diff --git a/lib/ui-i18n.ts b/lib/ui-i18n.ts index 44a0141d1..71ed98c07 100644 --- a/lib/ui-i18n.ts +++ b/lib/ui-i18n.ts @@ -145,7 +145,7 @@ const en = { 'Run npm run backend', 'Open localhost:3080 and register', ], - prereqs: ['Node.js v24.16.0', 'MongoDB instance'], + prereqs: ['Node.js v24.22.1', 'MongoDB instance'], }, railway: { tag: 'One-click', diff --git a/release-notes/v0.8.9-rc1.md b/release-notes/v0.8.9-rc1.md new file mode 100644 index 000000000..ca952465b --- /dev/null +++ b/release-notes/v0.8.9-rc1.md @@ -0,0 +1,612 @@ +https://www.librechat.ai/changelog/v0.8.9-rc1 + +## ๐Ÿž๏ธ Highlights + +- Chat Projects with shared instructions and reference files +- Passkey sign-in, email changes, and stronger two-factor account protection +- Redesigned chat controls, reply notifications, and right-to-left layouts +- Deployment themes with configurable colors and appearance +- MCP Apps and more deliberate tool-approval choices +- Attached-machine enrollment, per-chat workspace choices, and pull request status +- Recoverable subagent transcripts and clearer background-task progress +- Node.js 24.22.1 security updates and bounded history/tool previews + +Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade + +
+Full release notes + +### โœจ Features + +- ๐Ÿ” feat: Admin Config Secrets v2 (MCP and Azure Credentials, Re-entry, Env Allowlist, Rebinding) by [@danny-avila](https://github.com/danny-avila) in [#17353](https://github.com/LibreChat-AI/LibreChat/pull/17353) +- ๐Ÿง‘โ€โœˆ๏ธ feat: Enroll Machines Through Explicit Browser Approval by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17344](https://github.com/LibreChat-AI/LibreChat/pull/17344) +- ๐Ÿ™ˆ feat: Let Config Profiles Hide librechat.yaml MCP Servers and Remove Their Fields by [@danny-avila](https://github.com/danny-avila) in [#17327](https://github.com/LibreChat-AI/LibreChat/pull/17327) +- โš›๏ธ feat: Atomic Admin Config Changes Endpoint (set, unset, tombstone, entry upsert/remove/rename) by [@danny-avila](https://github.com/danny-avila) in [#17328](https://github.com/LibreChat-AI/LibreChat/pull/17328) +- ๐Ÿ”— feat: Link Custom Artifact Mode to Its Instructions Guide by [@danny-avila](https://github.com/danny-avila) in [#17021](https://github.com/LibreChat-AI/LibreChat/pull/17021) +- ๐Ÿ”‘ feat: Keep Dotted Record Keys in Admin Config Writes and Publish the Config Contract by [@danny-avila](https://github.com/danny-avila) in [#17322](https://github.com/LibreChat-AI/LibreChat/pull/17322) +- feat: add masked session replay lifecycle by [@graphaelli](https://github.com/graphaelli) in [#17194](https://github.com/LibreChat-AI/LibreChat/pull/17194) +- ๐Ÿ›‚ feat: Keyboard Submit and Escape for Tool Approval Cards by [@berry-13](https://github.com/berry-13) in [#17233](https://github.com/LibreChat-AI/LibreChat/pull/17233) +- ๐Ÿ” feat: Defer MCP OAuth Sign-In Until a Deferred Tool Is Used by [@berry-13](https://github.com/berry-13) in [#17225](https://github.com/LibreChat-AI/LibreChat/pull/17225) +- ๐ŸŽจ feat: Paint Inline Deployment Themes From the First Frame by [@berry-13](https://github.com/berry-13) in [#17203](https://github.com/LibreChat-AI/LibreChat/pull/17203) +- ๐Ÿข feat: Add Microsoft, Z.ai, IBM and Amazon Nova Model Marks by [@berry-13](https://github.com/berry-13) in [#17250](https://github.com/LibreChat-AI/LibreChat/pull/17250) +- ๐Ÿชช feat: Show Each Model's Maker on Its Model List Row by [@berry-13](https://github.com/berry-13) in [#17246](https://github.com/LibreChat-AI/LibreChat/pull/17246) +- ๐Ÿงฌ feat: Show the Model Maker's Icon When Another Host Serves the Model by [@berry-13](https://github.com/berry-13) in [#17238](https://github.com/LibreChat-AI/LibreChat/pull/17238) +- โŒจ๏ธ feat: Keyboard Submit, Focus and Escape for Ask User Cards by [@berry-13](https://github.com/berry-13) in [#17231](https://github.com/LibreChat-AI/LibreChat/pull/17231) +- ๐Ÿ’  feat: Add Gemini 4 Argon Support by [@berry-13](https://github.com/berry-13) in [#17200](https://github.com/LibreChat-AI/LibreChat/pull/17200) +- ๐ŸŽ feat: Add Claude Haiku 5.5 Support by [@berry-13](https://github.com/berry-13) in [#17201](https://github.com/LibreChat-AI/LibreChat/pull/17201) +- ๐Ÿ›‹๏ธ feat: Open Subagents Directly from Background Tasks by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17020](https://github.com/LibreChat-AI/LibreChat/pull/17020) +- ๐Ÿ—ž๏ธ feat: Make Context Usage Responsive and Condensed by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17018](https://github.com/LibreChat-AI/LibreChat/pull/17018) +- ๐Ÿ”Œ feat: Integrate Durable Skill Lifecycle Across Writers and Routes by [@dustinhealy](https://github.com/dustinhealy) in [#17043](https://github.com/LibreChat-AI/LibreChat/pull/17043) +- ๐Ÿงน feat: Add Bounded Whole-Skill Cleanup Engine by [@dustinhealy](https://github.com/dustinhealy) in [#17042](https://github.com/LibreChat-AI/LibreChat/pull/17042) +- ๐Ÿงพ feat: Add Skill Upload Reservation Helpers by [@dustinhealy](https://github.com/dustinhealy) in [#17041](https://github.com/LibreChat-AI/LibreChat/pull/17041) +- ๐Ÿงฑ feat: Add Skill Lifecycle Persistence Primitives by [@dustinhealy](https://github.com/dustinhealy) in [#17040](https://github.com/LibreChat-AI/LibreChat/pull/17040) +- ๐Ÿ—‘๏ธ feat: Expose Skill Deletion in Management API by [@dustinhealy](https://github.com/dustinhealy) in [#17005](https://github.com/LibreChat-AI/LibreChat/pull/17005) +- ๐Ÿงฉ feat: Add Skill Creation and File Deletion to Management API by [@dustinhealy](https://github.com/dustinhealy) in [#16878](https://github.com/LibreChat-AI/LibreChat/pull/16878) +- ๐Ÿ—‚๏ธ feat: Audit MCP, Code Worker, Langfuse, Skill Credential, Passkey and Audit Log Access by [@berry-13](https://github.com/berry-13) in [#17054](https://github.com/LibreChat-AI/LibreChat/pull/17054) +- ๐Ÿ›‚ feat: Audit Resource Sharing Changes and Fail Closed on Reversible Audit Writes by [@berry-13](https://github.com/berry-13) in [#17053](https://github.com/LibreChat-AI/LibreChat/pull/17053) +- ๐Ÿ“œ feat: Audit Admin Role, Group, Config and IdP Role Mutations by [@berry-13](https://github.com/berry-13) in [#17052](https://github.com/LibreChat-AI/LibreChat/pull/17052) +- ๐Ÿ“ feat: Cap the Select List at the Popover's Available Height by [@berry-13](https://github.com/berry-13) in [#16938](https://github.com/LibreChat-AI/LibreChat/pull/16938) +- ๐ŸŽจ feat: Paint the Operator Theme on a First-Ever Visit by [@berry-13](https://github.com/berry-13) in [#16962](https://github.com/LibreChat-AI/LibreChat/pull/16962) +- ๐Ÿ‘‹ feat: Optional Greeting Heading and Footer-Free Welcome Screen by [@berry-13](https://github.com/berry-13) in [#17055](https://github.com/LibreChat-AI/LibreChat/pull/17055) +- ๐ŸŒ— feat: Hand the Colour Mode Over on an Entry Link by [@berry-13](https://github.com/berry-13) in [#17056](https://github.com/LibreChat-AI/LibreChat/pull/17056) +- ๐Ÿ”Œ feat: Add a Connected Account Setting for Pull Requests by [@berry-13](https://github.com/berry-13) in [#16990](https://github.com/LibreChat-AI/LibreChat/pull/16990) +- ๐Ÿ—ณ๏ธ feat: Approval-Responded, Output-Denied and Ask-User Parts in the UI Message View by [@berry-13](https://github.com/berry-13) in [#16961](https://github.com/LibreChat-AI/LibreChat/pull/16961) +- ๐Ÿ”‘ feat: Let Users Connect Their Own Account for Pull Request Lookups by [@berry-13](https://github.com/berry-13) in [#16989](https://github.com/LibreChat-AI/LibreChat/pull/16989) +- โ™ป๏ธ feat: Share Pull Request Lookups Across Replicas Through Redis by [@berry-13](https://github.com/berry-13) in [#16988](https://github.com/LibreChat-AI/LibreChat/pull/16988) +- ๐Ÿชฃ feat: Look Up Bitbucket Cloud Pull Requests by [@berry-13](https://github.com/berry-13) in [#16987](https://github.com/LibreChat-AI/LibreChat/pull/16987) +- โŒจ๏ธ feat: Change Default Chat Preferences by [@berry-13](https://github.com/berry-13) in [#16932](https://github.com/LibreChat-AI/LibreChat/pull/16932) +- ๐ŸฆŠ feat: Look Up GitLab Merge Requests Behind a Provider Setting by [@berry-13](https://github.com/berry-13) in [#16986](https://github.com/LibreChat-AI/LibreChat/pull/16986) +- ๐Ÿข feat: Look Up Pull Requests on a GitHub Enterprise Host by [@berry-13](https://github.com/berry-13) in [#16985](https://github.com/LibreChat-AI/LibreChat/pull/16985) +- ๐ŸŽฌ feat: Animate Background Tasks and Add Tool Navigation by [@berry-13](https://github.com/berry-13) in [#16959](https://github.com/LibreChat-AI/LibreChat/pull/16959) +- ๐Ÿ“ฆ feat: Scaffold the @librechat/chat Package by [@berry-13](https://github.com/berry-13) in [#16964](https://github.com/LibreChat-AI/LibreChat/pull/16964) +- โ˜‘๏ธ feat: Give the Checkbox Theme Roles for Its Fill and Corner by [@berry-13](https://github.com/berry-13) in [#16958](https://github.com/LibreChat-AI/LibreChat/pull/16958) +- ๐Ÿงฏ feat: Recover Conversations Whose Attachments Keep Failing by [@danny-avila](https://github.com/danny-avila) in [#16965](https://github.com/LibreChat-AI/LibreChat/pull/16965) +- ๐Ÿšฆ feat: Lint Disabled Dims That Compose No Disabled Recipe by [@berry-13](https://github.com/berry-13) in [#16907](https://github.com/LibreChat-AI/LibreChat/pull/16907) +- ๐Ÿ“ feat: Let a Theme Reshape the Sign-In Field and Button by [@berry-13](https://github.com/berry-13) in [#16939](https://github.com/LibreChat-AI/LibreChat/pull/16939) +- ๐Ÿช„ feat: Adopt the Continue Icon, Artifact Timing, Avatar Border and Dropdown Intents Tailwind 3 Never Rendered by [@berry-13](https://github.com/berry-13) in [#16941](https://github.com/LibreChat-AI/LibreChat/pull/16941) +- ๐Ÿ’“ feat: Keep Quiet Chat Streams Alive Behind Idle-Timeout Proxies by [@berry-13](https://github.com/berry-13) in [#16904](https://github.com/LibreChat-AI/LibreChat/pull/16904) +- ๐Ÿ–ฑ๏ธ feat: Open the Pull Request Card When Hovering Anywhere on a Conversation Row by [@berry-13](https://github.com/berry-13) in [#16895](https://github.com/LibreChat-AI/LibreChat/pull/16895) +- ๐ŸŽš๏ธ feat: Filter OpenRouter Reasoning Efforts by the Selected Model by [@berry-13](https://github.com/berry-13) in [#16808](https://github.com/LibreChat-AI/LibreChat/pull/16808) +- ๐Ÿง  feat: Infer Reasoning Effort Support From Known Custom Endpoint Hosts by [@berry-13](https://github.com/berry-13) in [#16797](https://github.com/LibreChat-AI/LibreChat/pull/16797) +- ๐ŸŽš๏ธ feat: Promote Stylesheet Colour Roles to Registry Colours by [@berry-13](https://github.com/berry-13) in [#16864](https://github.com/LibreChat-AI/LibreChat/pull/16864) +- ๐Ÿงฑ feat: Add Flush, Embedded and Nav Primitive Variants by [@berry-13](https://github.com/berry-13) in [#16862](https://github.com/LibreChat-AI/LibreChat/pull/16862) +- ๐Ÿ”Œ feat: Enable Pull Requests by Default With a Token Fallback by [@berry-13](https://github.com/berry-13) in [#16876](https://github.com/LibreChat-AI/LibreChat/pull/16876) +- ๐Ÿ”  feat: Add 10, 11, 13 and 15px Steps to the Theme Type Scale by [@berry-13](https://github.com/berry-13) in [#16827](https://github.com/LibreChat-AI/LibreChat/pull/16827) +- ๐ŸŽ›๏ธ feat: Add Quiet and Message Action Button Variants by [@berry-13](https://github.com/berry-13) in [#16839](https://github.com/LibreChat-AI/LibreChat/pull/16839) +- ๐Ÿ”€ feat: Show the Conversation Pull Request in the Sidebar List by [@berry-13](https://github.com/berry-13) in [#16815](https://github.com/LibreChat-AI/LibreChat/pull/16815) +- ๐ŸŽจ feat: Add Secondary Label Variant and Spinner Tone by [@berry-13](https://github.com/berry-13) in [#16837](https://github.com/LibreChat-AI/LibreChat/pull/16837) +- ๐Ÿ—‚๏ธ feat: Merge Change and Remove Project Into One Submenu by [@berry-13](https://github.com/berry-13) in [#16844](https://github.com/LibreChat-AI/LibreChat/pull/16844) +- ๐Ÿ–ฅ๏ธ feat: Show Lia on the Welcome Screen by [@berry-13](https://github.com/berry-13) in [#16684](https://github.com/LibreChat-AI/LibreChat/pull/16684) +- ๐Ÿ”€ feat: Show the Conversation Pull Request in the Chat Header by [@berry-13](https://github.com/berry-13) in [#16794](https://github.com/LibreChat-AI/LibreChat/pull/16794) +- ๐Ÿ“ feat: Visible Prose Markers and Composer Shape Roles for ClickHouse by [@berry-13](https://github.com/berry-13) in [#16736](https://github.com/LibreChat-AI/LibreChat/pull/16736) +- ๐Ÿชถ feat: Quiet Prompt Editor Boxes, Table Columns and Destructive Buttons by [@berry-13](https://github.com/berry-13) in [#16751](https://github.com/LibreChat-AI/LibreChat/pull/16751) +- ๐Ÿ—‚๏ธ feat: Record Lane Git State and Serve Conversation Pull Requests by [@berry-13](https://github.com/berry-13) in [#16793](https://github.com/LibreChat-AI/LibreChat/pull/16793) +- ๐ŸŒฟ feat: Accept Lane Git State and Pull Request Contract by [@berry-13](https://github.com/berry-13) in [#16792](https://github.com/LibreChat-AI/LibreChat/pull/16792) +- ๐Ÿ”‡ feat: Let a Theme Quiet Decorative Borders by [@berry-13](https://github.com/berry-13) in [#16741](https://github.com/LibreChat-AI/LibreChat/pull/16741) +- โš™๏ธ feat: Move Chat Actions Into a Header Options Menu by [@berry-13](https://github.com/berry-13) in [#16775](https://github.com/LibreChat-AI/LibreChat/pull/16775) +- ๐Ÿงฑ feat: Layered Surface Roles for the ClickHouse Theme by [@berry-13](https://github.com/berry-13) in [#16737](https://github.com/LibreChat-AI/LibreChat/pull/16737) +- โณ feat: Reset Balance Allowances Without Rollover by [@danny-avila](https://github.com/danny-avila) in [#16781](https://github.com/LibreChat-AI/LibreChat/pull/16781) +- ๐ŸชŸ feat: Overlay Theme Roles for Tooltips, Error Alerts and Artifact Previews by [@berry-13](https://github.com/berry-13) in [#16739](https://github.com/LibreChat-AI/LibreChat/pull/16739) +- ๐Ÿฆ‰ feat: Compare Review Commit Ancestry Without Git by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16734](https://github.com/LibreChat-AI/LibreChat/pull/16734) +- ๐Ÿชช feat: Name and Face Subagents Like Main Chat Turns by [@danny-avila](https://github.com/danny-avila) in [#16692](https://github.com/LibreChat-AI/LibreChat/pull/16692) +- ๐Ÿ”ฑ feat: Simplify Steering Controls to Three Modes by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16759](https://github.com/LibreChat-AI/LibreChat/pull/16759) +- ๐Ÿ’ณ feat: Show Balance in the Context Gauge as Credits, Currency, or Percent by [@danny-avila](https://github.com/danny-avila) in [#16762](https://github.com/LibreChat-AI/LibreChat/pull/16762) +- ๐Ÿš• feat: Add Per-Call Subagent Machine Selection by [@danny-avila](https://github.com/danny-avila) in [#16757](https://github.com/LibreChat-AI/LibreChat/pull/16757) +- ๐Ÿ•Š๏ธ feat: Supply Authorized Scheduled MCP Resource Bearers by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16699](https://github.com/LibreChat-AI/LibreChat/pull/16699) +- ๐Ÿ”— feat(agents): use LibreChat prompt groups as agent instructions by [@AtefBellaaj](https://github.com/AtefBellaaj) in [#16686](https://github.com/LibreChat-AI/LibreChat/pull/16686) +- ๐Ÿ” feat: App-Wide UI Scale Setting by [@berry-13](https://github.com/berry-13) in [#14903](https://github.com/LibreChat-AI/LibreChat/pull/14903) +- ๐ŸŒฒ feat: Expose Navigable Subagent Progress Trees by [@danny-avila](https://github.com/danny-avila) in [#16748](https://github.com/LibreChat-AI/LibreChat/pull/16748) +- ๐Ÿช‡ feat: Consolidate Orchestration Into a Native Tool by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16744](https://github.com/LibreChat-AI/LibreChat/pull/16744) +- ๐ŸŽฃ feat: Poll Durable Workspace Requests Without Rejoining Admission by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16733](https://github.com/LibreChat-AI/LibreChat/pull/16733) +- ๐Ÿซฐ feat: Configure Tool Approval Modes Per Agent by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16707](https://github.com/LibreChat-AI/LibreChat/pull/16707) +- ๐Ÿง  feat: Add Lia's Behavior Engine by [@berry-13](https://github.com/berry-13) in [#16683](https://github.com/LibreChat-AI/LibreChat/pull/16683) +- ๐Ÿง— feat: Light the Fold Path to the Hovered Activity Row by [@danny-avila](https://github.com/danny-avila) in [#16722](https://github.com/LibreChat-AI/LibreChat/pull/16722) +- ๐Ÿ”ญ feat: Recover Stale Chunks Without the Error Page and Ship Client Logs to RUM by [@danny-avila](https://github.com/danny-avila) in [#16701](https://github.com/LibreChat-AI/LibreChat/pull/16701) +- ๐Ÿฆซ feat: Enforce Scheduled MCP Read-Only Authority by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16681](https://github.com/LibreChat-AI/LibreChat/pull/16681) +- feat: Simplify Queue Row Actions And Steer Controls by Marco Beretta in [35db010412](https://github.com/LibreChat-AI/LibreChat/commit/35db010412f95721459c07903164fe318005c48f) +- ๐Ÿ›ฐ๏ธ feat: Status on the Avatar, a Finished Group, and Project Chats in the Sidebar List by Danny Avila in [10e9cb90e7](https://github.com/LibreChat-AI/LibreChat/commit/10e9cb90e759176bbea9071df9274bbc8cba2b7e) +- ๐ŸŽจ feat: Add Lia's Pixel Art Renderer by [@berry-13](https://github.com/berry-13) in [#16682](https://github.com/LibreChat-AI/LibreChat/pull/16682) +- ๐Ÿ“ feat: Size Roles for the Select List by [@berry-13](https://github.com/berry-13) in [#16714](https://github.com/LibreChat-AI/LibreChat/pull/16714) +- ๐Ÿ“ feat: Show the Current Text Where a Missing Workspace Edit Belongs by [@danny-avila](https://github.com/danny-avila) in [#16698](https://github.com/LibreChat-AI/LibreChat/pull/16698) +- ๐Ÿ”“ feat: Remember Tool Approvals Per Conversation by [@berry-13](https://github.com/berry-13) in [#16557](https://github.com/LibreChat-AI/LibreChat/pull/16557) +- ๐Ÿด feat: Separate Machine, Workspace, and Git Controls by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16696](https://github.com/LibreChat-AI/LibreChat/pull/16696) +- โœ… feat: Default Machine Selection and Linked-Worktree Lanes On by [@danny-avila](https://github.com/danny-avila) in [#16678](https://github.com/LibreChat-AI/LibreChat/pull/16678) +- ๐Ÿงญ feat: Give the Mobile Drawer Edge a Role and Move the Last Page Colours Onto Roles by [@berry-13](https://github.com/berry-13) in [#16631](https://github.com/LibreChat-AI/LibreChat/pull/16631) +- ๐Ÿ“ feat: Edit Projects in a Dialog and Pick Files From the Your Files Dialog by [@berry-13](https://github.com/berry-13) in [#16643](https://github.com/LibreChat-AI/LibreChat/pull/16643) +- ๐Ÿ™‹ feat: Refine the Ask Question Card and Smooth Batched Question Steps by [@berry-13](https://github.com/berry-13) in [#16641](https://github.com/LibreChat-AI/LibreChat/pull/16641) +- ๐Ÿ—‚๏ธ feat: Choose Conversation Checkout Mode by [@danny-avila](https://github.com/danny-avila) in [#16679](https://github.com/LibreChat-AI/LibreChat/pull/16679) +- ๐Ÿ“” feat: Preserve Owner Text During PII Redaction by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16311](https://github.com/LibreChat-AI/LibreChat/pull/16311) +- ๐Ÿงณ feat: Choose Agent-Allowed Machines For New Chats by [@danny-avila](https://github.com/danny-avila) in [#16651](https://github.com/LibreChat-AI/LibreChat/pull/16651) +- ๐Ÿช” feat: Add Bound Scheduled MCP Consent by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16652](https://github.com/LibreChat-AI/LibreChat/pull/16652) +- ๐Ÿ“ feat: Size Roles for the Shared Primitives by [@berry-13](https://github.com/berry-13) in [#16617](https://github.com/LibreChat-AI/LibreChat/pull/16617) +- โ›บ feat: Report Attached Bash Starting Directories by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16539](https://github.com/LibreChat-AI/LibreChat/pull/16539) +- ๐Ÿชข feat: Collapse Activity Folds From Their Rails by [@danny-avila](https://github.com/danny-avila) in [#16637](https://github.com/LibreChat-AI/LibreChat/pull/16637) +- ๐Ÿงพ feat: Serve Built-In Endpoint Model Lists From Config So Overrides Can Narrow Them by [@danny-avila](https://github.com/danny-avila) in [#16639](https://github.com/LibreChat-AI/LibreChat/pull/16639) +- ๐Ÿฅฝ feat: Configure Attached Defaults and Honor Skill Read Ranges by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16540](https://github.com/LibreChat-AI/LibreChat/pull/16540) +- ๐Ÿ” feat: Enforce Required Two-Factor Authentication by [@berry-13](https://github.com/berry-13) in [#14731](https://github.com/LibreChat-AI/LibreChat/pull/14731) +- ๐Ÿ“ feat: Click UI Spacing and Mono Stack for the ClickHouse Theme by [@berry-13](https://github.com/berry-13) in [#16616](https://github.com/LibreChat-AI/LibreChat/pull/16616) +- ๐Ÿซ— feat: Field Fill and Ink Theme Roles by [@berry-13](https://github.com/berry-13) in [#16607](https://github.com/LibreChat-AI/LibreChat/pull/16607) +- ๐Ÿ’ฌ feat: Conversation Starters in Agent Builder by [@berry-13](https://github.com/berry-13) in [#16523](https://github.com/LibreChat-AI/LibreChat/pull/16523) +- โฏ๏ธ feat: Resume Streams and Send AI SDK Messages Through the Chat Facade by [@berry-13](https://github.com/berry-13) in [#16609](https://github.com/LibreChat-AI/LibreChat/pull/16609) +- ๐ŸชŸ feat: Undock the Artifacts Pane into Its Own Window by [@berry-13](https://github.com/berry-13) in [#15911](https://github.com/LibreChat-AI/LibreChat/pull/15911) +- ๐Ÿ—‚๏ธ feat: Give File-Type Tiles Their Own Theme Roles by [@berry-13](https://github.com/berry-13) in [#16603](https://github.com/LibreChat-AI/LibreChat/pull/16603) +- ๐Ÿ–๏ธ feat: Give the Remaining Component Colour Literals Theme Roles by [@berry-13](https://github.com/berry-13) in [#16597](https://github.com/LibreChat-AI/LibreChat/pull/16597) +- ๐Ÿ“ฑ feat: Give the Mobile Drawer One Place for Each Control by [@berry-13](https://github.com/berry-13) in [#16248](https://github.com/LibreChat-AI/LibreChat/pull/16248) +- ๐Ÿ–ผ๏ธ feat: Give Media Overlays Their Own Theme Roles by [@berry-13](https://github.com/berry-13) in [#16596](https://github.com/LibreChat-AI/LibreChat/pull/16596) +- ๐ŸŒ— feat: Per-Mode Appearance Defaults for Menu and Tooltip Shadows by [@berry-13](https://github.com/berry-13) in [#16602](https://github.com/LibreChat-AI/LibreChat/pull/16602) +- ๐Ÿ“ feat: Menu, Tooltip and Tab Corner Theme Roles by [@berry-13](https://github.com/berry-13) in [#16599](https://github.com/LibreChat-AI/LibreChat/pull/16599) +- ๐ŸŽฏ feat: Focus Ring Width and Offset Theme Roles by [@berry-13](https://github.com/berry-13) in [#16587](https://github.com/LibreChat-AI/LibreChat/pull/16587) +- ๐Ÿท๏ธ feat: Give the Badge Label Its Own Ink and Let the Legacy Dialog Spinner Inherit by [@berry-13](https://github.com/berry-13) in [#16554](https://github.com/LibreChat-AI/LibreChat/pull/16554) +- โณ feat: Add Ephemeral Retention Mode for Forced Temporary Chats by [@berry-13](https://github.com/berry-13) in [#13811](https://github.com/LibreChat-AI/LibreChat/pull/13811) +- ๐Ÿ”Ž feat: Let Themes Focus Fields by Their Edge and Size Fields and Labels by [@berry-13](https://github.com/berry-13) in [#16550](https://github.com/LibreChat-AI/LibreChat/pull/16550) +- ๐Ÿšฆ feat: Show Exit Status and Stderr for Attached Workspace Commands by [@berry-13](https://github.com/berry-13) in [#16556](https://github.com/LibreChat-AI/LibreChat/pull/16556) +- ๐ŸชŸ feat: Expand, Copy and Tail Long Bash Output by [@berry-13](https://github.com/berry-13) in [#16555](https://github.com/LibreChat-AI/LibreChat/pull/16555) +- ๐ŸชŸ feat: Give OGDialog Theme Roles for Its Edge, Padding and Title by [@berry-13](https://github.com/berry-13) in [#16546](https://github.com/LibreChat-AI/LibreChat/pull/16546) +- ๐Ÿง‘โ€๐ŸŽจ feat: Give the Default Avatar and Avatar Placeholder Theme Roles by [@berry-13](https://github.com/berry-13) in [#16545](https://github.com/LibreChat-AI/LibreChat/pull/16545) +- ๐ŸŽš๏ธ feat: Group Model Parameters Into Sections by [@berry-13](https://github.com/berry-13) in [#16247](https://github.com/LibreChat-AI/LibreChat/pull/16247) +- ๐Ÿงฉ feat: Ignore Unknown Theme Color Tokens Instead of Dropping the Theme by [@berry-13](https://github.com/berry-13) in [#16529](https://github.com/LibreChat-AI/LibreChat/pull/16529) +- ๐ŸŽ›๏ธ feat: Give the Button Theme Roles for Its Label, Height, Fill and States by [@berry-13](https://github.com/berry-13) in [#16530](https://github.com/LibreChat-AI/LibreChat/pull/16530) +- ๐Ÿ“ feat: Give Theme-Sized Controls Their Own Padding and Gap Roles by [@berry-13](https://github.com/berry-13) in [#16528](https://github.com/LibreChat-AI/LibreChat/pull/16528) +- ๐ŸŽ’ feat: Carry Project Context Across Conversations by [@berry-13](https://github.com/berry-13) in [#15684](https://github.com/LibreChat-AI/LibreChat/pull/15684) +- ๐Ÿ—‚๏ธ feat: Give the Table Theme Roles for Header Text, Row Rules and Density by [@berry-13](https://github.com/berry-13) in [#16489](https://github.com/LibreChat-AI/LibreChat/pull/16489) +- ๐ŸŽš๏ธ feat: Give the Switch Theme Roles for Its Size and Knob by [@berry-13](https://github.com/berry-13) in [#16486](https://github.com/LibreChat-AI/LibreChat/pull/16486) +- ๐ŸŒซ๏ธ feat: Give the Dialog Scrims Theme-Owned Opacity Roles by [@berry-13](https://github.com/berry-13) in [#16492](https://github.com/LibreChat-AI/LibreChat/pull/16492) +- ๐Ÿ”ค feat: Give Display Type and the Type Scale Their Own Theme Roles by [@berry-13](https://github.com/berry-13) in [#16491](https://github.com/LibreChat-AI/LibreChat/pull/16491) +- ๐Ÿšฆ feat: Give Pressed and Disabled States Their Own Theme Roles by [@berry-13](https://github.com/berry-13) in [#16487](https://github.com/LibreChat-AI/LibreChat/pull/16487) +- ๐ŸŽฏ feat: Give Keyboard Focus Its Own Theme Roles by [@berry-13](https://github.com/berry-13) in [#16478](https://github.com/LibreChat-AI/LibreChat/pull/16478) +- ๐Ÿงญ feat: Palette Show All Catalogs, MCP Status and Composer Polish by [@berry-13](https://github.com/berry-13) in [#16422](https://github.com/LibreChat-AI/LibreChat/pull/16422) +- ๐Ÿ—‚๏ธ feat: Chat List Properties Menu and Project-Scoped Chats by [@berry-13](https://github.com/berry-13) in [#16246](https://github.com/LibreChat-AI/LibreChat/pull/16246) +- ๐Ÿช feat: AI SDK-Shaped useChat Facade Over the Chat Contract by [@berry-13](https://github.com/berry-13) in [#16375](https://github.com/LibreChat-AI/LibreChat/pull/16375) +- ๐Ÿ”‘ feat: Expose the Messages Key on the Chat Contract by [@berry-13](https://github.com/berry-13) in [#16395](https://github.com/LibreChat-AI/LibreChat/pull/16395) +- ๐Ÿ”Ž feat: Filter the Conversation List by Date, Endpoint, Files, and Sharing by [@berry-13](https://github.com/berry-13) in [#16245](https://github.com/LibreChat-AI/LibreChat/pull/16245) +- ๐Ÿงฉ feat: Map Message Content Parts to a UI Parts Union by [@berry-13](https://github.com/berry-13) in [#16374](https://github.com/LibreChat-AI/LibreChat/pull/16374) +- ๐ŸŽ›๏ธ feat: Close the Data-Level Click UI Gaps in the ClickHouse Theme by [@berry-13](https://github.com/berry-13) in [#16379](https://github.com/LibreChat-AI/LibreChat/pull/16379) +- ๐Ÿ”ค feat: Bundle Inconsolata for the ClickHouse Theme by [@berry-13](https://github.com/berry-13) in [#16376](https://github.com/LibreChat-AI/LibreChat/pull/16376) +- ๐Ÿงฉ feat: Let Theme Readers Ignore Unknown Appearance Tokens by [@berry-13](https://github.com/berry-13) in [#16373](https://github.com/LibreChat-AI/LibreChat/pull/16373) +- ๐ŸŸจ feat: ClickHouse Theme Shape Parity by [@berry-13](https://github.com/berry-13) in [#16342](https://github.com/LibreChat-AI/LibreChat/pull/16342) +- ๐ŸŒซ๏ธ feat: Shadow Scale Follows the Theme by [@berry-13](https://github.com/berry-13) in [#16341](https://github.com/LibreChat-AI/LibreChat/pull/16341) +- ๐Ÿ“ feat: Radius and Font Scales Follow the Theme by [@berry-13](https://github.com/berry-13) in [#16340](https://github.com/LibreChat-AI/LibreChat/pull/16340) +- โš™๏ธ feat: Make the Per-User Passkey Cap Configurable by [@berry-13](https://github.com/berry-13) in [#16259](https://github.com/LibreChat-AI/LibreChat/pull/16259) +- ๐ŸŽจ feat: Theme the Shared Code Block With surface-code and a New surface-code-body Role by [@berry-13](https://github.com/berry-13) in [#16334](https://github.com/LibreChat-AI/LibreChat/pull/16334) +- ๐ŸŽจ feat: Pick the Deployment Theme in librechat.yaml by [@berry-13](https://github.com/berry-13) in [#16286](https://github.com/LibreChat-AI/LibreChat/pull/16286) +- ๐ŸŸจ feat: Add a ClickHouse Reference Theme by [@berry-13](https://github.com/berry-13) in [#16262](https://github.com/LibreChat-AI/LibreChat/pull/16262) +- ๐Ÿงฉ feat: MCP Apps support by [@dustinhealy](https://github.com/dustinhealy) in [#13831](https://github.com/LibreChat-AI/LibreChat/pull/13831) +- ๐Ÿฅง feat: Show Last-Turn Token Usage Beside Conversation Totals by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16230](https://github.com/LibreChat-AI/LibreChat/pull/16230) +- ๐ŸŽจ feat: Check Color Tokens and Class Existence by [@berry-13](https://github.com/berry-13) in [#16041](https://github.com/LibreChat-AI/LibreChat/pull/16041) +- ๐Ÿ”‘ feat: Passkey Authentication with WebAuthn Sign-In and Management by [@berry-13](https://github.com/berry-13) in [#14715](https://github.com/LibreChat-AI/LibreChat/pull/14715) +- ๐Ÿ”” feat: Unseen Reply Indicators, Reply Notifications, and Mark as Unread by [@berry-13](https://github.com/berry-13) in [#15025](https://github.com/LibreChat-AI/LibreChat/pull/15025) +- ๐Ÿ“ง feat: add email address change by [@berry-13](https://github.com/berry-13) in [#14597](https://github.com/LibreChat-AI/LibreChat/pull/14597) +- ๐Ÿชž feat: Expand Agent Cards Into Their Detail Dialog by [@berry-13](https://github.com/berry-13) in [#15798](https://github.com/LibreChat-AI/LibreChat/pull/15798) +- ๐Ÿ›ฐ๏ธ feat: Status on the Avatar, a Finished Group, and Project Chats in the Sidebar List by [@danny-avila](https://github.com/danny-avila) in [#16715](https://github.com/LibreChat-AI/LibreChat/pull/16715) +- ๐Ÿช„ feat: Simplify Steer Controls And Queue Row Actions by [@berry-13](https://github.com/berry-13) in [#16713](https://github.com/LibreChat-AI/LibreChat/pull/16713) + +### ๐Ÿ› Fixes + +- โŽ fix: Restore Enter to Send as the Default by [@berry-13](https://github.com/berry-13) in [#17374](https://github.com/LibreChat-AI/LibreChat/pull/17374) +- ๐Ÿชœ fix: Base-First Config Precedence, Profile Lifecycle and Role Renames That Keep Their Profile by [@danny-avila](https://github.com/danny-avila) in [#17352](https://github.com/LibreChat-AI/LibreChat/pull/17352) +- ๐Ÿ” fix: Apply Base Config Overrides Before Sign-In and Refuse Script Policy Links by [@danny-avila](https://github.com/danny-avila) in [#17351](https://github.com/LibreChat-AI/LibreChat/pull/17351) +- ๐Ÿท๏ธ fix: Resolve endpoints.all Title Settings per Field and Fold Ollama Endpoint Names by [@danny-avila](https://github.com/danny-avila) in [#17316](https://github.com/LibreChat-AI/LibreChat/pull/17316) +- ๐Ÿ›ก๏ธ fix: Reject Unknown Admin Config Sections and Scope Write Responses to Read Access by [@danny-avila](https://github.com/danny-avila) in [#17315](https://github.com/LibreChat-AI/LibreChat/pull/17315) +- ๐Ÿ“” fix: Recover Subagent Content With Shared Chat Rendering by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17290](https://github.com/LibreChat-AI/LibreChat/pull/17290) +- ๐Ÿฅผ fix: Separate Agent Inference Settings From SDK Configuration by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17220](https://github.com/LibreChat-AI/LibreChat/pull/17220) +- ๐Ÿชต fix: Keep the Winston Level Symbol in `jsonTruncateFormat` for OpenTelemetry Logs by [@trois-six](https://github.com/trois-six) in [#17307](https://github.com/LibreChat-AI/LibreChat/pull/17307) +- ๐Ÿšก fix: Restore Enforced Model Specs for Agent Continuations by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17229](https://github.com/LibreChat-AI/LibreChat/pull/17229) +- ๐Ÿ”‘ fix: Use Admin-Stored Web Search Credentials at Runtime by [@danny-avila](https://github.com/danny-avila) in [#17323](https://github.com/LibreChat-AI/LibreChat/pull/17323) +- ๐Ÿšœ fix: Release Heavy Chat State on Conversation Switches by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17291](https://github.com/LibreChat-AI/LibreChat/pull/17291) +- ๐Ÿช fix: Restore Explicit File Search Uploads by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17226](https://github.com/LibreChat-AI/LibreChat/pull/17226) +- โฑ๏ธ fix: Bound Outbound Calls Made Inside a Request by [@berry-13](https://github.com/berry-13) in [#17263](https://github.com/LibreChat-AI/LibreChat/pull/17263) +- ๐ŸŽด fix: Match Image Media Types to Their Bytes by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17230](https://github.com/LibreChat-AI/LibreChat/pull/17230) +- ๐Ÿš fix: Fail Closed When Plugin Hook Shell Cannot Start by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17227](https://github.com/LibreChat-AI/LibreChat/pull/17227) +- ๐Ÿ“„ fix: Mirror Agents, Prompts, Skills and Other Pages for RTL by [@berry-13](https://github.com/berry-13) in [#17268](https://github.com/LibreChat-AI/LibreChat/pull/17268) +- ๐Ÿชž fix: Mirror Shared Primitives for Right-to-Left Layouts by [@berry-13](https://github.com/berry-13) in [#17265](https://github.com/LibreChat-AI/LibreChat/pull/17265) +- ๐Ÿ’ฌ fix: Mirror Chat Messages, Markdown and Code Blocks for RTL by [@berry-13](https://github.com/berry-13) in [#17267](https://github.com/LibreChat-AI/LibreChat/pull/17267) +- ๐Ÿ” fix: Build the KeyvMongo Key Index Through the Retrying Helper by [@berry-13](https://github.com/berry-13) in [#17282](https://github.com/LibreChat-AI/LibreChat/pull/17282) +- ๐Ÿงญ fix: Anchor the Sidebar, Mobile Drawer and Panels to Inline Edges in RTL by [@berry-13](https://github.com/berry-13) in [#17266](https://github.com/LibreChat-AI/LibreChat/pull/17266) +- ๐Ÿ”• fix: Quiet Client Disconnects, Fall Back When Hash Workers Fail, Log Speech Truncation by [@berry-13](https://github.com/berry-13) in [#17278](https://github.com/LibreChat-AI/LibreChat/pull/17278) +- โ†”๏ธ fix: Follow the Interface Direction in Radix, the Composer and First Paint by [@berry-13](https://github.com/berry-13) in [#17264](https://github.com/LibreChat-AI/LibreChat/pull/17264) +- ๐Ÿงฏ fix: Close Abandoned Download and Speech Streams and Cap Speech Input by [@berry-13](https://github.com/berry-13) in [#17270](https://github.com/LibreChat-AI/LibreChat/pull/17270) +- ๐Ÿ” fix: Hash Passwords on a Worker Pool and Surface API Key Lookup Failures by [@berry-13](https://github.com/berry-13) in [#17261](https://github.com/LibreChat-AI/LibreChat/pull/17261) +- ๐Ÿ™Š fix: Keep API Keys and Internal Errors Out of Logs and Responses by [@berry-13](https://github.com/berry-13) in [#17258](https://github.com/LibreChat-AI/LibreChat/pull/17258) +- ๐Ÿ“‹ fix: Load Full Tool Output So Copy Works on Panels Without a Row by [@berry-13](https://github.com/berry-13) in [#17262](https://github.com/LibreChat-AI/LibreChat/pull/17262) +- ๐Ÿ”’ fix: Restrict Stop to the Generation's Owner and Contain S3 Ingest Stream Errors by [@berry-13](https://github.com/berry-13) in [#17256](https://github.com/LibreChat-AI/LibreChat/pull/17256) +- ๐Ÿฉบ fix: Report Not Ready on /readyz While Redis Is Disconnected by [@berry-13](https://github.com/berry-13) in [#17232](https://github.com/LibreChat-AI/LibreChat/pull/17232) +- ๐Ÿ“ fix: Keep the Batch Question Card On Screen Above a Long Draft by [@berry-13](https://github.com/berry-13) in [#17222](https://github.com/LibreChat-AI/LibreChat/pull/17222) +- โณ fix: Wait for Chat History Before URL Auto-Submit by [@berry-13](https://github.com/berry-13) in [#17224](https://github.com/LibreChat-AI/LibreChat/pull/17224) +- ๐Ÿ”ข fix: Pair English Plural Keys as \_one/\_other for Locize by [@berry-13](https://github.com/berry-13) in [#17223](https://github.com/LibreChat-AI/LibreChat/pull/17223) +- ๐Ÿงฉ fix: Render Nested MCP Apps Under Standalone Subagent Calls by [@berry-13](https://github.com/berry-13) in [#17211](https://github.com/LibreChat-AI/LibreChat/pull/17211) +- ๐Ÿ›ฐ๏ธ fix: Route Subagent Files Delivered After a Mid-Run Reload by [@berry-13](https://github.com/berry-13) in [#17212](https://github.com/LibreChat-AI/LibreChat/pull/17212) +- ๐Ÿ–ผ๏ธ fix: Render Files Saved by Tools Inside a Subagent Run by [@berry-13](https://github.com/berry-13) in [#17204](https://github.com/LibreChat-AI/LibreChat/pull/17204) +- ๐Ÿ“ฆ fix: Strip Assistant Prefill for Claude 5.x Models by [@berry-13](https://github.com/berry-13) in [#17209](https://github.com/LibreChat-AI/LibreChat/pull/17209) +- ๐Ÿงฌ fix: Skip Re-Embedding Legacy File Search Files After Upgrade by [@berry-13](https://github.com/berry-13) in [#17206](https://github.com/LibreChat-AI/LibreChat/pull/17206) +- ๐Ÿช™ fix: Price 1-Hour Prompt Cache Writes at the 1-Hour Rate by [@berry-13](https://github.com/berry-13) in [#17208](https://github.com/LibreChat-AI/LibreChat/pull/17208) +- ๐Ÿ•ถ๏ธ fix: Keep Temporary Chats Out of Langfuse by [@berry-13](https://github.com/berry-13) in [#17202](https://github.com/LibreChat-AI/LibreChat/pull/17202) +- ๐Ÿงต fix: Harmony Headers in Text Attachments Break OpenAI Models on Bedrock by [@danny-avila](https://github.com/danny-avila) in [#17101](https://github.com/LibreChat-AI/LibreChat/pull/17101) +- ๐Ÿท๏ธ fix: Drop a File Name Removed Through the UI Parts View by [@berry-13](https://github.com/berry-13) in [#17184](https://github.com/LibreChat-AI/LibreChat/pull/17184) +- ๐Ÿ› fix: Restore MCP App Rendering and Actions by [@dustinhealy](https://github.com/dustinhealy) in [#16382](https://github.com/LibreChat-AI/LibreChat/pull/16382) +- ๐Ÿ› fix: Keep Artifact Download Clear of Message Navigation by [@dustinhealy](https://github.com/dustinhealy) in [#17079](https://github.com/LibreChat-AI/LibreChat/pull/17079) +- ๐Ÿณ fix: Align Admin Panel Image With Upstream Publishing Namespace by [@dustinhealy](https://github.com/dustinhealy) in [#17096](https://github.com/LibreChat-AI/LibreChat/pull/17096) +- ๐Ÿ”’ fix: Upgrade the MCP SDK Past the OAuth Credential Leak (GHSA-6qxp-vccf-f47h) by [@danny-avila](https://github.com/danny-avila) in [#17015](https://github.com/LibreChat-AI/LibreChat/pull/17015) +- ๐Ÿช„ fix: Ground the Default Artifacts Prompt in What the Renderer Supports by [@danny-avila](https://github.com/danny-avila) in [#17024](https://github.com/LibreChat-AI/LibreChat/pull/17024) +- ๐Ÿ” fix: Skip Reasoning Labels for Encrypted Reasoning by [@danny-avila](https://github.com/danny-avila) in [#17100](https://github.com/LibreChat-AI/LibreChat/pull/17100) +- ๐Ÿ”“ fix: Prevent 30-Second OpenID Refresh Stalls After a Discarded Prerender by [@upman](https://github.com/upman) in [#17174](https://github.com/LibreChat-AI/LibreChat/pull/17174) +- ๐Ÿ› fix: Defer Logger Serialization Until After Transport Sanitization by [@dustinhealy](https://github.com/dustinhealy) in [#17169](https://github.com/LibreChat-AI/LibreChat/pull/17169) +- ๐Ÿ” fix: Keep the Error Card When a Stream Reattached Without Resume State Fails by [@berry-13](https://github.com/berry-13) in [#17112](https://github.com/LibreChat-AI/LibreChat/pull/17112) +- ๐Ÿ™ˆ fix: Mask Emails and Drop Personal Identifiers From Logs by [@berry-13](https://github.com/berry-13) in [#17048](https://github.com/LibreChat-AI/LibreChat/pull/17048) +- ๐Ÿงน fix: Run the Full Erasure Cascade When an Admin Deletes a User by [@berry-13](https://github.com/berry-13) in [#17050](https://github.com/LibreChat-AI/LibreChat/pull/17050) +- ๐Ÿ—‘๏ธ fix: Route Delete-User CLI Through the Shared Account Erasure Cascade by [@berry-13](https://github.com/berry-13) in [#17033](https://github.com/LibreChat-AI/LibreChat/pull/17033) +- โŽˆ fix: Authenticate Bundled Helm Databases and Warn on Plain-HTTP Ingress by [@berry-13](https://github.com/berry-13) in [#17047](https://github.com/LibreChat-AI/LibreChat/pull/17047) +- โณ fix: Expire Dead-Lettered Trigger Deliveries and Clean Up Orphaned Image Uploads by [@berry-13](https://github.com/berry-13) in [#17049](https://github.com/LibreChat-AI/LibreChat/pull/17049) +- ๐Ÿ“ƒ fix: Enforce Terms Acceptance on the Server and Mark Backfilled Consent by [@berry-13](https://github.com/berry-13) in [#17063](https://github.com/LibreChat-AI/LibreChat/pull/17063) +- ๐Ÿงญ fix: Land on Chat History Instead of the Last Sidebar Panel by [@berry-13](https://github.com/berry-13) in [#17083](https://github.com/LibreChat-AI/LibreChat/pull/17083) +- ๐Ÿ“ฌ fix: Drain a Follow-Up Queued in a Chat the User Left by [@berry-13](https://github.com/berry-13) in [#16632](https://github.com/LibreChat-AI/LibreChat/pull/16632) +- ๐Ÿชช fix: Boot-Paint a Cached Theme Only for Its Signed-In Owner by [@berry-13](https://github.com/berry-13) in [#16926](https://github.com/LibreChat-AI/LibreChat/pull/16926) +- ๐Ÿ” fix: Encrypt Provider Keys With v3, Reject Plaintext in decryptV2 and Default to Strong Backup Codes by [@berry-13](https://github.com/berry-13) in [#17051](https://github.com/LibreChat-AI/LibreChat/pull/17051) +- fix(prompts): include command in prompt group list projections by [@aniketkrs](https://github.com/aniketkrs) in [#17046](https://github.com/LibreChat-AI/LibreChat/pull/17046) +- ๐Ÿ“ง fix: Log User IDs Instead of Emails in Admin Panel Auth Flow by [@berry-13](https://github.com/berry-13) in [#17032](https://github.com/LibreChat-AI/LibreChat/pull/17032) +- ๐ŸŽฏ fix: Hold Default Button Heights and the Dialog Close Button at the 24px Target by [@berry-13](https://github.com/berry-13) in [#16928](https://github.com/LibreChat-AI/LibreChat/pull/16928) +- ๐Ÿคซ fix: Stop Logging Action Auth Credentials to the Console by [@berry-13](https://github.com/berry-13) in [#17031](https://github.com/LibreChat-AI/LibreChat/pull/17031) +- ๐Ÿช fix: Load Google Tag Manager Only After Analytics Consent by [@berry-13](https://github.com/berry-13) in [#16999](https://github.com/LibreChat-AI/LibreChat/pull/16999) +- ๐Ÿ” fix: Encrypt User Plugin Credentials With Random-IV v3 Format by [@berry-13](https://github.com/berry-13) in [#16996](https://github.com/LibreChat-AI/LibreChat/pull/16996) +- ๐Ÿงน fix: Stop Cache Audit From Logging Cache Keys and Values by [@berry-13](https://github.com/berry-13) in [#16995](https://github.com/LibreChat-AI/LibreChat/pull/16995) +- ๐Ÿ•ต๏ธ fix: Redact Email Addresses and IPs From Auth Flow Logs by [@berry-13](https://github.com/berry-13) in [#16994](https://github.com/LibreChat-AI/LibreChat/pull/16994) +- ๐Ÿชฆ fix: Omit Email From Account Deletion Log by [@berry-13](https://github.com/berry-13) in [#16993](https://github.com/LibreChat-AI/LibreChat/pull/16993) +- ๐Ÿ”— fix: Detect Pull Request Links in Command Output for Conversation Lanes by [@berry-13](https://github.com/berry-13) in [#16982](https://github.com/LibreChat-AI/LibreChat/pull/16982) +- ๐Ÿ“ฑ fix: Keep Focused Text Fields at 16px on Touch Devices by [@berry-13](https://github.com/berry-13) in [#16971](https://github.com/LibreChat-AI/LibreChat/pull/16971) +- ๐Ÿงฉ fix: Use Dropdown In Code Execution Settings by [@berry-13](https://github.com/berry-13) in [#16980](https://github.com/LibreChat-AI/LibreChat/pull/16980) +- ๐Ÿ“Ž fix: Resolve useChat Tool Parts Against Live Attachments by [@berry-13](https://github.com/berry-13) in [#16960](https://github.com/LibreChat-AI/LibreChat/pull/16960) +- ๐Ÿ’ฌ fix: Clear Queued Attachments and Simplify Steer Controls by [@berry-13](https://github.com/berry-13) in [#16969](https://github.com/LibreChat-AI/LibreChat/pull/16969) +- ๐ŸŽฏ fix: Show the Focused State of the InputNumber Option Variant by [@berry-13](https://github.com/berry-13) in [#16925](https://github.com/LibreChat-AI/LibreChat/pull/16925) +- ๐Ÿงฎ fix: Read Math Function Channels in CSS Custom Property Triplets by [@berry-13](https://github.com/berry-13) in [#16924](https://github.com/LibreChat-AI/LibreChat/pull/16924) +- ๐Ÿงญ fix: Bring Submenus Closer to Their Parent Menu by [@berry-13](https://github.com/berry-13) in [#16930](https://github.com/LibreChat-AI/LibreChat/pull/16930) +- ๐Ÿชข fix: Settle Compaction Rows Past Anchor Collisions and Legacy Parts by [@berry-13](https://github.com/berry-13) in [#16552](https://github.com/LibreChat-AI/LibreChat/pull/16552) +- ๐Ÿ“ fix: Lay Out Agent Builder Model Parameters Like the Chat Panel by [@berry-13](https://github.com/berry-13) in [#16897](https://github.com/LibreChat-AI/LibreChat/pull/16897) +- ๐ŸŽฏ fix: Load Pull Request Status Only for Code Conversations by [@berry-13](https://github.com/berry-13) in [#16885](https://github.com/LibreChat-AI/LibreChat/pull/16885) +- ๐Ÿงฌ fix: Derive the Theme Cache Version and Align Color Tokens by [@berry-13](https://github.com/berry-13) in [#16819](https://github.com/LibreChat-AI/LibreChat/pull/16819) +- ๐ŸŽ›๏ธ fix: Polish the Pull Request Chip and Card Header by [@berry-13](https://github.com/berry-13) in [#16860](https://github.com/LibreChat-AI/LibreChat/pull/16860) +- ๐Ÿฉน fix: Keep Chrome Surfaces and Destructive Confirms Legible in Quiet-Chrome Themes by [@berry-13](https://github.com/berry-13) in [#16833](https://github.com/LibreChat-AI/LibreChat/pull/16833) +- ๐ŸŒซ๏ธ fix: Dim a Disabled InputNumber Through Its Nested Input by [@berry-13](https://github.com/berry-13) in [#16820](https://github.com/LibreChat-AI/LibreChat/pull/16820) +- ๐Ÿ“ fix: Make DataTable Row Estimates Breakpoint- and Leaf-Column-Aware by [@berry-13](https://github.com/berry-13) in [#16817](https://github.com/LibreChat-AI/LibreChat/pull/16817) +- ๐Ÿฉน fix: Stub the Attached Route in the Lane Recording Specs by [@berry-13](https://github.com/berry-13) in [#16840](https://github.com/LibreChat-AI/LibreChat/pull/16840) +- ๐Ÿ”‘ fix: Require Colon in API-Key Header Detection by [@dustinhealy](https://github.com/dustinhealy) in [#16803](https://github.com/LibreChat-AI/LibreChat/pull/16803) +- โน๏ธ fix: Reconcile Stopped Generations Before Detaching the Stream by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16788](https://github.com/LibreChat-AI/LibreChat/pull/16788) +- ๐Ÿ๏ธ fix: Apply the No-Workspace Decision Wherever an Agent's Code Route Resolves by [@danny-avila](https://github.com/danny-avila) in [#16798](https://github.com/LibreChat-AI/LibreChat/pull/16798) +- ๐ŸŽฏ fix: Keep Running Chat Ring Centered at Any UI Scale by [@berry-13](https://github.com/berry-13) in [#16810](https://github.com/LibreChat-AI/LibreChat/pull/16810) +- ๐ŸŽ›๏ธ fix: Smooth, Compact Code Workspace, Checkout and Approval Selectors by [@berry-13](https://github.com/berry-13) in [#16789](https://github.com/LibreChat-AI/LibreChat/pull/16789) +- ๐Ÿ” fix: Recover Concurrent First SAML, LDAP and Social Logins by [@danny-avila](https://github.com/danny-avila) in [#16779](https://github.com/LibreChat-AI/LibreChat/pull/16779) +- ๐Ÿšช fix: Let Concurrent First OpenID Logins Continue as the New User by [@danny-avila](https://github.com/danny-avila) in [#16778](https://github.com/LibreChat-AI/LibreChat/pull/16778) +- ๐Ÿ”‡ fix: Keep Reasoning Out of Read Aloud by [@berry-13](https://github.com/berry-13) in [#16790](https://github.com/LibreChat-AI/LibreChat/pull/16790) +- ๐ŸชŸ fix: Layer Tooltips Above the Popups They Open Inside by [@berry-13](https://github.com/berry-13) in [#16791](https://github.com/LibreChat-AI/LibreChat/pull/16791) +- ๐Ÿงท fix: Finalize Stopped Compactions and Verify Their Anchor by [@berry-13](https://github.com/berry-13) in [#16551](https://github.com/LibreChat-AI/LibreChat/pull/16551) +- ๐Ÿ“ด fix: Persist Cancelled Compactions With Their Identity by [@berry-13](https://github.com/berry-13) in [#16436](https://github.com/LibreChat-AI/LibreChat/pull/16436) +- ๐Ÿช„ fix: Hide Sole Tool Row Under Its Group Header by [@berry-13](https://github.com/berry-13) in [#16750](https://github.com/LibreChat-AI/LibreChat/pull/16750) +- ๐Ÿฆ” fix: Keep System Messages Stable During Collapse by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16780](https://github.com/LibreChat-AI/LibreChat/pull/16780) +- ๐Ÿ๏ธ fix: Let a No-Workspace Turn Carry a Remembered Approval Mode by [@danny-avila](https://github.com/danny-avila) in [#16763](https://github.com/LibreChat-AI/LibreChat/pull/16763) +- โš™๏ธ fix: Default Running Chat Rename to On by [@berry-13](https://github.com/berry-13) in [#16769](https://github.com/LibreChat-AI/LibreChat/pull/16769) +- ๐Ÿ‘ฏ fix: Separate Subagents and Handoffs Into Native Tools by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16761](https://github.com/LibreChat-AI/LibreChat/pull/16761) +- ๐Ÿงฌ fix: Default Subagents to Their Parent's Code Machine and Workspace by [@danny-avila](https://github.com/danny-avila) in [#16756](https://github.com/LibreChat-AI/LibreChat/pull/16756) +- ๐Ÿ’ถ fix: Price Mistral Large 3 at $0.50 / $1.50 per MTok by [@Alan-Billi](https://github.com/Alan-Billi) in [#16675](https://github.com/LibreChat-AI/LibreChat/pull/16675) +- ๐ŸŒ€ fix: Sync Spinner Rotation Phase Across Instances by [@berry-13](https://github.com/berry-13) in [#16738](https://github.com/LibreChat-AI/LibreChat/pull/16738) +- ๐Ÿ—‚๏ธ fix: Keep Project Chats Out of Chats by Default and Space Project Rows by [@berry-13](https://github.com/berry-13) in [#16755](https://github.com/LibreChat-AI/LibreChat/pull/16755) +- ๐Ÿ“ fix: Truncate Long Titles in the Archived Chats Dialog by [@berry-13](https://github.com/berry-13) in [#16754](https://github.com/LibreChat-AI/LibreChat/pull/16754) +- ๐Ÿซฅ fix: Remove Hover and Press Backgrounds From Chat Tool Rows by [@berry-13](https://github.com/berry-13) in [#16749](https://github.com/LibreChat-AI/LibreChat/pull/16749) +- ๐Ÿ—๏ธ fix: Strengthen Two-Factor Recovery Credentials by [@danny-avila](https://github.com/danny-avila) in [#16742](https://github.com/LibreChat-AI/LibreChat/pull/16742) +- ๐Ÿงน fix: Let File Deletes Succeed When the Code API No Longer Serves the Ref's Profile by [@TomasPalsson](https://github.com/TomasPalsson) in [#16671](https://github.com/LibreChat-AI/LibreChat/pull/16671) +- ๐Ÿ‘ป fix: Reveal Project Row Actions on Hover and Focus by [@berry-13](https://github.com/berry-13) in [#16731](https://github.com/LibreChat-AI/LibreChat/pull/16731) +- ๐Ÿ–ฒ๏ธ fix: Enable Running Chat Menus and Preserve Renamed Titles by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16697](https://github.com/LibreChat-AI/LibreChat/pull/16697) +- ๐Ÿช€ fix: Separate Workspace Admission and Transport Budgets by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16728](https://github.com/LibreChat-AI/LibreChat/pull/16728) +- ๐Ÿ“ฉ fix: Stage URL Prompts Before Agent Submission by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16647](https://github.com/LibreChat-AI/LibreChat/pull/16647) +- fix: Align Agent Contact Email with Its Label by Lia in [97bccd2e7d](https://github.com/LibreChat-AI/LibreChat/commit/97bccd2e7db9a4c490b3d635e85724dd25e5b02c) +- ๐Ÿฆฏ fix: Preserve Keyboard Access to BYOM Diagnostics by Lia in [d9ec51ba47](https://github.com/LibreChat-AI/LibreChat/commit/d9ec51ba477b4a98609966e879e2e2f0cb4fb8bf) +- fix: Order Server Snapshots Against Pending Read Intent by Lia in [ac2b51e98f](https://github.com/LibreChat-AI/LibreChat/commit/ac2b51e98f479f2a01c6855a07ae7338f8f9be3a) +- fix: Fence Reply Read State and Preserve Snapshot Clears by Lia in [c85795d08f](https://github.com/LibreChat-AI/LibreChat/commit/c85795d08f82df169d0ee032470d8ced0929e21f) +- fix: Preserve Unread Intent Across Mixed Backend Versions by Lia in [4bc9c9e5c0](https://github.com/LibreChat-AI/LibreChat/commit/4bc9c9e5c0769992cc37364020b23c44f43f4565) +- fix: Preserve Legacy Unread Reminder Placement by Lia in [d621cd8b69](https://github.com/LibreChat-AI/LibreChat/commit/d621cd8b69a8b9add11f9f1dc3f1426ddfbbb35d) +- fix: Keep Manual Unread Reminders in Date Groups by Lia in [c41413ad21](https://github.com/LibreChat-AI/LibreChat/commit/c41413ad21d5c69d22fbd2dd9599304f8f63acba) +- fix: Verify Sidebar Status and Project Name Loading by Lia in [ad99250a35](https://github.com/LibreChat-AI/LibreChat/commit/ad99250a3520940f37ffc7221493631818b82548) +- ๐Ÿ” fix: Warn When interface.webSearch Blocks Native Search by [@berry-13](https://github.com/berry-13) in [#16708](https://github.com/LibreChat-AI/LibreChat/pull/16708) +- ๐Ÿ›ผ fix: Keep BYOM Workspace Diagnostics Out of Composer Layout by Lia in [179ff350ec](https://github.com/LibreChat-AI/LibreChat/commit/179ff350ec3202f297c87f8edd16025ea6591cad) +- ๐ŸŒ— fix: Ink the Artifact Refresh Veil with the Media Text Role by [@berry-13](https://github.com/berry-13) in [#16716](https://github.com/LibreChat-AI/LibreChat/pull/16716) +- ๐Ÿชœ fix: Layer Settings Dialog Popovers Above Its Panel by [@berry-13](https://github.com/berry-13) in [#16720](https://github.com/LibreChat-AI/LibreChat/pull/16720) +- ๐Ÿงพ fix: Commit Resume Provenance With the Approval Claim by [@berry-13](https://github.com/berry-13) in [#16430](https://github.com/LibreChat-AI/LibreChat/pull/16430) +- ๐Ÿ–๏ธ fix: Read Theme Roles for the Last Artifact and Agent Chip Colours by [@berry-13](https://github.com/berry-13) in [#16705](https://github.com/LibreChat-AI/LibreChat/pull/16705) +- ๐Ÿงญ fix: Explain Missing Workspace Paths to the Model by [@danny-avila](https://github.com/danny-avila) in [#16700](https://github.com/LibreChat-AI/LibreChat/pull/16700) +- ๐Ÿซ– fix: Debounce Streaming Tool Code Highlights by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16695](https://github.com/LibreChat-AI/LibreChat/pull/16695) +- ๐Ÿ‹๏ธ fix: Bound Host File Edits Outside the API Event Loop by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16677](https://github.com/LibreChat-AI/LibreChat/pull/16677) +- ๐Ÿƒ fix: List Every Running Chat in the Sidebar's Running Group by [@danny-avila](https://github.com/danny-avila) in [#16668](https://github.com/LibreChat-AI/LibreChat/pull/16668) +- ๐Ÿ•Š๏ธ fix: Keep Attachment History From Locking Conversations by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16690](https://github.com/LibreChat-AI/LibreChat/pull/16690) +- ๐Ÿ”• fix: Log Lost Generation Predecessor Fences as Warnings by [@danny-avila](https://github.com/danny-avila) in [#16689](https://github.com/LibreChat-AI/LibreChat/pull/16689) +- ๐Ÿ” fix: Authenticate Code Session Probes the Way Their Route Expects by [@danny-avila](https://github.com/danny-avila) in [#16688](https://github.com/LibreChat-AI/LibreChat/pull/16688) +- ๐Ÿ“• fix: Explain Native Web Search Permission Denials by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16691](https://github.com/LibreChat-AI/LibreChat/pull/16691) +- ๐Ÿ’ญ fix: Show the Thoughts Floating Bar Only When Its Header Is Off Screen by [@berry-13](https://github.com/berry-13) in [#16642](https://github.com/LibreChat-AI/LibreChat/pull/16642) +- ๐Ÿ—๏ธ fix: Resolve Config-Scoped Custom Providers by [@danny-avila](https://github.com/danny-avila) in [#16687](https://github.com/LibreChat-AI/LibreChat/pull/16687) +- ๐Ÿ“ผ fix: Replay Running Subagent Activity by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16541](https://github.com/LibreChat-AI/LibreChat/pull/16541) +- ๐Ÿ›– fix: Scope OAuth Binding Cookies to the Public API Path by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16649](https://github.com/LibreChat-AI/LibreChat/pull/16649) +- ๐Ÿ’ฌ fix: Keep Healthy Workspace Detach Available by [@danny-avila](https://github.com/danny-avila) in [#16670](https://github.com/LibreChat-AI/LibreChat/pull/16670) +- ๐ŸชŸ fix: Read the Static Checks Workflow With CRLF Line Endings by [@danny-avila](https://github.com/danny-avila) in [#16669](https://github.com/LibreChat-AI/LibreChat/pull/16669) +- ๐Ÿ“ง fix: Pass `requireTLS` So `EMAIL_ENCRYPTION=starttls` Requires STARTTLS by [@ethanlaj](https://github.com/ethanlaj) in [#16656](https://github.com/LibreChat-AI/LibreChat/pull/16656) +- ๐Ÿต fix: Preserve Workspace Decisions in Warm Chat Caches by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16648](https://github.com/LibreChat-AI/LibreChat/pull/16648) +- ๐Ÿฅพ fix: Advertise Stable Uploaded File Paths Before Code Execution by [@Oliver777int](https://github.com/Oliver777int) in [#16578](https://github.com/LibreChat-AI/LibreChat/pull/16578) +- ๐Ÿšท fix: Stop Reporting Rejected MCP Credentials as Authorized by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16571](https://github.com/LibreChat-AI/LibreChat/pull/16571) +- ๐Ÿซก fix: Keep Pending Steering Within the Chat Column by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16621](https://github.com/LibreChat-AI/LibreChat/pull/16621) +- fix: Restore MCP OAuth Browser Binding ๐Ÿชข by [@danny-avila](https://github.com/danny-avila) in [#16634](https://github.com/LibreChat-AI/LibreChat/pull/16634) +- ๐ŸฆŽ fix: Restore Theme Contrast in Composer and Messages by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16624](https://github.com/LibreChat-AI/LibreChat/pull/16624) +- ๐Ÿชง fix: Open the Mobile Drawer Below a Site Banner by [@berry-13](https://github.com/berry-13) in [#16611](https://github.com/LibreChat-AI/LibreChat/pull/16611) +- ๐Ÿ”— fix: Hide the Viewer's Deployment Theme While a Shared Link Loads by [@berry-13](https://github.com/berry-13) in [#16608](https://github.com/LibreChat-AI/LibreChat/pull/16608) +- ๐Ÿช— fix: Open the Lone Tool Call Directly and Label Settled Commands Ran by [@berry-13](https://github.com/berry-13) in [#16547](https://github.com/LibreChat-AI/LibreChat/pull/16547) +- ๐Ÿช€ fix: Stop the Textarea Jump During File Uploads by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16623](https://github.com/LibreChat-AI/LibreChat/pull/16623) +- ๐Ÿง‘โ€๐Ÿณ fix: Distinguish Tool Preparation From Execution by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16619](https://github.com/LibreChat-AI/LibreChat/pull/16619) +- ๐ŸŒ… fix: Paint the Cached Deployment Theme on the First Frame by [@berry-13](https://github.com/berry-13) in [#16590](https://github.com/LibreChat-AI/LibreChat/pull/16590) +- ๐Ÿช† fix: Resolve Theme Markers to the Nearest Themed Root by [@berry-13](https://github.com/berry-13) in [#16589](https://github.com/LibreChat-AI/LibreChat/pull/16589) +- ๐ŸŽ‹ fix: Reconcile Canary Promotion Static Checks by Lia in [443d27ba32](https://github.com/LibreChat-AI/LibreChat/commit/443d27ba32a153a9411ed686fb9bfe902343e03c) +- โ›ด๏ธ fix: Reset Agent Search and Wait for Completed Diagram Exports by Lia in [e6d6092448](https://github.com/LibreChat-AI/LibreChat/commit/e6d6092448cd60df1a617c81b4d447b167f9c4cb) +- โ›ด๏ธ fix: Align Canary Timing Types and CI Formatting by Lia in [206ef476f6](https://github.com/LibreChat-AI/LibreChat/commit/206ef476f652d89a8291003eaeb29a436f3f32e4) +- ๐Ÿงฝ fix: Paint Freed Feature Surfaces From Theme Roles by [@berry-13](https://github.com/berry-13) in [#16517](https://github.com/LibreChat-AI/LibreChat/pull/16517) +- ๐Ÿ“ fix: Draw Controls at the Theme Control Radius by [@berry-13](https://github.com/berry-13) in [#16481](https://github.com/LibreChat-AI/LibreChat/pull/16481) +- ๐Ÿงฉ fix: Paint Panel Surfaces From Theme Roles by [@berry-13](https://github.com/berry-13) in [#16484](https://github.com/LibreChat-AI/LibreChat/pull/16484) +- ๐Ÿซง fix: Paint Chat Surfaces From Theme Roles by [@berry-13](https://github.com/berry-13) in [#16483](https://github.com/LibreChat-AI/LibreChat/pull/16483) +- ๐Ÿ”ค fix: Ship the Theme Font Faces With the Package by [@berry-13](https://github.com/berry-13) in [#16485](https://github.com/LibreChat-AI/LibreChat/pull/16485) +- ๐Ÿชž fix: Publish the Theme Defaults and Scale Mapping to Package Consumers by [@berry-13](https://github.com/berry-13) in [#16479](https://github.com/LibreChat-AI/LibreChat/pull/16479) +- ๐Ÿ–Œ๏ธ fix: Apply Controlled Themes Before Paint and Theme Prose Links, Inline Code and QR Backdrops by [@berry-13](https://github.com/berry-13) in [#16480](https://github.com/LibreChat-AI/LibreChat/pull/16480) +- ๐ŸŽจ fix: Draw Library Colours From Theme Roles and Record the Exceptions by [@berry-13](https://github.com/berry-13) in [#16482](https://github.com/LibreChat-AI/LibreChat/pull/16482) +- ๐ŸŽจ fix: Fall Back From an Invalid Theme in librechat.yaml Instead of Exiting by [@berry-13](https://github.com/berry-13) in [#16462](https://github.com/LibreChat-AI/LibreChat/pull/16462) +- ๐Ÿงฏ fix: Outlast Failed Auth Cache Eviction on Credential Changes by [@berry-13](https://github.com/berry-13) in [#16435](https://github.com/LibreChat-AI/LibreChat/pull/16435) +- โ›ด๏ธ fix: Keep MCP App and Speech Limits in One E2E Config by Lia in [04461d4cdb](https://github.com/LibreChat-AI/LibreChat/commit/04461d4cdbace27cc3767571a3c9a40dab1dc56c) +- ๐Ÿ”Œ fix: Reattach a Resume Stream Whose Body Ends Before Final by [@berry-13](https://github.com/berry-13) in [#16438](https://github.com/LibreChat-AI/LibreChat/pull/16438) +- ๐Ÿ›ถ fix: Remove Obsolete Steer Recovery Translation Keys by Lia in [321dfb1fe9](https://github.com/LibreChat-AI/LibreChat/commit/321dfb1fe97aa5a028ea44925d564c157788588a) +- ๐Ÿ›ถ fix: Keep Revealed Queue Actions and E2E Flows After Composer Redesign by Lia in [596c4dd592](https://github.com/LibreChat-AI/LibreChat/commit/596c4dd5922ce8d503c63085c3a7470b4c72b652) +- ๐Ÿ›ถ fix: Reconcile Canary Server Startup and Static Gates by Lia in [3a73e508fc](https://github.com/LibreChat-AI/LibreChat/commit/3a73e508fc566b58bac65ecc5578be8a370ec3c9) +- ๐Ÿ”… fix: Quiet Form-Control Outlines in the Stock Palettes by [@berry-13](https://github.com/berry-13) in [#16400](https://github.com/LibreChat-AI/LibreChat/pull/16400) +- ๐Ÿ›ถ fix: Reconcile Canary Sync Checks by Lia in [3ae115785e](https://github.com/LibreChat-AI/LibreChat/commit/3ae115785ef868f2fd805d575a7fd70d2ab4d59a) +- ๐Ÿ–ผ๏ธ fix: Paint the Shared Link Tenant's Deployment Theme by [@berry-13](https://github.com/berry-13) in [#16333](https://github.com/LibreChat-AI/LibreChat/pull/16333) +- ๐Ÿซ— fix: Bound MCP App Responses and In-Flight Work by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16300](https://github.com/LibreChat-AI/LibreChat/pull/16300) +- โ™ฟ fix: Keep Identity Badge Labels at Text Contrast by [@berry-13](https://github.com/berry-13) in [#16337](https://github.com/LibreChat-AI/LibreChat/pull/16337) +- ๐Ÿ”‡ fix: Mute the Create Assistant Empty State in the Assistant Picker by [@berry-13](https://github.com/berry-13) in [#16338](https://github.com/LibreChat-AI/LibreChat/pull/16338) +- ๐Ÿงฉ fix: Keep Streamed Parts Intact Across Replays and Early Completions by [@berry-13](https://github.com/berry-13) in [#16331](https://github.com/LibreChat-AI/LibreChat/pull/16331) +- ๐Ÿซธ fix: Gate MCP App Views and Actions on User Intent by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16297](https://github.com/LibreChat-AI/LibreChat/pull/16297) +- ๐Ÿ”‘ fix: Invalidate the Auth User Cache After a CLI Password Reset by [@berry-13](https://github.com/berry-13) in [#16257](https://github.com/LibreChat-AI/LibreChat/pull/16257) +- ๐Ÿ” fix: Revoke Password Reset Credentials Independently by [@berry-13](https://github.com/berry-13) in [#16320](https://github.com/LibreChat-AI/LibreChat/pull/16320) +- ๐Ÿฅข fix: Fit MCP App Snapshots Within Message Documents by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16299](https://github.com/LibreChat-AI/LibreChat/pull/16299) +- ๐Ÿ”‘ fix: Refresh the Stored Passkey Backup State on Each Sign-In by [@berry-13](https://github.com/berry-13) in [#16255](https://github.com/LibreChat-AI/LibreChat/pull/16255) +- ๐Ÿ”‘ fix: Keep Passkey Sign-In Reachable When Email Login Is Disabled by [@berry-13](https://github.com/berry-13) in [#16254](https://github.com/LibreChat-AI/LibreChat/pull/16254) +- ๐Ÿงต fix: Restore Classes tailwind-merge Was Silently Dropping by [@berry-13](https://github.com/berry-13) in [#15995](https://github.com/LibreChat-AI/LibreChat/pull/15995) +- ๐Ÿฆฏ fix: Restore BYOM Diagnostic Access and Stabilize Readiness Checks by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16723](https://github.com/LibreChat-AI/LibreChat/pull/16723) +- ๐Ÿ›ผ fix: Keep BYOM Workspace Diagnostics Out of Composer Layout by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16721](https://github.com/LibreChat-AI/LibreChat/pull/16721) +- ๐Ÿ•ด๏ธ fix: Align Agent Contact Email on the Landing Page by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16655](https://github.com/LibreChat-AI/LibreChat/pull/16655) + +### ๐Ÿ”ง Refactoring and Performance + +- ๐Ÿ—„๏ธ refactor: Portable Admin Config Store with Revisions, Key Encoding and Coherent Writes by [@danny-avila](https://github.com/danny-avila) in [#17326](https://github.com/LibreChat-AI/LibreChat/pull/17326) +- ๐Ÿ”‘ refactor: Read Stream Auth and Deployment Config Through ChatSettings by [@berry-13](https://github.com/berry-13) in [#17141](https://github.com/LibreChat-AI/LibreChat/pull/17141) +- โš›๏ธ refactor: Move Run Display, Live Attachment and PTC Trace Atoms to Jotai by [@berry-13](https://github.com/berry-13) in [#17138](https://github.com/LibreChat-AI/LibreChat/pull/17138) +- ๐Ÿ—‚๏ธ refactor: Split useEventHandlers by Responsibility by [@berry-13](https://github.com/berry-13) in [#17136](https://github.com/LibreChat-AI/LibreChat/pull/17136) +- ๐Ÿงท refactor: Split useResumeOnLoad by Responsibility by [@berry-13](https://github.com/berry-13) in [#17134](https://github.com/LibreChat-AI/LibreChat/pull/17134) +- ๐Ÿชก refactor: Split useResumableSSE Into Thin Host Bindings by [@berry-13](https://github.com/berry-13) in [#17133](https://github.com/LibreChat-AI/LibreChat/pull/17133) +- ๐Ÿงฉ refactor: Move the Resumable Submission Mount Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17132](https://github.com/LibreChat-AI/LibreChat/pull/17132) +- ๐Ÿš€ refactor: Move the Resumable Generation Start Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17131](https://github.com/LibreChat-AI/LibreChat/pull/17131) +- ๐Ÿชข refactor: Keep Chat Direction in Jotai and Cover Direction Scenarios by [@berry-13](https://github.com/berry-13) in [#17279](https://github.com/LibreChat-AI/LibreChat/pull/17279) +- ๐Ÿงน refactor: Use Logical Spacing and Positioning in the App Shell by [@berry-13](https://github.com/berry-13) in [#17269](https://github.com/LibreChat-AI/LibreChat/pull/17269) +- ๐Ÿ—‚๏ธ perf: Index Hot Lookups and Project the Remote Models List by [@berry-13](https://github.com/berry-13) in [#17259](https://github.com/LibreChat-AI/LibreChat/pull/17259) +- ๐Ÿšฐ refactor: Move the Queue Drain, Reveal and Recovery Hooks into the Chat Package by [@berry-13](https://github.com/berry-13) in [#17170](https://github.com/LibreChat-AI/LibreChat/pull/17170) +- ๐ŸŽจ refactor: Draw Lemonade, MLX, ShuttleAI and Unify as Brand Marks by [@berry-13](https://github.com/berry-13) in [#17252](https://github.com/LibreChat-AI/LibreChat/pull/17252) +- ๐Ÿท๏ธ refactor: Draw Provider Icons as Theme-Following Brand Marks by [@berry-13](https://github.com/berry-13) in [#17237](https://github.com/LibreChat-AI/LibreChat/pull/17237) +- ๐Ÿงพ refactor: Drop the Unsent Request/Response Pair From ChatErrorData by [@berry-13](https://github.com/berry-13) in [#17221](https://github.com/LibreChat-AI/LibreChat/pull/17221) +- ๐Ÿงท refactor: Require a Mounted Steer Host Instead of a Module Default by [@berry-13](https://github.com/berry-13) in [#17164](https://github.com/LibreChat-AI/LibreChat/pull/17164) +- ๐Ÿงฝ refactor: Import Composer State and Restore from the Chat Package by [@berry-13](https://github.com/berry-13) in [#17163](https://github.com/LibreChat-AI/LibreChat/pull/17163) +- ๐Ÿงน refactor: Import Steer Queue and Recovery State from the Chat Package by [@berry-13](https://github.com/berry-13) in [#17162](https://github.com/LibreChat-AI/LibreChat/pull/17162) +- ๐Ÿšš refactor: Move the Steering Hooks into the Chat Package by [@berry-13](https://github.com/berry-13) in [#17158](https://github.com/LibreChat-AI/LibreChat/pull/17158) +- ๐Ÿ”ฒ refactor: Route Picker Panels Through Theme Radius Roles by [@berry-13](https://github.com/berry-13) in [#17186](https://github.com/LibreChat-AI/LibreChat/pull/17186) +- ๐Ÿ—‚๏ธ refactor: Move Pane Composer Files to Jotai in the Chat Package by [@berry-13](https://github.com/berry-13) in [#17193](https://github.com/LibreChat-AI/LibreChat/pull/17193) +- ๐ŸŽš๏ธ refactor: Move Pane Preset and Option Settings to Jotai in the Chat Package by [@berry-13](https://github.com/berry-13) in [#17179](https://github.com/LibreChat-AI/LibreChat/pull/17179) +- ๐Ÿ—‚๏ธ refactor: Read the Search, File and Message Editor Siblings Through the Parts Host by [@berry-13](https://github.com/berry-13) in [#17173](https://github.com/LibreChat-AI/LibreChat/pull/17173) +- โœ๏ธ refactor: Read the Inline Editors' Messages View Through the Parts Host by [@berry-13](https://github.com/berry-13) in [#17172](https://github.com/LibreChat-AI/LibreChat/pull/17172) +- ๐Ÿ”Ž perf: Index-Bound Word-Prefix Search for Users and Groups by [@berry-13](https://github.com/berry-13) in [#16719](https://github.com/LibreChat-AI/LibreChat/pull/16719) +- ๐Ÿง  perf: Recycle Backend Jest Workers Past 1GB by [@berry-13](https://github.com/berry-13) in [#17098](https://github.com/LibreChat-AI/LibreChat/pull/17098) +- ๐ŸŽจ style: Restore Resumable SSE Import Order by [@dustinhealy](https://github.com/dustinhealy) in [#17191](https://github.com/LibreChat-AI/LibreChat/pull/17191) +- ๐Ÿงฑ refactor: Read Message Content Siblings Through the Parts Host by [@berry-13](https://github.com/berry-13) in [#17171](https://github.com/LibreChat-AI/LibreChat/pull/17171) +- ๐Ÿงช refactor: Move Test-Only Helpers Out of Production Modules by [@berry-13](https://github.com/berry-13) in [#17139](https://github.com/LibreChat-AI/LibreChat/pull/17139) +- โœ‚๏ธ refactor: Remove Dead Helpers, Classes and Dependencies From packages/api by [@berry-13](https://github.com/berry-13) in [#17118](https://github.com/LibreChat-AI/LibreChat/pull/17118) +- ๐Ÿ”Œ refactor: Inject the App Services the Steer Hooks Use through a Steer Host by [@berry-13](https://github.com/berry-13) in [#17156](https://github.com/LibreChat-AI/LibreChat/pull/17156) +- ๐Ÿ”€ refactor: Move Resumable Frame Dispatch and Attach Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17129](https://github.com/LibreChat-AI/LibreChat/pull/17129) +- ๐Ÿ›ฐ๏ธ refactor: Move the Pane Submission to Jotai in the Chat Package by [@berry-13](https://github.com/berry-13) in [#17159](https://github.com/LibreChat-AI/LibreChat/pull/17159) +- ๐Ÿ“ฆ refactor: Move the Generation Run Atoms Into the Chat Package by [@berry-13](https://github.com/berry-13) in [#17140](https://github.com/LibreChat-AI/LibreChat/pull/17140) +- ๐Ÿฉน refactor: Move Resumable Response Patching Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17127](https://github.com/LibreChat-AI/LibreChat/pull/17127) +- ๐Ÿ›Ÿ refactor: Move Resumable Transport Failure Handling Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17120](https://github.com/LibreChat-AI/LibreChat/pull/17120) +- ๐Ÿ›ฐ๏ธ refactor: Move the Submitting Flag to Jotai in the Chat Package by [@berry-13](https://github.com/berry-13) in [#17121](https://github.com/LibreChat-AI/LibreChat/pull/17121) +- โœ‚๏ธ refactor: Split the Chat Ask Function Into Turn Modules by [@berry-13](https://github.com/berry-13) in [#17115](https://github.com/LibreChat-AI/LibreChat/pull/17115) +- ๐Ÿงฑ refactor: Split the Chat Step Reducer Into Stream Modules by [@berry-13](https://github.com/berry-13) in [#17105](https://github.com/LibreChat-AI/LibreChat/pull/17105) +- ๐Ÿ“ฆ refactor: Move Steer Queue and Composer State into the Chat Package by [@berry-13](https://github.com/berry-13) in [#17155](https://github.com/LibreChat-AI/LibreChat/pull/17155) +- ๐Ÿšฐ refactor: Move Queue Drain Decisions into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17130](https://github.com/LibreChat-AI/LibreChat/pull/17130) +- ๐Ÿ refactor: Move Resumable Terminal Handoff and Lifecycle Reconcile Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17119](https://github.com/LibreChat-AI/LibreChat/pull/17119) +- ๐Ÿงญ refactor: Give the Resumable Stream a Core Run and Subscription by [@berry-13](https://github.com/berry-13) in [#17117](https://github.com/LibreChat-AI/LibreChat/pull/17117) +- ๐Ÿงต refactor: Move Turn Message Helpers Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17110](https://github.com/LibreChat-AI/LibreChat/pull/17110) +- ๐Ÿงฐ refactor: Move Resumable Start Helpers Into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17109](https://github.com/LibreChat-AI/LibreChat/pull/17109) +- ๐Ÿงฎ refactor: Move Token Usage Math Into the Chat Package by [@berry-13](https://github.com/berry-13) in [#17106](https://github.com/LibreChat-AI/LibreChat/pull/17106) +- ๐ŸชŸ refactor: Read Mounted Pane Conversations through ChatSettings in Steer Recovery by [@berry-13](https://github.com/berry-13) in [#17137](https://github.com/LibreChat-AI/LibreChat/pull/17137) +- โš›๏ธ refactor: Move the Steer Atoms to Jotai in the Chat Package by [@berry-13](https://github.com/berry-13) in [#17135](https://github.com/LibreChat-AI/LibreChat/pull/17135) +- ๐Ÿงฎ refactor: Lift Stream Steer-Chip Reconciliation into Core Reducers by [@berry-13](https://github.com/berry-13) in [#17128](https://github.com/LibreChat-AI/LibreChat/pull/17128) +- ๐Ÿงฒ refactor: Move Pending Quotes and Manual Skills onto Jotai by [@berry-13](https://github.com/berry-13) in [#17126](https://github.com/LibreChat-AI/LibreChat/pull/17126) +- ๐ŸŽ›๏ธ refactor: Move Queued Send and During-Run Actions out of useSteering by [@berry-13](https://github.com/berry-13) in [#17125](https://github.com/LibreChat-AI/LibreChat/pull/17125) +- ๐Ÿ“ฎ refactor: Move the Steer POST into useSubmitSteer with Core Helpers by [@berry-13](https://github.com/berry-13) in [#17124](https://github.com/LibreChat-AI/LibreChat/pull/17124) +- ๐Ÿงท refactor: Split Steer Chips, Enqueue and Queued Recovery out of useSteering by [@berry-13](https://github.com/berry-13) in [#17123](https://github.com/LibreChat-AI/LibreChat/pull/17123) +- ๐Ÿชก refactor: Split Queue Receipts, Rows and Composer Takes out of useSteering by [@berry-13](https://github.com/berry-13) in [#17122](https://github.com/LibreChat-AI/LibreChat/pull/17122) +- ๐Ÿงญ refactor: Move App-Only Conversation and Sharing Hooks Out of hooks/Chat by [@berry-13](https://github.com/berry-13) in [#17108](https://github.com/LibreChat-AI/LibreChat/pull/17108) +- ๐Ÿงญ refactor: Move Steer and Queue Pure Logic into the Chat Core by [@berry-13](https://github.com/berry-13) in [#17107](https://github.com/LibreChat-AI/LibreChat/pull/17107) +- ๐Ÿงฝ refactor: Remove Dead Client Components, Providers and Barrels by [@berry-13](https://github.com/berry-13) in [#17116](https://github.com/LibreChat-AI/LibreChat/pull/17116) +- ๐Ÿชฆ refactor: Remove Dead Legacy API Modules and Root Tooling by [@berry-13](https://github.com/berry-13) in [#17114](https://github.com/LibreChat-AI/LibreChat/pull/17114) +- ๐Ÿ—ƒ๏ธ refactor: Remove Dead Data Schemas Methods and Data Provider Exports by [@berry-13](https://github.com/berry-13) in [#17113](https://github.com/LibreChat-AI/LibreChat/pull/17113) +- ๐Ÿงน refactor: Remove Dead Client Hooks, Store Modules and Utilities by [@berry-13](https://github.com/berry-13) in [#17111](https://github.com/LibreChat-AI/LibreChat/pull/17111) +- ๐Ÿ“ refactor: Move Text-Like Message Parts Into @librechat/chat by [@berry-13](https://github.com/berry-13) in [#17087](https://github.com/LibreChat-AI/LibreChat/pull/17087) +- ๐Ÿงฉ refactor: Route Message Parts Through a @librechat/chat Part Dispatcher and Host by [@berry-13](https://github.com/berry-13) in [#16976](https://github.com/LibreChat-AI/LibreChat/pull/16976) +- ๐Ÿ”˜ refactor: Draw the Composer Controls With the Shared Button by [@berry-13](https://github.com/berry-13) in [#16953](https://github.com/LibreChat-AI/LibreChat/pull/16953) +- ๐Ÿ” refactor: Lift the Step Handler Into a Core reduceStep With an Effects Channel by [@berry-13](https://github.com/berry-13) in [#17000](https://github.com/LibreChat-AI/LibreChat/pull/17000) +- ๐Ÿšฐ refactor: Move the Pure Stream Code into the @librechat/chat Core by [@berry-13](https://github.com/berry-13) in [#16979](https://github.com/LibreChat-AI/LibreChat/pull/16979) +- ๐Ÿชข refactor: Move Stop Button, Abort Scroll and Submission Start State to Jotai by [@berry-13](https://github.com/berry-13) in [#16968](https://github.com/LibreChat-AI/LibreChat/pull/16968) +- ๐Ÿงฑ refactor: Judge Chat Package Imports on the Resolved Module by [@berry-13](https://github.com/berry-13) in [#16975](https://github.com/LibreChat-AI/LibreChat/pull/16975) +- ๐Ÿงญ refactor: Supply Deployment Config and Auth to Chat Hooks Through ChatSettings by [@berry-13](https://github.com/berry-13) in [#16963](https://github.com/LibreChat-AI/LibreChat/pull/16963) +- ๐Ÿ“ refactor: Read ChatView's Save-Drafts Setting From the Host Chat Settings by [@berry-13](https://github.com/berry-13) in [#16952](https://github.com/LibreChat-AI/LibreChat/pull/16952) +- ๐ŸŽจ style: Quiet Failed Tool Activity by [@berry-13](https://github.com/berry-13) in [#16949](https://github.com/LibreChat-AI/LibreChat/pull/16949) +- ๐Ÿช refactor: Supply Auto-Expand Tools to Tool Cards From the Message Host by [@berry-13](https://github.com/berry-13) in [#16951](https://github.com/LibreChat-AI/LibreChat/pull/16951) +- ๐Ÿ“ฆ refactor: Move the Token-Usage Jotai State Into the TokenUsage Feature by [@berry-13](https://github.com/berry-13) in [#16950](https://github.com/LibreChat-AI/LibreChat/pull/16950) +- ๐Ÿชถ perf: Mount a Sidebar Row's Menu Actions Only Once Its Menu Is Used by [@berry-13](https://github.com/berry-13) in [#16948](https://github.com/LibreChat-AI/LibreChat/pull/16948) +- ๐Ÿงญ refactor: Normalize Model-Authored Artifact Types in One Place by [@berry-13](https://github.com/berry-13) in [#16947](https://github.com/LibreChat-AI/LibreChat/pull/16947) +- ๐ŸŽš๏ธ refactor: Define the Code Highlight Cadence Default Once by [@berry-13](https://github.com/berry-13) in [#16946](https://github.com/LibreChat-AI/LibreChat/pull/16946) +- ๐Ÿ–ฑ๏ธ refactor: Hover the Rail Toggle, New Chat and Marketplace Controls in the Nav Role by [@berry-13](https://github.com/berry-13) in [#16940](https://github.com/LibreChat-AI/LibreChat/pull/16940) +- ๐Ÿงญ refactor: Give the Desktop Icon Rail Nav Hover and Selected States by [@berry-13](https://github.com/berry-13) in [#16937](https://github.com/LibreChat-AI/LibreChat/pull/16937) +- ๐ŸชŸ refactor: Use the Embedded Input Variant in the Command Popovers by [@berry-13](https://github.com/berry-13) in [#16901](https://github.com/LibreChat-AI/LibreChat/pull/16901) +- ๐Ÿงฑ refactor: Use the Framed Textarea Variant in the Skill Editors by [@berry-13](https://github.com/berry-13) in [#16894](https://github.com/LibreChat-AI/LibreChat/pull/16894) +- ๐ŸŽš๏ธ refactor: Use Primitive Tones, Variants and Shapes in Remaining Components by [@berry-13](https://github.com/berry-13) in [#16872](https://github.com/LibreChat-AI/LibreChat/pull/16872) +- ๐Ÿงน refactor: Move Inline Styles to Classes Outside Chat and the Side Panel by [@berry-13](https://github.com/berry-13) in [#16871](https://github.com/LibreChat-AI/LibreChat/pull/16871) +- ๐ŸŽฏ refactor: Hold ClickHouse Colors at Their Click UI Values by [@berry-13](https://github.com/berry-13) in [#16821](https://github.com/LibreChat-AI/LibreChat/pull/16821) +- ๐ŸŸฃ style: Show Merged Pull Requests in Purple by [@berry-13](https://github.com/berry-13) in [#16882](https://github.com/LibreChat-AI/LibreChat/pull/16882) +- ๐Ÿงผ refactor: Drop Redundant Design Overrides in the Remaining Side Panels by [@berry-13](https://github.com/berry-13) in [#16867](https://github.com/LibreChat-AI/LibreChat/pull/16867) +- ๐Ÿงน refactor: Drop Redundant Design Overrides in the Agents Panel by [@berry-13](https://github.com/berry-13) in [#16866](https://github.com/LibreChat-AI/LibreChat/pull/16866) +- ๐ŸŽš๏ธ refactor: Give InputNumber an Option Variant for Setting Values by [@berry-13](https://github.com/berry-13) in [#16831](https://github.com/LibreChat-AI/LibreChat/pull/16831) +- ๐Ÿงน refactor: Use Existing Variants and Drop Redundant Overrides in Nav, Skills and Prompts by [@berry-13](https://github.com/berry-13) in [#16868](https://github.com/LibreChat-AI/LibreChat/pull/16868) +- ๐Ÿงน refactor: Clear Chat Input Design Suppressions Through Existing Variants by [@berry-13](https://github.com/berry-13) in [#16863](https://github.com/LibreChat-AI/LibreChat/pull/16863) +- ๐Ÿงน refactor: Resolve Unknown Classes and Shed Restyle Overrides in Chat Messages by [@berry-13](https://github.com/berry-13) in [#16865](https://github.com/LibreChat-AI/LibreChat/pull/16865) +- ๐Ÿงน refactor: Clear Raw-Color, Unknown-Class and Arbitrary-Value Suppressions by [@berry-13](https://github.com/berry-13) in [#16829](https://github.com/LibreChat-AI/LibreChat/pull/16829) +- ๐ŸŽจ refactor: Route Stylesheet Colours Through Theme Variables by [@berry-13](https://github.com/berry-13) in [#16823](https://github.com/LibreChat-AI/LibreChat/pull/16823) +- ๐Ÿงฝ refactor: Drop Redundant Button Overrides in Chat Messages and Input by [@berry-13](https://github.com/berry-13) in [#16838](https://github.com/LibreChat-AI/LibreChat/pull/16838) +- ๐Ÿ”— refactor: Use the Bare and Wide Button Sizes in the Account Settings Dialogs by [@berry-13](https://github.com/berry-13) in [#16834](https://github.com/LibreChat-AI/LibreChat/pull/16834) +- ๐Ÿ” refactor: Give Sign-In Controls Button, Input and Alert Variants by [@berry-13](https://github.com/berry-13) in [#16828](https://github.com/LibreChat-AI/LibreChat/pull/16828) +- ๐Ÿงน refactor: Clear the Raw-Color and Unknown-Class Design Suppressions by [@berry-13](https://github.com/berry-13) in [#16825](https://github.com/LibreChat-AI/LibreChat/pull/16825) +- ๐Ÿงฝ refactor: Drop Classes Primitives Already Set by [@berry-13](https://github.com/berry-13) in [#16835](https://github.com/LibreChat-AI/LibreChat/pull/16835) +- ๐Ÿท๏ธ refactor: Drop Redundant Label Ink Overrides in Panels by [@berry-13](https://github.com/berry-13) in [#16830](https://github.com/LibreChat-AI/LibreChat/pull/16830) +- ๐Ÿงน refactor: Replace Arbitrary Values in the Agent Builder and Skills by [@berry-13](https://github.com/berry-13) in [#16824](https://github.com/LibreChat-AI/LibreChat/pull/16824) +- ๐Ÿงน refactor: Clear Raw-Color and Unknown-Class Suppressions in Panels by [@berry-13](https://github.com/berry-13) in [#16818](https://github.com/LibreChat-AI/LibreChat/pull/16818) +- ๐Ÿท๏ธ refactor: Mark Message Text Containers With a Data Attribute by [@berry-13](https://github.com/berry-13) in [#16826](https://github.com/LibreChat-AI/LibreChat/pull/16826) +- ๐Ÿงน refactor: Clear Chat Design Suppressions That Render Nothing by [@berry-13](https://github.com/berry-13) in [#16822](https://github.com/LibreChat-AI/LibreChat/pull/16822) +- ๐Ÿชถ perf: Load Tool-Call Previews and Fetch Full Parts on Demand by [@danny-avila](https://github.com/danny-avila) in [#16753](https://github.com/LibreChat-AI/LibreChat/pull/16753) +- ๐ŸŽจ style: Compact Queue Buttons and Restyle Projects and Composer Context Rail by [@berry-13](https://github.com/berry-13) in [#16772](https://github.com/LibreChat-AI/LibreChat/pull/16772) +- โšก perf: Cache Package Builds and Make Client Coverage Opt-In by [@berry-13](https://github.com/berry-13) in [#16709](https://github.com/LibreChat-AI/LibreChat/pull/16709) +- โšก perf: Async Local File Saves and Compile Hot-Path Regexes Once by [@berry-13](https://github.com/berry-13) in [#16712](https://github.com/LibreChat-AI/LibreChat/pull/16712) +- ๐Ÿซ— perf: Release Message Histories of Conversations the User Has Left by [@danny-avila](https://github.com/danny-avila) in [#16747](https://github.com/LibreChat-AI/LibreChat/pull/16747) +- perf: Skip Unchanged Skills in GitHub Skill Sync by Marco Beretta in [565976be52](https://github.com/LibreChat-AI/LibreChat/commit/565976be52d72deab020276415aa489e6c0d8b1b) +- style: Sort Imports In ChatForm And Queue by Marco Beretta in [18a1ecfde9](https://github.com/LibreChat-AI/LibreChat/commit/18a1ecfde90da23497471f2142697f601ecb493e) +- refactor: Remove Visible Composer Hint Row And Tips Setting by Marco Beretta in [f87fb0dbc6](https://github.com/LibreChat-AI/LibreChat/commit/f87fb0dbc61a65be97f26f714a8c15b406ac68c1) +- ๐ŸŽ perf: Coalesce Ready Background Completions by Default by Danny Avila in [2b4e5b5acd](https://github.com/LibreChat-AI/LibreChat/commit/2b4e5b5acdde5e4170c45af1de52efaf8e9b22f4) +- ๐Ÿงบ perf: Batch Prompt Group Permission Checks in the Sidebar by [@berry-13](https://github.com/berry-13) in [#16710](https://github.com/LibreChat-AI/LibreChat/pull/16710) +- ๐Ÿ—„๏ธ perf: Cut Serial and Redundant Database Reads by [@berry-13](https://github.com/berry-13) in [#16711](https://github.com/LibreChat-AI/LibreChat/pull/16711) +- ๐ŸŒŠ perf: Trim Per-Token and Per-Render Work in Streaming and Lists by [@berry-13](https://github.com/berry-13) in [#16718](https://github.com/LibreChat-AI/LibreChat/pull/16718) +- ๐ŸŽš๏ธ refactor: Drop Inline Pointer Styles From Select and Menu Primitives by [@berry-13](https://github.com/berry-13) in [#16704](https://github.com/LibreChat-AI/LibreChat/pull/16704) +- ๐Ÿช‡ perf: Coalesce Ready Background Completions by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16650](https://github.com/LibreChat-AI/LibreChat/pull/16650) +- ๐Ÿงฐ style: Hover-Revealed Tool Output Copy, Full Output, and a Virtualized My Files Table by [@berry-13](https://github.com/berry-13) in [#16640](https://github.com/LibreChat-AI/LibreChat/pull/16640) +- โ™ป๏ธ refactor: Native Prompts Behind a Shared Service and Adapter by [@AtefBellaaj](https://github.com/AtefBellaaj) in [#16506](https://github.com/LibreChat-AI/LibreChat/pull/16506) +- ๐Ÿ›ท perf: Reduce Browser Work When Sending Documents by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16646](https://github.com/LibreChat-AI/LibreChat/pull/16646) +- ๐Ÿงฉ refactor: Serve Chat Context Through a Facade-Owned Provider by [@berry-13](https://github.com/berry-13) in [#16610](https://github.com/LibreChat-AI/LibreChat/pull/16610) +- ๐Ÿงน refactor: Keep Store Imports Out of the Chat Hooks by [@berry-13](https://github.com/berry-13) in [#16620](https://github.com/LibreChat-AI/LibreChat/pull/16620) +- ๐ŸŽ›๏ธ refactor: Pass the New-Chat Panel Preference Into the Sidebar by [@berry-13](https://github.com/berry-13) in [#16605](https://github.com/LibreChat-AI/LibreChat/pull/16605) +- ๐ŸŽ›๏ธ refactor: Hand Chat Preferences to the Host and the Follow-Up Queue to Jotai by [@berry-13](https://github.com/berry-13) in [#16604](https://github.com/LibreChat-AI/LibreChat/pull/16604) +- ๐Ÿงฉ refactor: Message Parts Host Context by [@berry-13](https://github.com/berry-13) in [#16591](https://github.com/LibreChat-AI/LibreChat/pull/16591) +- ๐Ÿšฆ refactor: Route Chat Send, Stop, Steer and Queue Through the Transport by [@berry-13](https://github.com/berry-13) in [#16593](https://github.com/LibreChat-AI/LibreChat/pull/16593) +- ๐Ÿ”Œ refactor: Host-Supplied Chat Transport and Settings in the Contract by [@berry-13](https://github.com/berry-13) in [#16592](https://github.com/LibreChat-AI/LibreChat/pull/16592) +- โ›ด๏ธ style: Match Canary Theme Class Ordering by Lia in [385a648e17](https://github.com/LibreChat-AI/LibreChat/commit/385a648e177f5f659a4f59e2d1ee48326cfd6ed2) +- โ›ด๏ธ style: Match Theme Class Ordering in Canary Sync by Lia in [70bf641e50](https://github.com/LibreChat-AI/LibreChat/commit/70bf641e50ec198aec5cd5c5884b2c291f220426) +- โšก perf: Keep the Mermaid Chunk Off the Boot Path by [@berry-13](https://github.com/berry-13) in [#16493](https://github.com/LibreChat-AI/LibreChat/pull/16493) +- ๐ŸŽ›๏ธ refactor: Supply App-Global Chat Settings From the Host by [@berry-13](https://github.com/berry-13) in [#16466](https://github.com/LibreChat-AI/LibreChat/pull/16466) +- ๐Ÿ›ถ style: Match Schedule Recovery Theme Formatting by Lia in [bb82aee8c3](https://github.com/LibreChat-AI/LibreChat/commit/bb82aee8c3461a1c5366f384345c5e8d52cf4311) +- ๐Ÿ’ฌ refactor: ChatForm UI redesign with unified palette by [@berry-13](https://github.com/berry-13) in [#14473](https://github.com/LibreChat-AI/LibreChat/pull/14473) +- ๐Ÿ”Œ refactor: Drive the Resumable Stream Through the ChatTransport by [@berry-13](https://github.com/berry-13) in [#16378](https://github.com/LibreChat-AI/LibreChat/pull/16378) +- ๐Ÿ›ถ style: Match CI Tailwind Formatting in Canary Sync by Lia in [57e26fae44](https://github.com/LibreChat-AI/LibreChat/commit/57e26fae4443c23f457679a899a1fa1925396d1d) +- ๐Ÿชถ style: Quieter Primitives, Shared Panel Headers, and Flat Management Lists by [@berry-13](https://github.com/berry-13) in [#16244](https://github.com/LibreChat-AI/LibreChat/pull/16244) +- ๐Ÿ”Œ refactor: Drive useSSE Through the ChatTransport by [@berry-13](https://github.com/berry-13) in [#16336](https://github.com/LibreChat-AI/LibreChat/pull/16336) +- ๐Ÿ“ refactor: Normalize Stream Events Behind a ChatTransport Type by [@berry-13](https://github.com/berry-13) in [#16335](https://github.com/LibreChat-AI/LibreChat/pull/16335) +- ๐Ÿ–Œ๏ธ refactor: Read Theme Roles in Prose, Settings Dialog and Composer Surfaces by [@berry-13](https://github.com/berry-13) in [#16332](https://github.com/LibreChat-AI/LibreChat/pull/16332) +- ๐Ÿงฐ refactor: Pure Step Reducer for Tool Call Events by [@berry-13](https://github.com/berry-13) in [#16290](https://github.com/LibreChat-AI/LibreChat/pull/16290) +- ๐Ÿงฎ refactor: Pure Step Reducer Behind useStepHandler by [@berry-13](https://github.com/berry-13) in [#16289](https://github.com/LibreChat-AI/LibreChat/pull/16289) +- ๐Ÿ“œ refactor: Declare the Chat Context Contract by [@berry-13](https://github.com/berry-13) in [#16288](https://github.com/LibreChat-AI/LibreChat/pull/16288) +- ๐ŸŽจ style: Semantic Colour Roles for Builder, Tools and Sharing Surfaces by [@berry-13](https://github.com/berry-13) in [#16294](https://github.com/LibreChat-AI/LibreChat/pull/16294) +- ๐Ÿงน refactor: Keep Mongoose Types Out of the Passkey Handler Contract by [@berry-13](https://github.com/berry-13) in [#16263](https://github.com/LibreChat-AI/LibreChat/pull/16263) +- ๐ŸŒŠ refactor: Upgrade the Client to Tailwind v4 by [@berry-13](https://github.com/berry-13) in [#15996](https://github.com/LibreChat-AI/LibreChat/pull/15996) +- โš–๏ธ refactor: Move Policy Links to the Signup Consent by [@berry-13](https://github.com/berry-13) in [#16138](https://github.com/LibreChat-AI/LibreChat/pull/16138) +- ๐ŸŽ perf: Coalesce Ready Background Completions by Default by [@danny-avila](https://github.com/danny-avila) in [#16724](https://github.com/LibreChat-AI/LibreChat/pull/16724) +- ๐Ÿชž perf: Skip Unchanged Skills in GitHub Skill Sync by [@berry-13](https://github.com/berry-13) in [#16717](https://github.com/LibreChat-AI/LibreChat/pull/16717) + +### ๐Ÿงช Tests + +- ๐Ÿ•› test: Control the Code API Retry Budget Clock by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17338](https://github.com/LibreChat-AI/LibreChat/pull/17338) +- ๐Ÿงช test: Keep EndpointService Spec Mocks Complete When the Real API Package Loads by [@danny-avila](https://github.com/danny-avila) in [#17324](https://github.com/LibreChat-AI/LibreChat/pull/17324) +- ๐ŸŽช test: Mount the Steer Host in the Batch Composer Fixture by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17235](https://github.com/LibreChat-AI/LibreChat/pull/17235) +- ๐Ÿ› test: Isolate Empty Panel Cards From Shared Data by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17234](https://github.com/LibreChat-AI/LibreChat/pull/17234) +- ๐Ÿงญ test: Cover ClickHouse Control Boundaries on the Sidebar Surface by [@berry-13](https://github.com/berry-13) in [#17197](https://github.com/LibreChat-AI/LibreChat/pull/17197) +- ๐ŸŽฒ test: Make the ClickHouse Pinned-Pair Check Order-Independent by [@berry-13](https://github.com/berry-13) in [#17192](https://github.com/LibreChat-AI/LibreChat/pull/17192) +- ๐Ÿ—‘๏ธ test: Run useIsActiveItem Spec Under jsdom So GC Cannot Drop the Observer by [@berry-13](https://github.com/berry-13) in [#17199](https://github.com/LibreChat-AI/LibreChat/pull/17199) +- ๐Ÿงช test: Spec the First-Sentence Diagnostic Comparison in the Suppression Runner by [@berry-13](https://github.com/berry-13) in [#17165](https://github.com/LibreChat-AI/LibreChat/pull/17165) +- ๐Ÿงช test: Scroll UI-Scale Conversation Rows Into View by [@dustinhealy](https://github.com/dustinhealy) in [#17188](https://github.com/LibreChat-AI/LibreChat/pull/17188) +- ๐ŸŽฏ test: Match the Action Save Toast Once When a Live Region Repeats It by [@berry-13](https://github.com/berry-13) in [#17091](https://github.com/LibreChat-AI/LibreChat/pull/17091) +- ๐Ÿชค test: Widen the Theme Cache Pin to Joint Fallbacks, Enum Literals and Joint Rules by [@berry-13](https://github.com/berry-13) in [#16927](https://github.com/LibreChat-AI/LibreChat/pull/16927) +- ๐Ÿ” test: Retry MCP Reinitialize Past the Circuit Breaker Cooldown in Credential Scenarios by [@berry-13](https://github.com/berry-13) in [#17029](https://github.com/LibreChat-AI/LibreChat/pull/17029) +- ๐Ÿงช test: Drive useChat Through a Substitute Transport for Send, Stop, Steer and Errors by [@berry-13](https://github.com/berry-13) in [#16957](https://github.com/LibreChat-AI/LibreChat/pull/16957) +- ๐Ÿงช test: Apply One Reference Theme Across Radius, Font, Shadow and Spacing by [@berry-13](https://github.com/berry-13) in [#16905](https://github.com/LibreChat-AI/LibreChat/pull/16905) +- ๐Ÿงฌ test: Pin Built-In Theme Output to the Cache Epoch by [@berry-13](https://github.com/berry-13) in [#16875](https://github.com/LibreChat-AI/LibreChat/pull/16875) +- ๐Ÿ› test: Stabilize MCP App Link Clicks by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16760](https://github.com/LibreChat-AI/LibreChat/pull/16760) +- ๐Ÿ”ค test: Cover Alias Frontmatter Keys in the Skill Sync Skip by [@berry-13](https://github.com/berry-13) in [#16725](https://github.com/LibreChat-AI/LibreChat/pull/16725) +- ๐Ÿฆ test: Define PII Policy and Conformance Fixtures by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16726](https://github.com/LibreChat-AI/LibreChat/pull/16726) +- ๐Ÿฅ test: Stabilize Host Edit Responsiveness Assertions by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16727](https://github.com/LibreChat-AI/LibreChat/pull/16727) +- test: Cover Queue Row Actions And The Single Send Control In Scenarios by Marco Beretta in [a588339dd7](https://github.com/LibreChat-AI/LibreChat/commit/a588339dd79305e7d693ed8b4264099e41addf32) +- test: Cover Every Palette Slot in Repeatable Samples by Lia in [9dfdea13cb](https://github.com/LibreChat-AI/LibreChat/commit/9dfdea13cbffb62875b7a96231896f1357fb593c) +- ๐Ÿฅพ test: Wait for Palette Completion and Stable Quote Geometry by Lia in [37df3c1146](https://github.com/LibreChat-AI/LibreChat/commit/37df3c1146a78832070ba787254f401e2053f48f) +- test: Include i18n Helper in Isolated Static Fixtures by Lia in [e19d2dbea1](https://github.com/LibreChat-AI/LibreChat/commit/e19d2dbea14a9c294081810d764c9912a4018380) +- ๐Ÿ“Œ test: Re-Pin Click UI Drift Guard to v0.13.0 and Probe the Checkbox by [@berry-13](https://github.com/berry-13) in [#16706](https://github.com/LibreChat-AI/LibreChat/pull/16706) +- ๐Ÿฆญ test: Add Scheduled MCP Authorization Contract Fixtures by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16645](https://github.com/LibreChat-AI/LibreChat/pull/16645) +- ๐Ÿ” test: Reload Mid-Reply Reattaches and Finishes by [@berry-13](https://github.com/berry-13) in [#16598](https://github.com/LibreChat-AI/LibreChat/pull/16598) +- ๐Ÿงพ test: Complete the Click UI Not-Expressible List by [@berry-13](https://github.com/berry-13) in [#16588](https://github.com/LibreChat-AI/LibreChat/pull/16588) +- โ›ด๏ธ test: Keep Executor and Timing Callback Adapters Aligned by Lia in [2e0690616f](https://github.com/LibreChat-AI/LibreChat/commit/2e0690616fab73ce268b8eb6575a1aecb8001d0d) +- ๐Ÿงพ test: Enumerate the Click UI Decisions the Theme Cannot Express by [@berry-13](https://github.com/berry-13) in [#16544](https://github.com/LibreChat-AI/LibreChat/pull/16544) +- โ›ด๏ธ test: Make Passkey Ordering Fixtures Deterministic by Lia in [2d1dfae0c3](https://github.com/LibreChat-AI/LibreChat/commit/2d1dfae0c3631d710d7ca9601c78b0a95db732b4) +- ๐Ÿงท test: Count Derived Scrim Tokens as Theme-Owned by [@berry-13](https://github.com/berry-13) in [#16512](https://github.com/LibreChat-AI/LibreChat/pull/16512) +- ๐Ÿงญ test: Pin the ClickHouse Theme to Click UI and Route Focus Through the Ring by [@berry-13](https://github.com/berry-13) in [#16461](https://github.com/LibreChat-AI/LibreChat/pull/16461) +- โ›ด๏ธ test: Check Code Steers in the Canary Thread by Lia in [d98ca2b073](https://github.com/LibreChat-AI/LibreChat/commit/d98ca2b073b26c988ddba5b4a12db5dc1139c83b) +- ๐Ÿงช test: Cover MCP App Operation Limits in Authenticated Startup Config by [@berry-13](https://github.com/berry-13) in [#16429](https://github.com/LibreChat-AI/LibreChat/pull/16429) +- ๐Ÿ›ถ test: Isolate Marketplace Retries and MCP OAuth Ownership by Lia in [733f5e678c](https://github.com/LibreChat-AI/LibreChat/commit/733f5e678c3985a7fde8bce3c4ebe7a21cacf7e8) + +### ๐Ÿ“ฆ Dependencies, Chores & CI + +- Merge remote-tracking branch 'origin/dev' into lia/rc1-release-prep by Lia in [8c2ed7be08](https://github.com/LibreChat-AI/LibreChat/commit/8c2ed7be08a43ec895053d98696e2671ff7c27f2) +- ๐Ÿง‘โ€๐Ÿ”ง chore: Refresh Package Versions for v0.8.9-rc1 by Lia in [f5a869a1f7](https://github.com/LibreChat-AI/LibreChat/commit/f5a869a1f7c428f731b57d4580cbab8cb2d8bd93) +- ๐Ÿ“Œ chore: Re-Pin the ClickHouse Theme to Click UI v0.15.0 by [@berry-13](https://github.com/berry-13) in [#17356](https://github.com/LibreChat-AI/LibreChat/pull/17356) +- ๐Ÿ†™ chore: Bump Agents SDK to 4.1.0 by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17345](https://github.com/LibreChat-AI/LibreChat/pull/17345) +- ๐Ÿšฟ chore: Upgrade `sanitize-html`, Hono, and MongoDB Memory Server by [@danny-avila](https://github.com/danny-avila) in [#17343](https://github.com/LibreChat-AI/LibreChat/pull/17343) +- ๐Ÿ—ณ๏ธ ci: Shard the Codegraph E2E Vote Suite Across Ten Runners by [@danny-avila](https://github.com/danny-avila) in [#17339](https://github.com/LibreChat-AI/LibreChat/pull/17339) +- ๐Ÿ›ผ chore: Upgrade Vite to 8.3.5 by [@danny-avila](https://github.com/danny-avila) in [#17337](https://github.com/LibreChat-AI/LibreChat/pull/17337) +- ๐Ÿฃ chore: Prepare v0.8.9-rc1 Release by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17336](https://github.com/LibreChat-AI/LibreChat/pull/17336) +- ๐Ÿ’‰ chore: Upgrade Node.js to Security Release 24.22.1 by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17332](https://github.com/LibreChat-AI/LibreChat/pull/17332) +- ๐Ÿ—ณ๏ธ ci: Let Codegraph E2E Vote Runs Finish by [@danny-avila](https://github.com/danny-avila) in [#17325](https://github.com/LibreChat-AI/LibreChat/pull/17325) +- ๐Ÿชฆ chore: Retire the DALL-E 3 Tool by [@berry-13](https://github.com/berry-13) in [#17205](https://github.com/LibreChat-AI/LibreChat/pull/17205) +- ๐ŸŒ  chore: Default OpenAI Image Tools to GPT Image Flare by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17014](https://github.com/LibreChat-AI/LibreChat/pull/17014) +- ๐Ÿ”’ chore: Update `pbkdf2` and `to-buffer` by [@danny-avila](https://github.com/danny-avila) in [#17187](https://github.com/LibreChat-AI/LibreChat/pull/17187) +- ๐Ÿ”’ chore: Resolve Open Dependabot Security Alerts by [@danny-avila](https://github.com/danny-avila) in [#17016](https://github.com/LibreChat-AI/LibreChat/pull/17016) +- โฑ๏ธ ci: Balance Playwright Shards by Recorded Duration by [@danny-avila](https://github.com/danny-avila) in [#17019](https://github.com/LibreChat-AI/LibreChat/pull/17019) +- ๐ŸฅŸ ci: Type-Check Workspaces with bun check by [@berry-13](https://github.com/berry-13) in [#17009](https://github.com/LibreChat-AI/LibreChat/pull/17009) +- ๐ŸŽฏ a11y: Move Field and Focus Call Sites Onto the Control Roles by [@berry-13](https://github.com/berry-13) in [#16929](https://github.com/LibreChat-AI/LibreChat/pull/16929) +- ๐ŸŽฏ a11y: Hand Focus Back When an Agent Detail Refresh Removes the Focused Control by [@berry-13](https://github.com/berry-13) in [#16945](https://github.com/LibreChat-AI/LibreChat/pull/16945) +- ๐Ÿ‘† a11y: Show Hover-Revealed Actions to the Touchscreen on a 2-in-1 by [@berry-13](https://github.com/berry-13) in [#16943](https://github.com/LibreChat-AI/LibreChat/pull/16943) +- ๐ŸŽจ a11y: Draw Every Prompt Category Icon Muted Under ClickHouse by [@berry-13](https://github.com/berry-13) in [#16935](https://github.com/LibreChat-AI/LibreChat/pull/16935) +- ๐Ÿท๏ธ a11y: Give Prompt Category Icons Their Own Color Role by [@berry-13](https://github.com/berry-13) in [#16933](https://github.com/LibreChat-AI/LibreChat/pull/16933) +- ๐ŸŒ— a11y: Ink the Dark Default Avatar Glyph at 3:1 on Its Fill by [@berry-13](https://github.com/berry-13) in [#16931](https://github.com/LibreChat-AI/LibreChat/pull/16931) +- โ™ฟ a11y: Name the Global Focus Outline on Tabs, Table Rows and Dropdown by [@berry-13](https://github.com/berry-13) in [#16870](https://github.com/LibreChat-AI/LibreChat/pull/16870) +- โ™ฟ a11y: Let Dark Mode Honor Outline Utilities on Focus by [@berry-13](https://github.com/berry-13) in [#16861](https://github.com/LibreChat-AI/LibreChat/pull/16861) +- ๐Ÿงฑ chore: Let Callers Own Spacing on Dialog and Panel Containers by [@berry-13](https://github.com/berry-13) in [#16836](https://github.com/LibreChat-AI/LibreChat/pull/16836) +- โ™ฟ a11y: Ring Content Rows in a Themeable Focus Role by [@berry-13](https://github.com/berry-13) in [#16740](https://github.com/LibreChat-AI/LibreChat/pull/16740) +- ๐Ÿชš chore: Deprecate Agent Chain Authoring by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16745](https://github.com/LibreChat-AI/LibreChat/pull/16745) +- โ™ฟ a11y: Stop Agent API Keys Dialog Opening Its Info Card On Focus by [@berry-13](https://github.com/berry-13) in [#16735](https://github.com/LibreChat-AI/LibreChat/pull/16735) +- ๐Ÿ“ docs: Describe Attached-Workspace Lanes, Sandbox Scratch, and Skill Files in Tool Descriptions by [@danny-avila](https://github.com/danny-avila) in [#16702](https://github.com/LibreChat-AI/LibreChat/pull/16702) +- โ›ด๏ธ chore: Bring Canary Up to Date With Dev by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16457](https://github.com/LibreChat-AI/LibreChat/pull/16457) +- ๐Ÿ›ถ chore: Bring Canary Up to Date With Dev by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16361](https://github.com/LibreChat-AI/LibreChat/pull/16361) +- ๐Ÿ”ฒ a11y: Form-Control Outlines Clear 3:1 in Every Palette by [@berry-13](https://github.com/berry-13) in [#16377](https://github.com/LibreChat-AI/LibreChat/pull/16377) +- ๐Ÿ›ฉ๏ธ ci: Allow More Time for Chrome Startup in Client Build Recovery by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16330](https://github.com/LibreChat-AI/LibreChat/pull/16330) +- ๐Ÿงน chore: Remove the Unmounted Files Component Tree by [@berry-13](https://github.com/berry-13) in [#16243](https://github.com/LibreChat-AI/LibreChat/pull/16243) +- ๐Ÿฅผ ci: Gate MCP Apps on Executed Browser Tests by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16283](https://github.com/LibreChat-AI/LibreChat/pull/16283) +- ๐ŸŽจ chore: Enforce Design-System Rules With @shadcn/lint by [@berry-13](https://github.com/berry-13) in [#15981](https://github.com/LibreChat-AI/LibreChat/pull/15981) +- ๐Ÿ“ฆ ci: Remove Legacy GHCR Mirror by [@danny-avila](https://github.com/danny-avila) in [#16585](https://github.com/LibreChat-AI/LibreChat/pull/16585) +- ๐ŸŽ‹ chore: Validate Canary History on Current Dev by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16586](https://github.com/LibreChat-AI/LibreChat/pull/16586) + +## New Contributors + +- [@Alan-Billi](https://github.com/Alan-Billi) made their first contribution in [#16675](https://github.com/LibreChat-AI/LibreChat/pull/16675) +- [@aniketkrs](https://github.com/aniketkrs) made their first contribution in [#17046](https://github.com/LibreChat-AI/LibreChat/pull/17046) +- [@trois-six](https://github.com/trois-six) made their first contribution in [#17307](https://github.com/LibreChat-AI/LibreChat/pull/17307) + +**Full Changelog:** [v0.8.8...8c2ed7be08a4](https://github.com/LibreChat-AI/LibreChat/compare/v0.8.8...8c2ed7be08a43ec895053d98696e2671ff7c27f2) + +
From c41302e6cab132c2a9923a923ae4b259bfe05cae Mon Sep 17 00:00:00 2001 From: Lia Date: Fri, 23 Oct 2026 04:50:37 +0000 Subject: [PATCH 2/4] docs: Use Canonical Bot Attribution Links --- content/changelog/config_v1.3.18.mdx | 2 +- content/changelog/v0.8.9-rc1.mdx | 116 +++++++++++++-------------- release-notes/v0.8.9-rc1.md | 116 +++++++++++++-------------- 3 files changed, 117 insertions(+), 117 deletions(-) diff --git a/content/changelog/config_v1.3.18.mdx b/content/changelog/config_v1.3.18.mdx index f432155cc..aeab68a39 100644 --- a/content/changelog/config_v1.3.18.mdx +++ b/content/changelog/config_v1.3.18.mdx @@ -47,7 +47,7 @@ The database Base profile overrides YAML before principal profiles. Removing an - `balance.refillMode: add` retains rollover; `reset` replaces the allowance and requires compatible replicas. `balance.display` accepts `credits`, `currency`, or `percent`. - `speech.tts.maxInputChars` defaults to `20000`. -- `passwordHashing.maxWorkers` bounds background hashing; the default is one less than the CPU count, capped at four. +- `passwordHashing.maxWorkers` bounds background hashing; the default is `max(1, min(4, availableParallelism() - 1))`. - `timeouts` adds per-operation outbound budgets: `ragMs: 30000`, `ocrMs: 300000`, `actionsMs: 300000`, `moderationMs: 10000`, and `imageFetchMs: 30000`. - `endpoints.agents.streamKeepaliveIntervalMs` defaults to `25000`; `0` disables quiet-stream keepalives. - `hostFileEdits` bounds host-side edit matching, not attached-worker edits: `maxEdits: 100`, `maxWorkBytes: 67108864`, `maxOccurrences: 100000`, `timeoutMs: 2000`, and `maxConcurrent: 2`. diff --git a/content/changelog/v0.8.9-rc1.mdx b/content/changelog/v0.8.9-rc1.mdx index ad226824e..1a01d26bb 100644 --- a/content/changelog/v0.8.9-rc1.mdx +++ b/content/changelog/v0.8.9-rc1.mdx @@ -27,7 +27,7 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L ### โœจ Features - ๐Ÿ” feat: Admin Config Secrets v2 (MCP and Azure Credentials, Re-entry, Env Allowlist, Rebinding) by [@danny-avila](https://github.com/danny-avila) in [#17353](https://github.com/LibreChat-AI/LibreChat/pull/17353) -- ๐Ÿง‘โ€โœˆ๏ธ feat: Enroll Machines Through Explicit Browser Approval by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17344](https://github.com/LibreChat-AI/LibreChat/pull/17344) +- ๐Ÿง‘โ€โœˆ๏ธ feat: Enroll Machines Through Explicit Browser Approval by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17344](https://github.com/LibreChat-AI/LibreChat/pull/17344) - ๐Ÿ™ˆ feat: Let Config Profiles Hide librechat.yaml MCP Servers and Remove Their Fields by [@danny-avila](https://github.com/danny-avila) in [#17327](https://github.com/LibreChat-AI/LibreChat/pull/17327) - โš›๏ธ feat: Atomic Admin Config Changes Endpoint (set, unset, tombstone, entry upsert/remove/rename) by [@danny-avila](https://github.com/danny-avila) in [#17328](https://github.com/LibreChat-AI/LibreChat/pull/17328) - ๐Ÿ”— feat: Link Custom Artifact Mode to Its Instructions Guide by [@danny-avila](https://github.com/danny-avila) in [#17021](https://github.com/LibreChat-AI/LibreChat/pull/17021) @@ -42,8 +42,8 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - โŒจ๏ธ feat: Keyboard Submit, Focus and Escape for Ask User Cards by [@berry-13](https://github.com/berry-13) in [#17231](https://github.com/LibreChat-AI/LibreChat/pull/17231) - ๐Ÿ’  feat: Add Gemini 4 Argon Support by [@berry-13](https://github.com/berry-13) in [#17200](https://github.com/LibreChat-AI/LibreChat/pull/17200) - ๐ŸŽ feat: Add Claude Haiku 5.5 Support by [@berry-13](https://github.com/berry-13) in [#17201](https://github.com/LibreChat-AI/LibreChat/pull/17201) -- ๐Ÿ›‹๏ธ feat: Open Subagents Directly from Background Tasks by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17020](https://github.com/LibreChat-AI/LibreChat/pull/17020) -- ๐Ÿ—ž๏ธ feat: Make Context Usage Responsive and Condensed by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17018](https://github.com/LibreChat-AI/LibreChat/pull/17018) +- ๐Ÿ›‹๏ธ feat: Open Subagents Directly from Background Tasks by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17020](https://github.com/LibreChat-AI/LibreChat/pull/17020) +- ๐Ÿ—ž๏ธ feat: Make Context Usage Responsive and Condensed by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17018](https://github.com/LibreChat-AI/LibreChat/pull/17018) - ๐Ÿ”Œ feat: Integrate Durable Skill Lifecycle Across Writers and Routes by [@dustinhealy](https://github.com/dustinhealy) in [#17043](https://github.com/LibreChat-AI/LibreChat/pull/17043) - ๐Ÿงน feat: Add Bounded Whole-Skill Cleanup Engine by [@dustinhealy](https://github.com/dustinhealy) in [#17042](https://github.com/LibreChat-AI/LibreChat/pull/17042) - ๐Ÿงพ feat: Add Skill Upload Reservation Helpers by [@dustinhealy](https://github.com/dustinhealy) in [#17041](https://github.com/LibreChat-AI/LibreChat/pull/17041) @@ -95,42 +95,42 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - ๐Ÿงฑ feat: Layered Surface Roles for the ClickHouse Theme by [@berry-13](https://github.com/berry-13) in [#16737](https://github.com/LibreChat-AI/LibreChat/pull/16737) - โณ feat: Reset Balance Allowances Without Rollover by [@danny-avila](https://github.com/danny-avila) in [#16781](https://github.com/LibreChat-AI/LibreChat/pull/16781) - ๐ŸชŸ feat: Overlay Theme Roles for Tooltips, Error Alerts and Artifact Previews by [@berry-13](https://github.com/berry-13) in [#16739](https://github.com/LibreChat-AI/LibreChat/pull/16739) -- ๐Ÿฆ‰ feat: Compare Review Commit Ancestry Without Git by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16734](https://github.com/LibreChat-AI/LibreChat/pull/16734) +- ๐Ÿฆ‰ feat: Compare Review Commit Ancestry Without Git by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16734](https://github.com/LibreChat-AI/LibreChat/pull/16734) - ๐Ÿชช feat: Name and Face Subagents Like Main Chat Turns by [@danny-avila](https://github.com/danny-avila) in [#16692](https://github.com/LibreChat-AI/LibreChat/pull/16692) -- ๐Ÿ”ฑ feat: Simplify Steering Controls to Three Modes by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16759](https://github.com/LibreChat-AI/LibreChat/pull/16759) +- ๐Ÿ”ฑ feat: Simplify Steering Controls to Three Modes by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16759](https://github.com/LibreChat-AI/LibreChat/pull/16759) - ๐Ÿ’ณ feat: Show Balance in the Context Gauge as Credits, Currency, or Percent by [@danny-avila](https://github.com/danny-avila) in [#16762](https://github.com/LibreChat-AI/LibreChat/pull/16762) - ๐Ÿš• feat: Add Per-Call Subagent Machine Selection by [@danny-avila](https://github.com/danny-avila) in [#16757](https://github.com/LibreChat-AI/LibreChat/pull/16757) -- ๐Ÿ•Š๏ธ feat: Supply Authorized Scheduled MCP Resource Bearers by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16699](https://github.com/LibreChat-AI/LibreChat/pull/16699) +- ๐Ÿ•Š๏ธ feat: Supply Authorized Scheduled MCP Resource Bearers by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16699](https://github.com/LibreChat-AI/LibreChat/pull/16699) - ๐Ÿ”— feat(agents): use LibreChat prompt groups as agent instructions by [@AtefBellaaj](https://github.com/AtefBellaaj) in [#16686](https://github.com/LibreChat-AI/LibreChat/pull/16686) - ๐Ÿ” feat: App-Wide UI Scale Setting by [@berry-13](https://github.com/berry-13) in [#14903](https://github.com/LibreChat-AI/LibreChat/pull/14903) - ๐ŸŒฒ feat: Expose Navigable Subagent Progress Trees by [@danny-avila](https://github.com/danny-avila) in [#16748](https://github.com/LibreChat-AI/LibreChat/pull/16748) -- ๐Ÿช‡ feat: Consolidate Orchestration Into a Native Tool by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16744](https://github.com/LibreChat-AI/LibreChat/pull/16744) -- ๐ŸŽฃ feat: Poll Durable Workspace Requests Without Rejoining Admission by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16733](https://github.com/LibreChat-AI/LibreChat/pull/16733) -- ๐Ÿซฐ feat: Configure Tool Approval Modes Per Agent by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16707](https://github.com/LibreChat-AI/LibreChat/pull/16707) +- ๐Ÿช‡ feat: Consolidate Orchestration Into a Native Tool by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16744](https://github.com/LibreChat-AI/LibreChat/pull/16744) +- ๐ŸŽฃ feat: Poll Durable Workspace Requests Without Rejoining Admission by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16733](https://github.com/LibreChat-AI/LibreChat/pull/16733) +- ๐Ÿซฐ feat: Configure Tool Approval Modes Per Agent by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16707](https://github.com/LibreChat-AI/LibreChat/pull/16707) - ๐Ÿง  feat: Add Lia's Behavior Engine by [@berry-13](https://github.com/berry-13) in [#16683](https://github.com/LibreChat-AI/LibreChat/pull/16683) - ๐Ÿง— feat: Light the Fold Path to the Hovered Activity Row by [@danny-avila](https://github.com/danny-avila) in [#16722](https://github.com/LibreChat-AI/LibreChat/pull/16722) - ๐Ÿ”ญ feat: Recover Stale Chunks Without the Error Page and Ship Client Logs to RUM by [@danny-avila](https://github.com/danny-avila) in [#16701](https://github.com/LibreChat-AI/LibreChat/pull/16701) -- ๐Ÿฆซ feat: Enforce Scheduled MCP Read-Only Authority by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16681](https://github.com/LibreChat-AI/LibreChat/pull/16681) +- ๐Ÿฆซ feat: Enforce Scheduled MCP Read-Only Authority by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16681](https://github.com/LibreChat-AI/LibreChat/pull/16681) - feat: Simplify Queue Row Actions And Steer Controls by Marco Beretta in [35db010412](https://github.com/LibreChat-AI/LibreChat/commit/35db010412f95721459c07903164fe318005c48f) - ๐Ÿ›ฐ๏ธ feat: Status on the Avatar, a Finished Group, and Project Chats in the Sidebar List by Danny Avila in [10e9cb90e7](https://github.com/LibreChat-AI/LibreChat/commit/10e9cb90e759176bbea9071df9274bbc8cba2b7e) - ๐ŸŽจ feat: Add Lia's Pixel Art Renderer by [@berry-13](https://github.com/berry-13) in [#16682](https://github.com/LibreChat-AI/LibreChat/pull/16682) - ๐Ÿ“ feat: Size Roles for the Select List by [@berry-13](https://github.com/berry-13) in [#16714](https://github.com/LibreChat-AI/LibreChat/pull/16714) - ๐Ÿ“ feat: Show the Current Text Where a Missing Workspace Edit Belongs by [@danny-avila](https://github.com/danny-avila) in [#16698](https://github.com/LibreChat-AI/LibreChat/pull/16698) - ๐Ÿ”“ feat: Remember Tool Approvals Per Conversation by [@berry-13](https://github.com/berry-13) in [#16557](https://github.com/LibreChat-AI/LibreChat/pull/16557) -- ๐Ÿด feat: Separate Machine, Workspace, and Git Controls by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16696](https://github.com/LibreChat-AI/LibreChat/pull/16696) +- ๐Ÿด feat: Separate Machine, Workspace, and Git Controls by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16696](https://github.com/LibreChat-AI/LibreChat/pull/16696) - โœ… feat: Default Machine Selection and Linked-Worktree Lanes On by [@danny-avila](https://github.com/danny-avila) in [#16678](https://github.com/LibreChat-AI/LibreChat/pull/16678) - ๐Ÿงญ feat: Give the Mobile Drawer Edge a Role and Move the Last Page Colours Onto Roles by [@berry-13](https://github.com/berry-13) in [#16631](https://github.com/LibreChat-AI/LibreChat/pull/16631) - ๐Ÿ“ feat: Edit Projects in a Dialog and Pick Files From the Your Files Dialog by [@berry-13](https://github.com/berry-13) in [#16643](https://github.com/LibreChat-AI/LibreChat/pull/16643) - ๐Ÿ™‹ feat: Refine the Ask Question Card and Smooth Batched Question Steps by [@berry-13](https://github.com/berry-13) in [#16641](https://github.com/LibreChat-AI/LibreChat/pull/16641) - ๐Ÿ—‚๏ธ feat: Choose Conversation Checkout Mode by [@danny-avila](https://github.com/danny-avila) in [#16679](https://github.com/LibreChat-AI/LibreChat/pull/16679) -- ๐Ÿ“” feat: Preserve Owner Text During PII Redaction by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16311](https://github.com/LibreChat-AI/LibreChat/pull/16311) +- ๐Ÿ“” feat: Preserve Owner Text During PII Redaction by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16311](https://github.com/LibreChat-AI/LibreChat/pull/16311) - ๐Ÿงณ feat: Choose Agent-Allowed Machines For New Chats by [@danny-avila](https://github.com/danny-avila) in [#16651](https://github.com/LibreChat-AI/LibreChat/pull/16651) -- ๐Ÿช” feat: Add Bound Scheduled MCP Consent by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16652](https://github.com/LibreChat-AI/LibreChat/pull/16652) +- ๐Ÿช” feat: Add Bound Scheduled MCP Consent by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16652](https://github.com/LibreChat-AI/LibreChat/pull/16652) - ๐Ÿ“ feat: Size Roles for the Shared Primitives by [@berry-13](https://github.com/berry-13) in [#16617](https://github.com/LibreChat-AI/LibreChat/pull/16617) -- โ›บ feat: Report Attached Bash Starting Directories by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16539](https://github.com/LibreChat-AI/LibreChat/pull/16539) +- โ›บ feat: Report Attached Bash Starting Directories by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16539](https://github.com/LibreChat-AI/LibreChat/pull/16539) - ๐Ÿชข feat: Collapse Activity Folds From Their Rails by [@danny-avila](https://github.com/danny-avila) in [#16637](https://github.com/LibreChat-AI/LibreChat/pull/16637) - ๐Ÿงพ feat: Serve Built-In Endpoint Model Lists From Config So Overrides Can Narrow Them by [@danny-avila](https://github.com/danny-avila) in [#16639](https://github.com/LibreChat-AI/LibreChat/pull/16639) -- ๐Ÿฅฝ feat: Configure Attached Defaults and Honor Skill Read Ranges by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16540](https://github.com/LibreChat-AI/LibreChat/pull/16540) +- ๐Ÿฅฝ feat: Configure Attached Defaults and Honor Skill Read Ranges by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16540](https://github.com/LibreChat-AI/LibreChat/pull/16540) - ๐Ÿ” feat: Enforce Required Two-Factor Authentication by [@berry-13](https://github.com/berry-13) in [#14731](https://github.com/LibreChat-AI/LibreChat/pull/14731) - ๐Ÿ“ feat: Click UI Spacing and Mono Stack for the ClickHouse Theme by [@berry-13](https://github.com/berry-13) in [#16616](https://github.com/LibreChat-AI/LibreChat/pull/16616) - ๐Ÿซ— feat: Field Fill and Ink Theme Roles by [@berry-13](https://github.com/berry-13) in [#16607](https://github.com/LibreChat-AI/LibreChat/pull/16607) @@ -195,16 +195,16 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - ๐Ÿ” fix: Apply Base Config Overrides Before Sign-In and Refuse Script Policy Links by [@danny-avila](https://github.com/danny-avila) in [#17351](https://github.com/LibreChat-AI/LibreChat/pull/17351) - ๐Ÿท๏ธ fix: Resolve endpoints.all Title Settings per Field and Fold Ollama Endpoint Names by [@danny-avila](https://github.com/danny-avila) in [#17316](https://github.com/LibreChat-AI/LibreChat/pull/17316) - ๐Ÿ›ก๏ธ fix: Reject Unknown Admin Config Sections and Scope Write Responses to Read Access by [@danny-avila](https://github.com/danny-avila) in [#17315](https://github.com/LibreChat-AI/LibreChat/pull/17315) -- ๐Ÿ“” fix: Recover Subagent Content With Shared Chat Rendering by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17290](https://github.com/LibreChat-AI/LibreChat/pull/17290) -- ๐Ÿฅผ fix: Separate Agent Inference Settings From SDK Configuration by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17220](https://github.com/LibreChat-AI/LibreChat/pull/17220) +- ๐Ÿ“” fix: Recover Subagent Content With Shared Chat Rendering by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17290](https://github.com/LibreChat-AI/LibreChat/pull/17290) +- ๐Ÿฅผ fix: Separate Agent Inference Settings From SDK Configuration by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17220](https://github.com/LibreChat-AI/LibreChat/pull/17220) - ๐Ÿชต fix: Keep the Winston Level Symbol in `jsonTruncateFormat` for OpenTelemetry Logs by [@trois-six](https://github.com/trois-six) in [#17307](https://github.com/LibreChat-AI/LibreChat/pull/17307) -- ๐Ÿšก fix: Restore Enforced Model Specs for Agent Continuations by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17229](https://github.com/LibreChat-AI/LibreChat/pull/17229) +- ๐Ÿšก fix: Restore Enforced Model Specs for Agent Continuations by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17229](https://github.com/LibreChat-AI/LibreChat/pull/17229) - ๐Ÿ”‘ fix: Use Admin-Stored Web Search Credentials at Runtime by [@danny-avila](https://github.com/danny-avila) in [#17323](https://github.com/LibreChat-AI/LibreChat/pull/17323) -- ๐Ÿšœ fix: Release Heavy Chat State on Conversation Switches by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17291](https://github.com/LibreChat-AI/LibreChat/pull/17291) -- ๐Ÿช fix: Restore Explicit File Search Uploads by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17226](https://github.com/LibreChat-AI/LibreChat/pull/17226) +- ๐Ÿšœ fix: Release Heavy Chat State on Conversation Switches by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17291](https://github.com/LibreChat-AI/LibreChat/pull/17291) +- ๐Ÿช fix: Restore Explicit File Search Uploads by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17226](https://github.com/LibreChat-AI/LibreChat/pull/17226) - โฑ๏ธ fix: Bound Outbound Calls Made Inside a Request by [@berry-13](https://github.com/berry-13) in [#17263](https://github.com/LibreChat-AI/LibreChat/pull/17263) -- ๐ŸŽด fix: Match Image Media Types to Their Bytes by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17230](https://github.com/LibreChat-AI/LibreChat/pull/17230) -- ๐Ÿš fix: Fail Closed When Plugin Hook Shell Cannot Start by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17227](https://github.com/LibreChat-AI/LibreChat/pull/17227) +- ๐ŸŽด fix: Match Image Media Types to Their Bytes by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17230](https://github.com/LibreChat-AI/LibreChat/pull/17230) +- ๐Ÿš fix: Fail Closed When Plugin Hook Shell Cannot Start by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17227](https://github.com/LibreChat-AI/LibreChat/pull/17227) - ๐Ÿ“„ fix: Mirror Agents, Prompts, Skills and Other Pages for RTL by [@berry-13](https://github.com/berry-13) in [#17268](https://github.com/LibreChat-AI/LibreChat/pull/17268) - ๐Ÿชž fix: Mirror Shared Primitives for Right-to-Left Layouts by [@berry-13](https://github.com/berry-13) in [#17265](https://github.com/LibreChat-AI/LibreChat/pull/17265) - ๐Ÿ’ฌ fix: Mirror Chat Messages, Markdown and Code Blocks for RTL by [@berry-13](https://github.com/berry-13) in [#17267](https://github.com/LibreChat-AI/LibreChat/pull/17267) @@ -276,7 +276,7 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - ๐Ÿ“ fix: Make DataTable Row Estimates Breakpoint- and Leaf-Column-Aware by [@berry-13](https://github.com/berry-13) in [#16817](https://github.com/LibreChat-AI/LibreChat/pull/16817) - ๐Ÿฉน fix: Stub the Attached Route in the Lane Recording Specs by [@berry-13](https://github.com/berry-13) in [#16840](https://github.com/LibreChat-AI/LibreChat/pull/16840) - ๐Ÿ”‘ fix: Require Colon in API-Key Header Detection by [@dustinhealy](https://github.com/dustinhealy) in [#16803](https://github.com/LibreChat-AI/LibreChat/pull/16803) -- โน๏ธ fix: Reconcile Stopped Generations Before Detaching the Stream by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16788](https://github.com/LibreChat-AI/LibreChat/pull/16788) +- โน๏ธ fix: Reconcile Stopped Generations Before Detaching the Stream by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16788](https://github.com/LibreChat-AI/LibreChat/pull/16788) - ๐Ÿ๏ธ fix: Apply the No-Workspace Decision Wherever an Agent's Code Route Resolves by [@danny-avila](https://github.com/danny-avila) in [#16798](https://github.com/LibreChat-AI/LibreChat/pull/16798) - ๐ŸŽฏ fix: Keep Running Chat Ring Centered at Any UI Scale by [@berry-13](https://github.com/berry-13) in [#16810](https://github.com/LibreChat-AI/LibreChat/pull/16810) - ๐ŸŽ›๏ธ fix: Smooth, Compact Code Workspace, Checkout and Approval Selectors by [@berry-13](https://github.com/berry-13) in [#16789](https://github.com/LibreChat-AI/LibreChat/pull/16789) @@ -287,10 +287,10 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - ๐Ÿงท fix: Finalize Stopped Compactions and Verify Their Anchor by [@berry-13](https://github.com/berry-13) in [#16551](https://github.com/LibreChat-AI/LibreChat/pull/16551) - ๐Ÿ“ด fix: Persist Cancelled Compactions With Their Identity by [@berry-13](https://github.com/berry-13) in [#16436](https://github.com/LibreChat-AI/LibreChat/pull/16436) - ๐Ÿช„ fix: Hide Sole Tool Row Under Its Group Header by [@berry-13](https://github.com/berry-13) in [#16750](https://github.com/LibreChat-AI/LibreChat/pull/16750) -- ๐Ÿฆ” fix: Keep System Messages Stable During Collapse by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16780](https://github.com/LibreChat-AI/LibreChat/pull/16780) +- ๐Ÿฆ” fix: Keep System Messages Stable During Collapse by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16780](https://github.com/LibreChat-AI/LibreChat/pull/16780) - ๐Ÿ๏ธ fix: Let a No-Workspace Turn Carry a Remembered Approval Mode by [@danny-avila](https://github.com/danny-avila) in [#16763](https://github.com/LibreChat-AI/LibreChat/pull/16763) - โš™๏ธ fix: Default Running Chat Rename to On by [@berry-13](https://github.com/berry-13) in [#16769](https://github.com/LibreChat-AI/LibreChat/pull/16769) -- ๐Ÿ‘ฏ fix: Separate Subagents and Handoffs Into Native Tools by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16761](https://github.com/LibreChat-AI/LibreChat/pull/16761) +- ๐Ÿ‘ฏ fix: Separate Subagents and Handoffs Into Native Tools by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16761](https://github.com/LibreChat-AI/LibreChat/pull/16761) - ๐Ÿงฌ fix: Default Subagents to Their Parent's Code Machine and Workspace by [@danny-avila](https://github.com/danny-avila) in [#16756](https://github.com/LibreChat-AI/LibreChat/pull/16756) - ๐Ÿ’ถ fix: Price Mistral Large 3 at $0.50 / $1.50 per MTok by [@Alan-Billi](https://github.com/Alan-Billi) in [#16675](https://github.com/LibreChat-AI/LibreChat/pull/16675) - ๐ŸŒ€ fix: Sync Spinner Rotation Phase Across Instances by [@berry-13](https://github.com/berry-13) in [#16738](https://github.com/LibreChat-AI/LibreChat/pull/16738) @@ -300,9 +300,9 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - ๐Ÿ—๏ธ fix: Strengthen Two-Factor Recovery Credentials by [@danny-avila](https://github.com/danny-avila) in [#16742](https://github.com/LibreChat-AI/LibreChat/pull/16742) - ๐Ÿงน fix: Let File Deletes Succeed When the Code API No Longer Serves the Ref's Profile by [@TomasPalsson](https://github.com/TomasPalsson) in [#16671](https://github.com/LibreChat-AI/LibreChat/pull/16671) - ๐Ÿ‘ป fix: Reveal Project Row Actions on Hover and Focus by [@berry-13](https://github.com/berry-13) in [#16731](https://github.com/LibreChat-AI/LibreChat/pull/16731) -- ๐Ÿ–ฒ๏ธ fix: Enable Running Chat Menus and Preserve Renamed Titles by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16697](https://github.com/LibreChat-AI/LibreChat/pull/16697) -- ๐Ÿช€ fix: Separate Workspace Admission and Transport Budgets by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16728](https://github.com/LibreChat-AI/LibreChat/pull/16728) -- ๐Ÿ“ฉ fix: Stage URL Prompts Before Agent Submission by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16647](https://github.com/LibreChat-AI/LibreChat/pull/16647) +- ๐Ÿ–ฒ๏ธ fix: Enable Running Chat Menus and Preserve Renamed Titles by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16697](https://github.com/LibreChat-AI/LibreChat/pull/16697) +- ๐Ÿช€ fix: Separate Workspace Admission and Transport Budgets by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16728](https://github.com/LibreChat-AI/LibreChat/pull/16728) +- ๐Ÿ“ฉ fix: Stage URL Prompts Before Agent Submission by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16647](https://github.com/LibreChat-AI/LibreChat/pull/16647) - fix: Align Agent Contact Email with Its Label by Lia in [97bccd2e7d](https://github.com/LibreChat-AI/LibreChat/commit/97bccd2e7db9a4c490b3d635e85724dd25e5b02c) - ๐Ÿฆฏ fix: Preserve Keyboard Access to BYOM Diagnostics by Lia in [d9ec51ba47](https://github.com/LibreChat-AI/LibreChat/commit/d9ec51ba477b4a98609966e879e2e2f0cb4fb8bf) - fix: Order Server Snapshots Against Pending Read Intent by Lia in [ac2b51e98f](https://github.com/LibreChat-AI/LibreChat/commit/ac2b51e98f479f2a01c6855a07ae7338f8f9be3a) @@ -318,31 +318,31 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - ๐Ÿงพ fix: Commit Resume Provenance With the Approval Claim by [@berry-13](https://github.com/berry-13) in [#16430](https://github.com/LibreChat-AI/LibreChat/pull/16430) - ๐Ÿ–๏ธ fix: Read Theme Roles for the Last Artifact and Agent Chip Colours by [@berry-13](https://github.com/berry-13) in [#16705](https://github.com/LibreChat-AI/LibreChat/pull/16705) - ๐Ÿงญ fix: Explain Missing Workspace Paths to the Model by [@danny-avila](https://github.com/danny-avila) in [#16700](https://github.com/LibreChat-AI/LibreChat/pull/16700) -- ๐Ÿซ– fix: Debounce Streaming Tool Code Highlights by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16695](https://github.com/LibreChat-AI/LibreChat/pull/16695) -- ๐Ÿ‹๏ธ fix: Bound Host File Edits Outside the API Event Loop by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16677](https://github.com/LibreChat-AI/LibreChat/pull/16677) +- ๐Ÿซ– fix: Debounce Streaming Tool Code Highlights by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16695](https://github.com/LibreChat-AI/LibreChat/pull/16695) +- ๐Ÿ‹๏ธ fix: Bound Host File Edits Outside the API Event Loop by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16677](https://github.com/LibreChat-AI/LibreChat/pull/16677) - ๐Ÿƒ fix: List Every Running Chat in the Sidebar's Running Group by [@danny-avila](https://github.com/danny-avila) in [#16668](https://github.com/LibreChat-AI/LibreChat/pull/16668) -- ๐Ÿ•Š๏ธ fix: Keep Attachment History From Locking Conversations by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16690](https://github.com/LibreChat-AI/LibreChat/pull/16690) +- ๐Ÿ•Š๏ธ fix: Keep Attachment History From Locking Conversations by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16690](https://github.com/LibreChat-AI/LibreChat/pull/16690) - ๐Ÿ”• fix: Log Lost Generation Predecessor Fences as Warnings by [@danny-avila](https://github.com/danny-avila) in [#16689](https://github.com/LibreChat-AI/LibreChat/pull/16689) - ๐Ÿ” fix: Authenticate Code Session Probes the Way Their Route Expects by [@danny-avila](https://github.com/danny-avila) in [#16688](https://github.com/LibreChat-AI/LibreChat/pull/16688) -- ๐Ÿ“• fix: Explain Native Web Search Permission Denials by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16691](https://github.com/LibreChat-AI/LibreChat/pull/16691) +- ๐Ÿ“• fix: Explain Native Web Search Permission Denials by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16691](https://github.com/LibreChat-AI/LibreChat/pull/16691) - ๐Ÿ’ญ fix: Show the Thoughts Floating Bar Only When Its Header Is Off Screen by [@berry-13](https://github.com/berry-13) in [#16642](https://github.com/LibreChat-AI/LibreChat/pull/16642) - ๐Ÿ—๏ธ fix: Resolve Config-Scoped Custom Providers by [@danny-avila](https://github.com/danny-avila) in [#16687](https://github.com/LibreChat-AI/LibreChat/pull/16687) -- ๐Ÿ“ผ fix: Replay Running Subagent Activity by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16541](https://github.com/LibreChat-AI/LibreChat/pull/16541) -- ๐Ÿ›– fix: Scope OAuth Binding Cookies to the Public API Path by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16649](https://github.com/LibreChat-AI/LibreChat/pull/16649) +- ๐Ÿ“ผ fix: Replay Running Subagent Activity by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16541](https://github.com/LibreChat-AI/LibreChat/pull/16541) +- ๐Ÿ›– fix: Scope OAuth Binding Cookies to the Public API Path by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16649](https://github.com/LibreChat-AI/LibreChat/pull/16649) - ๐Ÿ’ฌ fix: Keep Healthy Workspace Detach Available by [@danny-avila](https://github.com/danny-avila) in [#16670](https://github.com/LibreChat-AI/LibreChat/pull/16670) - ๐ŸชŸ fix: Read the Static Checks Workflow With CRLF Line Endings by [@danny-avila](https://github.com/danny-avila) in [#16669](https://github.com/LibreChat-AI/LibreChat/pull/16669) - ๐Ÿ“ง fix: Pass `requireTLS` So `EMAIL_ENCRYPTION=starttls` Requires STARTTLS by [@ethanlaj](https://github.com/ethanlaj) in [#16656](https://github.com/LibreChat-AI/LibreChat/pull/16656) -- ๐Ÿต fix: Preserve Workspace Decisions in Warm Chat Caches by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16648](https://github.com/LibreChat-AI/LibreChat/pull/16648) +- ๐Ÿต fix: Preserve Workspace Decisions in Warm Chat Caches by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16648](https://github.com/LibreChat-AI/LibreChat/pull/16648) - ๐Ÿฅพ fix: Advertise Stable Uploaded File Paths Before Code Execution by [@Oliver777int](https://github.com/Oliver777int) in [#16578](https://github.com/LibreChat-AI/LibreChat/pull/16578) -- ๐Ÿšท fix: Stop Reporting Rejected MCP Credentials as Authorized by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16571](https://github.com/LibreChat-AI/LibreChat/pull/16571) -- ๐Ÿซก fix: Keep Pending Steering Within the Chat Column by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16621](https://github.com/LibreChat-AI/LibreChat/pull/16621) +- ๐Ÿšท fix: Stop Reporting Rejected MCP Credentials as Authorized by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16571](https://github.com/LibreChat-AI/LibreChat/pull/16571) +- ๐Ÿซก fix: Keep Pending Steering Within the Chat Column by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16621](https://github.com/LibreChat-AI/LibreChat/pull/16621) - fix: Restore MCP OAuth Browser Binding ๐Ÿชข by [@danny-avila](https://github.com/danny-avila) in [#16634](https://github.com/LibreChat-AI/LibreChat/pull/16634) -- ๐ŸฆŽ fix: Restore Theme Contrast in Composer and Messages by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16624](https://github.com/LibreChat-AI/LibreChat/pull/16624) +- ๐ŸฆŽ fix: Restore Theme Contrast in Composer and Messages by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16624](https://github.com/LibreChat-AI/LibreChat/pull/16624) - ๐Ÿชง fix: Open the Mobile Drawer Below a Site Banner by [@berry-13](https://github.com/berry-13) in [#16611](https://github.com/LibreChat-AI/LibreChat/pull/16611) - ๐Ÿ”— fix: Hide the Viewer's Deployment Theme While a Shared Link Loads by [@berry-13](https://github.com/berry-13) in [#16608](https://github.com/LibreChat-AI/LibreChat/pull/16608) - ๐Ÿช— fix: Open the Lone Tool Call Directly and Label Settled Commands Ran by [@berry-13](https://github.com/berry-13) in [#16547](https://github.com/LibreChat-AI/LibreChat/pull/16547) -- ๐Ÿช€ fix: Stop the Textarea Jump During File Uploads by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16623](https://github.com/LibreChat-AI/LibreChat/pull/16623) -- ๐Ÿง‘โ€๐Ÿณ fix: Distinguish Tool Preparation From Execution by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16619](https://github.com/LibreChat-AI/LibreChat/pull/16619) +- ๐Ÿช€ fix: Stop the Textarea Jump During File Uploads by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16623](https://github.com/LibreChat-AI/LibreChat/pull/16623) +- ๐Ÿง‘โ€๐Ÿณ fix: Distinguish Tool Preparation From Execution by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16619](https://github.com/LibreChat-AI/LibreChat/pull/16619) - ๐ŸŒ… fix: Paint the Cached Deployment Theme on the First Frame by [@berry-13](https://github.com/berry-13) in [#16590](https://github.com/LibreChat-AI/LibreChat/pull/16590) - ๐Ÿช† fix: Resolve Theme Markers to the Nearest Themed Root by [@berry-13](https://github.com/berry-13) in [#16589](https://github.com/LibreChat-AI/LibreChat/pull/16589) - ๐ŸŽ‹ fix: Reconcile Canary Promotion Static Checks by Lia in [443d27ba32](https://github.com/LibreChat-AI/LibreChat/commit/443d27ba32a153a9411ed686fb9bfe902343e03c) @@ -377,9 +377,9 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - ๐Ÿ”‘ fix: Refresh the Stored Passkey Backup State on Each Sign-In by [@berry-13](https://github.com/berry-13) in [#16255](https://github.com/LibreChat-AI/LibreChat/pull/16255) - ๐Ÿ”‘ fix: Keep Passkey Sign-In Reachable When Email Login Is Disabled by [@berry-13](https://github.com/berry-13) in [#16254](https://github.com/LibreChat-AI/LibreChat/pull/16254) - ๐Ÿงต fix: Restore Classes tailwind-merge Was Silently Dropping by [@berry-13](https://github.com/berry-13) in [#15995](https://github.com/LibreChat-AI/LibreChat/pull/15995) -- ๐Ÿฆฏ fix: Restore BYOM Diagnostic Access and Stabilize Readiness Checks by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16723](https://github.com/LibreChat-AI/LibreChat/pull/16723) -- ๐Ÿ›ผ fix: Keep BYOM Workspace Diagnostics Out of Composer Layout by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16721](https://github.com/LibreChat-AI/LibreChat/pull/16721) -- ๐Ÿ•ด๏ธ fix: Align Agent Contact Email on the Landing Page by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16655](https://github.com/LibreChat-AI/LibreChat/pull/16655) +- ๐Ÿฆฏ fix: Restore BYOM Diagnostic Access and Stabilize Readiness Checks by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16723](https://github.com/LibreChat-AI/LibreChat/pull/16723) +- ๐Ÿ›ผ fix: Keep BYOM Workspace Diagnostics Out of Composer Layout by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16721](https://github.com/LibreChat-AI/LibreChat/pull/16721) +- ๐Ÿ•ด๏ธ fix: Align Agent Contact Email on the Landing Page by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16655](https://github.com/LibreChat-AI/LibreChat/pull/16655) ### ๐Ÿ”ง Refactoring and Performance @@ -497,10 +497,10 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - ๐Ÿ—„๏ธ perf: Cut Serial and Redundant Database Reads by [@berry-13](https://github.com/berry-13) in [#16711](https://github.com/LibreChat-AI/LibreChat/pull/16711) - ๐ŸŒŠ perf: Trim Per-Token and Per-Render Work in Streaming and Lists by [@berry-13](https://github.com/berry-13) in [#16718](https://github.com/LibreChat-AI/LibreChat/pull/16718) - ๐ŸŽš๏ธ refactor: Drop Inline Pointer Styles From Select and Menu Primitives by [@berry-13](https://github.com/berry-13) in [#16704](https://github.com/LibreChat-AI/LibreChat/pull/16704) -- ๐Ÿช‡ perf: Coalesce Ready Background Completions by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16650](https://github.com/LibreChat-AI/LibreChat/pull/16650) +- ๐Ÿช‡ perf: Coalesce Ready Background Completions by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16650](https://github.com/LibreChat-AI/LibreChat/pull/16650) - ๐Ÿงฐ style: Hover-Revealed Tool Output Copy, Full Output, and a Virtualized My Files Table by [@berry-13](https://github.com/berry-13) in [#16640](https://github.com/LibreChat-AI/LibreChat/pull/16640) - โ™ป๏ธ refactor: Native Prompts Behind a Shared Service and Adapter by [@AtefBellaaj](https://github.com/AtefBellaaj) in [#16506](https://github.com/LibreChat-AI/LibreChat/pull/16506) -- ๐Ÿ›ท perf: Reduce Browser Work When Sending Documents by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16646](https://github.com/LibreChat-AI/LibreChat/pull/16646) +- ๐Ÿ›ท perf: Reduce Browser Work When Sending Documents by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16646](https://github.com/LibreChat-AI/LibreChat/pull/16646) - ๐Ÿงฉ refactor: Serve Chat Context Through a Facade-Owned Provider by [@berry-13](https://github.com/berry-13) in [#16610](https://github.com/LibreChat-AI/LibreChat/pull/16610) - ๐Ÿงน refactor: Keep Store Imports Out of the Chat Hooks by [@berry-13](https://github.com/berry-13) in [#16620](https://github.com/LibreChat-AI/LibreChat/pull/16620) - ๐ŸŽ›๏ธ refactor: Pass the New-Chat Panel Preference Into the Sidebar by [@berry-13](https://github.com/berry-13) in [#16605](https://github.com/LibreChat-AI/LibreChat/pull/16605) @@ -532,10 +532,10 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L ### ๐Ÿงช Tests -- ๐Ÿ•› test: Control the Code API Retry Budget Clock by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17338](https://github.com/LibreChat-AI/LibreChat/pull/17338) +- ๐Ÿ•› test: Control the Code API Retry Budget Clock by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17338](https://github.com/LibreChat-AI/LibreChat/pull/17338) - ๐Ÿงช test: Keep EndpointService Spec Mocks Complete When the Real API Package Loads by [@danny-avila](https://github.com/danny-avila) in [#17324](https://github.com/LibreChat-AI/LibreChat/pull/17324) -- ๐ŸŽช test: Mount the Steer Host in the Batch Composer Fixture by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17235](https://github.com/LibreChat-AI/LibreChat/pull/17235) -- ๐Ÿ› test: Isolate Empty Panel Cards From Shared Data by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17234](https://github.com/LibreChat-AI/LibreChat/pull/17234) +- ๐ŸŽช test: Mount the Steer Host in the Batch Composer Fixture by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17235](https://github.com/LibreChat-AI/LibreChat/pull/17235) +- ๐Ÿ› test: Isolate Empty Panel Cards From Shared Data by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17234](https://github.com/LibreChat-AI/LibreChat/pull/17234) - ๐Ÿงญ test: Cover ClickHouse Control Boundaries on the Sidebar Surface by [@berry-13](https://github.com/berry-13) in [#17197](https://github.com/LibreChat-AI/LibreChat/pull/17197) - ๐ŸŽฒ test: Make the ClickHouse Pinned-Pair Check Order-Independent by [@berry-13](https://github.com/berry-13) in [#17192](https://github.com/LibreChat-AI/LibreChat/pull/17192) - ๐Ÿ—‘๏ธ test: Run useIsActiveItem Spec Under jsdom So GC Cannot Drop the Observer by [@berry-13](https://github.com/berry-13) in [#17199](https://github.com/LibreChat-AI/LibreChat/pull/17199) @@ -547,16 +547,16 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - ๐Ÿงช test: Drive useChat Through a Substitute Transport for Send, Stop, Steer and Errors by [@berry-13](https://github.com/berry-13) in [#16957](https://github.com/LibreChat-AI/LibreChat/pull/16957) - ๐Ÿงช test: Apply One Reference Theme Across Radius, Font, Shadow and Spacing by [@berry-13](https://github.com/berry-13) in [#16905](https://github.com/LibreChat-AI/LibreChat/pull/16905) - ๐Ÿงฌ test: Pin Built-In Theme Output to the Cache Epoch by [@berry-13](https://github.com/berry-13) in [#16875](https://github.com/LibreChat-AI/LibreChat/pull/16875) -- ๐Ÿ› test: Stabilize MCP App Link Clicks by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16760](https://github.com/LibreChat-AI/LibreChat/pull/16760) +- ๐Ÿ› test: Stabilize MCP App Link Clicks by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16760](https://github.com/LibreChat-AI/LibreChat/pull/16760) - ๐Ÿ”ค test: Cover Alias Frontmatter Keys in the Skill Sync Skip by [@berry-13](https://github.com/berry-13) in [#16725](https://github.com/LibreChat-AI/LibreChat/pull/16725) -- ๐Ÿฆ test: Define PII Policy and Conformance Fixtures by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16726](https://github.com/LibreChat-AI/LibreChat/pull/16726) -- ๐Ÿฅ test: Stabilize Host Edit Responsiveness Assertions by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16727](https://github.com/LibreChat-AI/LibreChat/pull/16727) +- ๐Ÿฆ test: Define PII Policy and Conformance Fixtures by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16726](https://github.com/LibreChat-AI/LibreChat/pull/16726) +- ๐Ÿฅ test: Stabilize Host Edit Responsiveness Assertions by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16727](https://github.com/LibreChat-AI/LibreChat/pull/16727) - test: Cover Queue Row Actions And The Single Send Control In Scenarios by Marco Beretta in [a588339dd7](https://github.com/LibreChat-AI/LibreChat/commit/a588339dd79305e7d693ed8b4264099e41addf32) - test: Cover Every Palette Slot in Repeatable Samples by Lia in [9dfdea13cb](https://github.com/LibreChat-AI/LibreChat/commit/9dfdea13cbffb62875b7a96231896f1357fb593c) - ๐Ÿฅพ test: Wait for Palette Completion and Stable Quote Geometry by Lia in [37df3c1146](https://github.com/LibreChat-AI/LibreChat/commit/37df3c1146a78832070ba787254f401e2053f48f) - test: Include i18n Helper in Isolated Static Fixtures by Lia in [e19d2dbea1](https://github.com/LibreChat-AI/LibreChat/commit/e19d2dbea14a9c294081810d764c9912a4018380) - ๐Ÿ“Œ test: Re-Pin Click UI Drift Guard to v0.13.0 and Probe the Checkbox by [@berry-13](https://github.com/berry-13) in [#16706](https://github.com/LibreChat-AI/LibreChat/pull/16706) -- ๐Ÿฆญ test: Add Scheduled MCP Authorization Contract Fixtures by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16645](https://github.com/LibreChat-AI/LibreChat/pull/16645) +- ๐Ÿฆญ test: Add Scheduled MCP Authorization Contract Fixtures by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16645](https://github.com/LibreChat-AI/LibreChat/pull/16645) - ๐Ÿ” test: Reload Mid-Reply Reattaches and Finishes by [@berry-13](https://github.com/berry-13) in [#16598](https://github.com/LibreChat-AI/LibreChat/pull/16598) - ๐Ÿงพ test: Complete the Click UI Not-Expressible List by [@berry-13](https://github.com/berry-13) in [#16588](https://github.com/LibreChat-AI/LibreChat/pull/16588) - โ›ด๏ธ test: Keep Executor and Timing Callback Adapters Aligned by Lia in [2e0690616f](https://github.com/LibreChat-AI/LibreChat/commit/2e0690616fab73ce268b8eb6575a1aecb8001d0d) @@ -573,15 +573,15 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - Merge remote-tracking branch 'origin/dev' into lia/rc1-release-prep by Lia in [8c2ed7be08](https://github.com/LibreChat-AI/LibreChat/commit/8c2ed7be08a43ec895053d98696e2671ff7c27f2) - ๐Ÿง‘โ€๐Ÿ”ง chore: Refresh Package Versions for v0.8.9-rc1 by Lia in [f5a869a1f7](https://github.com/LibreChat-AI/LibreChat/commit/f5a869a1f7c428f731b57d4580cbab8cb2d8bd93) - ๐Ÿ“Œ chore: Re-Pin the ClickHouse Theme to Click UI v0.15.0 by [@berry-13](https://github.com/berry-13) in [#17356](https://github.com/LibreChat-AI/LibreChat/pull/17356) -- ๐Ÿ†™ chore: Bump Agents SDK to 4.1.0 by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17345](https://github.com/LibreChat-AI/LibreChat/pull/17345) +- ๐Ÿ†™ chore: Bump Agents SDK to 4.1.0 by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17345](https://github.com/LibreChat-AI/LibreChat/pull/17345) - ๐Ÿšฟ chore: Upgrade `sanitize-html`, Hono, and MongoDB Memory Server by [@danny-avila](https://github.com/danny-avila) in [#17343](https://github.com/LibreChat-AI/LibreChat/pull/17343) - ๐Ÿ—ณ๏ธ ci: Shard the Codegraph E2E Vote Suite Across Ten Runners by [@danny-avila](https://github.com/danny-avila) in [#17339](https://github.com/LibreChat-AI/LibreChat/pull/17339) - ๐Ÿ›ผ chore: Upgrade Vite to 8.3.5 by [@danny-avila](https://github.com/danny-avila) in [#17337](https://github.com/LibreChat-AI/LibreChat/pull/17337) -- ๐Ÿฃ chore: Prepare v0.8.9-rc1 Release by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17336](https://github.com/LibreChat-AI/LibreChat/pull/17336) -- ๐Ÿ’‰ chore: Upgrade Node.js to Security Release 24.22.1 by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17332](https://github.com/LibreChat-AI/LibreChat/pull/17332) +- ๐Ÿฃ chore: Prepare v0.8.9-rc1 Release by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17336](https://github.com/LibreChat-AI/LibreChat/pull/17336) +- ๐Ÿ’‰ chore: Upgrade Node.js to Security Release 24.22.1 by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17332](https://github.com/LibreChat-AI/LibreChat/pull/17332) - ๐Ÿ—ณ๏ธ ci: Let Codegraph E2E Vote Runs Finish by [@danny-avila](https://github.com/danny-avila) in [#17325](https://github.com/LibreChat-AI/LibreChat/pull/17325) - ๐Ÿชฆ chore: Retire the DALL-E 3 Tool by [@berry-13](https://github.com/berry-13) in [#17205](https://github.com/LibreChat-AI/LibreChat/pull/17205) -- ๐ŸŒ  chore: Default OpenAI Image Tools to GPT Image Flare by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17014](https://github.com/LibreChat-AI/LibreChat/pull/17014) +- ๐ŸŒ  chore: Default OpenAI Image Tools to GPT Image Flare by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17014](https://github.com/LibreChat-AI/LibreChat/pull/17014) - ๐Ÿ”’ chore: Update `pbkdf2` and `to-buffer` by [@danny-avila](https://github.com/danny-avila) in [#17187](https://github.com/LibreChat-AI/LibreChat/pull/17187) - ๐Ÿ”’ chore: Resolve Open Dependabot Security Alerts by [@danny-avila](https://github.com/danny-avila) in [#17016](https://github.com/LibreChat-AI/LibreChat/pull/17016) - โฑ๏ธ ci: Balance Playwright Shards by Recorded Duration by [@danny-avila](https://github.com/danny-avila) in [#17019](https://github.com/LibreChat-AI/LibreChat/pull/17019) @@ -596,7 +596,7 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - โ™ฟ a11y: Let Dark Mode Honor Outline Utilities on Focus by [@berry-13](https://github.com/berry-13) in [#16861](https://github.com/LibreChat-AI/LibreChat/pull/16861) - ๐Ÿงฑ chore: Let Callers Own Spacing on Dialog and Panel Containers by [@berry-13](https://github.com/berry-13) in [#16836](https://github.com/LibreChat-AI/LibreChat/pull/16836) - โ™ฟ a11y: Ring Content Rows in a Themeable Focus Role by [@berry-13](https://github.com/berry-13) in [#16740](https://github.com/LibreChat-AI/LibreChat/pull/16740) -- ๐Ÿชš chore: Deprecate Agent Chain Authoring by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16745](https://github.com/LibreChat-AI/LibreChat/pull/16745) +- ๐Ÿชš chore: Deprecate Agent Chain Authoring by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16745](https://github.com/LibreChat-AI/LibreChat/pull/16745) - โ™ฟ a11y: Stop Agent API Keys Dialog Opening Its Info Card On Focus by [@berry-13](https://github.com/berry-13) in [#16735](https://github.com/LibreChat-AI/LibreChat/pull/16735) - ๐Ÿ“ docs: Describe Attached-Workspace Lanes, Sandbox Scratch, and Skill Files in Tool Descriptions by [@danny-avila](https://github.com/danny-avila) in [#16702](https://github.com/LibreChat-AI/LibreChat/pull/16702) - โ›ด๏ธ chore: Bring Canary Up to Date With Dev by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16457](https://github.com/LibreChat-AI/LibreChat/pull/16457) @@ -607,7 +607,7 @@ These notes are prepared against candidate [`8c2ed7be08a4`](https://github.com/L - ๐Ÿฅผ ci: Gate MCP Apps on Executed Browser Tests by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16283](https://github.com/LibreChat-AI/LibreChat/pull/16283) - ๐ŸŽจ chore: Enforce Design-System Rules With @shadcn/lint by [@berry-13](https://github.com/berry-13) in [#15981](https://github.com/LibreChat-AI/LibreChat/pull/15981) - ๐Ÿ“ฆ ci: Remove Legacy GHCR Mirror by [@danny-avila](https://github.com/danny-avila) in [#16585](https://github.com/LibreChat-AI/LibreChat/pull/16585) -- ๐ŸŽ‹ chore: Validate Canary History on Current Dev by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16586](https://github.com/LibreChat-AI/LibreChat/pull/16586) +- ๐ŸŽ‹ chore: Validate Canary History on Current Dev by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16586](https://github.com/LibreChat-AI/LibreChat/pull/16586) ## New Contributors diff --git a/release-notes/v0.8.9-rc1.md b/release-notes/v0.8.9-rc1.md index ca952465b..c926c4795 100644 --- a/release-notes/v0.8.9-rc1.md +++ b/release-notes/v0.8.9-rc1.md @@ -19,7 +19,7 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade ### โœจ Features - ๐Ÿ” feat: Admin Config Secrets v2 (MCP and Azure Credentials, Re-entry, Env Allowlist, Rebinding) by [@danny-avila](https://github.com/danny-avila) in [#17353](https://github.com/LibreChat-AI/LibreChat/pull/17353) -- ๐Ÿง‘โ€โœˆ๏ธ feat: Enroll Machines Through Explicit Browser Approval by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17344](https://github.com/LibreChat-AI/LibreChat/pull/17344) +- ๐Ÿง‘โ€โœˆ๏ธ feat: Enroll Machines Through Explicit Browser Approval by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17344](https://github.com/LibreChat-AI/LibreChat/pull/17344) - ๐Ÿ™ˆ feat: Let Config Profiles Hide librechat.yaml MCP Servers and Remove Their Fields by [@danny-avila](https://github.com/danny-avila) in [#17327](https://github.com/LibreChat-AI/LibreChat/pull/17327) - โš›๏ธ feat: Atomic Admin Config Changes Endpoint (set, unset, tombstone, entry upsert/remove/rename) by [@danny-avila](https://github.com/danny-avila) in [#17328](https://github.com/LibreChat-AI/LibreChat/pull/17328) - ๐Ÿ”— feat: Link Custom Artifact Mode to Its Instructions Guide by [@danny-avila](https://github.com/danny-avila) in [#17021](https://github.com/LibreChat-AI/LibreChat/pull/17021) @@ -34,8 +34,8 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - โŒจ๏ธ feat: Keyboard Submit, Focus and Escape for Ask User Cards by [@berry-13](https://github.com/berry-13) in [#17231](https://github.com/LibreChat-AI/LibreChat/pull/17231) - ๐Ÿ’  feat: Add Gemini 4 Argon Support by [@berry-13](https://github.com/berry-13) in [#17200](https://github.com/LibreChat-AI/LibreChat/pull/17200) - ๐ŸŽ feat: Add Claude Haiku 5.5 Support by [@berry-13](https://github.com/berry-13) in [#17201](https://github.com/LibreChat-AI/LibreChat/pull/17201) -- ๐Ÿ›‹๏ธ feat: Open Subagents Directly from Background Tasks by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17020](https://github.com/LibreChat-AI/LibreChat/pull/17020) -- ๐Ÿ—ž๏ธ feat: Make Context Usage Responsive and Condensed by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17018](https://github.com/LibreChat-AI/LibreChat/pull/17018) +- ๐Ÿ›‹๏ธ feat: Open Subagents Directly from Background Tasks by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17020](https://github.com/LibreChat-AI/LibreChat/pull/17020) +- ๐Ÿ—ž๏ธ feat: Make Context Usage Responsive and Condensed by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17018](https://github.com/LibreChat-AI/LibreChat/pull/17018) - ๐Ÿ”Œ feat: Integrate Durable Skill Lifecycle Across Writers and Routes by [@dustinhealy](https://github.com/dustinhealy) in [#17043](https://github.com/LibreChat-AI/LibreChat/pull/17043) - ๐Ÿงน feat: Add Bounded Whole-Skill Cleanup Engine by [@dustinhealy](https://github.com/dustinhealy) in [#17042](https://github.com/LibreChat-AI/LibreChat/pull/17042) - ๐Ÿงพ feat: Add Skill Upload Reservation Helpers by [@dustinhealy](https://github.com/dustinhealy) in [#17041](https://github.com/LibreChat-AI/LibreChat/pull/17041) @@ -87,42 +87,42 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - ๐Ÿงฑ feat: Layered Surface Roles for the ClickHouse Theme by [@berry-13](https://github.com/berry-13) in [#16737](https://github.com/LibreChat-AI/LibreChat/pull/16737) - โณ feat: Reset Balance Allowances Without Rollover by [@danny-avila](https://github.com/danny-avila) in [#16781](https://github.com/LibreChat-AI/LibreChat/pull/16781) - ๐ŸชŸ feat: Overlay Theme Roles for Tooltips, Error Alerts and Artifact Previews by [@berry-13](https://github.com/berry-13) in [#16739](https://github.com/LibreChat-AI/LibreChat/pull/16739) -- ๐Ÿฆ‰ feat: Compare Review Commit Ancestry Without Git by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16734](https://github.com/LibreChat-AI/LibreChat/pull/16734) +- ๐Ÿฆ‰ feat: Compare Review Commit Ancestry Without Git by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16734](https://github.com/LibreChat-AI/LibreChat/pull/16734) - ๐Ÿชช feat: Name and Face Subagents Like Main Chat Turns by [@danny-avila](https://github.com/danny-avila) in [#16692](https://github.com/LibreChat-AI/LibreChat/pull/16692) -- ๐Ÿ”ฑ feat: Simplify Steering Controls to Three Modes by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16759](https://github.com/LibreChat-AI/LibreChat/pull/16759) +- ๐Ÿ”ฑ feat: Simplify Steering Controls to Three Modes by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16759](https://github.com/LibreChat-AI/LibreChat/pull/16759) - ๐Ÿ’ณ feat: Show Balance in the Context Gauge as Credits, Currency, or Percent by [@danny-avila](https://github.com/danny-avila) in [#16762](https://github.com/LibreChat-AI/LibreChat/pull/16762) - ๐Ÿš• feat: Add Per-Call Subagent Machine Selection by [@danny-avila](https://github.com/danny-avila) in [#16757](https://github.com/LibreChat-AI/LibreChat/pull/16757) -- ๐Ÿ•Š๏ธ feat: Supply Authorized Scheduled MCP Resource Bearers by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16699](https://github.com/LibreChat-AI/LibreChat/pull/16699) +- ๐Ÿ•Š๏ธ feat: Supply Authorized Scheduled MCP Resource Bearers by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16699](https://github.com/LibreChat-AI/LibreChat/pull/16699) - ๐Ÿ”— feat(agents): use LibreChat prompt groups as agent instructions by [@AtefBellaaj](https://github.com/AtefBellaaj) in [#16686](https://github.com/LibreChat-AI/LibreChat/pull/16686) - ๐Ÿ” feat: App-Wide UI Scale Setting by [@berry-13](https://github.com/berry-13) in [#14903](https://github.com/LibreChat-AI/LibreChat/pull/14903) - ๐ŸŒฒ feat: Expose Navigable Subagent Progress Trees by [@danny-avila](https://github.com/danny-avila) in [#16748](https://github.com/LibreChat-AI/LibreChat/pull/16748) -- ๐Ÿช‡ feat: Consolidate Orchestration Into a Native Tool by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16744](https://github.com/LibreChat-AI/LibreChat/pull/16744) -- ๐ŸŽฃ feat: Poll Durable Workspace Requests Without Rejoining Admission by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16733](https://github.com/LibreChat-AI/LibreChat/pull/16733) -- ๐Ÿซฐ feat: Configure Tool Approval Modes Per Agent by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16707](https://github.com/LibreChat-AI/LibreChat/pull/16707) +- ๐Ÿช‡ feat: Consolidate Orchestration Into a Native Tool by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16744](https://github.com/LibreChat-AI/LibreChat/pull/16744) +- ๐ŸŽฃ feat: Poll Durable Workspace Requests Without Rejoining Admission by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16733](https://github.com/LibreChat-AI/LibreChat/pull/16733) +- ๐Ÿซฐ feat: Configure Tool Approval Modes Per Agent by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16707](https://github.com/LibreChat-AI/LibreChat/pull/16707) - ๐Ÿง  feat: Add Lia's Behavior Engine by [@berry-13](https://github.com/berry-13) in [#16683](https://github.com/LibreChat-AI/LibreChat/pull/16683) - ๐Ÿง— feat: Light the Fold Path to the Hovered Activity Row by [@danny-avila](https://github.com/danny-avila) in [#16722](https://github.com/LibreChat-AI/LibreChat/pull/16722) - ๐Ÿ”ญ feat: Recover Stale Chunks Without the Error Page and Ship Client Logs to RUM by [@danny-avila](https://github.com/danny-avila) in [#16701](https://github.com/LibreChat-AI/LibreChat/pull/16701) -- ๐Ÿฆซ feat: Enforce Scheduled MCP Read-Only Authority by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16681](https://github.com/LibreChat-AI/LibreChat/pull/16681) +- ๐Ÿฆซ feat: Enforce Scheduled MCP Read-Only Authority by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16681](https://github.com/LibreChat-AI/LibreChat/pull/16681) - feat: Simplify Queue Row Actions And Steer Controls by Marco Beretta in [35db010412](https://github.com/LibreChat-AI/LibreChat/commit/35db010412f95721459c07903164fe318005c48f) - ๐Ÿ›ฐ๏ธ feat: Status on the Avatar, a Finished Group, and Project Chats in the Sidebar List by Danny Avila in [10e9cb90e7](https://github.com/LibreChat-AI/LibreChat/commit/10e9cb90e759176bbea9071df9274bbc8cba2b7e) - ๐ŸŽจ feat: Add Lia's Pixel Art Renderer by [@berry-13](https://github.com/berry-13) in [#16682](https://github.com/LibreChat-AI/LibreChat/pull/16682) - ๐Ÿ“ feat: Size Roles for the Select List by [@berry-13](https://github.com/berry-13) in [#16714](https://github.com/LibreChat-AI/LibreChat/pull/16714) - ๐Ÿ“ feat: Show the Current Text Where a Missing Workspace Edit Belongs by [@danny-avila](https://github.com/danny-avila) in [#16698](https://github.com/LibreChat-AI/LibreChat/pull/16698) - ๐Ÿ”“ feat: Remember Tool Approvals Per Conversation by [@berry-13](https://github.com/berry-13) in [#16557](https://github.com/LibreChat-AI/LibreChat/pull/16557) -- ๐Ÿด feat: Separate Machine, Workspace, and Git Controls by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16696](https://github.com/LibreChat-AI/LibreChat/pull/16696) +- ๐Ÿด feat: Separate Machine, Workspace, and Git Controls by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16696](https://github.com/LibreChat-AI/LibreChat/pull/16696) - โœ… feat: Default Machine Selection and Linked-Worktree Lanes On by [@danny-avila](https://github.com/danny-avila) in [#16678](https://github.com/LibreChat-AI/LibreChat/pull/16678) - ๐Ÿงญ feat: Give the Mobile Drawer Edge a Role and Move the Last Page Colours Onto Roles by [@berry-13](https://github.com/berry-13) in [#16631](https://github.com/LibreChat-AI/LibreChat/pull/16631) - ๐Ÿ“ feat: Edit Projects in a Dialog and Pick Files From the Your Files Dialog by [@berry-13](https://github.com/berry-13) in [#16643](https://github.com/LibreChat-AI/LibreChat/pull/16643) - ๐Ÿ™‹ feat: Refine the Ask Question Card and Smooth Batched Question Steps by [@berry-13](https://github.com/berry-13) in [#16641](https://github.com/LibreChat-AI/LibreChat/pull/16641) - ๐Ÿ—‚๏ธ feat: Choose Conversation Checkout Mode by [@danny-avila](https://github.com/danny-avila) in [#16679](https://github.com/LibreChat-AI/LibreChat/pull/16679) -- ๐Ÿ“” feat: Preserve Owner Text During PII Redaction by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16311](https://github.com/LibreChat-AI/LibreChat/pull/16311) +- ๐Ÿ“” feat: Preserve Owner Text During PII Redaction by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16311](https://github.com/LibreChat-AI/LibreChat/pull/16311) - ๐Ÿงณ feat: Choose Agent-Allowed Machines For New Chats by [@danny-avila](https://github.com/danny-avila) in [#16651](https://github.com/LibreChat-AI/LibreChat/pull/16651) -- ๐Ÿช” feat: Add Bound Scheduled MCP Consent by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16652](https://github.com/LibreChat-AI/LibreChat/pull/16652) +- ๐Ÿช” feat: Add Bound Scheduled MCP Consent by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16652](https://github.com/LibreChat-AI/LibreChat/pull/16652) - ๐Ÿ“ feat: Size Roles for the Shared Primitives by [@berry-13](https://github.com/berry-13) in [#16617](https://github.com/LibreChat-AI/LibreChat/pull/16617) -- โ›บ feat: Report Attached Bash Starting Directories by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16539](https://github.com/LibreChat-AI/LibreChat/pull/16539) +- โ›บ feat: Report Attached Bash Starting Directories by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16539](https://github.com/LibreChat-AI/LibreChat/pull/16539) - ๐Ÿชข feat: Collapse Activity Folds From Their Rails by [@danny-avila](https://github.com/danny-avila) in [#16637](https://github.com/LibreChat-AI/LibreChat/pull/16637) - ๐Ÿงพ feat: Serve Built-In Endpoint Model Lists From Config So Overrides Can Narrow Them by [@danny-avila](https://github.com/danny-avila) in [#16639](https://github.com/LibreChat-AI/LibreChat/pull/16639) -- ๐Ÿฅฝ feat: Configure Attached Defaults and Honor Skill Read Ranges by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16540](https://github.com/LibreChat-AI/LibreChat/pull/16540) +- ๐Ÿฅฝ feat: Configure Attached Defaults and Honor Skill Read Ranges by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16540](https://github.com/LibreChat-AI/LibreChat/pull/16540) - ๐Ÿ” feat: Enforce Required Two-Factor Authentication by [@berry-13](https://github.com/berry-13) in [#14731](https://github.com/LibreChat-AI/LibreChat/pull/14731) - ๐Ÿ“ feat: Click UI Spacing and Mono Stack for the ClickHouse Theme by [@berry-13](https://github.com/berry-13) in [#16616](https://github.com/LibreChat-AI/LibreChat/pull/16616) - ๐Ÿซ— feat: Field Fill and Ink Theme Roles by [@berry-13](https://github.com/berry-13) in [#16607](https://github.com/LibreChat-AI/LibreChat/pull/16607) @@ -187,16 +187,16 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - ๐Ÿ” fix: Apply Base Config Overrides Before Sign-In and Refuse Script Policy Links by [@danny-avila](https://github.com/danny-avila) in [#17351](https://github.com/LibreChat-AI/LibreChat/pull/17351) - ๐Ÿท๏ธ fix: Resolve endpoints.all Title Settings per Field and Fold Ollama Endpoint Names by [@danny-avila](https://github.com/danny-avila) in [#17316](https://github.com/LibreChat-AI/LibreChat/pull/17316) - ๐Ÿ›ก๏ธ fix: Reject Unknown Admin Config Sections and Scope Write Responses to Read Access by [@danny-avila](https://github.com/danny-avila) in [#17315](https://github.com/LibreChat-AI/LibreChat/pull/17315) -- ๐Ÿ“” fix: Recover Subagent Content With Shared Chat Rendering by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17290](https://github.com/LibreChat-AI/LibreChat/pull/17290) -- ๐Ÿฅผ fix: Separate Agent Inference Settings From SDK Configuration by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17220](https://github.com/LibreChat-AI/LibreChat/pull/17220) +- ๐Ÿ“” fix: Recover Subagent Content With Shared Chat Rendering by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17290](https://github.com/LibreChat-AI/LibreChat/pull/17290) +- ๐Ÿฅผ fix: Separate Agent Inference Settings From SDK Configuration by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17220](https://github.com/LibreChat-AI/LibreChat/pull/17220) - ๐Ÿชต fix: Keep the Winston Level Symbol in `jsonTruncateFormat` for OpenTelemetry Logs by [@trois-six](https://github.com/trois-six) in [#17307](https://github.com/LibreChat-AI/LibreChat/pull/17307) -- ๐Ÿšก fix: Restore Enforced Model Specs for Agent Continuations by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17229](https://github.com/LibreChat-AI/LibreChat/pull/17229) +- ๐Ÿšก fix: Restore Enforced Model Specs for Agent Continuations by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17229](https://github.com/LibreChat-AI/LibreChat/pull/17229) - ๐Ÿ”‘ fix: Use Admin-Stored Web Search Credentials at Runtime by [@danny-avila](https://github.com/danny-avila) in [#17323](https://github.com/LibreChat-AI/LibreChat/pull/17323) -- ๐Ÿšœ fix: Release Heavy Chat State on Conversation Switches by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17291](https://github.com/LibreChat-AI/LibreChat/pull/17291) -- ๐Ÿช fix: Restore Explicit File Search Uploads by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17226](https://github.com/LibreChat-AI/LibreChat/pull/17226) +- ๐Ÿšœ fix: Release Heavy Chat State on Conversation Switches by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17291](https://github.com/LibreChat-AI/LibreChat/pull/17291) +- ๐Ÿช fix: Restore Explicit File Search Uploads by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17226](https://github.com/LibreChat-AI/LibreChat/pull/17226) - โฑ๏ธ fix: Bound Outbound Calls Made Inside a Request by [@berry-13](https://github.com/berry-13) in [#17263](https://github.com/LibreChat-AI/LibreChat/pull/17263) -- ๐ŸŽด fix: Match Image Media Types to Their Bytes by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17230](https://github.com/LibreChat-AI/LibreChat/pull/17230) -- ๐Ÿš fix: Fail Closed When Plugin Hook Shell Cannot Start by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17227](https://github.com/LibreChat-AI/LibreChat/pull/17227) +- ๐ŸŽด fix: Match Image Media Types to Their Bytes by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17230](https://github.com/LibreChat-AI/LibreChat/pull/17230) +- ๐Ÿš fix: Fail Closed When Plugin Hook Shell Cannot Start by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17227](https://github.com/LibreChat-AI/LibreChat/pull/17227) - ๐Ÿ“„ fix: Mirror Agents, Prompts, Skills and Other Pages for RTL by [@berry-13](https://github.com/berry-13) in [#17268](https://github.com/LibreChat-AI/LibreChat/pull/17268) - ๐Ÿชž fix: Mirror Shared Primitives for Right-to-Left Layouts by [@berry-13](https://github.com/berry-13) in [#17265](https://github.com/LibreChat-AI/LibreChat/pull/17265) - ๐Ÿ’ฌ fix: Mirror Chat Messages, Markdown and Code Blocks for RTL by [@berry-13](https://github.com/berry-13) in [#17267](https://github.com/LibreChat-AI/LibreChat/pull/17267) @@ -268,7 +268,7 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - ๐Ÿ“ fix: Make DataTable Row Estimates Breakpoint- and Leaf-Column-Aware by [@berry-13](https://github.com/berry-13) in [#16817](https://github.com/LibreChat-AI/LibreChat/pull/16817) - ๐Ÿฉน fix: Stub the Attached Route in the Lane Recording Specs by [@berry-13](https://github.com/berry-13) in [#16840](https://github.com/LibreChat-AI/LibreChat/pull/16840) - ๐Ÿ”‘ fix: Require Colon in API-Key Header Detection by [@dustinhealy](https://github.com/dustinhealy) in [#16803](https://github.com/LibreChat-AI/LibreChat/pull/16803) -- โน๏ธ fix: Reconcile Stopped Generations Before Detaching the Stream by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16788](https://github.com/LibreChat-AI/LibreChat/pull/16788) +- โน๏ธ fix: Reconcile Stopped Generations Before Detaching the Stream by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16788](https://github.com/LibreChat-AI/LibreChat/pull/16788) - ๐Ÿ๏ธ fix: Apply the No-Workspace Decision Wherever an Agent's Code Route Resolves by [@danny-avila](https://github.com/danny-avila) in [#16798](https://github.com/LibreChat-AI/LibreChat/pull/16798) - ๐ŸŽฏ fix: Keep Running Chat Ring Centered at Any UI Scale by [@berry-13](https://github.com/berry-13) in [#16810](https://github.com/LibreChat-AI/LibreChat/pull/16810) - ๐ŸŽ›๏ธ fix: Smooth, Compact Code Workspace, Checkout and Approval Selectors by [@berry-13](https://github.com/berry-13) in [#16789](https://github.com/LibreChat-AI/LibreChat/pull/16789) @@ -279,10 +279,10 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - ๐Ÿงท fix: Finalize Stopped Compactions and Verify Their Anchor by [@berry-13](https://github.com/berry-13) in [#16551](https://github.com/LibreChat-AI/LibreChat/pull/16551) - ๐Ÿ“ด fix: Persist Cancelled Compactions With Their Identity by [@berry-13](https://github.com/berry-13) in [#16436](https://github.com/LibreChat-AI/LibreChat/pull/16436) - ๐Ÿช„ fix: Hide Sole Tool Row Under Its Group Header by [@berry-13](https://github.com/berry-13) in [#16750](https://github.com/LibreChat-AI/LibreChat/pull/16750) -- ๐Ÿฆ” fix: Keep System Messages Stable During Collapse by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16780](https://github.com/LibreChat-AI/LibreChat/pull/16780) +- ๐Ÿฆ” fix: Keep System Messages Stable During Collapse by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16780](https://github.com/LibreChat-AI/LibreChat/pull/16780) - ๐Ÿ๏ธ fix: Let a No-Workspace Turn Carry a Remembered Approval Mode by [@danny-avila](https://github.com/danny-avila) in [#16763](https://github.com/LibreChat-AI/LibreChat/pull/16763) - โš™๏ธ fix: Default Running Chat Rename to On by [@berry-13](https://github.com/berry-13) in [#16769](https://github.com/LibreChat-AI/LibreChat/pull/16769) -- ๐Ÿ‘ฏ fix: Separate Subagents and Handoffs Into Native Tools by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16761](https://github.com/LibreChat-AI/LibreChat/pull/16761) +- ๐Ÿ‘ฏ fix: Separate Subagents and Handoffs Into Native Tools by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16761](https://github.com/LibreChat-AI/LibreChat/pull/16761) - ๐Ÿงฌ fix: Default Subagents to Their Parent's Code Machine and Workspace by [@danny-avila](https://github.com/danny-avila) in [#16756](https://github.com/LibreChat-AI/LibreChat/pull/16756) - ๐Ÿ’ถ fix: Price Mistral Large 3 at $0.50 / $1.50 per MTok by [@Alan-Billi](https://github.com/Alan-Billi) in [#16675](https://github.com/LibreChat-AI/LibreChat/pull/16675) - ๐ŸŒ€ fix: Sync Spinner Rotation Phase Across Instances by [@berry-13](https://github.com/berry-13) in [#16738](https://github.com/LibreChat-AI/LibreChat/pull/16738) @@ -292,9 +292,9 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - ๐Ÿ—๏ธ fix: Strengthen Two-Factor Recovery Credentials by [@danny-avila](https://github.com/danny-avila) in [#16742](https://github.com/LibreChat-AI/LibreChat/pull/16742) - ๐Ÿงน fix: Let File Deletes Succeed When the Code API No Longer Serves the Ref's Profile by [@TomasPalsson](https://github.com/TomasPalsson) in [#16671](https://github.com/LibreChat-AI/LibreChat/pull/16671) - ๐Ÿ‘ป fix: Reveal Project Row Actions on Hover and Focus by [@berry-13](https://github.com/berry-13) in [#16731](https://github.com/LibreChat-AI/LibreChat/pull/16731) -- ๐Ÿ–ฒ๏ธ fix: Enable Running Chat Menus and Preserve Renamed Titles by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16697](https://github.com/LibreChat-AI/LibreChat/pull/16697) -- ๐Ÿช€ fix: Separate Workspace Admission and Transport Budgets by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16728](https://github.com/LibreChat-AI/LibreChat/pull/16728) -- ๐Ÿ“ฉ fix: Stage URL Prompts Before Agent Submission by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16647](https://github.com/LibreChat-AI/LibreChat/pull/16647) +- ๐Ÿ–ฒ๏ธ fix: Enable Running Chat Menus and Preserve Renamed Titles by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16697](https://github.com/LibreChat-AI/LibreChat/pull/16697) +- ๐Ÿช€ fix: Separate Workspace Admission and Transport Budgets by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16728](https://github.com/LibreChat-AI/LibreChat/pull/16728) +- ๐Ÿ“ฉ fix: Stage URL Prompts Before Agent Submission by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16647](https://github.com/LibreChat-AI/LibreChat/pull/16647) - fix: Align Agent Contact Email with Its Label by Lia in [97bccd2e7d](https://github.com/LibreChat-AI/LibreChat/commit/97bccd2e7db9a4c490b3d635e85724dd25e5b02c) - ๐Ÿฆฏ fix: Preserve Keyboard Access to BYOM Diagnostics by Lia in [d9ec51ba47](https://github.com/LibreChat-AI/LibreChat/commit/d9ec51ba477b4a98609966e879e2e2f0cb4fb8bf) - fix: Order Server Snapshots Against Pending Read Intent by Lia in [ac2b51e98f](https://github.com/LibreChat-AI/LibreChat/commit/ac2b51e98f479f2a01c6855a07ae7338f8f9be3a) @@ -310,31 +310,31 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - ๐Ÿงพ fix: Commit Resume Provenance With the Approval Claim by [@berry-13](https://github.com/berry-13) in [#16430](https://github.com/LibreChat-AI/LibreChat/pull/16430) - ๐Ÿ–๏ธ fix: Read Theme Roles for the Last Artifact and Agent Chip Colours by [@berry-13](https://github.com/berry-13) in [#16705](https://github.com/LibreChat-AI/LibreChat/pull/16705) - ๐Ÿงญ fix: Explain Missing Workspace Paths to the Model by [@danny-avila](https://github.com/danny-avila) in [#16700](https://github.com/LibreChat-AI/LibreChat/pull/16700) -- ๐Ÿซ– fix: Debounce Streaming Tool Code Highlights by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16695](https://github.com/LibreChat-AI/LibreChat/pull/16695) -- ๐Ÿ‹๏ธ fix: Bound Host File Edits Outside the API Event Loop by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16677](https://github.com/LibreChat-AI/LibreChat/pull/16677) +- ๐Ÿซ– fix: Debounce Streaming Tool Code Highlights by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16695](https://github.com/LibreChat-AI/LibreChat/pull/16695) +- ๐Ÿ‹๏ธ fix: Bound Host File Edits Outside the API Event Loop by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16677](https://github.com/LibreChat-AI/LibreChat/pull/16677) - ๐Ÿƒ fix: List Every Running Chat in the Sidebar's Running Group by [@danny-avila](https://github.com/danny-avila) in [#16668](https://github.com/LibreChat-AI/LibreChat/pull/16668) -- ๐Ÿ•Š๏ธ fix: Keep Attachment History From Locking Conversations by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16690](https://github.com/LibreChat-AI/LibreChat/pull/16690) +- ๐Ÿ•Š๏ธ fix: Keep Attachment History From Locking Conversations by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16690](https://github.com/LibreChat-AI/LibreChat/pull/16690) - ๐Ÿ”• fix: Log Lost Generation Predecessor Fences as Warnings by [@danny-avila](https://github.com/danny-avila) in [#16689](https://github.com/LibreChat-AI/LibreChat/pull/16689) - ๐Ÿ” fix: Authenticate Code Session Probes the Way Their Route Expects by [@danny-avila](https://github.com/danny-avila) in [#16688](https://github.com/LibreChat-AI/LibreChat/pull/16688) -- ๐Ÿ“• fix: Explain Native Web Search Permission Denials by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16691](https://github.com/LibreChat-AI/LibreChat/pull/16691) +- ๐Ÿ“• fix: Explain Native Web Search Permission Denials by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16691](https://github.com/LibreChat-AI/LibreChat/pull/16691) - ๐Ÿ’ญ fix: Show the Thoughts Floating Bar Only When Its Header Is Off Screen by [@berry-13](https://github.com/berry-13) in [#16642](https://github.com/LibreChat-AI/LibreChat/pull/16642) - ๐Ÿ—๏ธ fix: Resolve Config-Scoped Custom Providers by [@danny-avila](https://github.com/danny-avila) in [#16687](https://github.com/LibreChat-AI/LibreChat/pull/16687) -- ๐Ÿ“ผ fix: Replay Running Subagent Activity by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16541](https://github.com/LibreChat-AI/LibreChat/pull/16541) -- ๐Ÿ›– fix: Scope OAuth Binding Cookies to the Public API Path by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16649](https://github.com/LibreChat-AI/LibreChat/pull/16649) +- ๐Ÿ“ผ fix: Replay Running Subagent Activity by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16541](https://github.com/LibreChat-AI/LibreChat/pull/16541) +- ๐Ÿ›– fix: Scope OAuth Binding Cookies to the Public API Path by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16649](https://github.com/LibreChat-AI/LibreChat/pull/16649) - ๐Ÿ’ฌ fix: Keep Healthy Workspace Detach Available by [@danny-avila](https://github.com/danny-avila) in [#16670](https://github.com/LibreChat-AI/LibreChat/pull/16670) - ๐ŸชŸ fix: Read the Static Checks Workflow With CRLF Line Endings by [@danny-avila](https://github.com/danny-avila) in [#16669](https://github.com/LibreChat-AI/LibreChat/pull/16669) - ๐Ÿ“ง fix: Pass `requireTLS` So `EMAIL_ENCRYPTION=starttls` Requires STARTTLS by [@ethanlaj](https://github.com/ethanlaj) in [#16656](https://github.com/LibreChat-AI/LibreChat/pull/16656) -- ๐Ÿต fix: Preserve Workspace Decisions in Warm Chat Caches by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16648](https://github.com/LibreChat-AI/LibreChat/pull/16648) +- ๐Ÿต fix: Preserve Workspace Decisions in Warm Chat Caches by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16648](https://github.com/LibreChat-AI/LibreChat/pull/16648) - ๐Ÿฅพ fix: Advertise Stable Uploaded File Paths Before Code Execution by [@Oliver777int](https://github.com/Oliver777int) in [#16578](https://github.com/LibreChat-AI/LibreChat/pull/16578) -- ๐Ÿšท fix: Stop Reporting Rejected MCP Credentials as Authorized by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16571](https://github.com/LibreChat-AI/LibreChat/pull/16571) -- ๐Ÿซก fix: Keep Pending Steering Within the Chat Column by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16621](https://github.com/LibreChat-AI/LibreChat/pull/16621) +- ๐Ÿšท fix: Stop Reporting Rejected MCP Credentials as Authorized by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16571](https://github.com/LibreChat-AI/LibreChat/pull/16571) +- ๐Ÿซก fix: Keep Pending Steering Within the Chat Column by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16621](https://github.com/LibreChat-AI/LibreChat/pull/16621) - fix: Restore MCP OAuth Browser Binding ๐Ÿชข by [@danny-avila](https://github.com/danny-avila) in [#16634](https://github.com/LibreChat-AI/LibreChat/pull/16634) -- ๐ŸฆŽ fix: Restore Theme Contrast in Composer and Messages by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16624](https://github.com/LibreChat-AI/LibreChat/pull/16624) +- ๐ŸฆŽ fix: Restore Theme Contrast in Composer and Messages by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16624](https://github.com/LibreChat-AI/LibreChat/pull/16624) - ๐Ÿชง fix: Open the Mobile Drawer Below a Site Banner by [@berry-13](https://github.com/berry-13) in [#16611](https://github.com/LibreChat-AI/LibreChat/pull/16611) - ๐Ÿ”— fix: Hide the Viewer's Deployment Theme While a Shared Link Loads by [@berry-13](https://github.com/berry-13) in [#16608](https://github.com/LibreChat-AI/LibreChat/pull/16608) - ๐Ÿช— fix: Open the Lone Tool Call Directly and Label Settled Commands Ran by [@berry-13](https://github.com/berry-13) in [#16547](https://github.com/LibreChat-AI/LibreChat/pull/16547) -- ๐Ÿช€ fix: Stop the Textarea Jump During File Uploads by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16623](https://github.com/LibreChat-AI/LibreChat/pull/16623) -- ๐Ÿง‘โ€๐Ÿณ fix: Distinguish Tool Preparation From Execution by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16619](https://github.com/LibreChat-AI/LibreChat/pull/16619) +- ๐Ÿช€ fix: Stop the Textarea Jump During File Uploads by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16623](https://github.com/LibreChat-AI/LibreChat/pull/16623) +- ๐Ÿง‘โ€๐Ÿณ fix: Distinguish Tool Preparation From Execution by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16619](https://github.com/LibreChat-AI/LibreChat/pull/16619) - ๐ŸŒ… fix: Paint the Cached Deployment Theme on the First Frame by [@berry-13](https://github.com/berry-13) in [#16590](https://github.com/LibreChat-AI/LibreChat/pull/16590) - ๐Ÿช† fix: Resolve Theme Markers to the Nearest Themed Root by [@berry-13](https://github.com/berry-13) in [#16589](https://github.com/LibreChat-AI/LibreChat/pull/16589) - ๐ŸŽ‹ fix: Reconcile Canary Promotion Static Checks by Lia in [443d27ba32](https://github.com/LibreChat-AI/LibreChat/commit/443d27ba32a153a9411ed686fb9bfe902343e03c) @@ -369,9 +369,9 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - ๐Ÿ”‘ fix: Refresh the Stored Passkey Backup State on Each Sign-In by [@berry-13](https://github.com/berry-13) in [#16255](https://github.com/LibreChat-AI/LibreChat/pull/16255) - ๐Ÿ”‘ fix: Keep Passkey Sign-In Reachable When Email Login Is Disabled by [@berry-13](https://github.com/berry-13) in [#16254](https://github.com/LibreChat-AI/LibreChat/pull/16254) - ๐Ÿงต fix: Restore Classes tailwind-merge Was Silently Dropping by [@berry-13](https://github.com/berry-13) in [#15995](https://github.com/LibreChat-AI/LibreChat/pull/15995) -- ๐Ÿฆฏ fix: Restore BYOM Diagnostic Access and Stabilize Readiness Checks by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16723](https://github.com/LibreChat-AI/LibreChat/pull/16723) -- ๐Ÿ›ผ fix: Keep BYOM Workspace Diagnostics Out of Composer Layout by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16721](https://github.com/LibreChat-AI/LibreChat/pull/16721) -- ๐Ÿ•ด๏ธ fix: Align Agent Contact Email on the Landing Page by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16655](https://github.com/LibreChat-AI/LibreChat/pull/16655) +- ๐Ÿฆฏ fix: Restore BYOM Diagnostic Access and Stabilize Readiness Checks by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16723](https://github.com/LibreChat-AI/LibreChat/pull/16723) +- ๐Ÿ›ผ fix: Keep BYOM Workspace Diagnostics Out of Composer Layout by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16721](https://github.com/LibreChat-AI/LibreChat/pull/16721) +- ๐Ÿ•ด๏ธ fix: Align Agent Contact Email on the Landing Page by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16655](https://github.com/LibreChat-AI/LibreChat/pull/16655) ### ๐Ÿ”ง Refactoring and Performance @@ -489,10 +489,10 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - ๐Ÿ—„๏ธ perf: Cut Serial and Redundant Database Reads by [@berry-13](https://github.com/berry-13) in [#16711](https://github.com/LibreChat-AI/LibreChat/pull/16711) - ๐ŸŒŠ perf: Trim Per-Token and Per-Render Work in Streaming and Lists by [@berry-13](https://github.com/berry-13) in [#16718](https://github.com/LibreChat-AI/LibreChat/pull/16718) - ๐ŸŽš๏ธ refactor: Drop Inline Pointer Styles From Select and Menu Primitives by [@berry-13](https://github.com/berry-13) in [#16704](https://github.com/LibreChat-AI/LibreChat/pull/16704) -- ๐Ÿช‡ perf: Coalesce Ready Background Completions by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16650](https://github.com/LibreChat-AI/LibreChat/pull/16650) +- ๐Ÿช‡ perf: Coalesce Ready Background Completions by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16650](https://github.com/LibreChat-AI/LibreChat/pull/16650) - ๐Ÿงฐ style: Hover-Revealed Tool Output Copy, Full Output, and a Virtualized My Files Table by [@berry-13](https://github.com/berry-13) in [#16640](https://github.com/LibreChat-AI/LibreChat/pull/16640) - โ™ป๏ธ refactor: Native Prompts Behind a Shared Service and Adapter by [@AtefBellaaj](https://github.com/AtefBellaaj) in [#16506](https://github.com/LibreChat-AI/LibreChat/pull/16506) -- ๐Ÿ›ท perf: Reduce Browser Work When Sending Documents by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16646](https://github.com/LibreChat-AI/LibreChat/pull/16646) +- ๐Ÿ›ท perf: Reduce Browser Work When Sending Documents by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16646](https://github.com/LibreChat-AI/LibreChat/pull/16646) - ๐Ÿงฉ refactor: Serve Chat Context Through a Facade-Owned Provider by [@berry-13](https://github.com/berry-13) in [#16610](https://github.com/LibreChat-AI/LibreChat/pull/16610) - ๐Ÿงน refactor: Keep Store Imports Out of the Chat Hooks by [@berry-13](https://github.com/berry-13) in [#16620](https://github.com/LibreChat-AI/LibreChat/pull/16620) - ๐ŸŽ›๏ธ refactor: Pass the New-Chat Panel Preference Into the Sidebar by [@berry-13](https://github.com/berry-13) in [#16605](https://github.com/LibreChat-AI/LibreChat/pull/16605) @@ -524,10 +524,10 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade ### ๐Ÿงช Tests -- ๐Ÿ•› test: Control the Code API Retry Budget Clock by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17338](https://github.com/LibreChat-AI/LibreChat/pull/17338) +- ๐Ÿ•› test: Control the Code API Retry Budget Clock by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17338](https://github.com/LibreChat-AI/LibreChat/pull/17338) - ๐Ÿงช test: Keep EndpointService Spec Mocks Complete When the Real API Package Loads by [@danny-avila](https://github.com/danny-avila) in [#17324](https://github.com/LibreChat-AI/LibreChat/pull/17324) -- ๐ŸŽช test: Mount the Steer Host in the Batch Composer Fixture by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17235](https://github.com/LibreChat-AI/LibreChat/pull/17235) -- ๐Ÿ› test: Isolate Empty Panel Cards From Shared Data by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17234](https://github.com/LibreChat-AI/LibreChat/pull/17234) +- ๐ŸŽช test: Mount the Steer Host in the Batch Composer Fixture by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17235](https://github.com/LibreChat-AI/LibreChat/pull/17235) +- ๐Ÿ› test: Isolate Empty Panel Cards From Shared Data by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17234](https://github.com/LibreChat-AI/LibreChat/pull/17234) - ๐Ÿงญ test: Cover ClickHouse Control Boundaries on the Sidebar Surface by [@berry-13](https://github.com/berry-13) in [#17197](https://github.com/LibreChat-AI/LibreChat/pull/17197) - ๐ŸŽฒ test: Make the ClickHouse Pinned-Pair Check Order-Independent by [@berry-13](https://github.com/berry-13) in [#17192](https://github.com/LibreChat-AI/LibreChat/pull/17192) - ๐Ÿ—‘๏ธ test: Run useIsActiveItem Spec Under jsdom So GC Cannot Drop the Observer by [@berry-13](https://github.com/berry-13) in [#17199](https://github.com/LibreChat-AI/LibreChat/pull/17199) @@ -539,16 +539,16 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - ๐Ÿงช test: Drive useChat Through a Substitute Transport for Send, Stop, Steer and Errors by [@berry-13](https://github.com/berry-13) in [#16957](https://github.com/LibreChat-AI/LibreChat/pull/16957) - ๐Ÿงช test: Apply One Reference Theme Across Radius, Font, Shadow and Spacing by [@berry-13](https://github.com/berry-13) in [#16905](https://github.com/LibreChat-AI/LibreChat/pull/16905) - ๐Ÿงฌ test: Pin Built-In Theme Output to the Cache Epoch by [@berry-13](https://github.com/berry-13) in [#16875](https://github.com/LibreChat-AI/LibreChat/pull/16875) -- ๐Ÿ› test: Stabilize MCP App Link Clicks by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16760](https://github.com/LibreChat-AI/LibreChat/pull/16760) +- ๐Ÿ› test: Stabilize MCP App Link Clicks by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16760](https://github.com/LibreChat-AI/LibreChat/pull/16760) - ๐Ÿ”ค test: Cover Alias Frontmatter Keys in the Skill Sync Skip by [@berry-13](https://github.com/berry-13) in [#16725](https://github.com/LibreChat-AI/LibreChat/pull/16725) -- ๐Ÿฆ test: Define PII Policy and Conformance Fixtures by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16726](https://github.com/LibreChat-AI/LibreChat/pull/16726) -- ๐Ÿฅ test: Stabilize Host Edit Responsiveness Assertions by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16727](https://github.com/LibreChat-AI/LibreChat/pull/16727) +- ๐Ÿฆ test: Define PII Policy and Conformance Fixtures by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16726](https://github.com/LibreChat-AI/LibreChat/pull/16726) +- ๐Ÿฅ test: Stabilize Host Edit Responsiveness Assertions by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16727](https://github.com/LibreChat-AI/LibreChat/pull/16727) - test: Cover Queue Row Actions And The Single Send Control In Scenarios by Marco Beretta in [a588339dd7](https://github.com/LibreChat-AI/LibreChat/commit/a588339dd79305e7d693ed8b4264099e41addf32) - test: Cover Every Palette Slot in Repeatable Samples by Lia in [9dfdea13cb](https://github.com/LibreChat-AI/LibreChat/commit/9dfdea13cbffb62875b7a96231896f1357fb593c) - ๐Ÿฅพ test: Wait for Palette Completion and Stable Quote Geometry by Lia in [37df3c1146](https://github.com/LibreChat-AI/LibreChat/commit/37df3c1146a78832070ba787254f401e2053f48f) - test: Include i18n Helper in Isolated Static Fixtures by Lia in [e19d2dbea1](https://github.com/LibreChat-AI/LibreChat/commit/e19d2dbea14a9c294081810d764c9912a4018380) - ๐Ÿ“Œ test: Re-Pin Click UI Drift Guard to v0.13.0 and Probe the Checkbox by [@berry-13](https://github.com/berry-13) in [#16706](https://github.com/LibreChat-AI/LibreChat/pull/16706) -- ๐Ÿฆญ test: Add Scheduled MCP Authorization Contract Fixtures by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16645](https://github.com/LibreChat-AI/LibreChat/pull/16645) +- ๐Ÿฆญ test: Add Scheduled MCP Authorization Contract Fixtures by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16645](https://github.com/LibreChat-AI/LibreChat/pull/16645) - ๐Ÿ” test: Reload Mid-Reply Reattaches and Finishes by [@berry-13](https://github.com/berry-13) in [#16598](https://github.com/LibreChat-AI/LibreChat/pull/16598) - ๐Ÿงพ test: Complete the Click UI Not-Expressible List by [@berry-13](https://github.com/berry-13) in [#16588](https://github.com/LibreChat-AI/LibreChat/pull/16588) - โ›ด๏ธ test: Keep Executor and Timing Callback Adapters Aligned by Lia in [2e0690616f](https://github.com/LibreChat-AI/LibreChat/commit/2e0690616fab73ce268b8eb6575a1aecb8001d0d) @@ -565,15 +565,15 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - Merge remote-tracking branch 'origin/dev' into lia/rc1-release-prep by Lia in [8c2ed7be08](https://github.com/LibreChat-AI/LibreChat/commit/8c2ed7be08a43ec895053d98696e2671ff7c27f2) - ๐Ÿง‘โ€๐Ÿ”ง chore: Refresh Package Versions for v0.8.9-rc1 by Lia in [f5a869a1f7](https://github.com/LibreChat-AI/LibreChat/commit/f5a869a1f7c428f731b57d4580cbab8cb2d8bd93) - ๐Ÿ“Œ chore: Re-Pin the ClickHouse Theme to Click UI v0.15.0 by [@berry-13](https://github.com/berry-13) in [#17356](https://github.com/LibreChat-AI/LibreChat/pull/17356) -- ๐Ÿ†™ chore: Bump Agents SDK to 4.1.0 by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17345](https://github.com/LibreChat-AI/LibreChat/pull/17345) +- ๐Ÿ†™ chore: Bump Agents SDK to 4.1.0 by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17345](https://github.com/LibreChat-AI/LibreChat/pull/17345) - ๐Ÿšฟ chore: Upgrade `sanitize-html`, Hono, and MongoDB Memory Server by [@danny-avila](https://github.com/danny-avila) in [#17343](https://github.com/LibreChat-AI/LibreChat/pull/17343) - ๐Ÿ—ณ๏ธ ci: Shard the Codegraph E2E Vote Suite Across Ten Runners by [@danny-avila](https://github.com/danny-avila) in [#17339](https://github.com/LibreChat-AI/LibreChat/pull/17339) - ๐Ÿ›ผ chore: Upgrade Vite to 8.3.5 by [@danny-avila](https://github.com/danny-avila) in [#17337](https://github.com/LibreChat-AI/LibreChat/pull/17337) -- ๐Ÿฃ chore: Prepare v0.8.9-rc1 Release by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17336](https://github.com/LibreChat-AI/LibreChat/pull/17336) -- ๐Ÿ’‰ chore: Upgrade Node.js to Security Release 24.22.1 by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17332](https://github.com/LibreChat-AI/LibreChat/pull/17332) +- ๐Ÿฃ chore: Prepare v0.8.9-rc1 Release by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17336](https://github.com/LibreChat-AI/LibreChat/pull/17336) +- ๐Ÿ’‰ chore: Upgrade Node.js to Security Release 24.22.1 by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17332](https://github.com/LibreChat-AI/LibreChat/pull/17332) - ๐Ÿ—ณ๏ธ ci: Let Codegraph E2E Vote Runs Finish by [@danny-avila](https://github.com/danny-avila) in [#17325](https://github.com/LibreChat-AI/LibreChat/pull/17325) - ๐Ÿชฆ chore: Retire the DALL-E 3 Tool by [@berry-13](https://github.com/berry-13) in [#17205](https://github.com/LibreChat-AI/LibreChat/pull/17205) -- ๐ŸŒ  chore: Default OpenAI Image Tools to GPT Image Flare by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#17014](https://github.com/LibreChat-AI/LibreChat/pull/17014) +- ๐ŸŒ  chore: Default OpenAI Image Tools to GPT Image Flare by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#17014](https://github.com/LibreChat-AI/LibreChat/pull/17014) - ๐Ÿ”’ chore: Update `pbkdf2` and `to-buffer` by [@danny-avila](https://github.com/danny-avila) in [#17187](https://github.com/LibreChat-AI/LibreChat/pull/17187) - ๐Ÿ”’ chore: Resolve Open Dependabot Security Alerts by [@danny-avila](https://github.com/danny-avila) in [#17016](https://github.com/LibreChat-AI/LibreChat/pull/17016) - โฑ๏ธ ci: Balance Playwright Shards by Recorded Duration by [@danny-avila](https://github.com/danny-avila) in [#17019](https://github.com/LibreChat-AI/LibreChat/pull/17019) @@ -588,7 +588,7 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - โ™ฟ a11y: Let Dark Mode Honor Outline Utilities on Focus by [@berry-13](https://github.com/berry-13) in [#16861](https://github.com/LibreChat-AI/LibreChat/pull/16861) - ๐Ÿงฑ chore: Let Callers Own Spacing on Dialog and Panel Containers by [@berry-13](https://github.com/berry-13) in [#16836](https://github.com/LibreChat-AI/LibreChat/pull/16836) - โ™ฟ a11y: Ring Content Rows in a Themeable Focus Role by [@berry-13](https://github.com/berry-13) in [#16740](https://github.com/LibreChat-AI/LibreChat/pull/16740) -- ๐Ÿชš chore: Deprecate Agent Chain Authoring by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16745](https://github.com/LibreChat-AI/LibreChat/pull/16745) +- ๐Ÿชš chore: Deprecate Agent Chain Authoring by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16745](https://github.com/LibreChat-AI/LibreChat/pull/16745) - โ™ฟ a11y: Stop Agent API Keys Dialog Opening Its Info Card On Focus by [@berry-13](https://github.com/berry-13) in [#16735](https://github.com/LibreChat-AI/LibreChat/pull/16735) - ๐Ÿ“ docs: Describe Attached-Workspace Lanes, Sandbox Scratch, and Skill Files in Tool Descriptions by [@danny-avila](https://github.com/danny-avila) in [#16702](https://github.com/LibreChat-AI/LibreChat/pull/16702) - โ›ด๏ธ chore: Bring Canary Up to Date With Dev by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16457](https://github.com/LibreChat-AI/LibreChat/pull/16457) @@ -599,7 +599,7 @@ Upgrade guidance: https://www.librechat.ai/docs/configuration/upgrade - ๐Ÿฅผ ci: Gate MCP Apps on Executed Browser Tests by [@lia-by-librechat](https://github.com/lia-by-librechat) in [#16283](https://github.com/LibreChat-AI/LibreChat/pull/16283) - ๐ŸŽจ chore: Enforce Design-System Rules With @shadcn/lint by [@berry-13](https://github.com/berry-13) in [#15981](https://github.com/LibreChat-AI/LibreChat/pull/15981) - ๐Ÿ“ฆ ci: Remove Legacy GHCR Mirror by [@danny-avila](https://github.com/danny-avila) in [#16585](https://github.com/LibreChat-AI/LibreChat/pull/16585) -- ๐ŸŽ‹ chore: Validate Canary History on Current Dev by [@lia-by-librechat\[bot\]](https://github.com/lia-by-librechat[bot]) in [#16586](https://github.com/LibreChat-AI/LibreChat/pull/16586) +- ๐ŸŽ‹ chore: Validate Canary History on Current Dev by [@lia-by-librechat\[bot\]](https://github.com/apps/lia-by-librechat) in [#16586](https://github.com/LibreChat-AI/LibreChat/pull/16586) ## New Contributors From a21555d3fa8f93fcb7442ad1164d8ddb064f491e Mon Sep 17 00:00:00 2001 From: Lia Date: Fri, 23 Oct 2026 05:01:10 +0000 Subject: [PATCH 3/4] docs: Complete Runtime Limit References --- .../librechat_yaml/object_structure/agents.mdx | 10 ++++++++++ .../librechat_yaml/object_structure/config.mdx | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/content/docs/configuration/librechat_yaml/object_structure/agents.mdx b/content/docs/configuration/librechat_yaml/object_structure/agents.mdx index 3802cd2e3..bbef7f149 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/agents.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/agents.mdx @@ -1470,3 +1470,13 @@ Unset or blank `CODE_ENVIRONMENT_DECISION_VERSION` advertises protocol `1`; `0` Browser enrollment is separately off by default. Enable `statefulCodeSessions.principalWorkers.browserSetup.enabled`, configure its canonical public `instance` including any deployment prefix, and use an approved personal-worker control plane with compatible enrollment support. Existing principal-worker limits and authentication still apply. Opening the verification page does not enroll a machine: explicit browser approval is required. LibreChat permits linked-worktree routing unless explicitly disabled, but a compatible worker advertising `git_linked_worktree` is still required. Conversation-isolated workspace instances do not use those lanes. [Upgrade compatibility](/docs/configuration/upgrade#mixed-version-compatibility) describes the rollout boundaries. + +## Stream Keepalives + +`streamKeepaliveIntervalMs` defaults to `25000` milliseconds for quiet Agent streams. Set `0` to disable keepalives. This does not extend the model's request or generation deadline. + +## Attached-Environment Defaults + +`statefulCodeSessions.maxEnvironmentChoices` caps additional choices saved on an agent; omission uses `32`, with a wire ceiling of `128`. Only explicit saved choices are selectable. + +Each attached environment may set `configSchema.limits.defaultCommandTimeoutMs` for foreground Bash calls omitting `timeoutMs`, and `defaultReadFileLines` for `read_file` calls omitting `max_lines`. Omission retains `30000` ms and `200` lines. Both are positive integers bounded by the worker protocol; effective command ceilings and response-byte budgets may reduce the result. Upgrade every API replica before using these strict-schema fields. diff --git a/content/docs/configuration/librechat_yaml/object_structure/config.mdx b/content/docs/configuration/librechat_yaml/object_structure/config.mdx index ebe34601f..84579c4ca 100644 --- a/content/docs/configuration/librechat_yaml/object_structure/config.mdx +++ b/content/docs/configuration/librechat_yaml/object_structure/config.mdx @@ -1827,3 +1827,7 @@ Deployment-owned sandbox settings cannot be overridden by role, group, or user p | `maxActionPreviewChars` | `16384` | Keep these sandbox budgets separate from `rateLimits.mcpApps` browser-route request budgets. + +## Permission Write Leases + +On deployments without transactions, resource-sharing updates use a renewable per-resource lease. `permissions.leaseTtlMs` defaults to `30000` ms and accepts `1000`โ€“`600000`. `permissions.leaseWaitMs` defaults to `3000` ms and accepts `0`โ€“`60000`; contention past this wait returns `409`. These settings do not disable authorization checks or make unrelated admin operations transactional. From c331b74cc56ea36e5e0cfaa5f8bb22f38cb00fce Mon Sep 17 00:00:00 2001 From: Lia Date: Fri, 23 Oct 2026 05:04:20 +0000 Subject: [PATCH 4/4] test: Keep Every Locale on the Current Node Recommendation --- lib/ui-i18n.test.ts | 13 +++++++++++++ lib/ui-translations/de.ts | 2 +- lib/ui-translations/es.ts | 2 +- lib/ui-translations/fr.ts | 2 +- lib/ui-translations/id.ts | 2 +- lib/ui-translations/it.ts | 2 +- lib/ui-translations/ja.ts | 2 +- lib/ui-translations/ko.ts | 2 +- lib/ui-translations/nl.ts | 2 +- lib/ui-translations/pl.ts | 2 +- lib/ui-translations/pt-BR.ts | 2 +- lib/ui-translations/tr.ts | 2 +- lib/ui-translations/vi.ts | 2 +- lib/ui-translations/zh.ts | 2 +- 14 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 lib/ui-i18n.test.ts diff --git a/lib/ui-i18n.test.ts b/lib/ui-i18n.test.ts new file mode 100644 index 000000000..c13316a7e --- /dev/null +++ b/lib/ui-i18n.test.ts @@ -0,0 +1,13 @@ +import { describe, expect, it } from 'vitest' +import { i18n } from '@/lib/i18n' +import { getUI } from '@/lib/ui-i18n' + +describe('localized Node.js installation prerequisites', () => { + const expected = getUI('en').quickStartHub.methods.npm.prereqs[0] + + for (const locale of i18n.languages) { + it(`${locale} uses the current English runtime recommendation`, () => { + expect(getUI(locale).quickStartHub.methods.npm.prereqs[0]).toBe(expected) + }) + } +}) diff --git a/lib/ui-translations/de.ts b/lib/ui-translations/de.ts index 414504d6f..ccddc90d3 100644 --- a/lib/ui-translations/de.ts +++ b/lib/ui-translations/de.ts @@ -118,7 +118,7 @@ export const de: UIStrings = { 'npm run backend ausfรผhren', 'localhost:3080 รถffnen und registrieren', ], - prereqs: ['Node.js v24.16.0', 'MongoDB-Instanz'], + prereqs: ['Node.js v24.22.1', 'MongoDB-Instanz'], }, railway: { tag: 'Ein-Klick', diff --git a/lib/ui-translations/es.ts b/lib/ui-translations/es.ts index 63172340a..6bb252b78 100644 --- a/lib/ui-translations/es.ts +++ b/lib/ui-translations/es.ts @@ -121,7 +121,7 @@ export const es: UIStrings = { 'Ejecutar npm run backend', 'Abre localhost:3080 y regรญstrate', ], - prereqs: ['Node.js v24.16.0', 'Instancia de MongoDB'], + prereqs: ['Node.js v24.22.1', 'Instancia de MongoDB'], }, railway: { tag: 'Un clic', diff --git a/lib/ui-translations/fr.ts b/lib/ui-translations/fr.ts index 2eae4e8a1..2217f062a 100644 --- a/lib/ui-translations/fr.ts +++ b/lib/ui-translations/fr.ts @@ -122,7 +122,7 @@ export const fr: UIStrings = { 'Exรฉcuter npm run backend', 'Ouvrez localhost:3080 et inscrivez-vous', ], - prereqs: ['Node.js v24.16.0', 'Instance MongoDB'], + prereqs: ['Node.js v24.22.1', 'Instance MongoDB'], }, railway: { tag: 'En un clic', diff --git a/lib/ui-translations/id.ts b/lib/ui-translations/id.ts index 3863e978d..9df1428f4 100644 --- a/lib/ui-translations/id.ts +++ b/lib/ui-translations/id.ts @@ -118,7 +118,7 @@ export const id: UIStrings = { 'Jalankan npm run backend', 'Buka localhost:3080 dan daftar', ], - prereqs: ['Node.js v24.16.0', 'Instance MongoDB'], + prereqs: ['Node.js v24.22.1', 'Instance MongoDB'], }, railway: { tag: 'Sekali klik', diff --git a/lib/ui-translations/it.ts b/lib/ui-translations/it.ts index a8a6e75dd..1862556e8 100644 --- a/lib/ui-translations/it.ts +++ b/lib/ui-translations/it.ts @@ -118,7 +118,7 @@ export const it: UIStrings = { 'Esegui npm run backend', 'Apri localhost:3080 e registrati', ], - prereqs: ['Node.js v24.16.0', 'Istanza MongoDB'], + prereqs: ['Node.js v24.22.1', 'Istanza MongoDB'], }, railway: { tag: 'Un clic', diff --git a/lib/ui-translations/ja.ts b/lib/ui-translations/ja.ts index 3659a2edd..27b002d03 100644 --- a/lib/ui-translations/ja.ts +++ b/lib/ui-translations/ja.ts @@ -121,7 +121,7 @@ export const ja: UIStrings = { 'npm run backend ใ‚’ๅฎŸ่กŒ', 'localhost:3080 ใ‚’้–‹ใ„ใฆใ‚ขใ‚ซใ‚ฆใƒณใƒˆ็™ป้Œฒ', ], - prereqs: ['Node.js v24.16.0', 'MongoDB ใ‚คใƒณใ‚นใ‚ฟใƒณใ‚น'], + prereqs: ['Node.js v24.22.1', 'MongoDB ใ‚คใƒณใ‚นใ‚ฟใƒณใ‚น'], }, railway: { tag: 'ใƒฏใƒณใ‚ฏใƒชใƒƒใ‚ฏ', diff --git a/lib/ui-translations/ko.ts b/lib/ui-translations/ko.ts index ba6b320fb..5500f4ebb 100644 --- a/lib/ui-translations/ko.ts +++ b/lib/ui-translations/ko.ts @@ -118,7 +118,7 @@ export const ko: UIStrings = { 'npm run backend ์‹คํ–‰', 'localhost:3080์„ ์—ด๊ณ  ๊ณ„์ • ๋“ฑ๋ก', ], - prereqs: ['Node.js v24.16.0', 'MongoDB ์ธ์Šคํ„ด์Šค'], + prereqs: ['Node.js v24.22.1', 'MongoDB ์ธ์Šคํ„ด์Šค'], }, railway: { tag: '์›ํด๋ฆญ', diff --git a/lib/ui-translations/nl.ts b/lib/ui-translations/nl.ts index b9fac1da9..31ac24bc0 100644 --- a/lib/ui-translations/nl.ts +++ b/lib/ui-translations/nl.ts @@ -117,7 +117,7 @@ export const nl: UIStrings = { 'Voer npm run backend uit', 'Open localhost:3080 en registreer', ], - prereqs: ['Node.js v24.16.0', 'MongoDB-instantie'], + prereqs: ['Node.js v24.22.1', 'MongoDB-instantie'], }, railway: { tag: 'Eรฉn klik', diff --git a/lib/ui-translations/pl.ts b/lib/ui-translations/pl.ts index 60d166771..7aa84979c 100644 --- a/lib/ui-translations/pl.ts +++ b/lib/ui-translations/pl.ts @@ -118,7 +118,7 @@ export const pl: UIStrings = { 'Uruchom npm run backend', 'Otwรณrz localhost:3080 i zarejestruj siฤ™', ], - prereqs: ['Node.js v24.16.0', 'Instancja MongoDB'], + prereqs: ['Node.js v24.22.1', 'Instancja MongoDB'], }, railway: { tag: 'Jedno klikniฤ™cie', diff --git a/lib/ui-translations/pt-BR.ts b/lib/ui-translations/pt-BR.ts index 059febab0..d326d474b 100644 --- a/lib/ui-translations/pt-BR.ts +++ b/lib/ui-translations/pt-BR.ts @@ -118,7 +118,7 @@ export const ptBR: UIStrings = { 'Execute npm run backend', 'Abra localhost:3080 e cadastre-se', ], - prereqs: ['Node.js v24.16.0', 'Instรขncia MongoDB'], + prereqs: ['Node.js v24.22.1', 'Instรขncia MongoDB'], }, railway: { tag: 'Um clique', diff --git a/lib/ui-translations/tr.ts b/lib/ui-translations/tr.ts index f38edb7d2..6d118c638 100644 --- a/lib/ui-translations/tr.ts +++ b/lib/ui-translations/tr.ts @@ -116,7 +116,7 @@ export const tr: UIStrings = { 'npm run backend รงalฤฑลŸtฤฑr', 'localhost:3080 adresini aรงฤฑn ve kaydolun', ], - prereqs: ['Node.js v24.16.0', 'MongoDB รถrneฤŸi'], + prereqs: ['Node.js v24.22.1', 'MongoDB รถrneฤŸi'], }, railway: { tag: 'Tek tฤฑk', diff --git a/lib/ui-translations/vi.ts b/lib/ui-translations/vi.ts index 50663b456..13d762717 100644 --- a/lib/ui-translations/vi.ts +++ b/lib/ui-translations/vi.ts @@ -117,7 +117,7 @@ export const vi: UIStrings = { 'Chแบกy npm run backend', 'MแปŸ localhost:3080 vร  ฤ‘ฤƒng kรฝ', ], - prereqs: ['Node.js v24.16.0', 'Phiรชn bแบฃn MongoDB'], + prereqs: ['Node.js v24.22.1', 'Phiรชn bแบฃn MongoDB'], }, railway: { tag: 'Mแป™t cรบ nhแบฅp', diff --git a/lib/ui-translations/zh.ts b/lib/ui-translations/zh.ts index c29956422..112deea47 100644 --- a/lib/ui-translations/zh.ts +++ b/lib/ui-translations/zh.ts @@ -114,7 +114,7 @@ export const zh: UIStrings = { '่ฟ่กŒ npm run backend', 'ๆ‰“ๅผ€ localhost:3080 ๅนถๆณจๅ†Œ', ], - prereqs: ['Node.js v24.16.0', 'MongoDB ๅฎžไพ‹'], + prereqs: ['Node.js v24.22.1', 'MongoDB ๅฎžไพ‹'], }, railway: { tag: 'ไธ€้”ฎ้ƒจ็ฝฒ',