Releases: TechNickAI/machina
v1.6.1
Documentation Update
Changes
- Runtime: Updated all docs from Bun to Node.js/tsx (aligns with code change in v1.6.0)
- WhatsApp: Status updated from "Planned" to "Ready" - fully integrated with Baileys library
- Architecture: Simplified diagrams to reflect current implementation (built-in AppleScript, no external components)
- MCP Config: Added
transportwrapper withtype: "streamable-http"for proper MCP SDK compatibility - Tailscale Serve: Standardized on HTTPS via Tailscale serve (port 443, no explicit port in URLs)
- Auto-detection:
/machinacommand now detects and configures Tailscale serve automatically
Files Updated
- README.md
- .claude/commands/machina.md
- knowledge/setup/* (prerequisites, core-install, tailscale, launchd, verification)
- knowledge/product/* (architecture, vision)
- knowledge/maintenance/troubleshooting.md
v1.6.0 - Node.js/tsx for database support
What's Changed
Breaking Change: Gateway now requires Node.js 22+ with tsx instead of Bun.
Why?
Bun doesn't support native Node.js addons like better-sqlite3. This was blocking 10 out of 24 operations (42% of functionality):
- All Messages database operations (read history, search, conversations)
- All WhatsApp database operations (chats, messages, search, contacts)
Migration
If you have an existing installation:
- Install tsx:
npm install -g tsx - Update your gateway plist to use tsx instead of bun (see docs)
- Grant Full Disk Access to Node.js for Messages database access
New Features
- Interactive FDA setup: Commands now open System Settings and copy the node path to clipboard
- Comprehensive verification:
/machina-verifytests all 8 core capabilities - Better troubleshooting: Clear guidance for FDA and better-sqlite3 issues
Full Changelog
- Switch from Bun to Node.js/tsx runtime
- Update package.json scripts and engines
- Add tsx as devDependency
- Enhanced setup documentation with interactive flows
- Expanded verification tests
- New troubleshooting sections
v1.5.1 - Security & Stability Fixes
Security & Stability Fixes
Addresses issues identified by Cursor Bugbot code review.
Security
- WhatsApp service now localhost-only - Binds to
127.0.0.1instead of0.0.0.0- Prevents unauthorized network access to
/api/sendendpoint - Gateway handles external access with proper bearer token authentication
- Prevents unauthorized network access to
Bug Fixes
-
Fixed backslash escaping in LIKE queries -
escapeSQLnow properly escapes backslashes for SQLite LIKE patterns withESCAPE '\' -
Fixed database connection leaks - Both
queryMessagesDBandqueryWhatsAppDBnow usetry-finallywith conditional close to prevent file descriptor leaks on query errors -
Preserved error message wrapping - Database constructor errors now properly wrapped in user-friendly messages while still preventing connection leaks
Code Quality
All changes validated by Claude Code Review and Cursor Bugbot with no remaining issues.
v1.5.0 - WhatsApp Integration
WhatsApp Integration 🎉
Full WhatsApp support via the Baileys library (WhatsApp Web protocol).
New Features
7 WhatsApp Operations:
whatsapp_status- Check connection statuswhatsapp_send- Send messageswhatsapp_chats- List conversationswhatsapp_messages- Read chat messageswhatsapp_search- Search message contentwhatsapp_contacts- Find contactswhatsapp_raw_sql- Custom read queries
Architecture:
- HTTP service wrapper (
services/whatsapp/server.ts) runs on port 9901 - Messages synced to SQLite for fast reads
- Sends via HTTP to maintain live WebSocket connection
- LaunchD service for auto-start
Security Improvements
- Replaced shell-based sqlite3 with
better-sqlite3library - All databases opened in read-only mode
- Comprehensive SQL blocklist (INSERT, UPDATE, DELETE, DROP, ALTER, CREATE, ATTACH, DETACH, PRAGMA, LOAD_EXTENSION, REPLACE)
- Semicolon blocking prevents statement chaining
- SQL comment blocking
Documentation
- Complete setup instructions in
.claude/commands/machina.md - Architecture diagrams in
knowledge/setup/components/whatsapp.md - Forked to
TechNickAI/whatsapp-mcp-tsfor maintenance
Port Standardization
- Gateway: 9900 (was 8080)
- WhatsApp service: 9901
v1.4.1 - Verify Tests MCP API
Fixed
/machina-verifynow tests the actual MCP API, not just local AppleScript- Verifies the full stack: gateway, auth token, MCP protocol, and each capability
- Tests the exact flow that cloud AI agents will use
v1.4.0 - Version Sync & Command Fixes
Fixed
- Slash commands now in correct location (
.claude/commands/) - Health endpoint version synced with releases
- Documentation now version-agnostic (won't go stale)
Changed
/machinaand/machina-verifycommands work correctly
v1.3.1 - Fix Slash Commands
Fixed
- Moved slash commands from
.claude/skills/to.claude/commands/ - Skills require directories with
SKILL.md; commands are single.mdfiles - Added proper YAML frontmatter with description field
/machina and /machina-verify now work correctly.
v1.3.0 - Smart Setup Skill
What's New
/machinaskill - Single smart command for setup and update- Detects installation state via config file and LaunchD plist
- Runs setup for fresh installs, update for existing installs
- Health check used only to determine if restart needed
- Updated README - Now points to
/machinacommand
Changes
- Add
/machinaskill for smart setup/update (#9) - Fix detection logic to check installation artifacts instead of health check alone
v1.2.0 - Verification Skill
What's New
/machina-verify Skill
New Claude Code skill for testing all Machina capabilities after setup or update.
Usage: /machina-verify or "verify machina"
Tests:
- Gateway health endpoint
- Reminders (create → verify → delete)
- Notes (create → verify → delete)
- Messages (read access)
- Contacts (count access)
Setup Flow Improvement
Claude now offers to run verification after completing setup or update:
"Setup complete! Would you like me to run a quick verification to test all capabilities?"
Full Changelog
v1.1.1 - Robustness Fixes
What's Fixed
Security
- Validate commit hashes before shell interpolation to prevent injection
Reliability
- Concurrency guard - Prevents simultaneous system_update calls from racing
- Dirty check - Graceful failure if uncommitted local changes exist
- Timeouts - Server close (10s) and spawn (5s) now have deadlines
- Spawn error handling - Exit on failure to let LaunchD restart correctly
- bun install - Continues with warning on failure instead of crashing
Resilience
- system_status - Network failure during git fetch doesn't break status query
- Error wrapping - Meaningful error messages throughout
- Status reporting - Now includes
updateInProgressstate