Skip to content

Release notes

This page contains notes for the latest releases of AP.

1.0.1730

Build time: 2026-09-19 08:37:03 ○ Git commit: b97cc8d3430dd20882694d0f4a7e29311cb65172

Semantic phrase search

In the data browser, for natural text queries, semantic phrase search for DHIS2 metadata including data element and org units is now supported for ClickHouse and Azure SQL Database. The semantic search is based on vector embeddings and cosine similarity search. To store vector embeddings, ClickHouse uses a Array(Float32) column while SQL Database uses a vector(n) column.

Why it is useful: The embeddings-based semantic search for natural text queries allows for identifying data elements and org units for DHIS2 by semantic similarity, avoiding the need to specify exact names or identifiers.

Semantic phrase search text

Semantic phrase search SQL

ClickHouse data pipeline

A new data pipeline type for ClickHouse is introduced. The data pipeline connects to ClickHouse using the JDBC driver and allows for loading data with a SQL query or by replicating entire tables.

Why it is useful: The new data pipeline allows for loading data from other ClickHouse data warehouses.

Nullable column data types setting

A new client setting for "Nullable column data types" is introduced. The setting applies to ClickHouse only, for which the default behavior is to not allow null values in data warehouse tables and instead use default values. When enabled, null values, meaning no data/missing data, are allowed.

Why it is useful: Data analysts may want to distinguish between zero values and null / missing values. Allowing null values comes with a performance overhead in ClickHouse, so introducing a setting allows for deciding on the performance vs business logic trade-off.

Embeddings retry handling with exponential back-off

When generating vector embeddings as part of a DHIS2 data pipeline run, if embeddings requests to Google Gemini hit the tokens per minute or requests per minute limits, the data pipeline will retry for up to 5 minutes using exponential back-off.

Why it is useful: In a multi-tenant environment, data pipelines hitting the Gemini API limits will happen, and retries allow for the embeddings generation to either finish or fail gracefully.