- Регистрация
- 22.01.2019
- Сообщения
- 2 133
- Реакции
- 4 626
- Баллы
- 113
Full changelog 2.6.1.0
Added:
+ ZennoDroid and ProjectMaker now have a public HTTP API and a set of MCP servers. The product can now be controlled externally — from your own scripts and applications or directly from an AI assistant (Claude Code, Cursor, or any other MCP client): read and edit projects, queue tasks for execution, and control the browser.
- Public REST API (PublicAPI) — over 100 operations under a single contract: working with a project in ProjectMaker (action tree, variables, lists, tables, static data), managing tasks and execution sessions in ZennoDroid, and device information (element tree, installed apps). The contract is described in OpenAPI — you can generate a client for any language from the specification.
- API keys with flexible permissions. Keys are issued in ProjectMaker (Settings → API Keys); for each key, a set of permissions (scopes) and a maximum operation level (tier) is defined — from strict read-only to full control. The key is shown only once at creation; all API authorization errors are returned in a structured format, indicating exactly which permissions were missing.
- MCP servers for AI assistants. Three servers — ProjectMaker (project editing), Android (device information), ZennoDroid (tasks and sessions) — are published as ready-to-use self-contained builds: download, enter your API key, and connect to your LLM client. The assistant's permissions are determined by your key. Servers accept connections only from the local machine.
Public servers are in the repository https://github.com/ZennoLab/zennoposter-mcp
Documentation (integrator guide, interactive OpenAPI contract, operations reference, error codes, and versioning policy): https://zennolab.github.io/zennoposter-mcp/ — MCP server releases are also on GitHub.
Important: the ports used in ZennoDroid are shifted +10 from those used in ZennoPoster.
+ Added project save, load, and close tools for ProjectMaker.
- save_project and open_project return a file freshness indicator: fileHash (SHA-256 of the .zp content on disk, calculated after writing), fileSizeBytes, lastWriteTimeUtc. Reopening the same file yields an identical hash — this lets you verify that the file on disk is exactly what you expect.
- get_project_info is supplemented with the hasUnsavedChanges flag and the same fields; the hash is calculated only when there are no unsaved changes.
- close_project closes the open project. By default, a project with unsaved changes will not close: a 409 failed_precondition is returned to prevent silent data loss. To close and discard changes, you must explicitly pass discardUnsavedChanges: true.
- get_project_structure returns a graph: nodes (type, label, start point, switch, disabled state, membership in an error branch, groupId/actionId) and edges (OnSuccess/OnError/Default/Case-N, including implicit transitions). The response is three-level — group overview, group slice, or full graph — to avoid bloating the response on large templates.
- find_path(from, to) — the shortest route between two blocks.
- get_action_connections(actionId) — all incoming and outgoing connections and branches for a specific block.
+ Added a new text input method: ZennoKeyboard. Automatically installed when connecting to a device and enters characters as if they were typed on a keyboard.
Exchanges data with the program directly; input results are confirmed by the device: if the field did not accept the text or the app closed, the action will immediately fail with an error instead of continuing as if the text had been entered.
+ Added the Visual Studio Project action. Allows using projects created in the Microsoft Visual Studio 2022/2026 environment within a ZennoDroid project.
+ Phone-in-hand emulation. Anti-detect for phones stationary on a stand. Enabled automatically when using device spoofing.
+ Expanded API for controlling BlueStacks 5 and MSI App Player 5 emulators.
Added the ability to obtain root in offline mode, without rebooting the emulator, using SetupRootOffline. Support for the current version of Magisk 30.7 and NeoZygisk (installed automatically).
+ Added camera emulation (beta).
The ZennoVCam 3.3.31 module replaces the app's camera with a video file: the app receives video frames as if they came from the device's camera. Custom C# code.
Camera emulation on farms without a physical camera (beta) Custom C# code.
Rotation, scale, and position adjustment of video for the virtual camera Custom C# code.
+ Added device monitoring to the Device Manager.
The monitor polls devices from the list at a specified interval and automatically reconnects those that dropped. This is the main tool for working with a device pool over the network: addresses are listed once in the "Settings" tab, and then the monitor keeps them connected without manual intervention.
+ Added a limit on the maximum number of connection attempts to Device Monitoring over the network.
+ The ZennoDroid module updated to version 3.1.5.
Low-level spoofing has been completely redesigned. Device model, GPU, noise, and other parameters persist after phone reboot and continue to work in the browser and apps. A large number of new hooks have been added for better concealment. Found bugs have been fixed.
Improved hiding of developer mode detection, enabled USB/Wi-Fi debugging.
Enhanced device "in-hand" vibration (anti-detect).
Fixed an issue where the module state was incorrectly determined.
Significantly improved mutual consistency of hooks.
Added GL Version spoofing, depending on the GPU model used.
Fixed hiding of debug mode when connecting via WiFi.
+ Increased proxy setup speed in Clash mode. Clash updated to 1.19.31.
Fixed:
* Fixed a bug where applying a fingerprint longer than 92 characters did not work.
* Fixed image capture on some Xiaomi devices when using real clicks.
* Fixed a bug where JavaScript injection did not work in recent versions of the Yandex browser.
* Output of detailed error when attempting to launch an app without a start activity.
* Fixed operation in enhanced clicks mode on the MSI App Player emulator.
* Fixed issues with Microsoft Visual Studio integration:
- Fixed an issue where the device screen could "escape" to another window (when two or more Visual Studio projects were open simultaneously).
- Fixed a "No format header found" error when using the slnx format.
- Fixed an issue where the device screen returned to ProjectMaker shifted to a corner (without Dock).
- Fixed an issue where reconnecting to a solution could take 30 seconds.
- Fixed an RPC_E_CALL_REJECTED error when creating a solution.
- Fixed the absence of *.slnx format selection in the solution selection menu.
- Fixed a bug where the startup window appeared when creating a new solution.
- Fixed a solution creation error: "Object reference not set to an instance of an object."
* Fixed conversion to C# for the "Wait for user action" action.
Fixed closing the "Wait for user action" window via MCP.ZennoPoster: POST /sessions/{id}/complete
* Fixed a ZennoDroid crash when capturing an image in h264 mode.
* Fixed exit via BadEnd when interrupting an instance's execution.
Where to download?
ZennoDroid 2.6.1.0 Enterprise is already available in your personal account!
You’ll also be prompted to update when launching ProjectMaker.
How to report bugs?
Please report all bugs using our form, along with a detailed description and a reproduction script. This will allow us to quickly diagnose and fix the issue.