Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
33b9342
docs: Fix percent calculations
igorlukanin Sep 5, 2024
c0466fd
fix(schema-compiler): propagate FILTER_PARAMS from view to inner cube…
KSDaemon Sep 5, 2024
7d537c7
chore(schema-compiler): fix yaml compiler integration test (#8674)
KSDaemon Sep 5, 2024
ae17e5b
docs: Tiny edits
igorlukanin Sep 6, 2024
1ce30a4
docs: Add Cube Rollup London banners
igorlukanin Sep 6, 2024
acbdcd2
refactor(cubesql): Use LazyLock instead of lazy_static, move more reg…
mcheshkov Sep 6, 2024
46b3a36
feat(cubesql): Support join with type coercion (#8608)
mcheshkov Sep 6, 2024
2288c18
feat(cubesql): Fill pg_description table with cube and members descri…
mcheshkov Sep 6, 2024
95beaa4
v0.35.80
ovr Sep 9, 2024
33f3726
docs: Update environments.mdx (#8681)
morgan-at-cube Sep 9, 2024
20bfec7
docs: Update dbt.mdx (#8680)
morgan-at-cube Sep 9, 2024
863f370
fix(api-gateway): fixes an issue where queries to get the total count…
rdwoodring Sep 9, 2024
ca7c292
fix: Updated jsonwebtoken in all packages (#8282) Thanks @jlloyd-wid…
jlloyd-widen Sep 9, 2024
7a7c8cb
refactor(cubestore): Create CubestoreMetadataCacheFactory and TableEx…
srh Sep 9, 2024
70ff901
docs: describe additional meta params for MDX API (#8690)
MikeNitsenko Sep 10, 2024
cdfbd1e
feat: ksql and rollup pre-aggregations (#8619)
RusovDmitriy Sep 11, 2024
ebfdb62
docs: Fix import logic and make example easier to understand (#8688)
AvilaJulio Sep 11, 2024
db2256d
docs: Fix DEPRECATION.md
igorlukanin Sep 11, 2024
64788de
feat(cubestore): Support date_bin function (#8672)
KSDaemon Sep 12, 2024
0f7bb3d
fix(cubesql): Use load meta with user change for SQL generation calls…
mcheshkov Sep 12, 2024
995f526
v0.35.81
ovr Sep 12, 2024
82acc0f
Merge tag 'v0.35.81' into nicolas/crmrep-4359-upgrade-cubejs-to-036
Spark-NF Dec 30, 2025
b594792
chore: update fork to v0.35.81
Spark-NF Dec 30, 2025
b308d60
build: push to GCP
Spark-NF Dec 30, 2025
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
4 changes: 2 additions & 2 deletions .github/workflows/image-build.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: image build

env:
TAG: v0.35.79-gorgias
TAG: v0.35.81-gorgias

on:
push:
Expand Down Expand Up @@ -42,7 +42,7 @@ jobs:
DOCKER_BUILD_RECORD_UPLOAD: false
DOCKER_BUILD_SUMMARY: true
with:
push: ${{ github.ref == 'refs/heads/gorgias' }}
push: true # ${{ github.ref == 'refs/heads/gorgias' }}
context: rust/cubestore
file: rust/cubestore/gorgias.Dockerfile
tags: |
Expand Down
36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,42 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.35.81](https://github.com/cube-js/cube/compare/v0.35.80...v0.35.81) (2024-09-12)


### Bug Fixes

* **api-gateway:** fixes an issue where queries to get the total count of results were incorrectly applying sorting from the original query and also were getting default ordering applied when the query ordering was stripped out ([#8060](https://github.com/cube-js/cube/issues/8060)) Thanks [@rdwoodring](https://github.com/rdwoodring)! ([863f370](https://github.com/cube-js/cube/commit/863f3709e97c904f1c800ad98889dc272dbfddbd))
* **cubesql:** Use load meta with user change for SQL generation calls ([#8693](https://github.com/cube-js/cube/issues/8693)) ([0f7bb3d](https://github.com/cube-js/cube/commit/0f7bb3d3a96447a69835e3c591ebaf67592c3eed))
* Updated jsonwebtoken in all packages ([#8282](https://github.com/cube-js/cube/issues/8282)) Thanks [@jlloyd-widen](https://github.com/jlloyd-widen) ! ([ca7c292](https://github.com/cube-js/cube/commit/ca7c292e0122be50ac7adc9b9d4910623d19f840))


### Features

* **cubestore:** Support date_bin function ([#8672](https://github.com/cube-js/cube/issues/8672)) ([64788de](https://github.com/cube-js/cube/commit/64788dea89b0244911518de203929fc5c773cd8f))
* ksql and rollup pre-aggregations ([#8619](https://github.com/cube-js/cube/issues/8619)) ([cdfbd1e](https://github.com/cube-js/cube/commit/cdfbd1e21ffcf111e40c525f8a391cc0dcee3c11))





## [0.35.80](https://github.com/cube-js/cube/compare/v0.35.79...v0.35.80) (2024-09-09)


### Bug Fixes

* **schema-compiler:** propagate FILTER_PARAMS from view to inner cube's SELECT ([#8466](https://github.com/cube-js/cube/issues/8466)) ([c0466fd](https://github.com/cube-js/cube/commit/c0466fde9b7a3834159d7ec592362edcab6d9795))


### Features

* **cubesql:** Fill pg_description table with cube and members descriptions ([#8618](https://github.com/cube-js/cube/issues/8618)) ([2288c18](https://github.com/cube-js/cube/commit/2288c18bf30d1f3a3299b235fe9b4405d2cb7463))
* **cubesql:** Support join with type coercion ([#8608](https://github.com/cube-js/cube/issues/8608)) ([46b3a36](https://github.com/cube-js/cube/commit/46b3a36936f0f00805144714f0dd87a3c50a5e0a))





## [0.35.79](https://github.com/cube-js/cube/compare/v0.35.78...v0.35.79) (2024-09-04)


Expand Down
12 changes: 11 additions & 1 deletion DEPRECATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ features:
| Deprecated | [Node.js 16](#nodejs-16) | v0.35.0 | |
| Removed | [MySQL-based SQL API](#mysql-based-sql-api) | v0.35.0 | v0.35.0 |
| Removed | [`initApp` hook](#initapp-hook) | v0.35.0 | v0.35.0 |
| Deprecated | [`/v1/run-scheduled-refresh` REST API endpoint](#v1run-scheduled-refresh-rest-api-endpoint) | v0.35.0 | |

### Node.js 8

Expand Down Expand Up @@ -392,4 +393,13 @@ Early prototype of the MySQL-based SQL API is removed in favor of the Postgres-c

**Removed in release: v0.35.0**

The `initApp` hook is removed as it's not relevant anymore for Docker-based architecture.
The `initApp` hook is removed as it's not relevant anymore for Docker-based architecture.

### `/v1/run-scheduled-refresh` REST API endpoint

**Deprecated in release: v0.35.0**

The `/v1/run-scheduled-refresh` REST API endpoint is deprecated as it's not
relevant anymore for Docker-based architecture. Use the [Orchestration
API](https://cube.dev/docs/product/apis-integrations/orchestration-api) and
`/v1/pre-aggregations/jobs` endpoint instead.
31 changes: 19 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ The CI will build and push the image for the `gorgisa` branch but only build the
Locall, build and tag the image with:

```bash
docker build -t us-east1-docker.pkg.dev/gorgias-helpdesk-staging/container-images/cubestore:v0.35.79-gorgias -f rust/cubestore/gorgias.Dockerfile rust/cubestore

docker tag us-east1-docker.pkg.dev/gorgias-helpdesk-staging/container-images/cubestore:v0.35.79-gorgias \
us-central1-docker.pkg.dev/gorgias-revenue-staging/container-images/cubestore:v0.35.79-gorgias
docker tag us-east1-docker.pkg.dev/gorgias-helpdesk-staging/container-images/cubestore:v0.35.79-gorgias \
us-east1-docker.pkg.dev/gorgias-helpdesk-production/container-images/cubestore:v0.35.79-gorgias
docker tag us-east1-docker.pkg.dev/gorgias-helpdesk-staging/container-images/cubestore:v0.35.79-gorgias \
us-central1-docker.pkg.dev/gorgias-revenue-production/container-images/cubestore:v0.35.79-gorgias
docker build -t us-east1-docker.pkg.dev/gorgias-helpdesk-staging/container-images/cubestore:v0.35.81-gorgias -f rust/cubestore/gorgias.Dockerfile rust/cubestore

docker tag us-east1-docker.pkg.dev/gorgias-helpdesk-staging/container-images/cubestore:v0.35.81-gorgias \
us-central1-docker.pkg.dev/gorgias-revenue-staging/container-images/cubestore:v0.35.81-gorgias
docker tag us-east1-docker.pkg.dev/gorgias-helpdesk-staging/container-images/cubestore:v0.35.81-gorgias \
us-east1-docker.pkg.dev/gorgias-helpdesk-production/container-images/cubestore:v0.35.81-gorgias
docker tag us-east1-docker.pkg.dev/gorgias-helpdesk-staging/container-images/cubestore:v0.35.81-gorgias \
us-central1-docker.pkg.dev/gorgias-revenue-production/container-images/cubestore:v0.35.81-gorgias
```

Then push the image to the registry with:
Expand All @@ -23,10 +23,10 @@ Then push the image to the registry with:
gcloud auth configure-docker us-east1-docker.pkg.dev --quiet
gcloud auth configure-docker us-central1-docker.pkg.dev --quiet

docker push us-east1-docker.pkg.dev/gorgias-helpdesk-staging/container-images/cubestore:v0.35.79-gorgias
docker push us-central1-docker.pkg.dev/gorgias-revenue-staging/container-images/cubestore:v0.35.79-gorgias
docker push us-east1-docker.pkg.dev/gorgias-helpdesk-production/container-images/cubestore:v0.35.79-gorgias
docker push us-central1-docker.pkg.dev/gorgias-revenue-production/container-images/cubestore:v0.35.79-gorgias
docker push us-east1-docker.pkg.dev/gorgias-helpdesk-staging/container-images/cubestore:v0.35.81-gorgias
docker push us-central1-docker.pkg.dev/gorgias-revenue-staging/container-images/cubestore:v0.35.81-gorgias
docker push us-east1-docker.pkg.dev/gorgias-helpdesk-production/container-images/cubestore:v0.35.81-gorgias
docker push us-central1-docker.pkg.dev/gorgias-revenue-production/container-images/cubestore:v0.35.81-gorgias

```

Expand All @@ -43,6 +43,13 @@ docker push us-central1-docker.pkg.dev/gorgias-revenue-production/container-imag
<a href="https://cube.dev?ref=github-readme"><img src="https://raw.githubusercontent.com/cube-js/cube/master/docs/content/cube-logo-with-bg.png" alt="Cube — Semantic Layer for Data Applications" width="300px"></a>
</p>

<p align="center">
<a href="https://cube.dev/events/cube-rollup-london?ref=github-readme">
<img src="https://ucarecdn.com/15574460-3a9f-4fd2-aa86-0edae2d5bcaf/"/>
</a>
</p>
<br/>

[Website](https://cube.dev?ref=github-readme) • [Getting Started](https://cube.dev/docs/getting-started?ref=github-readme) • [Docs](https://cube.dev/docs?ref=github-readme) • [Examples](https://cube.dev/docs/examples?ref=github-readme) • [Blog](https://cube.dev/blog?ref=github-readme) • [Slack](https://slack.cube.dev?ref=github-readme) • [Twitter](https://twitter.com/the_cube_dev)

[![npm version](https://badge.fury.io/js/%40cubejs-backend%2Fserver.svg)](https://badge.fury.io/js/%40cubejs-backend%2Fserver)
Expand Down
3 changes: 2 additions & 1 deletion docs/pages/guides/dbt.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,7 @@ cubes:
- name: "{{ column.name }}"
sql: "{{ column.sql }}"
type: "{{ column.type }}"
description: "{{ column.description }}"
meta:
source: dbt
{% endfor %}
Expand Down Expand Up @@ -361,4 +362,4 @@ of the REST API.
[link-dbt-docs-columns]: https://docs.getdbt.com/reference/resource-properties/columns
[link-dbt-materializations]: https://docs.getdbt.com/docs/build/materializations
[link-smart-open]: https://pypi.org/project/smart-open/
[link-boto3]: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-examples.html
[link-boto3]: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-examples.html
3 changes: 1 addition & 2 deletions docs/pages/guides/style-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ This style guide is intended to be used by:

## Syntax

- Default to [YAML syntax][ref-syntax-model] for data modeling. Use JavaScript
syntax for dynamic data models only.
- Default to [YAML syntax][ref-syntax-model] for data modeling.
- Use [snake case][ref-syntax-naming] when using either YAML or JavaScript
syntax.
- Follow the recommendations on [YAML syntax][self-yaml] and [SQL
Expand Down
65 changes: 64 additions & 1 deletion docs/pages/product/apis-integrations/mdx-api.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,72 @@ views:
- city
```

### Dimension keys

You can define a member that will be used as a key for a dimension in the cube's model file.

```yaml
cubes:
- name: users
sql_table: USERS
public: false

dimensions:
- name: id
sql: "{CUBE}.ID"
type: number
primary_key: true

- name: first_name
sql: FIRST_NAME
type: string
meta:
key_member: users_id
```

### Dimension labels

You can define a member that will be used as a label for a dimension in the cube's model file.

```yaml
cubes:
- name: users
sql_table: USERS
public: false

dimensions:
- name: id
sql: "{CUBE}.ID"
type: number
meta:
label_member: users_first_name
```

### Custom properties

You can define custom properties for dimensions in the cube's model file.

```yaml
cubes:
- name: users
sql_table: USERS
public: false

dimensions:
- name: id
sql: "{CUBE}.ID"
type: number
meta:
properties:
- name: "Property A"
column: users_first_name
- name: "Property B"
value: users_city
```

### Measure groups

MDX API supports organizing measures into groups (folders). You can define measure groups in the view's schema file.
MDX API supports organizing measures into groups (folders). You can define measure groups in the view's model file.

```yaml
views:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ cubes:

- name: completed_percentage
type: number
sql: "({completed_count} / NULLIF({count}, 0)) * 100.0"
sql: "(100.0 * {CUBE.completed_count} / NULLIF({CUBE.count}, 0))"
format: percent
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,19 +103,20 @@ which is located in a parent directory.
├── README.md
├── cube.js
├── package.json
└── model
├── utils.js
└── sales
└── model/
├── shared_utils/
│ └── utils.js
└── sales/
└── orders.js
```

```javascript
// in model/sales/orders.js
import { capitalize } from "./schema_utils";
import { capitalize } from "./shared_utils/utils";
```

```javascript
// in model/utils.js
// in model/shared_utils/utils.js
export const capitalize = (s) => s.charAt(0).toUpperCase() + s.slice(1);
```

Expand All @@ -124,4 +125,4 @@ export const capitalize = (s) => s.charAt(0).toUpperCase() + s.slice(1);
https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export
[mdn-js-es6-import]:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
[ref-schema-string-time-dims]: /guides/recipes/data-modeling/string-time-dimensions
[ref-schema-string-time-dims]: /guides/recipes/data-modeling/string-time-dimensions
12 changes: 9 additions & 3 deletions docs/pages/product/data-modeling/syntax.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ model

Cube supports two ways to define data model files: with [YAML][wiki-yaml] or
JavaScript syntax. YAML data model files should have the `.yml` extension,
whereas JavaScript data model files should end with `.js`.
whereas JavaScript data model files should end with `.js`. You can mix YAML and
JavaScript files within a single data model.

<CodeTabs>

Expand All @@ -63,11 +64,15 @@ cubes:

</CodeTabs>

You define the data model statically or build [dynamic data
You can define the data model statically or build [dynamic data
models][ref-dynamic-data-models] programmatically. YAML data models use
[Jinja and Python][ref-dynamic-data-models-jinja] whereas JavaScript data
models use [JavaScript][ref-dynamic-data-models-js].

It is [recommended][ref-style-guide] to default to YAML syntax because of its
simplicity and readability. However, JavaScript might provide more flexibility
for dynamic data modeling.

## Naming

Common rules apply to names of entities within the data model. All names must:
Expand Down Expand Up @@ -586,4 +591,5 @@ defining dynamic data models.
[wiki-yaml]: https://en.wikipedia.org/wiki/YAML
[link-snowflake-listagg]: https://docs.snowflake.com/en/sql-reference/functions/listagg
[link-bigquery-stringagg]: https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#string_agg
[link-sql-udf]: https://en.wikipedia.org/wiki/User-defined_function#Databases
[link-sql-udf]: https://en.wikipedia.org/wiki/User-defined_function#Databases
[ref-style-guide]: /guides/style-guide
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ within the `measures` block.
```yaml
- name: completed_percentage
type: number
sql: "({completed_count} / NULLIF({count}, 0)) * 100.0"
sql: "(100.0 * {CUBE.completed_count} / NULLIF({CUBE.count}, 0))"
format: percent
```

Expand Down Expand Up @@ -159,7 +159,7 @@ cubes:

- name: completed_percentage
type: number
sql: "({completed_count} / NULLIF({count}, 0)) * 100.0"
sql: "(100.0 * {CUBE.completed_count} / NULLIF({CUBE.count}, 0))"
format: percent
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ within the `measures` block.
```yaml
- name: completed_percentage
type: number
sql: "({completed_count} / NULLIF({count}, 0)) * 100.0"
sql: "(100.0 * {CUBE.completed_count} / NULLIF({CUBE.count}, 0))"
format: percent
```

Expand Down Expand Up @@ -154,7 +154,7 @@ cubes:

- name: completed_percentage
type: number
sql: "({completed_count} / NULLIF({count}, 0)) * 100.0"
sql: "(100.0 * {CUBE.completed_count} / NULLIF({CUBE.count}, 0))"
format: percent
```

Expand Down
10 changes: 7 additions & 3 deletions docs/pages/product/workspace/environments.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,17 @@
An environment provides access to your data model. Cube Cloud provides the following environments:
- production (default)
- staging - providing access to the data model on a specific branch.
Each branch in the repository corresponds to a separate staging environment.
Each branch in the repository corresponds to a separate staging environment.
Changes must be committed to a branch to be viewable in this environment.
- development - providing access to the data model that you are currently working on.
The development environment is automatically created when you enter [development mode][ref-dev-mode].
It tracks the branch you're on and is updated automatically when you make changes to the data model.
One development environment is allocated per user.
It tracks the branch you're currently on and is updated automatically when you save changes to the data model.
You cannot query the development enviornment unless your user is in dev mode on the branch you are trying to access.

Each environment provides its own set of API and SQL API endpoints.
You can access them on the [Data Model][ref-data-model]'s Overview page and <Btn>BI Integrations</Btn> SQL API Connection tab.
You can reference them on the [Data Model][ref-data-model]'s Overview page and <Btn>BI Integrations</Btn> SQL API Connection tab.
To query a development environment's API endpoints, your user must be in dev mode and on the branch that has the saved changes.

<Screenshot
src="https://ucarecdn.com/e1cddf72-3044-4d72-a0b9-023bf3285786/"
Expand Down
10 changes: 10 additions & 0 deletions docs/theme.config.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,16 @@ const config: DocsThemeConfig = {
</BlogButton>
</div>
)
},
toc: {
extraContent: (
<div>
<br/>
<a target="_blank" href="https://cube.dev/events/cube-rollup-london?ref=github-readme">
<img src="https://ucarecdn.com/f90c6d06-abac-45d5-92be-4217ee26f096/"/>
</a>
</div>
)
}
};

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": "0.35.79",
"version": "0.35.81",
"npmClient": "yarn",
"useWorkspaces": true,
"packages": [
Expand Down
Loading