Repository navigation
Releases: mbmccormick/things-mcpb
Release list
v1.5.2 - Package Size Optimization
Package Size Optimization
Changed
- MAJOR IMPROVEMENT: Reduced package size from 12MB to 4.2MB (65% reduction)
- Optimized package script to exclude devDependencies (esbuild, @esbuild, @anthropic-ai/mcpb) from bundle
- Faster installation and reduced disk space usage
This optimization significantly reduces download time and disk space requirements while maintaining all functionality from v1.5.1. The extension now matches the package size of other similar MCPB extensions.
Package Details:
- Old size: 12MB
- New size: 4.2MB
- Reduction: 65%
- Files excluded: Development tools not needed at runtime
All features from v1.5.1 are preserved, including:
- Tool metadata annotations for MCP Directory compliance
- Manifest schema 0.2 for Claude Desktop compatibility
- 21 fully functional tools for Things 3 integration
v1.5.1 - Critical Hotfix: Manifest Schema Compatibility
Critical Hotfix: Manifest Schema Compatibility
Fixed
- CRITICAL: Reverted manifest schema from 0.3 back to 0.2 for Claude Desktop compatibility
- Claude Desktop v1.0.211 only supports manifest version 0.2 (0.3 support coming in future release)
This hotfix ensures the extension works correctly with the current version of Claude Desktop. All functionality from v1.5.0 is preserved.
For more details, see MCPB PR #144.
v1.5.0
Added
- Tool metadata annotations (
readOnlyHint,destructiveHint) for MCP Directory compliance - All 21 tools now properly annotated with behavior hints
Changed
- BREAKING: Upgraded manifest schema from 0.2 to 0.3
- Updated to latest
@anthropic-ai/mcpbpackage (2.0.1) - Updated all npm dependencies to latest versions
Fixed
- Improved tool metadata for better MCP client integration
🤖 Generated with Claude Code
v1.4.1
What's Fixed
This is a critical bugfix release that resolves issues with several tools that were failing with "Tool execution failed" errors.
Fixed Tools
- ✅ get_logbook: Fixed filtering by period parameter (e.g.,
period: "7d",period: "2w") - ✅ get_recent: Fixed filtering by days parameter
- ✅ search_todos: Fixed search functionality
- ✅ search_advanced: Fixed canceled item filtering
Root Cause
JXA (JavaScript for Automation) collections don't have JavaScript array methods like .filter() and .sort(). The code was attempting to call these methods directly on JXA collections, causing runtime errors.
Solution
Convert JXA collections to JavaScript arrays using Array.from() before applying array methods.
Technical Details
Files Modified:
jxa/src/lists.js: FixedgetLogbook()jxa/src/search.js: FixedsearchTodos(),getRecent(), andsearchAdvanced()
Testing:
- Manually verified
get_logbookwithperiod: "7d"✅ - Manually verified
get_recentwithdays: 7✅
Upgrade Instructions
Download and install things-mcpb.mcpb. The fix is fully backward compatible.
Fixes #20
🤖 Generated with Claude Code
v1.4.0
What's Changed
📦 MCPB Format Migration
This release migrates the extension from the legacy DXT format to the new MCPB (MCP Bundle) format specification v0.2, aligning with Anthropic's updated standards for Claude Desktop extensions.
Key Updates
- Format Migration: Updated manifest from
dxt_version: "0.1"tomanifest_version: "0.2" - Package Name: Renamed from
things-dxttothings-mcpb - Updated Dependencies:
@modelcontextprotocol/sdk: v0.5.0 → v1.20.1esbuild: v0.25.8 → v0.25.11- Added
@anthropic-ai/mcpbv1.0.0 for packaging
- Tooling: Migrated from
dxtCLI tomcpbCLI for packaging - Documentation: Updated all documentation and references to reflect MCPB naming
Compatibility
✅ Full backward compatibility maintained - All 21 tools and existing functionality remain unchanged. This is purely a format and packaging update.
Installation
Download the `things-mcpb.mcpb` file and install it in Claude Desktop following the MCPB installation process.
Requirements
- macOS (Darwin platform)
- Node.js ≥ 18.0.0
- Things 3 application
- Claude Desktop with MCPB support
🤖 Generated with Claude Code
v1.3.1
What's Changed
Bug Fixes
- Fixed: Duplicate task creation when adding to list (#15)
- Previously, when creating todos with a
list_titleparameter, two todos would be created: a filled-out todo in the inbox and an empty todo in the target list - Refactored todo creation logic to determine target location first, then add to appropriate location only once
- Previously, when creating todos with a
Infrastructure
- Updated: Claude Code GitHub Workflow (#18)
- Added Claude Code GitHub Actions integration for AI-assisted development
- Updated model references from Claude Opus 4 to Claude Opus 4.1
- Enables @claude mentions in PRs and issues for automated assistance
Full Changelog
Previous release: v1.3.0
v1.3.0...v1.3.1
🤖 Generated with Claude Code
v1.3.0
What's Changed
This is a major architecture release that migrates from AppleScript to JavaScript for Automation (JXA) with a modular, security-first design.
🏗️ Architecture Overhaul
- Complete JXA Migration: Replaced AppleScript with modular ES6 JavaScript sources compiled to JXA
- Security-First Design: Uses execFile with JSON parameters instead of shell execution
- Modular Architecture: 21 bundled JXA scripts from shared ES6 modules
- Zero String Escaping: Parameters passed as JSON, eliminating injection vulnerabilities
🔧 Bug Fixes
- Fixed: Date localization on non-English macOS systems (#13)
- Fixed: Tag removal now works correctly with empty arrays
- Fixed: Built-in list IDs corrected (Anytime: TMNextListSource, Upcoming: TMCalendarListSource)
- Fixed: Timezone-aware date parsing using local timezone
📈 Performance & Reliability
- Faster Execution: Direct JXA execution with pre-built scripts
- Better Error Handling: Comprehensive error reporting with stack traces
- Robust API: Full Things 3 SDEF compliance
- Automatic Building: Scripts auto-compile on server start
🔒 Security Improvements
- No Shell Injection: Secure parameter passing via JSON
- Input Validation: Dangerous pattern detection and type checking
- Timeout Protection: 30s execution limits with buffer protection
📚 Developer Experience
- Modern JavaScript: ES6 modules with esbuild compilation
- Better Debugging: DEBUG mode with detailed logging
- Comprehensive Testing: Unit, integration, and regression test suites
- Clear Documentation: Updated architecture guides and examples
🛠️ Tools & Compatibility
- 21 MCP Tools: Complete toolset matching things-mcp
- Backward Compatible: Same API surface with enhanced reliability
- Version Auto-Detection: Reads version from package.json automatically
This release represents a complete rewrite of the underlying architecture while maintaining API compatibility. All existing integrations should continue working with improved performance and security.
Full technical details available in CLAUDE.md and README.md.
Installation
Download things-dxt.dxt and install via Claude Desktop Extensions.
v1.2.4
🎉 What's New in v1.2.4
This release fixes critical AppleScript syntax errors and enhances area assignment capabilities based on user feedback.
🐛 Bug Fixes
- Fixed Apostrophe Handling (#7): Resolved AppleScript syntax errors when creating todos/projects containing apostrophes (e.g., "Matt's iPhone")
- Enhanced Area Support (#8): Added
area_idparameter support for precise area assignment by ID - Improved Shell Escaping: Fixed double escaping issues that caused malformed AppleScript commands
✨ Enhancements
- Better Parameter Support: Added
list_idparameter for todo assignment to projects by ID - Comprehensive Documentation: Added detailed AppleScript escaping guidance to CLAUDE.md for future reference
- Enhanced Testing: Added comprehensive test suites for apostrophe handling and area_id support
🔧 Technical Improvements
- Removed unnecessary apostrophe escaping in AppleScript strings (apostrophes work natively in double quotes)
- Changed shell command execution to use double quotes to avoid escaping conflicts
- Updated all escaping documentation with proper examples and anti-patterns
📊 Test Coverage
- All 8 test suites passing
- New tests for apostrophe escaping edge cases
- New tests for area_id and list_id parameter support
🚀 Download
Download the latest DXT file below and install it in Claude Desktop to get these improvements.
Full Changelog: v1.2.3...v1.2.4
v1.2.3
What's Changed
🐛 Bug Fixes
📝 Documentation
- Added version bumping instructions to CLAUDE.md
🔧 Maintenance
- Bumped version to v1.2.3
Installation
Download the things-dxt.dxt file below and install it in Claude Desktop.
Full Changelog: v1.2.2...v1.2.3
v1.2.2
What's Changed
- Fixed: Tag removal in
update_todoandupdate_projectnow works correctly whentags: []is provided (#3) - Enhanced: Added input validation for tags parameter to ensure type safety
- Added: Comprehensive test coverage for tag handling scenarios
Details
Previously, when calling update_todo or update_project with an empty tags array, the existing tags would remain unchanged. This release fixes that issue so that tags: [] properly removes all tags from the item.
Technical Changes
- Modified tag handling condition from
if (tags && tags.length > 0)toif (tags \!== undefined && tags \!== null) - Added array type checking with descriptive error messages
- Created new test suite for tag handling scenarios