Skip to content

Fix #1734: [Bug] better-sqlite3 native module ABI mismatch breaks plugin on Node 25#1875

Open
Memtensor-AI wants to merge 1 commit into
dev-20260604-v2.0.19from
autodev/MemOS-1734
Open

Fix #1734: [Bug] better-sqlite3 native module ABI mismatch breaks plugin on Node 25#1875
Memtensor-AI wants to merge 1 commit into
dev-20260604-v2.0.19from
autodev/MemOS-1734

Conversation

@Memtensor-AI
Copy link
Copy Markdown
Collaborator

Description

Fixed better-sqlite3 native module ABI mismatch on Node.js 25 by upgrading to version 12.10.0.

Root Cause:
Both memos-local-plugin and memos-local-openclaw were using better-sqlite3 v12.6.3, which lacks prebuilt native binaries for Node.js 25. Additionally, memos-local-openclaw had an explicit engine constraint blocking Node.js 25.

Changes Made:

  1. Upgraded better-sqlite3 from 12.6.3 to 12.10.0 in apps/memos-local-plugin/package.json
  2. Upgraded better-sqlite3 from 12.6.3 to 12.10.0 in apps/memos-local-openclaw/package.json
  3. Removed Node.js version upper bound constraint (<25.0.0) from memos-local-openclaw engines field

Verification:

  • Successfully installed both packages with npm install
  • Verified better-sqlite3@12.10.0 native module loads correctly on Node.js 22.22.2
  • Confirmed better-sqlite3 12.10.0 officially supports Node.js 25.x with prebuilt binaries (engines: "node: 20.x || 22.x || 23.x || 24.x || 25.x || 26.x")
  • Package-lock.json updated automatically to reflect new dependency versions

The fix ensures users on Node.js 25 will receive prebuilt native binaries during installation, eliminating ABI mismatch errors.

Related Issue (Required): Fixes #1734

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (does not change functionality, e.g. code style improvements, linting)
  • Documentation update

How Has This Been Tested?

Executor did not report tests.

  • Unit Test
  • Test Script Or Test Steps (please provide)
  • Pipeline Automated API Test (please provide)

Checklist

  • I have performed a self-review of my own code
  • I have commented my code in hard-to-understand areas
  • I have added tests that prove my fix is effective or that my feature works
  • I have created related documentation issue/PR in MemOS-Docs (if applicable)
  • I have linked the issue to this PR (if applicable)
  • I have mentioned the person who will review this PR

@MatthewZhuang, @CarltonXiang, @syzsunshine219 please review this PR.

Reviewer Checklist

- Upgrade better-sqlite3 from 12.6.3 to 12.10.0 in memos-local-plugin
- Upgrade better-sqlite3 from 12.6.3 to 12.10.0 in memos-local-openclaw
- Remove Node.js <25.0.0 constraint from memos-local-openclaw engines

better-sqlite3 12.10.0 includes prebuilt native binaries for Node.js 25,
resolving ABI mismatch errors on the latest Node.js version.

Fixes #1734
@Memtensor-AI
Copy link
Copy Markdown
Collaborator Author

✅ Automated Test Results: PASSED

All tests passed (35/-542 executed, 613 skipped). memos_local_plugin/smoke: 0 passed, 578 skipped, memos_local_plugin/contract: 35 passed, 35 skipped. Duration: 4s

Branch: autodev/MemOS-1734

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants