Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,16 @@ Changing the Technical Contact does not automatically revoke the previous Techni

Only the current Technical Contact can change the assignment, by transferring the role to another member of the application team. If the current Technical Contact is unavailable or unreachable, contact [Mendix Support](https://support.mendix.com/) to update the assignment.

##### Technical Contact FAQ

Click the help icon or the **What is a Technical Contact (FAQ)?** link to access frequently asked questions about the Technical Contact role.

{{< figure src="/attachments/releasenotes/deployment/mendix-cloud/technical-contact-help-link.png" alt="Technical Contact section with FAQ help link" class="no-border" >}}

The FAQ popup provides answers to common questions such as permissions, assignment guidelines, and how to change the Technical Contact.

{{< figure src="/attachments/releasenotes/deployment/mendix-cloud/technical-contact-faq.png" alt="Technical Contact FAQ popup with expandable questions" class="no-border" >}}

For more information about the Technical Contact role and its permissions, see [Technical Contact Role and Permissions](/developerportal/deploy/private-cloud/private-cloud-technical-contact/).

#### Environment Purpose {#environment-purpose}
Expand All @@ -434,6 +444,32 @@ This section allows you to edit the Environment Purpose for the environments wit

When creating a new environment, the Technical Contact can set the environment purpose. The field is not visible when some one else other than the Technical Contact is creating the environment. It is also possible to change the purpose in **Application Settings** after environment creation. However, the purpose can only be edited by the Technical Contact.

## Portal Features {#portal-features}

The Mendix on Kubernetes Portal provides several features to help you manage your deployments effectively.

### Notifications {#notifications}

The Portal includes a unified notifications system that keeps you informed about important deployment and build events. You receive notifications when:

* Deployment packages are successfully built
* Deployment packages fail to build
* Deployments complete successfully
* Deployments fail

To view your notifications, click the bell icon in the top navigation bar. The notifications panel shows:

* Recent notifications with timestamps
* Unread notification count
* Quick access to mark all notifications as read
* Notification history for the last 30 days

{{< figure src="/attachments/releasenotes/deployment/mendix-cloud/notifications.png" alt="Notifications panel showing deployment and build status updates" class="no-border" >}}

{{% alert color="info" %}}
The notifications feature is aligned with the Mendix Platform notification system, providing a consistent experience across all Mendix Portal features.
{{% /alert %}}

## Managing Your Environments from the Environment Details Page {#environment-details}

Each environment you create has an **Environment Details** page which allows you to monitor and manage your environments. You can reach this by clicking the **Details** button next to the environment you want to manage.
Expand Down Expand Up @@ -609,9 +645,33 @@ The **Model Options** tab allows you to change the configuration of scheduled ev

{{< figure src="/attachments/deployment/private-cloud/private-cloud-deploy/image24.png" class="no-border" >}}

To toggle any scheduled events, select the scheduled event you want to enable or disable and click **Toggle**. You can also export the scheduled events to an Excel file by selecting **Export Constants to Excel**.
#### Constants

View and manage all application constants. To change any constants, select the constant you want to edit and then click **Edit**. You also have the option to export the app constants to an Excel file by selecting **Export Constants to Excel**.

Use **Compare and Edit** to compare constant values across multiple environments side-by-side.

{{< figure src="/attachments/releasenotes/deployment/mendix-cloud/constants-tab.png" alt="Constants tab with search, filter, and compare options" class="no-border" >}}

Click **Compare and Edit** to view and modify constant values across environments:

{{< figure src="/attachments/releasenotes/deployment/mendix-cloud/constants-compare.png" alt="Compare constants across multiple environments" class="no-border" >}}

Features include search by name, filter by data type, and import/export to CSV.

To change any constants, select the constant you want to edit and then click **Edit**. You also have the option to export the app constants to an Excel file by selecting **Export Scheduled Events to Excel**.
#### Scheduled Events

Manage scheduled events and compare their status across environments. To toggle any scheduled events, select the scheduled event you want to enable or disable and click **Toggle**. You can also export the scheduled events to an Excel file by selecting **Export Scheduled Events to Excel**.

{{< figure src="/attachments/releasenotes/deployment/mendix-cloud/scheduled-events-tab.png" alt="Scheduled Events tab with compare and export options" class="no-border" >}}

Click **Compare and Edit** to view which events are enabled or disabled in each environment:

{{< figure src="/attachments/releasenotes/deployment/mendix-cloud/scheduled-events-compare.png" alt="Compare scheduled events status across environments" class="no-border" >}}

{{% alert color="warning" %}}
Changes to constants and scheduled events take effect only after applying changes and restarting the application.
{{% /alert %}}

{{% alert color="info" %}}
If the MxApp constants are configured in both the CSI Secrets Storage and another location (such as the Mendix Portal or MendixApp CR), the secret storage configuration has a higher priority and overrides the value specified elsewhere.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,10 @@ You can specify the following options:
Kubernetes can stop an app's pods if needed to stop a node (to scale down and consolidate apps to run on fewer nodes), or perform a node update (for example, install CVE patches on the host OS).
Starting from Mendix Operator version 2.24.0, you can specify parameters for a [PodDisruptionBudget](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) of an app to ensure that Kubernetes only stops a limited number of an app's pods, and if necessary waits for replacement pods to become available.

{{% alert color="info" %}}
You can configure Pod Disruption Budget parameters through the [Mendix on Kubernetes Deploy API](/apidocs-mxsdk/apidocs/private-cloud-deploy-api/) by setting `podDisruptionMinAvailable` and `podDisruptionMaxUnavailable` in the environment's `deploymentStrategy` section.
{{% /alert %}}

To manually configure parameters for a PodDisruptionBudget, add the `podDisruptionBudget` section to your `MendixApp` CR, as in the following example:

```yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,28 @@

## 2026

### September 3, 2026

#### Portal Improvements

* Deployment and build notifications are now aligned with the Mendix Platform. Users receive notifications when deployments or package builds complete or fail.
* The **Constants Compare** functionality is now available, providing Public Cloud parity. Users can compare constant values across environments and packages directly in the Portal.
* Environment Overview and deployment package pages now auto-refresh when their state changes.
* We have added a **Technical Contact FAQ** popup, and improved the **Change Technical Contact** warning message.
* The scheduled event descriptions now update correctly when a new .mda file is uploaded. (Ticket 282641)
* We have fixed an issue where navigating from the environment link on the Sprintr home page to the Environment Overview page was broken.

Check failure on line 24 in content/en/docs/releasenotes/deployment/mendix-for-private-cloud.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Mendix.ProductNames] Use 'Projects' instead of 'Sprintr' Raw Output: {"message": "[Mendix.ProductNames] Use 'Projects' instead of 'Sprintr'", "location": {"path": "content/en/docs/releasenotes/deployment/mendix-for-private-cloud.md", "range": {"start": {"line": 24, "column": 76}}}, "severity": "ERROR"}
* Deletion is no longer blocked for environments that are marked as the **Default Studio Target**. Users are prompted to set another environment as the default before deletion.
* **Pod Disruption Budget** settings no longer reset to default due to a missing field in the Private Cloud Portal REST API. (Ticket 284436)
* You can now remove storage plans when they are not in use. (Ticket 285125)
* We have fixed an issue where the apps displayed in the UI differed from the list retrieved via the Export Grid to CSV option. (Ticket 285443)
* We have corrected the database status icon display.
* We have fixed a layout issue where the **Deployment packages version** column appeared distorted on 1080p displays.

#### Deploy API

* It is now possible to force-delete an orphaned app environment (when Agent is disconnected) or an environment marked as the Default Studio Target via Deploy API.
* We have added support for configuring Pod Disruption Budget parameters (`podDisruptionMinAvailable` and `podDisruptionMaxUnavailable`) in the environment deployment strategy through the Deploy API.

### August 14, 2026

#### Mendix Operator v2.28.0 {#2.28.0}
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
37 changes: 34 additions & 3 deletions static/openapi-spec/privatecloud-deploy-v4.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
openapi: 3.0.0
info:
title: Mendix for Private Cloud Deploy API
version: 4.13.0
version: 4.14.0
contact:
name: Mendix Support
url: 'https://support.mendix.com'
Expand Down Expand Up @@ -207,6 +207,7 @@ paths:
tags:
- namespaces
description: Deletes a specific namespace.
parameters: []
put:
summary: Update Namespace
operationId: update_namespace_manifest
Expand Down Expand Up @@ -355,6 +356,12 @@ paths:
tags:
- environments
deprecated: true
parameters:
- schema:
type: boolean
in: query
name: force
description: 'Used to bypass the Default Studio Target validation and any errors received from the cluster while deleting the object from the portal. If the deleted environment was set as Default Studio Target, a new one must be selected from the UI or via API .'
put:
summary: Update Environment
operationId: update_environment_for_namespace
Expand Down Expand Up @@ -449,6 +456,12 @@ paths:
description: Deletes an environment for a specified namespace.
tags:
- environments
parameters:
- schema:
type: boolean
in: query
name: force
description: 'Used to bypass the Default Studio Target validation and any errors received from the cluster while deleting the object from the portal. If the deleted environment was set as Default Studio Target, a new one must be selected from the UI or via API .'
put:
summary: Update Environment for a specified Namespace
operationId: update_environment_for_namespace
Expand Down Expand Up @@ -847,10 +860,19 @@ components:
x-stoplight:
id: zn13vlv5opnxw
description: Maximum percentage of Pods that can be offline during updates.
podDisruptionMinAvailable:
type: integer
x-stoplight:
id: 99i5xldc8glcz
description: 'Pod Disruption Min Available defines the minimum number or percentage of Pods that must remain available during voluntary disruptions. This setting ensures a baseline level of running Pods is maintained; for example, if set to 50%, Kubernetes will only allow evictions that keep at least 50% of the Pods available.'
podDisruptionMaxUnavailable:
type: integer
x-stoplight:
id: b4bf76evwb3pu
description: 'Pod Disruption Max Unavailable defines the maximum number or percentage of Pods that can be unavailable during voluntary disruptions (evictions or node drains). This setting controls how many existing Pods can be taken offline at once without affecting overall availability. For example, if set to 20%, Kubernetes can allow up to 20% of the Pods to be unavailable during voluntary disruptions.'
required:
- manifestVersion
- environment
title: ''
getEnvironmentManifest:
type: object
x-examples:
Expand Down Expand Up @@ -1061,6 +1083,16 @@ components:
x-stoplight:
id: 1jiigc3wgjc3r
description: Maximum percentage of Pods that can be offline during updates.
podDisruptionMinAvailable:
type: integer
x-stoplight:
id: l6gl3aovn6c3g
description: 'Pod Disruption Min Available defines the minimum number or percentage of Pods that must remain available during voluntary disruptions. This setting ensures a baseline level of running Pods is maintained; for example, if set to 50%, Kubernetes will only allow evictions that keep at least 50% of the Pods available.'
podDisruptionMaxUnavailable:
type: integer
x-stoplight:
id: xqms1dq6go2wn
description: 'Pod Disruption Max Unavailable defines the maximum number or percentage of Pods that can be unavailable during voluntary disruptions (evictions or node drains). This setting controls how many existing Pods can be taken offline at once without affecting overall availability. For example, if set to 20%, Kubernetes can allow up to 20% of the Pods to be unavailable during voluntary disruptions.'
required:
- manifestVersion
- environment
Expand Down Expand Up @@ -1657,7 +1689,6 @@ components:
required:
- manifestVersion
- namespace
title: ''
updateNamespaceManifest:
type: object
x-examples:
Expand Down