Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/livekit-server-sdk/package.json
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.

@devin-ai-integration devin-ai-integration Bot Jun 11, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 No changeset accompanies this runtime dependency bump

This PR bumps a published runtime dependency of livekit-server-sdk (and effectively raises the minimum Node/module-system requirements for consumers) but adds no entry under .changeset/, so the change won't be released or documented in the package CHANGELOG. Repo release flow is changesets-based (ci:publishchangeset publish); consider adding a changeset (likely minor/major given the ESM-only implications).

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Package still claims support for Node 18 although the new dependency requires a newer Node

The declared minimum supported runtime was left at Node 18 ("node": ">=18" at packages/livekit-server-sdk/package.json:65) even though the newly required token-signing library dropped support for Node 18, so installs on Node 18 look supported but can fail at runtime.
Impact: Users on Node 18 get no install-time warning and instead hit runtime failures when creating or verifying tokens.

Mechanism: engines range vs. jose v6 support matrix

jose v6's breaking changes include "drop support for Node.js 18.x and earlier"; its own engines requires Node 20+. Since jose is a runtime dependency of livekit-server-sdk (packages/livekit-server-sdk/package.json:49) and is used directly in packages/livekit-server-sdk/src/AccessToken.ts:202-234, the SDK's engines.node should be raised to match (>=20).

(Refers to line 65)

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
"dependencies": {
"@bufbuild/protobuf": "^1.10.1",
"@livekit/protocol": "^1.48.0",
"jose": "^5.1.2"
"jose": "^6.0.0"

@devin-ai-integration devin-ai-integration Bot Feb 12, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 CommonJS users of the server SDK can no longer load it on most Node versions

The token-signing library was upgraded to a version published only as modern ES modules ("jose": "^6.0.0" at packages/livekit-server-sdk/package.json:49) while this package still ships a CommonJS build that loads it with require, so applications that use require fail to start.
Impact: Anyone consuming the SDK from a CommonJS app on a Node.js release without require-of-ESM support gets a hard load error instead of a working SDK.

Mechanism: externalized ESM-only dependency inside the emitted .cjs bundle

The build is configured with bundle: false (tsup.config.ts:9) and emits both cjs and esm formats, so dist/index.cjs contains a literal require('jose'). jose v6 removed its CommonJS build (release notes: "CJS-style require is now only possible when require(esm) support is present in the Node.js runtime"), so require('jose') throws ERR_REQUIRE_ESM on Node.js versions lacking require(esm) (i.e. < 20.19 / < 22.12). The package's exports map still advertises a require condition (packages/livekit-server-sdk/package.json:22-25), so this path is officially supported and now broken.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread
devin-ai-integration[bot] marked this conversation as resolved.
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.
},
"devDependencies": {
"@changesets/cli": "^2.27.1",
Expand Down
10 changes: 5 additions & 5 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading