ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/AnyEvent-MCP/Changes
Revision: 1.40
Committed: Sun Nov 1 22:07:53 2026 UTC (10 days, 23 hours ago) by root
Branch: MAIN
Changes since 1.39: +0 -1 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.2 Revision history for AnyEvent::MCP
2    
3 root 1.39 - treat idle HTTP disconnects as normal EOF while retaining errors
4     for clients disconnecting during request headers or bodies.
5     - identify failing MCP connections by client name, remote address
6     and connection id, including modern per-request client metadata.
7 root 1.38 - trace local multibroker prompt starts, outcomes and cancellations
8     with elapsed time to diagnose disappearing permission dialogs.
9     - use an 8 MiB default MCP message size across JSONL and HTTP
10     clients and servers, allowing large base64 tool requests through
11     mcp-multibroker; log server transport errors at warn level
12     instead of silently closing connections.
13 root 1.37 - load AnyEvent::Log at compile time so its format_time call is parsed
14     as a function, fixing activity logging on Perl 5.10.
15    
16 root 1.36 0.71 Fri 30 Oct 2026 18:01:51 CET
17 root 1.35 - make multibroker-spawned children ask for permissions through MCP,
18     independently of the multibroker's own permission prompt mode.
19 root 1.36 - log VCS backend and a bounded, JSON-quoted preview of filenames for
20     vcs-diff, vcs-status and vcs-log.
21     - load only core modules in t/00_load.t; optional IMAP dependencies
22     are tested separately when available.
23     - let the fake bubblewrap test use the host temporary directory on
24     systems without /tmp (notably Termux).
25     - suppress Perl startup locale warnings in sandbox workers when
26     the requested C.UTF-8 locale is unavailable.
27     - canonicalize temporary test paths to match mcp-fs on systems with
28     symlinked temp directories; diagnose failing filesystem assertions.
29     - test SSE notification ordering at client delivery rather than
30     server enqueue time, avoiding a network scheduling race.
31     - diagnose failing multibroker HTTP integration tests with preflight
32     responses, RPC results and bounded server startup diagnostics.
33 root 1.35
34 root 1.34 0.7 Fri 30 Oct 2026 14:56:18 CET
35     - WARNING: mcp-imap is unfinished and has not been tested against a real IMAP server.
36     - INCOMPATIBLE CHANGE: rules have changed, old rules will be erased.
37     - declare the same license terms as Perl itself in distribution metadata.
38     - new mcp servers in this release: mcp-http
39     - accept optional dimension default matcher for persistent-rule prompts;
40 root 1.33 - clarify that mcp-fs exec has private /tmp by default; shared-tmp
41     exposes host /tmp and is not needed for ordinary temporary files or IPC.
42 root 1.32 - add mcp-fs vcs-log for Git, SVN, CVS and Mercurial, reusing bounded
43     output and dedicated permission actions; SVN log receives network
44     and SSH-agent grants alongside CVS operations.
45 root 1.31 mcp-webbrowser prefers any JavaScript in the current tab, while the
46     independent origin dimension remains scoped to the current origin.
47 root 1.30 - log mcp-http requests with their method and a sanitized URL preview;
48     identify mcp-http/$VERSION in User-Agent unless overridden by the caller.
49 root 1.31 Allow generic key=value context in the shared mcp_log_request formatter.
50 root 1.29 - silently treat invalid saved permission-rule files as empty, prompting
51     instead of aborting broker startup; subsequent saves replace the old file.
52 root 1.30 - add mcp-http for arbitrary HTTP methods with URL-scoped approvals,
53     caller-managed cookie jars, bounded bodies and text grep/regex/substitution.
54     Disable redirects, retries and proxies; verify HTTPS certificates.
55     - derive browser permission origins from reported URLs, not a new
56     userscript field; keep older browser clients able to execute with
57     origin-scoped permissions.
58     - accept compatible browser-protocol minor versions; return empty
59     operation discovery for 1.0 clients instead of disconnecting them.
60 root 1.29 Direct rule saves no longer perform semantic validation.
61 root 1.28 - replace special-case subject, origin and workdir permission scopes with
62     named dimensions: metadata-driven prompts, generic match.NAME rule keys,
63     and engine-enforced matcher choices. Reject old request and rule fields;
64     no conversion or backward-compatible rule loading.
65 root 1.27 - preserve selected origin scopes when external permission helpers
66     forward persistent decisions through native MCP elicitation.
67 root 1.26 - add origin-scoped MCP permission rules, selectable independently of
68 root 1.30 code/tab scopes; mcp-webbrowser derives browser origins for
69 root 1.26 JavaScript and tab operations, with exact, any-port and any-origin
70     choices. Existing rules without origins continue to match all origins.
71 root 1.25 - use POSIX::uname instead of nonportable hostname -f for the XPCSE
72     browser nickname, consistent with HTTP URL wildcard host selection.
73     - make form helper test run via explicit ./ path, avoid early HTTP
74     timer races, and test filesystem discovery with optional tools absent.
75 root 1.23 - report browser protocol rejections through bounded WebSocket close
76     reasons; show abnormal disconnects in the userscript console and toast.
77     - document browser wire-protocol minor-version compatibility: accept
78     compatible older and newer clients without breaking base functionality.
79     - remove the obsolete private stdio permission-result bridge from
80     mcp-multibroker; use ordinary form elicitation.
81 root 1.22 - add per-tab operation discovery and calls to mcp-webbrowser, with
82     per-tab routing, ordinary MCP permissions and browser protocol 1.1;
83     the userscript initially advertises no extra operations.
84     - make the unsandboxed-warning test tolerate diagnostic output from
85     non-GNU utility probes (FreeBSD and BusyBox).
86     - add mcp-imap with one named password-authenticated account per instance,
87     bounded UID search, MIME reads, explicit mailbox/message mutations,
88     UIDPLUS-only targeted expunge, forked worker and MCP permissions.
89 root 1.21 - propagate XPCSE save response ETags back to Vim session metadata;
90     make stale upload HTTP status an editor error.
91     - require GNU sed in worker tool discovery; report missing-Perl diagnostics in tests.
92 root 1.18 - xpcse: forward Vim's :write! flag through mcp-vim to browser
93     uploads, without changing upload behavior yet.
94 root 1.19 - recommend rather than require WebSocket modules: only mcp-vim and
95     mcp-webbrowser use them; mcp-vim loads them only for browser clients,
96     and tests skip optional WebSocket coverage when unavailable.
97 root 1.18
98 root 1.17 0.65 Fri 23 Oct 2026 22:41:32 CEST
99 root 1.14 - fix mcp-webbrowser userscript title indicator duplicating prefixes on empty titles.
100 root 1.17 - use built scripts in make test PATH, avoiding source shebangs and
101     accidentally installed helpers in rule management tests.
102 root 1.15 - clarify browser execute code wrapper and reject function/symbol return
103     values instead of silently converting them to null.
104 root 1.17 - fix many bugs in the testsuite.
105 root 1.13
106 root 1.12 0.62 Thu 22 Oct 2026 13:32:52 CEST
107 root 1.16 - INCOMPATIBLE API CHANGE: mcp_getoptions now returns a hash reference instead of
108     a key/value list.
109 root 1.11 - Simple accepts server_name/server_version independently of the local
110     instance name, leaving server_info as an unmodified protocol override.
111     - query multibroker children in parallel for tool and broker discovery,
112     preserving tool order and returning partial results after 15 seconds
113     instead of blocking on an unresponsive child.
114 root 1.8 - accept a missing trailing slash on HTTP MCP endpoint URLs, working
115 root 1.10 around Claude's MCP connector wrongly dropping it from the configured URL,
116 root 1.18 thus corrupting it.
117 root 1.7 - allow omitted ports in reverse extension URLs, defaulting to port 80.
118 root 1.9 - fix MCP client/server version fields serialized as JSON numbers in 0.61.
119 root 1.7
120 root 1.6 0.61 Thu 22 Oct 2026 08:57:42 CEST
121 root 1.5 - resolve bind hostnames via AnyEvent::Socket instead of Socket::getaddrinfo.
122 root 1.4 - honor user-selected file permissions and preserve them across replacements.
123     - fix permission test fixture grants.
124     - fix activity log timestamp formatting on older perl versions.
125     - correct multibroker test tool count (including meta-instructions).
126     - fix perl 5.12 syntax errors in mcp-fs and mcp-vim.
127    
128 root 1.3 0.6 Wed 21 Oct 2026 20:43:20 CEST
129 root 1.2 - 34k LOC of pure llm madness. but seems to work. yay.
130 root 1.1
131     0.0 Sat 03 Oct 2026 07:29:39 CEST
132     - original version, an AnyEvent::HTTP clone.