Эх сурвалжийг харах

chore: bump version to 1.3.0, update docs for all-mailbox search and date validation

Robert Sweet 2 сар өмнө
parent
commit
c938fa52be
4 өөрчлөгдсөн 18 нэмэгдсэн , 9 устгасан
  1. 9 0
      CHANGELOG.md
  2. 6 6
      README.md
  3. 2 2
      package-lock.json
  4. 1 1
      package.json

+ 9 - 0
CHANGELOG.md

@@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file.
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
+## [1.3.0] - 2026-04-01
+
+### Changed
+- **Search all mailboxes by default** - `search-messages` and `list-messages` now search across all mailboxes in an account when no mailbox is specified, instead of defaulting to INBOX. This dramatically improves results for Gmail accounts where messages live in labels rather than INBOX. Deduplication ensures each message appears only once.
+- **Multi-account listing** - `list-messages` now iterates all accounts when no account is specified, matching the existing behavior of `search-messages`.
+
+### Fixed
+- **Date filter validation** - `dateFrom` and `dateTo` now reject non-parseable date strings (e.g., "31", "abc") with a clear error message instead of crashing AppleScript. The existing regex security filter is preserved; a semantic `.refine()` check is added on top.
+
 ## [1.2.1] - 2026-03-27
 
 ### Security

+ 6 - 6
README.md

@@ -139,7 +139,7 @@ Search for messages matching criteria. Searches all accounts by default.
 | `query` | string | No | Text to search in subject/sender |
 | `from` | string | No | Filter by sender email address |
 | `subject` | string | No | Filter by subject line |
-| `mailbox` | string | No | Mailbox to search in (default: INBOX) |
+| `mailbox` | string | No | Mailbox to search in (omit to search all mailboxes) |
 | `account` | string | No | Account to search in (omit to search all accounts) |
 | `isRead` | boolean | No | Filter by read status |
 | `isFlagged` | boolean | No | Filter by flagged status |
@@ -168,7 +168,7 @@ List messages in a mailbox.
 
 | Parameter | Type | Required | Description |
 |-----------|------|----------|-------------|
-| `mailbox` | string | No | Mailbox name (default: INBOX) |
+| `mailbox` | string | No | Mailbox name (omit to list from all mailboxes) |
 | `account` | string | No | Account name |
 | `limit` | number | No | Max messages (default: 50) |
 | `offset` | number | No | Number of messages to skip (for pagination) |
@@ -608,12 +608,12 @@ Check Mail.app sync activity.
 
 ```
 User: "Check my inbox for new emails"
-AI: [calls list-messages with mailbox="INBOX"]
-    "You have 12 messages in your inbox. Here are the most recent..."
+AI: [calls list-messages]
+    "You have 12 messages. Here are the most recent..."
 
 User: "Show me emails from Sarah"
 AI: [calls search-messages with query="Sarah"]
-    "Found 3 emails from Sarah..."
+    "Found 3 emails from Sarah across all mailboxes..."
 
 User: "Read the first one"
 AI: [calls get-message with id="..."]
@@ -720,7 +720,7 @@ If installed from source, use this configuration:
 | In-memory templates | Email templates are not persisted across server restarts |
 | Numeric-only message IDs | Message IDs must contain only digits (validated by schema) |
 | Batch size cap | Batch operations are limited to 100 messages per request |
-| Date filter format | Date filters accept alphanumeric characters and safe punctuation only |
+| Date filter format | Date filters must be valid parseable dates (e.g., "January 1, 2026" or "2026-03-15"); bare numbers or non-date strings are rejected |
 | Attachment save path restrictions | `save-attachment` only allows saving to home directory, `/tmp`, `/private/tmp`, and `/Volumes`; path traversal is blocked |
 | Attachment count limit | `send-email` and `create-draft` accept a maximum of 20 file attachments |
 

+ 2 - 2
package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "apple-mail-mcp",
-  "version": "1.2.1",
+  "version": "1.3.0",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "apple-mail-mcp",
-      "version": "1.2.1",
+      "version": "1.3.0",
       "license": "MIT",
       "os": [
         "darwin"

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "apple-mail-mcp",
-  "version": "1.2.1",
+  "version": "1.3.0",
   "description": "MCP server for Apple Mail - read, search, send, and manage emails via Claude",
   "type": "module",
   "main": "build/index.js",