> For the complete documentation index, see [llms.txt](https://docs.mosip.io/1.2.0/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mosip.io/1.2.0/roadmap-and-releases/releases/api-test-commons-releases/v1.4.0.md).

# v1.4.0

**Release Name**: Api Test Commons Releases

**Release Version:** 1.4.0

**Release Date:** Coming Soon!

### **Overview**

We are pleased to announce **API Test Commons v1.4.0**, a major enhancement release designed to strengthen parallel device execution, test data isolation, and PMS automation capabilities within the MOSIP Functional Test Framework.

**This release introduces**:

* **Running context prefixing utilities**
* **Multi-device pre-registration support**
* **Improved auto-generated ID handling**
* **Dependency JSON generation**
* **Enhanced authentication utilities**
* **Improved form-data handling**

Version **1.4.0 builds upon v1.3.6** and continues to improve **execution consistency, scalability, traceability, and deterministic test data generation across MOSIP module test suites**.

### **Major Highlights (New Developments & Enhancements)**

<table><thead><tr><th width="202.61328125">Area</th><th width="165.671875">JIRA</th><th>Summary</th></tr></thead><tbody><tr><td><strong>Run Context Utilities</strong></td><td><a href="https://mosip.atlassian.net/browse/MOSIP-43255">MOSIP-43255</a></td><td>Added run context utilities in BaseTestCase and DB manager to prefix execution context dynamically in test execution.</td></tr><tr><td><strong>Multi-Device Pre-Registration</strong></td><td><a href="https://mosip.atlassian.net/browse/MOSIP-43301">MOSIP-43301</a></td><td>Added utilities to support parallel pre-registration execution across multiple devices with dynamic user, phone, and email generation.</td></tr><tr><td><strong>Run Context Keyword Support</strong></td><td><a href="https://mosip.atlassian.net/browse/MOSIP-43651">MOSIP-43651</a></td><td>Added support for $RUNCONTEXT$ keyword in JSON payloads with automatic substitution in keyword handler.</td></tr><tr><td><strong>Partner Identifier Generation</strong></td><td><a href="https://mosip.atlassian.net/browse/MOSIP-43651">MOSIP-43651</a></td><td>Updated partner name generation to deterministic, context-based identifiers instead of random suffix-based values.</td></tr><tr><td><strong>Master Data Context Support</strong></td><td><a href="https://mosip.atlassian.net/browse/MOSIP-43652">MOSIP-43652</a></td><td>Added utilities for prefixing run context in master data and auto-generated ID handling with improved keyword processing.</td></tr><tr><td><strong>Dependency JSON Generation</strong></td><td><a href="https://mosip.atlassian.net/browse/MOSIP-44097">MOSIP-44097</a></td><td>Added capability to emit dependency JSON files for local runs and globalized dependency JSON path configuration.</td></tr><tr><td><strong>Organization Identifier Refactor</strong></td><td><a href="https://mosip.atlassian.net/browse/MOSIP-44008">MOSIP-44008</a></td><td>Updated organization identifier generation to remove timestamp suffixes, ensuring repeatable identifiers across executions.</td></tr><tr><td><strong>External Partner Authentication</strong></td><td><a href="https://mosip.atlassian.net/browse/MOSIP-44129">MOSIP-44129</a></td><td>Added external partner authentication support and configured AUTH_PARTNER Keycloak user for authentication scenarios.</td></tr><tr><td><strong>Context-Aware Keycloak User Creation</strong></td><td><a href="https://mosip.atlassian.net/browse/MOSIP-44129">MOSIP-44129</a></td><td>Updated Keycloak test user creation to prefix usernames with run context, ensuring unique authentication users across parallel test executions.</td></tr><tr><td><strong>PMS Auto-Generated ID Handling</strong></td><td><a href="https://mosip.atlassian.net/browse/MOSIP-44124">MOSIP-44124</a></td><td>Added auto-generated ID handling across PUT, PATCH, GET flows with path parameters and cookie-based requests.</td></tr><tr><td><strong>Form Data Handling Improvements</strong></td><td><a href="https://mosip.atlassian.net/browse/MOSIP-44280">MOSIP-44280</a></td><td>Improved URL-encoded request handling and added request form-data reporting and certificate caching.</td></tr><tr><td><strong>PMS DB Placeholder Support</strong></td><td><a href="https://mosip.atlassian.net/browse/MOSIP-44124">MOSIP-44124</a></td><td><p>Added placeholder support in PMS DB scripts</p><p>for prefix context substitution.</p></td></tr></tbody></table>

### **Repositories Released**

| Repository      | Version                                                                      |
| --------------- | ---------------------------------------------------------------------------- |
| apitest-commons | [v1.4.0](https://github.com/mosip/mosip-functional-tests/tree/release-1.4.x) |

### **Bug Fixes**

<table><thead><tr><th width="205.4765625">Bug ID</th><th>Description</th></tr></thead><tbody><tr><td><a href="https://mosip.atlassian.net/browse/MOSIP-44180">MOSIP-44180</a></td><td>Fixed email notification validation to read the subject field instead of HTML content for accurate notification verification.</td></tr><tr><td><a href="https://mosip.atlassian.net/browse/MOSIP-44280">MOSIP-44280</a></td><td>Fixed form-data handling for non-string values by converting complex objects and arrays to JSON strings for correct API transmission.</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.mosip.io/1.2.0/roadmap-and-releases/releases/api-test-commons-releases/v1.4.0.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
