##  **New Features**
### Highlights on Plateau Studio
- The **Create UI with AI** feature now produces layouts that **better match simple screenshots**. Since AI results may vary with each run, we suggest trying multiple times and selecting the layout that best reflects your design.
- **Certificate Management** feature is now available. It enables secure SSL certificate handling directly within the app — Integrated certificate pinning ensures consistent and secure deployment. [Learn More](https://docs.onplateau.com/UI-Screens/UI-Settings/certificate-management)

---
### Features on Plateau Studio Workflow
The **Log Tracer** screen, accessible from the Live Dashboard after starting a workflow, allows users to view live logs in real time. This helps developers monitor workflows, identify errors, and troubleshoot more effectively. Users can also download visible logs for further analysis.

##  **Bug Fixes**
### Fixes on Plateau Studio
- Added support for using custom **images** and **fonts** in Studio App for **MiniApps**.
### Fixes on UI
- Fixed various bugs related to **UI Editor responsive bar**, especially those occurring during **frame resizing**. Event listeners have been improved for robustness, resulting in smoother and more reliable behavior during adjustments.
- In the Explorer, the **Start Working** button is disabled when a page is checked out by another user; if the button is active and clicked, a clearer and more user-friendly error message will be displayed."
- The parameter **skipIfParentInvisible** in quick.Quick.validate() and quick.Quick.validateAll() is **renamed** to **skipChildrenIfInvisible** for better clarity.
`options: { skipChildrenIfInvisible?: boolean }`
When **skipChildrenIfInvisible** is set to **true**, validation checks are skipped for inputComponents whose parent components are not visible, disabled, or read-only.
validate:
```js
let result = quick.Quick.validate("myCard", false, false, { skipChildrenIfInvisible: false });
quick.EM.trace('isValidationSuccess: ' + result);
if (result) {
quick.EM.trace('Redirect to X page..');
quick.Quick.go('exampleMicroUI/secondExamplePage.js');
}
```
validateAll:
```js
let result = quick.Quick.validateAll(false, false, { skipChildrenIfInvisible: false });
quick.EM.trace('isValidationSuccess: ' + result);
if (result) {
quick.EM.trace('Redirect to X page..');
quick.Quick.go('exampleMicroUI/secondExamplePage.js');
}
```
> *Note: Update existing usages to reflect the new parameter name **skipChildrenIfInvisible**.*