New Features and Improvements
AtScale contains the following new features and improvements.
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.
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
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
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.
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.
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.
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.
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
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