> For the complete documentation index, see [llms.txt](https://docs.guardianservice.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.guardianservice.app/whats-new/release-notes/mgs-v1.4.0.md).

# MGS v1.4.0

### New Features & Enhancements

#### Much Faster Bulk Device Registration

Registering a large batch of devices in a single policy step is now far faster. Previously, when a policy generated one decentralized identifier (DID) per device, each device was processed one after another, and each one repeated the same expensive setup and waited for its own on-chain confirmation. A batch of a few hundred devices could take many minutes, and larger batches took hours.

* **Devices now register in parallel.** The platform processes many devices at once instead of strictly one at a time, and reuses the shared setup across the whole batch rather than rebuilding it for every device.
* **Built for metered-device programs.** This directly benefits high-volume programs such as metered cookstove registrations, where thousands of devices each need their own identifier before measurement data can flow in.

#### Open Tabs Pick Up New Deployments

When we ship an update to MGS, browser tabs that were already open used to keep running the older version until the user manually did a hard refresh. Now an open tab notices when a new version has been deployed and offers to reload.

* **You are asked, never interrupted.** When a newer version is available, the tab shows a simple prompt to reload now or keep working. Choosing to keep working leaves you on your current version so you do not lose what you are in the middle of, and the offer reappears at a natural stopping point.

#### Tool Cloning and Publishing Fixes

Several issues around duplicating and publishing Tools are resolved so that cloned Tools behave like true, independent copies.

* **Save As now clones a Tool's schemas.** Duplicating a Tool with Save As previously shared schemas with the original, so editing one affected the other. Cloned Tools now get their own copies.
* **Cloned Tools no longer carry over the original's identity.** A cloned Tool no longer keeps the source Tool's internal identifiers, topic and message references, hashes, file references, or assignments, which prevents the clone from being confused with its source.
* **Published Tool schemas stay visible.** Schemas published inside a Tool no longer disappear from the schemas list while the parent Tool is still in Draft.

#### Reliable Dry-Runs With Multiple Users

Dry-run mode previously kept a single active virtual user per policy, so two people testing the same policy at the same time could overwrite each other's active persona and hit unexpected "Block Unavailable" errors. The active virtual user is now scoped to each session, so concurrent testers no longer interfere with one another.

### Platform Stability

#### A Hardened, Crash-Resistant Custom Logic Block

Policies that run Custom Logic on very large documents in dry-run, could crash the policy process outright, leaving the user with a timeout after several minutes and intermittent "Block Unavailable" errors while the process restarted. At the same time, we closed a class of security vectors that could let carefully crafted Custom Logic reach outside its intended sandbox. This release resolves both: Custom Logic now runs in a re-hardened sandbox that blocks those escape vectors and no longer crashes on large documents, so large dry-run submissions go through reliably again. No policy configuration changes are required.

#### Fewer "Block Unavailable" and Timeout Errors During Deployments

We reduced several sources of confusing errors that could surface while the platform was rolling out an update or reloading a policy.

* **Faster failures instead of long stalls.** When a request targets a policy that is not currently loaded or has just restarted, the platform now returns quickly instead of waiting out a long internal timeout, which shortens the window where users saw "Block Timeout" or "Block Unavailable" during a deployment.
* **Closed forms clear correctly.** If a step closes while its form is still on screen, the form is now cleared on the next refresh rather than staying submittable and returning repeated errors, while unrelated validation messages are left untouched.

#### Broad Service Hardening

This release also includes a range of lower-level robustness fixes across the platform's shared services, covering safer error handling, more accurate message routing, correct handling of trimmed configuration values, cloud secret-manager and secret-vault initialization, and clearer not-found responses. These are internal reliability improvements with no change to how the product is used.

***

For the full changelog and release notes on the open-source Guardian please visit: <https://github.com/hashgraph/guardian/releases>
