v0.8.1 (#10882)

* v0.8.1

* fix: GitHub workflows for OIDC trusted publishing

- Added permissions for OIDC trusted publishing in client, data-provider, and data-schemas workflows.
- Updated npm installation to support OIDC in all workflows.
- Changed npm publish commands to include `--provenance` for better package integrity.
- Updated repository URLs in package.json files for client, data-provider, and data-schemas to remove `git+` prefix.
This commit is contained in:
Danny Avila 2025-12-10 09:06:01 -05:00 committed by GitHub
parent e7bb987441
commit 6fe44ff116
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 50 additions and 27 deletions

View file

@ -13,9 +13,14 @@ on:
required: false required: false
default: 'Manual publish requested' default: 'Manual publish requested'
permissions:
id-token: write # Required for OIDC trusted publishing
contents: read
jobs: jobs:
build-and-publish: build-and-publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment: publish # Must match npm trusted publisher config
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -23,6 +28,10 @@ jobs:
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20.x' node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
- name: Update npm for OIDC support
run: npm install -g npm@latest # Must be 11.5.1+ for provenance
- name: Install client dependencies - name: Install client dependencies
run: cd packages/client && npm ci run: cd packages/client && npm ci
@ -30,9 +39,6 @@ jobs:
- name: Build client - name: Build client
run: cd packages/client && npm run build run: cd packages/client && npm run build
- name: Set up npm authentication
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.PUBLISH_NPM_TOKEN }}" > ~/.npmrc
- name: Check version change - name: Check version change
id: check id: check
working-directory: packages/client working-directory: packages/client
@ -55,4 +61,4 @@ jobs:
- name: Publish - name: Publish
if: steps.check.outputs.skip != 'true' if: steps.check.outputs.skip != 'true'
working-directory: packages/client working-directory: packages/client
run: npm publish *.tgz --access public run: npm publish *.tgz --access public --provenance

View file

@ -13,6 +13,10 @@ on:
required: false required: false
default: 'Manual publish requested' default: 'Manual publish requested'
permissions:
id-token: write # Required for OIDC trusted publishing
contents: read
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -27,14 +31,17 @@ jobs:
publish-npm: publish-npm:
needs: build needs: build
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment: publish # Must match npm trusted publisher config
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: 20 node-version: 20
registry-url: 'https://registry.npmjs.org' registry-url: 'https://registry.npmjs.org'
- name: Update npm for OIDC support
run: npm install -g npm@latest # Must be 11.5.1+ for provenance
- run: cd packages/data-provider && npm ci - run: cd packages/data-provider && npm ci
- run: cd packages/data-provider && npm run build - run: cd packages/data-provider && npm run build
- run: cd packages/data-provider && npm publish - run: cd packages/data-provider && npm publish --provenance
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}

View file

@ -13,9 +13,14 @@ on:
required: false required: false
default: 'Manual publish requested' default: 'Manual publish requested'
permissions:
id-token: write # Required for OIDC trusted publishing
contents: read
jobs: jobs:
build-and-publish: build-and-publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment: publish # Must match npm trusted publisher config
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -23,6 +28,10 @@ jobs:
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20.x' node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
- name: Update npm for OIDC support
run: npm install -g npm@latest # Must be 11.5.1+ for provenance
- name: Install dependencies - name: Install dependencies
run: cd packages/data-schemas && npm ci run: cd packages/data-schemas && npm ci
@ -30,9 +39,6 @@ jobs:
- name: Build - name: Build
run: cd packages/data-schemas && npm run build run: cd packages/data-schemas && npm run build
- name: Set up npm authentication
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.PUBLISH_NPM_TOKEN }}" > ~/.npmrc
- name: Check version change - name: Check version change
id: check id: check
working-directory: packages/data-schemas working-directory: packages/data-schemas
@ -55,4 +61,4 @@ jobs:
- name: Publish - name: Publish
if: steps.check.outputs.skip != 'true' if: steps.check.outputs.skip != 'true'
working-directory: packages/data-schemas working-directory: packages/data-schemas
run: npm publish *.tgz --access public run: npm publish *.tgz --access public --provenance

View file

@ -1,4 +1,4 @@
# v0.8.1-rc2 # v0.8.1
# Base node image # Base node image
FROM node:20-alpine AS node FROM node:20-alpine AS node

View file

@ -1,5 +1,5 @@
# Dockerfile.multi # Dockerfile.multi
# v0.8.1-rc2 # v0.8.1
# Base for all builds # Base for all builds
FROM node:20-alpine AS base-min FROM node:20-alpine AS base-min

View file

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

View file

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

View file

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

View file

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

View file

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

8
package-lock.json generated
View file

@ -1,12 +1,12 @@
{ {
"name": "LibreChat", "name": "LibreChat",
"version": "v0.8.1-rc2", "version": "v0.8.1",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "LibreChat", "name": "LibreChat",
"version": "v0.8.1-rc2", "version": "v0.8.1",
"license": "ISC", "license": "ISC",
"workspaces": [ "workspaces": [
"api", "api",
@ -45,7 +45,7 @@
}, },
"api": { "api": {
"name": "@librechat/backend", "name": "@librechat/backend",
"version": "v0.8.1-rc2", "version": "v0.8.1",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@anthropic-ai/sdk": "^0.52.0", "@anthropic-ai/sdk": "^0.52.0",
@ -446,7 +446,7 @@
}, },
"client": { "client": {
"name": "@librechat/frontend", "name": "@librechat/frontend",
"version": "v0.8.1-rc2", "version": "v0.8.1",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@ariakit/react": "^0.4.15", "@ariakit/react": "^0.4.15",

View file

@ -1,6 +1,6 @@
{ {
"name": "LibreChat", "name": "LibreChat",
"version": "v0.8.1-rc2", "version": "v0.8.1",
"description": "", "description": "",
"workspaces": [ "workspaces": [
"api", "api",

View file

@ -2,6 +2,10 @@
"name": "@librechat/client", "name": "@librechat/client",
"version": "0.4.0", "version": "0.4.0",
"description": "React components for LibreChat", "description": "React components for LibreChat",
"repository": {
"type": "git",
"url": "https://github.com/danny-avila/LibreChat"
},
"main": "dist/index.js", "main": "dist/index.js",
"module": "dist/index.es.js", "module": "dist/index.es.js",
"types": "dist/types/index.d.ts", "types": "dist/types/index.d.ts",

View file

@ -30,7 +30,7 @@
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/danny-avila/LibreChat.git" "url": "https://github.com/danny-avila/LibreChat"
}, },
"author": "", "author": "",
"license": "ISC", "license": "ISC",

View file

@ -1586,7 +1586,7 @@ export enum TTSProviders {
/** Enum for app-wide constants */ /** Enum for app-wide constants */
export enum Constants { export enum Constants {
/** Key for the app's version. */ /** Key for the app's version. */
VERSION = 'v0.8.1-rc2', VERSION = 'v0.8.1',
/** Key for the Custom Config's version (librechat.yaml). */ /** Key for the Custom Config's version (librechat.yaml). */
CONFIG_VERSION = '1.3.1', CONFIG_VERSION = '1.3.1',
/** Standard value for the first message's `parentMessageId` value, to indicate no parent exists. */ /** Standard value for the first message's `parentMessageId` value, to indicate no parent exists. */

View file

@ -28,7 +28,7 @@
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/danny-avila/LibreChat.git" "url": "https://github.com/danny-avila/LibreChat"
}, },
"author": "", "author": "",
"license": "MIT", "license": "MIT",