Skip to main content

New Features and Improvements

AtScale contains the following new features and improvements.

Note

C2026.7 is a short-term support (STS) release. For more information, refer to the AtScale Product Lifecycle Support Policy in the Help Center.

C2026.7.0

MCP Server now GA, other enhancements

The AtScale MCP Server is now GA. Additionally, it has been ported to Python and includes an updated suite of tools. These changes are intended to provide a more streamlined experience when connected to AtScale via LLMs, as well as enable you to access additional data, such as outbound data warehouse queries and information on SML skills.

Additionally, all AtScale MCP Server tools, including run_query, now declare readOnlyHint, the MCP annotation that tells a client that the tool cannot modify data. This declaration is enforced as well as claimed, meaning the server parses each incoming statement and rejects anything that is not a SELECT before it reaches the data warehouse. Clients that honor the annotation (including Google Gemini Enterprise) stop asking the user to approve each call, so an assistant can go from question to answer without interruption.

For more information on the new MCP Server tools, see the C2026.7 Tools Reference.

Note

Due to the migration to Python, some additional steps are required when upgrading an existing AtScale instance to C2026.7. For more information, refer to the Upgrade Requirements.

ATSCALE-49347, ATSCALE-48245, ATSCALE-49177

New server-side DAX functions

Note

Server-side DAX language support is a Public Preview feature.

AtScale now supports the following server-side DAX functions:

  • EDATE
  • ENDOFYEAR
  • ISBLANK
  • ISFILTERED
  • ROUNDUP
  • SELECTEDVALUE
  • STARTOFQUARTER
  • STARTOFMONTH
  • TOPN
  • & (text operator)

For more information, see Server-Side DAX Reference.

ATSCALE-43583

Server-side DAX calculation expressions now validated

Note

Server-side DAX language support is a Public Preview feature.

AtScale now validates server-side DAX calculation expressions, as it does for MDX. This helps ensure all of your calculation expressions are valid, regardless of the language they're written in.

Note

In previous releases, it was possible to deploy models with invalid DAX calculation expressions. These models will now fail at deploy time. If this occurs, fix the expressions, and redeploy.

For more information, see Add Calculations.

ATSCALE-47358

New Description field for relationships

The Relationship properties panel includes a new Description field, where you can (optionally) enter a description for the relationship. This enables you to provide context for your model's relationships to other Design Center users and connected AI tools.

Note

Relationship descriptions are added to the model's SML, but are not included in deployed models or made available to BI tools.

For more information, see Model a Relationship.

ATSCALE-48617

Model objects now inherit descriptions from the data warehouse

Descriptions for metrics, levels, secondary attributes, and level aliases now automatically inherit data warehouse descriptions from the columns they are based on, reducing the need to manually re-enter existing object documentation.

When available, data warehouse descriptions appear in the Description field of the object properties panel, and can be edited as needed.

For more information, see Adding Datasets, Add Additive or Non-Additive Metrics, Edit a Level, Edit a Secondary Dimensional Attribute, and Add a Level Alias.

ATSCALE-40653

New MDX function

AtScale now supports the ZEROIFNULL MDX function, which returns a set of scalar values with NULL values substituted with ZERO. For more information, see ZEROIFNULL.

ATSCALE-45041

Deploy catalogs from Git to AtScale via API

AtScale provides a new /catalogs/deploy API endpoint, which deploys an SML catalog from a Git repository to AtScale. You can also optionally deploy the catalog to Tableau Server. For more information, refer to the AtScale Public API documentation.

ATSCALE-42406

Query details panel now displays Google BigQuery job IDs

If you use Google BigQuery, the query details panel of the Queries page now displays the ID for the BigQuery job that executed the outbound query. This appears in the new Job ID field in the Outbound section of the panel.

Note

This functionality is only available for Google BigQuery data warehouses.

For more information on the query details panel, see Using the Queries Page.

ATSCALE-42994

Custom route support for atscale-proxy

A new extraLocationBlocks value has been added to the atscale-proxy subchart, allowing you to define custom nginx location blocks that are appended to the proxy ConfigMap at startup.

Note

The new value defaults to an empty string, so existing deployments require no changes.

This feature enables use cases such as adding authentication layers, custom reverse-proxy routes, or other nginx directives without modifying the chart directly.

For example, in values.yaml:

extraLocationBlocks: |-
location /protected {
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://localhost:3000;
}

For full details, refer to the updated documentation in helm/atscale/README.md.

DEVOPS-9596

Custom Java options for atscale-monitor

You can now control the JDK/JVM behavior of the atscale-monitor component through the options.JAVA_OPTS configuration, under the atscale-monitor section of the values file.

For example, in values.yaml:

atscale-monitor:
options:
JAVA_OPTS: "-Xmx4G -Xms512M -XX:+UseG1GC -XX:MaxGCPauseMillis=100"

DEVOPS-9410

Parquet Monitor now honors the Preferred Aggregate Store existingSecret

Note

Preferred aggregate storage is a Private Preview feature.

The parquet-monitor init container in the atscale-db chart now honors the existingSecret paradigm for its Postgres credentials. Previously, PGUSER/PGPASSWORD were hardcoded to the auto-generated <release>-conn secret, so if you wanted to supply your own secret, you had to kustomize-patch the container.

When global.atscale.pas.existingSecret is set, the init container now sources PGUSER/PGPASSWORD from it via existingSecretUserKey/existingSecretPassKey, mirroring the main postgres container; otherwise it falls back to the generated <release>-conn secret exactly as before.

The fallback path is unchanged, so if you have a default installation, no action is required.

# Supply your own secret for the Preferred Aggregate Store (pas) DB
global:
atscale:
pas:
existingSecret: my-pas-secret
existingSecretUserKey: username
existingSecretPassKey: password

DEVOPS-9764