Skip to content
Merged
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
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,23 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.7.31](https://github.com/cube-js/cube/compare/v1.7.30...v1.7.31) (2026-08-31)

### Bug Fixes

- **cubesql:** push down window functions and multi-argument aggregates ([#11684](https://github.com/cube-js/cube/issues/11684)) ([4567c07](https://github.com/cube-js/cube/commit/4567c074fe4a2d13d278c3dd4c6c71217094bc4a))
- **query-orchestrator:** key refresh key cache entries consistently ([#11607](https://github.com/cube-js/cube/issues/11607)) ([5bc6308](https://github.com/cube-js/cube/commit/5bc6308326500e847feb23eb2ed56f81ad904cab))
- **tesseract:** fold nested multi-fact join legs into one scan ([#11643](https://github.com/cube-js/cube/issues/11643)) ([92d1595](https://github.com/cube-js/cube/commit/92d159529b6c8282d91d0b0bae92b707c6c2d537))
- **tesseract:** keep expression measures out of nested group merging ([#11707](https://github.com/cube-js/cube/issues/11707)) ([6046c7c](https://github.com/cube-js/cube/commit/6046c7cdb3cd37a75d2f29db8dbe866500ebd7fa))

### Features

- Support local computeing for interval refresh keys (behind flag) ([#11614](https://github.com/cube-js/cube/issues/11614)) ([d2b43a4](https://github.com/cube-js/cube/commit/d2b43a4accd2c5d116342f9ad5be648920197a7e))

### Performance Improvements

- **cubestore:** turn on the performance toggles by default ([#11600](https://github.com/cube-js/cube/issues/11600)) ([33dc677](https://github.com/cube-js/cube/commit/33dc677fb65cdd34765832920f6ceb68c52370d1))

## [1.7.30](https://github.com/cube-js/cube/compare/v1.7.29...v1.7.30) (2026-08-28)

### Bug Fixes
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@

## Reporting a Vulnerability

Please email security reports to info@cube.dev or reach out to maintainers directly in https://slack.cube.dev.
Please email security reports to security@cube.dev or reach out to maintainers directly in https://slack.cube.dev.
Please do not create issues or public conversations for discovered security issues until patch is shipped.
31 changes: 31 additions & 0 deletions docs-mintlify/reference/configuration/environment-variables.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1417,6 +1417,36 @@ this variable.
| ------------------------- | ---------------------- | --------------------- |
| A valid number in seconds | `600` | `600` |

## `CUBEJS_REFRESH_KEY_LOCAL_TIME`

To check an `every`-based [`refresh_key`](/reference/data-modeling/cube#refresh_key), Cube
asks the database what time it is. If `true`, it uses its own clock instead and those
queries stop entirely, including the ones scheduled refresh issues to warm them.

| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `false` | `false` |

Cube already caches each result for a fraction of the interval, so this is not one query
saved per request — it is one per refresh key per renewal window, multiplied by every cube,
tenant, and timezone in the deployment.

Refresh keys written with `sql` or marked
[`incremental`](/reference/data-modeling/pre-aggregations#incremental) keep querying the
database, since their values depend on your data and not just on the time. So do all
refresh keys if you have set
[`queryCacheOptions.refreshKeyRenewalThreshold`][ref-config-query-cache-options], which
works by caching the query result.

<Warning>

Cube now trusts each machine's clock, so they all have to agree. Set this variable to the
same value on **every** API instance and refresh worker and keep them synchronized with
NTP. Instances on opposite sides of an interval boundary compute different refresh keys,
which can build the same pre-aggregation twice.

</Warning>

## `CUBEJS_REFRESH_WORKER`

If `true`, this instance of Cube will **only** refresh pre-aggregations.
Expand Down Expand Up @@ -2307,6 +2337,7 @@ The port for a Cube deployment to listen to API connections on.
https://motherduck.com/docs/authenticating-to-motherduck/#authentication-using-a-service-token
[ref-config-db]: /admin/connect-to-data/data-sources
[ref-config-driver-factory]: /reference/configuration/config#driver_factory
[ref-config-query-cache-options]: /reference/configuration/config#orchestrator_options
[ref-config-multiple-ds-cloud]: /admin/connect-to-data/multiple-data-sources
[ref-config-multiple-ds-decorating-env]: /admin/connect-to-data/multiple-data-sources#under-the-hood
[ref-preagg-data-source]: /docs/pre-aggregations/refreshing-pre-aggregations#pre-aggregation-data-source
Expand Down
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "1.7.30",
"version": "1.7.31",
"npmClient": "yarn",
"command": {
"bootstrap": {
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-api-gateway/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.7.31](https://github.com/cube-js/cube/compare/v1.7.30...v1.7.31) (2026-08-31)

**Note:** Version bump only for package @cubejs-backend/api-gateway

## [1.7.30](https://github.com/cube-js/cube/compare/v1.7.29...v1.7.30) (2026-08-28)

**Note:** Version bump only for package @cubejs-backend/api-gateway
Expand Down
10 changes: 5 additions & 5 deletions packages/cubejs-api-gateway/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/api-gateway",
"description": "Cube API Gateway",
"author": "Cube Dev, Inc.",
"version": "1.7.30",
"version": "1.7.31",
"repository": {
"type": "git",
"url": "https://github.com/cube-js/cube.git",
Expand All @@ -27,9 +27,9 @@
"dist/src/*"
],
"dependencies": {
"@cubejs-backend/native": "1.7.30",
"@cubejs-backend/query-orchestrator": "1.7.30",
"@cubejs-backend/shared": "1.7.30",
"@cubejs-backend/native": "1.7.31",
"@cubejs-backend/query-orchestrator": "1.7.31",
"@cubejs-backend/shared": "1.7.31",
"@ungap/structured-clone": "^0.3.4",
"assert-never": "^1.4.0",
"body-parser": "^1.19.0",
Expand All @@ -53,7 +53,7 @@
"zod": "^4.1.13"
},
"devDependencies": {
"@cubejs-backend/linter": "1.7.30",
"@cubejs-backend/linter": "1.7.31",
"@types/express": "^4.17.21",
"@types/jest": "^29",
"@types/jsonwebtoken": "^9.0.2",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-athena-driver/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.7.31](https://github.com/cube-js/cube/compare/v1.7.30...v1.7.31) (2026-08-31)

**Note:** Version bump only for package @cubejs-backend/athena-driver

## [1.7.30](https://github.com/cube-js/cube/compare/v1.7.29...v1.7.30) (2026-08-28)

**Note:** Version bump only for package @cubejs-backend/athena-driver
Expand Down
10 changes: 5 additions & 5 deletions packages/cubejs-athena-driver/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/athena-driver",
"description": "Cube.js Athena database driver",
"author": "Cube Dev, Inc.",
"version": "1.7.30",
"version": "1.7.31",
"repository": {
"type": "git",
"url": "https://github.com/cube-js/cube.git",
Expand Down Expand Up @@ -31,12 +31,12 @@
"dependencies": {
"@aws-sdk/client-athena": "^3.22.0",
"@aws-sdk/credential-providers": "^3.22.0",
"@cubejs-backend/base-driver": "1.7.30",
"@cubejs-backend/shared": "1.7.30"
"@cubejs-backend/base-driver": "1.7.31",
"@cubejs-backend/shared": "1.7.31"
},
"devDependencies": {
"@cubejs-backend/linter": "1.7.30",
"@cubejs-backend/testing-shared": "1.7.30",
"@cubejs-backend/linter": "1.7.31",
"@cubejs-backend/testing-shared": "1.7.31",
"@types/ramda": "^0.27.40",
"typescript": "~5.2.2"
},
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-cloud/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.7.31](https://github.com/cube-js/cube/compare/v1.7.30...v1.7.31) (2026-08-31)

**Note:** Version bump only for package @cubejs-backend/cloud

## [1.7.30](https://github.com/cube-js/cube/compare/v1.7.29...v1.7.30) (2026-08-28)

**Note:** Version bump only for package @cubejs-backend/cloud
Expand Down
6 changes: 3 additions & 3 deletions packages/cubejs-backend-cloud/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cubejs-backend/cloud",
"version": "1.7.30",
"version": "1.7.31",
"description": "Cube Cloud package",
"main": "dist/src/index.js",
"typings": "dist/src/index.d.ts",
Expand Down Expand Up @@ -30,15 +30,15 @@
"devDependencies": {
"@babel/core": "^7.24.5",
"@babel/preset-env": "^7.24.5",
"@cubejs-backend/linter": "1.7.30",
"@cubejs-backend/linter": "1.7.31",
"@types/fs-extra": "^9.0.8",
"@types/jest": "^29",
"jest": "^29",
"typescript": "~5.2.2"
},
"dependencies": {
"@cubejs-backend/dotenv": "^9.0.2",
"@cubejs-backend/shared": "1.7.30",
"@cubejs-backend/shared": "1.7.31",
"chokidar": "^3.5.1",
"env-var": "^6.3.0",
"form-data": "^4.0.0",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-maven/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.7.31](https://github.com/cube-js/cube/compare/v1.7.30...v1.7.31) (2026-08-31)

**Note:** Version bump only for package @cubejs-backend/maven

## [1.7.30](https://github.com/cube-js/cube/compare/v1.7.29...v1.7.30) (2026-08-28)

**Note:** Version bump only for package @cubejs-backend/maven
Expand Down
6 changes: 3 additions & 3 deletions packages/cubejs-backend-maven/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/maven",
"description": "Cube.js Maven Wrapper for java dependencies downloading",
"author": "Cube Dev, Inc.",
"version": "1.7.30",
"version": "1.7.31",
"license": "Apache-2.0",
"repository": {
"type": "git",
Expand Down Expand Up @@ -31,12 +31,12 @@
"dist/src/*"
],
"dependencies": {
"@cubejs-backend/shared": "1.7.30",
"@cubejs-backend/shared": "1.7.31",
"source-map-support": "^0.5.19",
"xmlbuilder2": "^2.4.0"
},
"devDependencies": {
"@cubejs-backend/linter": "1.7.30",
"@cubejs-backend/linter": "1.7.31",
"@types/jest": "^29",
"@types/node": "^22",
"jest": "^29",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-native/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.7.31](https://github.com/cube-js/cube/compare/v1.7.30...v1.7.31) (2026-08-31)

**Note:** Version bump only for package @cubejs-backend/native

## [1.7.30](https://github.com/cube-js/cube/compare/v1.7.29...v1.7.30) (2026-08-28)

**Note:** Version bump only for package @cubejs-backend/native
Expand Down
8 changes: 4 additions & 4 deletions packages/cubejs-backend-native/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cubejs-backend/native",
"version": "1.7.30",
"version": "1.7.31",
"author": "Cube Dev, Inc.",
"description": "Native module for Cube.js (binding to Rust codebase)",
"main": "dist/js/index.js",
Expand Down Expand Up @@ -39,7 +39,7 @@
"dist/js"
],
"devDependencies": {
"@cubejs-backend/linter": "1.7.30",
"@cubejs-backend/linter": "1.7.31",
"@types/jest": "^29",
"@types/node": "^22",
"cargo-cp-artifact": "^0.1.9",
Expand All @@ -50,8 +50,8 @@
"uuid": "^11.1.1"
},
"dependencies": {
"@cubejs-backend/cubesql": "1.7.30",
"@cubejs-backend/shared": "1.7.30",
"@cubejs-backend/cubesql": "1.7.31",
"@cubejs-backend/shared": "1.7.31",
"@cubejs-infra/post-installer": "^0.1.2"
},
"resources": {
Expand Down
6 changes: 6 additions & 0 deletions packages/cubejs-backend-shared/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.7.31](https://github.com/cube-js/cube/compare/v1.7.30...v1.7.31) (2026-08-31)

### Features

- Support local computeing for interval refresh keys (behind flag) ([#11614](https://github.com/cube-js/cube/issues/11614)) ([d2b43a4](https://github.com/cube-js/cube/commit/d2b43a4accd2c5d116342f9ad5be648920197a7e))

## [1.7.30](https://github.com/cube-js/cube/compare/v1.7.29...v1.7.30) (2026-08-28)

**Note:** Version bump only for package @cubejs-backend/shared
Expand Down
4 changes: 2 additions & 2 deletions packages/cubejs-backend-shared/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cubejs-backend/shared",
"version": "1.7.30",
"version": "1.7.31",
"description": "Shared code for Cube.js backend packages",
"main": "dist/src/index.js",
"typings": "dist/src/index.d.ts",
Expand All @@ -27,7 +27,7 @@
},
"license": "Apache-2.0",
"devDependencies": {
"@cubejs-backend/linter": "1.7.30",
"@cubejs-backend/linter": "1.7.31",
"@types/bytes": "^3.1.5",
"@types/cli-progress": "^3.9.1",
"@types/jest": "^29",
Expand Down
3 changes: 3 additions & 0 deletions packages/cubejs-backend-shared/src/env.ts
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,9 @@ const variables: Record<string, (...args: any) => any> = {
preciseDecimalInCubestore: () => get('CUBEJS_DB_PRECISE_DECIMAL_IN_CUBESTORE')
.default('false')
.asBoolStrict(),
refreshKeyLocalTime: () => get('CUBEJS_REFRESH_KEY_LOCAL_TIME')
.default('false')
.asBoolStrict(),

/** ****************************************************************
* Common db options *
Expand Down
19 changes: 19 additions & 0 deletions packages/cubejs-backend-shared/test/env.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,25 @@ describe('getEnv', () => {
).toBe(10);
});

test('refreshKeyLocalTime', () => {
delete process.env.CUBEJS_REFRESH_KEY_LOCAL_TIME;
expect(getEnv('refreshKeyLocalTime')).toBe(false);

process.env.CUBEJS_REFRESH_KEY_LOCAL_TIME = 'true';
expect(getEnv('refreshKeyLocalTime')).toBe(true);

process.env.CUBEJS_REFRESH_KEY_LOCAL_TIME = 'false';
expect(getEnv('refreshKeyLocalTime')).toBe(false);
});

test('refreshKeyLocalTime(exception)', () => {
process.env.CUBEJS_REFRESH_KEY_LOCAL_TIME = 'yes';

expect(() => getEnv('refreshKeyLocalTime')).toThrowError();

delete process.env.CUBEJS_REFRESH_KEY_LOCAL_TIME;
});

test('livePreview', () => {
expect(getEnv('livePreview')).toBe(true);

Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-base-driver/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.7.31](https://github.com/cube-js/cube/compare/v1.7.30...v1.7.31) (2026-08-31)

**Note:** Version bump only for package @cubejs-backend/base-driver

## [1.7.30](https://github.com/cube-js/cube/compare/v1.7.29...v1.7.30) (2026-08-28)

**Note:** Version bump only for package @cubejs-backend/base-driver
Expand Down
6 changes: 3 additions & 3 deletions packages/cubejs-base-driver/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/base-driver",
"description": "Cube.js Base Driver",
"author": "Cube Dev, Inc.",
"version": "1.7.30",
"version": "1.7.31",
"repository": {
"type": "git",
"url": "https://github.com/cube-js/cube.git",
Expand Down Expand Up @@ -33,11 +33,11 @@
"@aws-sdk/s3-request-presigner": "^3.49.0",
"@azure/identity": "^4.4.1",
"@azure/storage-blob": "^12.9.0",
"@cubejs-backend/shared": "1.7.30",
"@cubejs-backend/shared": "1.7.31",
"@google-cloud/storage": "^7.13.0"
},
"devDependencies": {
"@cubejs-backend/linter": "1.7.30",
"@cubejs-backend/linter": "1.7.31",
"@types/jest": "^29",
"@types/node": "^22",
"jest": "^29",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-bigquery-driver/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.7.31](https://github.com/cube-js/cube/compare/v1.7.30...v1.7.31) (2026-08-31)

**Note:** Version bump only for package @cubejs-backend/bigquery-driver

## [1.7.30](https://github.com/cube-js/cube/compare/v1.7.29...v1.7.30) (2026-08-28)

**Note:** Version bump only for package @cubejs-backend/bigquery-driver
Expand Down
Loading
Loading