Skip to content

Releases: photon-hq/imessage-kit

Release v2.1.2

22 Jan 11:56

Choose a tag to compare

Changes since v2.1.1

  • 2.1.2 (63fe172)
  • Merge pull request #37 from photon-hq/fix/remove-os-restriction-for-ci (1ba113e)
  • fix 🐛: remove os restriction to allow installation on non-macOS for type checking (691bd4a)
  • Merge pull request #36 from photon-hq/release/v2.1.1 (28c9dda)
    Build Info:
  • Version: v2.1.2
  • Build Date: 2026-01-22 11:55:48 UTC
  • Git Hash: 63fe172

Release v2.1.1

13 Jan 03:49

Choose a tag to compare

Changes since v2.1.0

  • 2.1.1 (2c8590e)
  • Merge pull request #35 from xoba/main (f9ef56e)
  • docs: add detailed docstring for buildTempFilenameTemplate (7a592b4)
  • style: format chain methods per biome rules (15fb60d)
  • test: update expectations for sanitized temp filename template (c5f809d)
  • Preserve attachment extension in temp files (fixes #34) (ae53efc)
  • Merge pull request #32 from photon-hq/fix/eng-461-symlink-toctou-security (be47805)
  • refactor(security) ♻️: enhance mktemp entropy and simplify file type checks (3a3f209)
  • fix(security) 🐛: prevent symlink/TOCTOU attacks on temp files (4b5b876)
  • Merge pull request #30 from photon-hq/release/v2.1.0 (77e218e)
    Build Info:
  • Version: v2.1.1
  • Build Date: 2026-01-13 03:48:53 UTC
  • Git Hash: 2c8590e

Release v2.1.0

18 Dec 10:13

Choose a tag to compare

Changes since v2.0.2

  • 2.1.0 (9bd1e28)
  • Merge pull request #29 from photon-hq/feat/eng-433-reaction-detection (6715e84)
  • refactor ♻️: improve mapReactionType validation and add tests (dee3601)
  • feat ✨: add tapback reaction detection support (41a34d0)
  • Merge pull request #28 from photon-hq/feat/eng-441-github-templates-and-workflows (881c228)
  • feat ✨: add close information (91e9b09)
  • feat ✨: add GitHub issue templates and security workflows (4e04b27)
  • Merge pull request #25 from photon-hq/release/v2.0.2 (f0b99c4)
    Build Info:
  • Version: v2.1.0
  • Build Date: 2025-12-18 10:13:09 UTC
  • Git Hash: 9bd1e28

Release v2.0.2

15 Dec 02:27

Choose a tag to compare

Changes since v2.0.1

  • 2.0.2 (a911bf3)
  • Merge pull request #24 from photon-hq/fix/eng-423-apple-shell-injection (b47c689)
  • fix 🐛: lint in security injection tests (a995d19)
  • fix 🐛: AppleScript and shell injection vulnerabilities (c00a98f)
  • Merge pull request #22 from photon-hq/fix/truncated-imessage-text (c7ecd0c)
  • chore 🔥: sync package-lock for better-sqlite3 12.5.0 (b33724a)
  • fix 🐛:truncated iMessage history text by preferring attributedBody (fcaf84a)
  • Merge pull request #21 from photon-hq/docs/readme-context7 (11584ce)
  • feat ✨: add context7 docs link (66cd01d)
  • 📝 docs: add Context7 MCP usage (e199425)
  • Merge pull request #20 from photon-hq/docs/readme-llms-guide (7718712)
  • docs 📝: refresh README and add llms.txt for LLMs (536680f)
  • Merge pull request #19 from photon-hq/feature/message-scheduler-hardening (3fbd1d9)
  • fix 🐛:demo lint (af87417)
  • chore 🔥: polish reminders helpers and scheduler examples (b2a1ff0)
  • fix 🐛: prevent lost scheduled messages and reminders leaks (3958a10)
  • Merge pull request #18 from photon-hq/fix/attributed-body-node-typedstream (99b49b9)
  • fix 🐛: update package-lock.json with node-typedstream (2534192)
  • feat ✨:update test (55ec1e0)
  • fix 🐛: decode attributedBody via node-typedstream (f2396de)
  • Completed message scheduler impl. (c1de570)
  • Merge pull request #15 from photon-hq/release/v2.0.1 (c7650d3)
    Build Info:
  • Version: v2.0.2
  • Build Date: 2025-12-15 02:26:47 UTC
  • Git Hash: a911bf3

Release v2.0.1

28 Nov 11:19

Choose a tag to compare

Changes since v2.0.0

  • 2.0.1 (0130977)
  • Merge pull request #14 from photon-hq/fix/smart-quotes-short-messages (2f42619)
  • fix 🐛:update regular expressions to be stricter (5e72ff3)
  • fix 🐛: attributedBody text extraction for smart quotes and short messages (2644d06)
  • Merge pull request #12 from photon-hq/copilot/change-sspl-to-mit-license (e52456a)
  • Minimize package-lock.json changes to only security-related updates (3ba07b9)
  • Fix security audit issue by adding glob override (ab59c4f)
  • Change license from SSPL to MIT (1a54281)
  • Initial plan for license change from SSPL to MIT (0bd5b3b)
  • Initial plan (558b7ec)
  • Merge pull request #11 from photon-hq/danieltyx-patch-2 (b8a9a9e)
  • Fix contact email in README for advanced features (333efd1)
  • Merge pull request #10 from photon-hq/release/v2.0.0 (312201e)
    Build Info:
  • Version: v2.0.1
  • Build Date: 2025-11-28 11:18:48 UTC
  • Git Hash: 0130977

Release v2.0.0

11 Nov 05:33

Choose a tag to compare

Changes since v1.1.3

  • 2.0.0 (8b2489b)
  • Merge pull request #9 from photon-hq/feat/intuitive-api-design (d752c14)
  • fix : improve type safety and add configurable options (ce95888)
  • feat: implement reliable message sending with database confirmation (5116f7b)
  • feat: add message search and attachment helpers (fbf730e)
  • feat: enhance listChats with filtering and sorting options (26ce4bb)
  • perf: optimize getUnreadMessages to avoid redundant total calculation (4c5bb3b)
  • refactor: improve watcher callback naming for clarity (3959f96)
  • refactor: simplify sender logic and improve error handling (be9998f)
  • Merge pull request #6 from photon-hq/copilot/fix-readme-syntax-issue (c9afc94)
  • Merge remote-tracking branch 'origin/main' into copilot/fix-readme-syntax-issue (feb2db9)
  • Merge pull request #8 from photon-hq/underthestars-zhy-patch-1 (717317e)
  • Import promisify for async execution of commands (6443e3d)
  • Fix README markdown syntax errors (1c96e6f)
  • Initial plan (5d38ad9)
  • Merge pull request #4 from photon-hq/fix/group-chat-response-behavior (ed0821f)
  • Merge branch 'main' into fix/group-chat-response-behavior (81497ba)
  • Merge pull request #5 from photon-hq/fix/attributed-body-text-null (f7df561)
  • test : add attributedBody column to mock database (7ae855b)
  • fix 🐛: extract text from attributedBody when text field is null (0db63fd)
  • fix 🐛: improve group chatId validation for AppleScript format (07199a8)
  • fix 🐛: group chat response routing; codify chatId rules (5a32a88)
  • chore(release) 🔥: upload single npm tarball via npm pack (343f6aa)
    Build Info:
  • Version: v2.0.0
  • Build Date: 2025-11-11 05:33:08 UTC
  • Git Hash: 8b2489b

Release v1.1.3

05 Nov 11:18

Choose a tag to compare

Changes since v1.1.2

  • 1.1.3 (c689508)
  • docs(readme) 📝: add Discord community badge (153ff31)
  • Revise README for advanced features and contact info (58f15ac)
    Build Info:
  • Version: v1.1.3
  • Build Date: 2025-11-05 11:18:15 UTC
  • Git Hash: c689508

Release v1.1.2

03 Nov 07:17

Choose a tag to compare

Changes since v1.1.1

  • 1.1.2 (575b09e)
  • fix(package) 🐛: correct repository URL in package.json (0028bec)
    Build Info:
  • Version: v1.1.2
  • Build Date: 2025-11-03 07:17:05 UTC
  • Git Hash: 575b09e

File Sending Support - Send PDFs, Contacts, and Any File Type

30 Oct 07:28

Choose a tag to compare

🎉 What's New

Added comprehensive file sending capabilities to send any file type through iMessage, including PDFs, contact cards, spreadsheets, and more.

✨ New Features

  • File Sending API: Send any file type with files parameter
  • Convenience Methods: sendFile() and sendFiles() for quick file sharing
  • Mix Files & Images: Combine images and files in a single message
  • Universal Support: PDF, VCF, CSV, DOC, ZIP, and all macOS Messages-supported formats

📝 Examples

// Send files
await sdk.send('+1234567890', { 
  files: ['document.pdf', 'contact.vcf', 'data.csv'] 
})

// Convenience methods
await sdk.sendFile('+1234567890', '/path/to/file.pdf', 'Here is the document')
await sdk.sendFiles('+1234567890', ['/file1.pdf', '/file2.csv'])

// Mix images and files
await sdk.send('+1234567890', {
  text: 'Project files',
  images: ['screenshot.png'],
  files: ['report.pdf']
})

Full Changelog: v1.0.7...v1.1.0

v1.0.7 - Type System Refactor: Introduce IMessage Namespace

28 Oct 00:57

Choose a tag to compare

Refactored type system to use IMessage namespace for better organization and IDE support.
All types (Config, Message, Attachment, etc.) are now accessed via IMessage.* instead of direct exports.
Updated documentation and optimized banner image.