Releases
Self-Managed v26.0.0
Released: 2025-11-18
Swap support
Starting in v26.0.0, Self-Managed Materialize enables swap by default. Swap allows for infrequently accessed data to be moved from memory to disk. Enabling swap reduces the memory required to operate Materialize and improves cost efficiency.
To facilitate upgrades from v25.2, Self-Managed Materialize added new labels to
the node selectors for clusterd pods:
-
To upgrade using Materialize-provided Terraforms, upgrade your Terraform version to
v0.6.1: -
To upgrade if
not using a Materialize-provided Terraforms, you must prepare your nodes by adding the required labels. For detailed instructions, see Prepare for swap and upgrade to v26.0.
SASL/SCRAM-SHA-256 support
Starting in v26.0.0, Self-Managed Materialize supports SASL/SCRAM-SHA-256 authentication for PostgreSQL wire protocol connections. For more information, see Authentication.
When SASL authentication is enabled:
- PostgreSQL connections (e.g.,
psql, client libraries, connection poolers) use SCRAM-SHA-256 authentication - HTTP/Web Console connections use standard password authentication
This hybrid approach provides maximum security for SQL connections while maintaining compatibility with web-based tools.
License Key
Starting in v26.0.0, Self-Managed Materialize requires a license key.
| License key type | Deployment type | Action |
|---|---|---|
| Community | New deployments |
To get a license key:
|
| Community | Existing deployments | Contact Materialize support. |
| Enterprise | New deployments | Visit https://materialize.com/self-managed/enterprise-license/ to purchase an Enterprise license. |
| Enterprise | Existing deployments | Contact Materialize support. |
For new deployments, you configure your license key in the Kubernetes Secret resource during the installation process. For details, see the installation guides. For existing deployments, you can configure your license key via:
kubectl -n materialize-environment patch secret materialize-backend -p '{"stringData":{"license_key":"<your license key goes here>"}}' --type=merge
PostgreSQL: Source versioning
To enable this feature in your Materialize region, contact our team.
For PostgreSQL sources, starting in v26.0.0, Materialize introduces new syntax
for CREATE SOURCE and CREATE TABLE to allow better handle DDL changes to the upstream
PostgreSQL tables.
-
This feature is currently supported for PostgreSQL sources, with additional source types coming soon.
-
Changing column types is currently unsupported.
To create a source from an external PostgreSQL:
CREATE SOURCE [IF NOT EXISTS] <source_name>
[IN CLUSTER <cluster_name>]
FROM POSTGRES CONNECTION <connection_name> (PUBLICATION '<publication_name>')
;
To create a read-only table from a source connected (via native connector) to an external PostgreSQL:
CREATE TABLE [IF NOT EXISTS] <table_name> FROM SOURCE <source_name> (REFERENCE <upstream_table>)
[WITH (
TEXT COLUMNS (<column_name> [, ...])
| EXCLUDE COLUMNS (<column_name> [, ...])
[, ...]
)]
;
For more information, see:
Deprecation
The inPlaceRollout setting has been deprecated and will be ignored. Instead,
use the new setting rolloutStrategy to specify either:
WaitUntilReady(Default)ImmediatelyPromoteCausingDowntime
For more information, see rolloutStrategy.
Terraform helpers
Corresponding to the v26.0.0 release, the following versions of the sample Terraform modules have been released:
| Sample Module | Description |
|---|---|
| terraform-helm-materialize | A sample Terraform module for installing the Materialize Helm chart into a Kubernetes cluster. |
| Materialize on AWS | A sample Terraform module for deploying Materialize on AWS Cloud Platform with all required infrastructure components. See Install on AWS for an example usage. |
| Materialize on Azure | A sample Terraform module for deploying Materialize on Azure with all required infrastructure components. See Install on Azure for an example usage. |
| Materialize on Google Cloud Platform (GCP) | A sample Terraform module for deploying Materialize on Google Cloud Platform (GCP) with all required infrastructure components. See Install on GCP for an example usage. |
| Terraform version | Notable changes |
|---|---|
| v0.6.4 |
|
If upgrading from a deployment that was set up using an earlier version of the Terraform modules, additional considerations may apply when using an updated Terraform modules to your existing deployments.
Click on the Terraform version link to go to the release-specific Upgrade Notes.
| Terraform version | Notable changes |
|---|---|
| v0.6.4 |
|
If upgrading from a deployment that was set up using an earlier version of the Terraform modules, additional considerations may apply when using an updated Terraform modules to your existing deployments.
See also Upgrade Notes for release specific notes.
| Terraform version | Notable changes |
|---|---|
| v0.6.4 |
|
If upgrading from a deployment that was set up using an earlier version of the Terraform modules, additional considerations may apply when using an updated Terraform modules to your existing deployments.
See also Upgrade Notes for release specific notes.
| terraform-helm-materialize | Notes | Release date |
|---|---|---|
| v0.1.35 |
|
2025-11-18 |
Upgrade notes for v26.0.0
-
Upgrading to
v26.0.0is a major version upgrade. To upgrade tov26.0fromv25.2.Xorv25.1, you must first upgrade tov25.2.15and then upgrade tov26.0.0. -
For upgrades, the
inPlaceRolloutsetting has been deprecated and will be ignored. Instead, use the new settingrolloutStrategyto specify either:WaitUntilReady(Default)ImmediatelyPromoteCausingDowntime
For more information, see
rolloutStrategy. -
New requirements were introduced for license keys. To upgrade, you will first need to add a license key to the
backendSecretused in the spec for your Materialize resource.See License key for details on getting your license key.
-
Swap is now enabled by default. Swap reduces the memory required to operate Materialize and improves cost efficiency. Upgrading to
v26.0requires some preparation to ensure Kubernetes nodes are labeled and configured correctly. As such:-
If you are using the Materialize-provided Terraforms, upgrade to version
v0.6.1of the Terraform. -
If you are
not using a Materialize-provided Terraform, refer to Prepare for swap and upgrade to v26.0.
-
See also General notes for upgrades.