Skip to content

Release v3.0.0

Latest

Choose a tag to compare

@LingJueYa LingJueYa released this 20 Apr 04:19
· 2 commits to main since this release
b0fcb8a

⚠️ Breaking change — macOS version requirement

v3 requires macOS 26 (Tahoe) or newer. macOS 15 and below are no longer supported.

The chat.db schema changed in macOS 26 — new columns, revised chat_message_join timing, updated attributedBody layout. v3 targets the macOS 26 schema exclusively; there is no fallback path for older systems.

Users on macOS 15 or below should stay on the 2.x line:

npm install @photon-ai/imessage-kit@^2

Highlights

  • Layered architecture — clean separation of domain / application / infra / utils / types, enforced by architecture-boundary tests
  • Error cause chain — every IMessageError preserves .cause through the full stack for root-cause debugging
  • WAL-based watcher — real-time message observation with directory-watch fallback on WAL rotation
  • Plugin dispatch modesinterrupting (gates), sequential (lifecycle), parallel (observers); mode is picked by hook semantics, not convenience
  • Dual runtimebun:sqlite on Bun, better-sqlite3 on Node.js ≥ 20
  • ChatId value object — single source of truth for parsing, normalization, and matching across macOS 26+, legacy, and DM address formats

Install

npm install @photon-ai/imessage-kit

Full changelog: v2.1.2...v3.0.0