diff --git a/.dockerignore b/.dockerignore
index 9d0a5a5390..bfc7f4fbc8 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -11,11 +11,13 @@
!rust/cubestore/bin
!rust/cubesql/package.json
+# Ignoring builds for native from local machime to protect a problem with different architecture
+packages/cubejs-backend-native/index.node
+packages/cubejs-backend-native/native/
+# Caches
packages/cubejs-backend-native/target
packages/*/node_modules/
packages/*/dist/
packages/*/coverage/
+# Other
packages/cubejs-server-core/playground/
-packages/cubejs-serverless
-packages/cubejs-serverless-aws
-packages/cubejs-serverless-google
\ No newline at end of file
diff --git a/.github/workflows/cloud.yml b/.github/workflows/cloud.yml
index a4ac29ae1a..81ea469639 100644
--- a/.github/workflows/cloud.yml
+++ b/.github/workflows/cloud.yml
@@ -57,7 +57,7 @@ jobs:
strategy:
matrix:
- node-version: [ 18.x ]
+ node-version: [ 20.x ]
db: [ 'athena', 'bigquery', 'snowflake' ]
fail-fast: false
@@ -80,7 +80,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Yarn install
run: CUBESTORE_SKIP_POST_INSTALL=true yarn install --frozen-lockfile
- name: Build client
diff --git a/.github/workflows/drivers-tests.yml b/.github/workflows/drivers-tests.yml
index 12e337c49c..03dbf52612 100644
--- a/.github/workflows/drivers-tests.yml
+++ b/.github/workflows/drivers-tests.yml
@@ -84,7 +84,7 @@ jobs:
name: Build native Linux ${{ matrix.node-version }} ${{ matrix.target }} Python ${{ matrix.python-version }}
strategy:
matrix:
- node-version: [ 18 ]
+ node-version: [ 20 ]
python-version: [ "fallback" ]
target: [ "x86_64-unknown-linux-gnu" ]
fail-fast: false
@@ -109,7 +109,7 @@ jobs:
- name: Install Yarn
run: npm install -g yarn
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Install cargo-cp-artifact
run: npm install -g cargo-cp-artifact@0.1
- uses: Swatinem/rust-cache@v2
@@ -174,33 +174,57 @@ jobs:
timeout-minutes: 30
needs: [latest-tag-sha, build]
if: (needs['latest-tag-sha'].outputs.sha != github.sha)
+ env:
+ CLOUD_DATABASES: >
+ athena-export-bucket-s3
+ bigquery-export-bucket-gcs
+ clickhouse-export-bucket-s3
+ databricks-jdbc
+ databricks-jdbc-export-bucket-s3
+ databricks-jdbc-export-bucket-azure
+ snowflake
+ snowflake-export-bucket-s3
+ snowflake-export-bucket-azure
+ snowflake-export-bucket-azure-via-storage-integration
+ snowflake-export-bucket-gcs
+ # As per docs:
+ # Secrets cannot be directly referenced in if: conditionals. Instead, consider setting
+ # secrets as job-level environment variables, then referencing the environment variables
+ # to conditionally run steps in the job.
+ DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY: ${{ secrets.DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY }}
strategy:
matrix:
node:
- - 18.x
+ - 20.x
database:
- - athena
- - bigquery
+ - athena-export-bucket-s3
+ - bigquery-export-bucket-gcs
- clickhouse
+ - clickhouse-export-bucket-s3
- databricks-jdbc
- - databricks-jdbc-export-bucket
+ - databricks-jdbc-export-bucket-s3
+ - databricks-jdbc-export-bucket-azure
- mssql
- mysql
- postgres
- snowflake
+ - snowflake-export-bucket-s3
+ - snowflake-export-bucket-azure
+ - snowflake-export-bucket-azure-via-storage-integration
+ - snowflake-export-bucket-gcs
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4
- - name: Install Node.js 18.x
+ - name: Install Node.js 20.x
uses: actions/setup-node@v4
with:
- node-version: 18.x
+ node-version: 20.x
- name: Configure `yarn`
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Get yarn cache directory path
id: yarn-cache-dir-path
@@ -238,6 +262,11 @@ jobs:
yarn tsc
- name: Run tests
+ uses: nick-fields/retry@v3
+ # It's enough to test for any one secret because they are set all at once or not set all
+ if: |
+ (contains(env.CLOUD_DATABASES, matrix.database) && env.DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY != '') ||
+ (!contains(env.CLOUD_DATABASES, matrix.database))
env:
# Athena
DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY: ${{ secrets.DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY }}
@@ -246,6 +275,13 @@ jobs:
# BigQuery
DRIVERS_TESTS_CUBEJS_DB_BQ_CREDENTIALS: ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_BQ_CREDENTIALS }}
+ #GCS
+ DRIVERS_TESTS_CUBEJS_DB_EXPORT_GCS_CREDENTIALS: ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_EXPORT_GCS_CREDENTIALS }}
+
+ # Azure
+ DRIVERS_TESTS_CUBEJS_DB_EXPORT_BUCKET_AZURE_KEY: ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_EXPORT_BUCKET_AZURE_KEY }}
+ DRIVERS_TESTS_CUBEJS_DB_EXPORT_BUCKET_AZURE_SAS_TOKEN: ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_EXPORT_BUCKET_AZURE_SAS_TOKEN }}
+
# Databricks
DRIVERS_TESTS_CUBEJS_DB_DATABRICKS_URL: ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_DATABRICKS_URL }}
DRIVERS_TESTS_CUBEJS_DB_DATABRICKS_TOKEN: ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_DATABRICKS_TOKEN }}
@@ -255,7 +291,12 @@ jobs:
# Snowflake
DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_USER: ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_USER }}
DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_PASS: ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_PASS }}
- run: |
- cd ./packages/cubejs-testing-drivers
- export DEBUG=testcontainers
- yarn ${{ matrix.database }}-full
+ with:
+ max_attempts: 3
+ retry_on: error
+ retry_wait_seconds: 15
+ timeout_minutes: 20
+ command: |
+ cd ./packages/cubejs-testing-drivers
+ export DEBUG=testcontainers
+ yarn ${{ matrix.database }}-full
diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml
index 279415a053..35c998c110 100644
--- a/.github/workflows/master.yml
+++ b/.github/workflows/master.yml
@@ -64,14 +64,14 @@ jobs:
workspaces: ./rust/cubesql -> target
key: cubesql-x86_64-unknown-linux-gnu
shared-key: cubesql-x86_64-unknown-linux-gnu
- - name: Install Node.js 18
+ - name: Install Node.js 20
uses: actions/setup-node@v4
with:
- node-version: 18
+ node-version: 20
- name: Install Yarn
run: npm install -g yarn
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
# We don't need to install all yarn deps to build native
- name: Install cargo-cp-artifact
run: npm install -g cargo-cp-artifact@0.1
diff --git a/.github/workflows/post-release.yml b/.github/workflows/post-release.yml
index 45ea463525..23b86be68d 100644
--- a/.github/workflows/post-release.yml
+++ b/.github/workflows/post-release.yml
@@ -25,7 +25,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- node-version: [18.x]
+ node-version: [20.x]
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -42,11 +42,11 @@ jobs:
node_modules
rust/cubestore/node_modules
packages/*/node_modules
- key: ${{ runner.os }}-workspace-main-18.x-${{ hashFiles('**/yarn.lock') }}
+ key: ${{ runner.os }}-workspace-main-20.x-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
- ${{ runner.os }}-workspace-main-18.x-
+ ${{ runner.os }}-workspace-main-20.x-
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Yarn install
uses: nick-fields/retry@v3
env:
@@ -91,10 +91,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
- - name: Install Node.js 18.x
+ - name: Install Node.js 20.x
uses: actions/setup-node@v4
with:
- node-version: 18.x
+ node-version: 20.x
- name: Restore lerna
uses: actions/cache@v4
with:
@@ -104,11 +104,11 @@ jobs:
node_modules
rust/cubestore/node_modules
packages/*/node_modules
- key: ${{ runner.os }}-workspace-main-18.x-${{ hashFiles('**/yarn.lock') }}
+ key: ${{ runner.os }}-workspace-main-20.x-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
- ${{ runner.os }}-workspace-main-18.x-
+ ${{ runner.os }}-workspace-main-20.x-
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Yarn install
uses: nick-fields/retry@v3
env:
@@ -155,10 +155,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
- - name: Install Node.js 18.x
+ - name: Install Node.js 20.x
uses: actions/setup-node@v4
with:
- node-version: 18.x
+ node-version: 20.x
- name: Restore lerna
uses: actions/cache@v4
with:
@@ -168,11 +168,11 @@ jobs:
node_modules
rust/cubestore/node_modules
packages/*/node_modules
- key: ${{ runner.os }}-workspace-main-18.x-${{ hashFiles('**/yarn.lock') }}
+ key: ${{ runner.os }}-workspace-main-20.x-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
- ${{ runner.os }}-workspace-main-18.x-
+ ${{ runner.os }}-workspace-main-20.x-
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Yarn install
uses: nick-fields/retry@v3
env:
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index dd2ef1e3a7..9dcbda2011 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -26,10 +26,10 @@ jobs:
# override: true # this is by default on
rustflags: ""
components: rustfmt
- - name: Install Node.js 18.x
+ - name: Install Node.js 20.x
uses: actions/setup-node@v4
with:
- node-version: 18.x
+ node-version: 20.x
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -42,7 +42,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Yarn install
uses: nick-fields/retry@v3
env:
@@ -72,7 +72,7 @@ jobs:
name: Build native Linux ${{ matrix.node-version }} ${{ matrix.target }} Python ${{ matrix.python-version }}
strategy:
matrix:
- node-version: [18]
+ node-version: [20]
python-version: ["3.9", "3.10", "3.11", "3.12", "fallback"]
target: ["x86_64-unknown-linux-gnu", "aarch64-unknown-linux-gnu"]
include:
@@ -107,7 +107,7 @@ jobs:
- name: Install Yarn
run: npm install -g yarn
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
# We don't need to install all yarn deps to build native
- name: Install cargo-cp-artifact
run: npm install -g cargo-cp-artifact@0.1
@@ -151,7 +151,7 @@ jobs:
name: Build ${{ matrix.os-version }} ${{ matrix.target }} ${{ matrix.node-version }} Python ${{ matrix.python-version }}
strategy:
matrix:
- node-version: [18.x]
+ node-version: [20.x]
os-version: ["macos-12"]
target: ["x86_64-apple-darwin", "aarch64-apple-darwin"]
python-version: ["3.9", "3.10", "3.11", "3.12", "fallback"]
@@ -200,7 +200,7 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
# We don't need to install all yarn deps to build native
- name: Install cargo-cp-artifact
run: npm install -g cargo-cp-artifact@0.1
@@ -239,7 +239,7 @@ jobs:
name: Build ${{ matrix.os-version }} ${{ matrix.node-version }} Python ${{ matrix.python-version }}
strategy:
matrix:
- node-version: [18.x]
+ node-version: [20.x]
python-version: ["fallback"]
os-version: [windows-2019]
include:
@@ -274,7 +274,7 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
# We don't need to install all yarn deps to build native
- name: Install cargo-cp-artifact
run: npm install -g cargo-cp-artifact@0.1
@@ -381,10 +381,6 @@ jobs:
org.opencontainers.image.created=${{ steps.prep.outputs.created }}
org.opencontainers.image.revision=${{ github.sha }}
org.opencontainers.image.licenses=${{ fromJson(steps.repo.outputs.result).license.spdx_id }}
- # Workaround for yarn v1, it uses aggressive timeouts with summing time spending on fs, https://github.com/yarnpkg/yarn/issues/4890
- config-inline: |
- [worker.oci]
- max-parallelism = 1
build-args: |
IMAGE_VERSION=${{ steps.prep.outputs.version }}
@@ -669,6 +665,7 @@ jobs:
- target: x86_64-apple-darwin
os: macos-12
executable_name: cubestored
+ # upx has been disabled because it is crashing for macOS Ventura or above! It was disabled on 2024-09-05.
strip: false
compress: false
# bsd tar has a different format with Sparse files which breaks download script
diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml
index efc6505577..778f2b91cf 100644
--- a/.github/workflows/push.yml
+++ b/.github/workflows/push.yml
@@ -40,7 +40,8 @@ jobs:
strategy:
matrix:
- node-version: [18.x, 20.x]
+ # Current docker version + next LTS
+ node-version: [20.x, 22.x]
fail-fast: false
steps:
@@ -76,7 +77,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Yarn install
uses: nick-fields/retry@v3
env:
@@ -94,7 +95,7 @@ jobs:
- name: Lerna test
run: yarn lerna run --concurrency 1 --stream --no-prefix unit
# - uses: codecov/codecov-action@v1
-# if: (matrix.node-version == '18.x')
+# if: (matrix.node-version == '20.x')
# with:
# files: ./packages/*/coverage/clover.xml
# flags: cube-backend
@@ -116,10 +117,10 @@ jobs:
# override: true # this is by default on
rustflags: ""
components: rustfmt
- - name: Install Node.js 18.x
+ - name: Install Node.js 20.x
uses: actions/setup-node@v4
with:
- node-version: 18.x
+ node-version: 20.x
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -132,7 +133,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Yarn install
uses: nick-fields/retry@v3
env:
@@ -164,10 +165,10 @@ jobs:
# override: true # this is by default on
rustflags: ""
components: rustfmt
- - name: Install Node.js 18.x
+ - name: Install Node.js 20.x
uses: actions/setup-node@v4
with:
- node-version: 18.x
+ node-version: 20.x
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -180,7 +181,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Yarn install
uses: nick-fields/retry@v3
env:
@@ -242,7 +243,7 @@ jobs:
strategy:
matrix:
- node-version: [18.x]
+ node-version: [20.x]
fail-fast: false
steps:
@@ -280,7 +281,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Yarn install
uses: nick-fields/retry@v3
env:
@@ -315,7 +316,7 @@ jobs:
strategy:
matrix:
- node-version: [18.x]
+ node-version: [20.x]
db: [
'clickhouse', 'druid', 'elasticsearch', 'mssql', 'mysql', 'postgres', 'prestodb',
'mysql-aurora-serverless', 'crate', 'mongobi'
@@ -348,7 +349,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Yarn install
uses: nick-fields/retry@v3
env:
@@ -362,8 +363,13 @@ jobs:
- name: Lerna tsc
run: yarn tsc
- name: Run Integration tests for ${{ matrix.db }} matrix
- timeout-minutes: 30
- run: ./.github/actions/integration/${{ matrix.db }}.sh
+ uses: nick-fields/retry@v3
+ with:
+ max_attempts: 3
+ retry_on: error
+ retry_wait_seconds: 15
+ timeout_minutes: 30
+ command: ./.github/actions/integration/${{ matrix.db }}.sh
integration-smoke:
needs: [ latest-tag-sha, build-cubestore ]
@@ -373,7 +379,7 @@ jobs:
strategy:
matrix:
- node-version: [ 18.x ]
+ node-version: [ 20.x ]
fail-fast: false
steps:
@@ -411,7 +417,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Yarn install
uses: nick-fields/retry@v3
env:
@@ -528,10 +534,10 @@ jobs:
platforms: linux/amd64
push: true
tags: localhost:5000/cubejs/cube:${{ matrix.tag }}
- - name: Use Node.js 18.x
+ - name: Use Node.js 20.x
uses: actions/setup-node@v4
with:
- node-version: 18.x
+ node-version: 20.x
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -544,7 +550,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Yarn install
uses: nick-fields/retry@v3
env:
diff --git a/.github/workflows/rust-cubesql.yml b/.github/workflows/rust-cubesql.yml
index c4d57686e5..160c2a4937 100644
--- a/.github/workflows/rust-cubesql.yml
+++ b/.github/workflows/rust-cubesql.yml
@@ -108,12 +108,12 @@ jobs:
strategy:
matrix:
# Current used version + 1 LTS
- node-version: [18, 20]
+ node-version: [20, 22]
python-version: ["3.9", "3.10", "3.11", "3.12", "fallback"]
target: ["x86_64-unknown-linux-gnu", "aarch64-unknown-linux-gnu"]
# minimize number of jobs
exclude:
- - node-version: 18
+ - node-version: 20
target: "aarch64-unknown-linux-gnu"
- python-version: 3.10
target: "aarch64-unknown-linux-gnu"
@@ -147,7 +147,7 @@ jobs:
- name: Install Yarn
run: npm install -g yarn
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -211,7 +211,7 @@ jobs:
strategy:
matrix:
# We do not need to test under all versions, we do it under linux
- node-version: [18.x]
+ node-version: [20.x]
os-version: ["macos-13"]
target: ["x86_64-apple-darwin", "aarch64-apple-darwin"]
include:
@@ -250,7 +250,7 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -304,7 +304,7 @@ jobs:
strategy:
matrix:
# We do not need to test under all versions, we do it under linux
- node-version: [18.x]
+ node-version: [20.x]
os-version: [windows-2019]
python-version: ["fallback"]
fail-fast: false
@@ -332,7 +332,7 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
- name: Set Yarn version
- run: yarn policies set-version v1.22.19
+ run: yarn policies set-version v1.22.22
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
diff --git a/.github/workflows/rust-cubestore-master.yml b/.github/workflows/rust-cubestore-master.yml
index 273609ed3a..9ebd512adb 100644
--- a/.github/workflows/rust-cubestore-master.yml
+++ b/.github/workflows/rust-cubestore-master.yml
@@ -198,8 +198,9 @@ jobs:
- os: macos-12
target: x86_64-apple-darwin
executable_name: cubestored
- strip: true
- compress: true
+ # upx has been disabled because it is crashing for macOS Ventura or above! It was disabled on 2024-09-05.
+ strip: false
+ compress: false
fail-fast: false
steps:
- uses: actions/checkout@v4
diff --git a/.github/workflows/rust-cubestore.yml b/.github/workflows/rust-cubestore.yml
index 8514f71017..cb08763913 100644
--- a/.github/workflows/rust-cubestore.yml
+++ b/.github/workflows/rust-cubestore.yml
@@ -129,8 +129,9 @@ jobs:
- os: macos-12
target: x86_64-apple-darwin
executable_name: cubestored
- strip: true
- compress: true
+ # upx has been disabled because it is crashing for macOS Ventura or above! It was disabled on 2024-09-05.
+ strip: false
+ compress: false
fail-fast: false
steps:
- uses: actions/checkout@v4
@@ -260,75 +261,3 @@ jobs:
path: cubestore-archive/cubestored-${{ matrix.target }}.tar.gz
name: cubestored-${{ matrix.target }}.tar.gz
retention-days: 1
-
- cubestore_linux:
- runs-on: ${{ matrix.os }}
- timeout-minutes: 90
- env:
- OPENSSL_STATIC: 1
- strategy:
- matrix:
- target:
- - x86_64-unknown-linux-gnu
- - x86_64-unknown-linux-musl
- - aarch64-unknown-linux-gnu
- include:
- - os: ubuntu-20.04
- target: x86_64-unknown-linux-gnu
- executable_name: cubestored
- strip: true
- compress: false
- - os: ubuntu-20.04
- target: x86_64-unknown-linux-musl
- executable_name: cubestored
- strip: true
- # cubestored: CantPackException: bad DT_HASH nbucket=0x344 len=0x1890
- compress: false
- - os: ubuntu-20.04
- target: aarch64-unknown-linux-gnu
- executable_name: cubestored
- # Unable to recognise the format of the input file `rust/cubestore/target/aarch64-unknown-linux-gnu/release/cubestored'
- strip: false
- # UPX is broken, issue https://github.com/cube-js/cube/issues/4474
- compress: false
- fail-fast: false
- container:
- image: cubejs/rust-cross:${{ matrix.target }}-02042024
- steps:
- - uses: actions/checkout@v4
- - name: Setup Rust toolchain
- uses: actions-rs/toolchain@v1
- with:
- toolchain: nightly-2024-01-29
- target: ${{ matrix.target }}
- override: true
- components: rustfmt
- - uses: Swatinem/rust-cache@v2
- with:
- workspaces: ./rust/cubestore -> target
- prefix-key: v0-rust-cubestore-cross
- key: target-${{ matrix.target }}
- - name: Build with Cargo
- run: |
- cd rust/cubestore && cargo build --release --target=${{ matrix.target }}
- - name: Compress binaries
- uses: svenstaro/upx-action@v2
- if: ${{ matrix.compress }}
- with:
- file: rust/cubestore/target/${{ matrix.target }}/release/${{ matrix.executable_name }}
- args: --lzma
- strip: ${{ matrix.strip }}
- - name: Create folder for archive
- run: |
- mkdir cubestore-archive
- mkdir cubestore-archive/bin
- - name: Create archive for release
- run: |
- mv rust/cubestore/target/${{ matrix.target }}/release/${{ matrix.executable_name }} cubestore-archive/bin/${{ matrix.executable_name }}
- cd cubestore-archive
- tar -cvzf cubestored-${{ matrix.target }}.tar.gz *
- - uses: actions/upload-artifact@v2
- with:
- path: cubestore-archive/cubestored-${{ matrix.target }}.tar.gz
- name: cubestored-${{ matrix.target }}.tar.gz
- retention-days: 1
diff --git a/.nvmrc b/.nvmrc
index 561a1e9a85..3516580bbb 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-18.20.3
+20.17.0
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8901385b30..e2e96676f3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,137 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.36.4](https://github.com/cube-js/cube/compare/v0.36.3...v0.36.4) (2024-09-27)
+
+
+### Bug Fixes
+
+* **duckdb-driver:** fix timeStampCast and dateBin ([#8748](https://github.com/cube-js/cube/issues/8748)) ([a292c3f](https://github.com/cube-js/cube/commit/a292c3faea4abce13a527233df59a22be0577408))
+* **schema-compiler:** Warn when `COUNT(*)` is used with a cube/view where `count` is not defined ([#8667](https://github.com/cube-js/cube/issues/8667)) ([4739d94](https://github.com/cube-js/cube/commit/4739d946ca0c6358210fdc81cc2a1906fcffc7f8))
+
+
+### Features
+
+* **client-core:** timeseries for custom intervals ([#8742](https://github.com/cube-js/cube/issues/8742)) ([ae989e1](https://github.com/cube-js/cube/commit/ae989e131d84e4926b8d9fd7588ec42d23e9bdda))
+* **schema-compiler:** expose custom granularities details via meta API and query annotation ([#8740](https://github.com/cube-js/cube/issues/8740)) ([c58e97a](https://github.com/cube-js/cube/commit/c58e97ac1a268845c32f8d5f35ac292324f5fd28))
+
+
+
+
+
+## [0.36.3](https://github.com/cube-js/cube/compare/v0.36.2...v0.36.3) (2024-09-26)
+
+
+### Bug Fixes
+
+* **schema-compiler:** fix FILTER_PARAMS propagation from view to cube's SQL query ([#8721](https://github.com/cube-js/cube/issues/8721)) ([ec2c2ec](https://github.com/cube-js/cube/commit/ec2c2ec4d057dd1b29748d2b3847d7b60f96d5c8))
+
+
+
+
+
+## [0.36.2](https://github.com/cube-js/cube/compare/v0.36.1...v0.36.2) (2024-09-18)
+
+
+### Bug Fixes
+
+* **cubejs-testing:** cypress - fix rollup tests ([#8725](https://github.com/cube-js/cube/issues/8725)) ([23c9cda](https://github.com/cube-js/cube/commit/23c9cda10f7fe8fe642a6f4a28283b31c92e6240))
+* **cubesql:** Support new QuickSight meta queries ([148e4cf](https://github.com/cube-js/cube/commit/148e4cf32890872d8be41b127a05df1aca68179c))
+* **schema-compiler:** correct origin timestamp initialization in Granularity instance ([#8710](https://github.com/cube-js/cube/issues/8710)) ([11e941d](https://github.com/cube-js/cube/commit/11e941d822b60063d46d706432e552ad200983dd))
+
+
+### Features
+
+* **client-core:** extend client types with custom granularity support ([#8724](https://github.com/cube-js/cube/issues/8724)) ([21a63e2](https://github.com/cube-js/cube/commit/21a63e2d415b731fe01aa5fb4b693c9e0991b2be))
+* **cubejs-playground:** add support for ungrouped and offset options ([#8719](https://github.com/cube-js/cube/issues/8719)) ([7d77b4a](https://github.com/cube-js/cube/commit/7d77b4ad6ce76e0e6d06f23f0cbb74b265b7c299))
+* **cubesql:** Support `[I]LIKE ... ESCAPE ...` SQL push down ([2bda0dd](https://github.com/cube-js/cube/commit/2bda0dd968944e777c5b89b2587a620c448dba10))
+* **schema-compiler:** exact match preagg with custom granularity without the need for allow_non_strict_date_range_match option ([#8712](https://github.com/cube-js/cube/issues/8712)) ([47c4d78](https://github.com/cube-js/cube/commit/47c4d78d6334ec8a279b42a7c0940ac778654dc8))
+* **schema-compiler:** expose custom granularities via meta API ([#8703](https://github.com/cube-js/cube/issues/8703)) ([4875b8e](https://github.com/cube-js/cube/commit/4875b8eb1c2b9c807156725e77d834edcf7b2632))
+
+
+
+
+
+## [0.36.1](https://github.com/cube-js/cube/compare/v0.36.0...v0.36.1) (2024-09-16)
+
+
+### Bug Fixes
+
+* **schema-compiler:** Add missing “quarter” time unit to granularity definitions ([#8708](https://github.com/cube-js/cube/issues/8708)) ([e8d81f2](https://github.com/cube-js/cube/commit/e8d81f2e04ce61215b1185d9adc4320233bc34da))
+
+
+### Features
+
+* **schema-compiler:** Reference granularities in a proxy dimension ([#8664](https://github.com/cube-js/cube/issues/8664)) ([b7674f3](https://github.com/cube-js/cube/commit/b7674f35aa0a22efe46b0142bd0a42eeb39fc02a))
+* **snowflake-driver:** Upgrade snowflake-sdk to 1.13.1 (fix Node.js 20+ crash) ([#8713](https://github.com/cube-js/cube/issues/8713)) ([84bc8de](https://github.com/cube-js/cube/commit/84bc8de9cd1a1a30229444bf3796052fbc994abb))
+
+
+
+
+
+# [0.36.0](https://github.com/cube-js/cube/compare/v0.35.81...v0.36.0) (2024-09-13)
+
+### BREAKING CHANGES
+
+* Remove support for USER_CONTEXT (#8705) ([8a796f8](https://github.com/cube-js/cube/commit/8a796f838a0b638fda079377b42d2cbf86474315)) - This functionality was deprecated starting from v0.26.0. Please migrate to SECURITY_CONTEXT.
+* chore!: Remove support for checkAuthMiddleware ([86eadb3](https://github.com/cube-js/cube/commit/86eadb33fafcd66cd97a4bd0ee2ab4cbb872887a)) - checkAuthMiddleware option was deprecated in 0.26.0, because this option was tightly bound to Express. Since Cube.js supports HTTP **and** WebSockets as transports, we want our authentication API to not rely on transport-specific details. We now recommend using checkAuth.
+* feat(cubesql)!: Enable CUBESQL_SQL_NO_IMPLICIT_ORDER by default ([f22e1ef](https://github.com/cube-js/cube/commit/f22e1efaef6cb81ce920aac0e85abc0eebc94bf9)) - It's started to be true. it means that SQL API will not add ordering to queries that doesn't specify ORDER BY, previusly it was true only for ungrouped queries.
+* chore!: /v1/run-scheduled-refresh - was removed ([7213ae7](https://github.com/cube-js/cube/commit/7213ae743e026116ac73c4407acba30f318bd050)) - Removing this method since Cube is designed and supposed to be run as a cluster, rather than a serverless application, in a production setting. Use the Orchestration API instead.
+* chore!: Remove cache & queue driver for Redis ([eac704e](https://github.com/cube-js/cube/commit/eac704ecc54c2a02ba83475973b66efa0be6b389)) - Starting from v0.32, Cube Store is used as default cache and queue engine. Article: https://cube.dev/blog/replacing-redis-with-cube-store
+* chore!: Support for Node.js 16 was removed ([8b83021](https://github.com/cube-js/cube/commit/8b830214ab3d16ebfadc65cb9587a08b0496fb93)) - Node.js is EOL, it was deprecated in v0.35.0.
+* feat(docker)!: Remove rxvt-unicode (was used as TERM) ([fb9cb75](https://github.com/cube-js/cube/commit/fb9cb75ed747f804e31768b91913e0b4f38f173c)) - It was not usefull, at the same time this TERM requires a lot of libraries to be installed. It costs 148 MB of additional disk space.
+* **cubejs-client/playground:** New query builder & new chart prototyping ([6099144](https://github.com/cube-js/cube/commit/609914492d6ca6c4b2be507a2af0eb5e70fdf6de)) - Playground was upgraded to Playground 2.0 and Chart Prototyping, previously available in Cube Cloud only.
+
+### Features
+
+* **cubesql:** Support `information_schema.sql_implementation_info` meta table ([841f59a](https://github.com/cube-js/cube/commit/841f59a5f4155482cca188464fea89d5b1dc55b6))
+* **databricks-jdbc-driver:** Support Java higher then 11 ([03c278d](https://github.com/cube-js/cube/commit/03c278db81a1bbf3363192aeec50993f2fcf8a5b))
+* **docker-jdk:** Upgrade JDK to 17 from 11 ([c3a1ccd](https://github.com/cube-js/cube/commit/c3a1ccd04a600951c8a1729cea40601714f173a8))
+* **docker:** Upgrade Node.js to 20.17.0 ([9fedf78](https://github.com/cube-js/cube/commit/9fedf784a1567d4e8190f3a24b46f2bc7adc4996))
+* **docker:** Upgrade OpenSSL to 3 from (1.1) ([97159e7](https://github.com/cube-js/cube/commit/97159e747faa391922bd435dffa40c70256a4fe8))
+* **docker:** Upgrade OS to bookworm from bullseye ([67e9521](https://github.com/cube-js/cube/commit/67e9521d71a5f6feb779217eb81830bc695f09d0))
+* **docker:** Upgrade Python to 3.11 from 3.9 ([7684579](https://github.com/cube-js/cube/commit/76845792ad3cb6aa790f606c452453cc663039a7))
+* **schema-compiler:** Support custom granularities ([#8537](https://github.com/cube-js/cube/issues/8537)) ([2109849](https://github.com/cube-js/cube/commit/21098494353b9b6274b534b6c656154cb8451c7b))
+* **schema-compiler:** Support custom granularities for Cube Store queries ([#8684](https://github.com/cube-js/cube/issues/8684)) ([f7c07a7](https://github.com/cube-js/cube/commit/f7c07a7572c95de26db81308194577b32e289e53))
+* Upgrade aws-sdk to 3.650.0 ([0671e4a](https://github.com/cube-js/cube/commit/0671e4a7ae91fbaf23d4a72aa667fc8eb6dcd6a6))
+
+
+## [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)
diff --git a/DEPRECATION.md b/DEPRECATION.md
index 67d61b8d3f..89159b4a36 100644
--- a/DEPRECATION.md
+++ b/DEPRECATION.md
@@ -33,33 +33,37 @@ features:
migrate to alternatives. In such cases, a warning may be printed, and users
should not rely on this feature.
-| Status | Feature | Deprecated | Remove |
-|------------|-----------------------------------------------------------------------------------------------------------------------------------------|------------|-----------|
-| Removed | [Node.js 8](#nodejs-8) | v0.22.4 | v0.26.0 |
-| Deprecated | [`hearBeatInterval`](#hearbeatinterval) | v0.23.8 | June 2021 |
-| Removed | [`CUBEJS_ENABLE_TLS`](#cubejs_enable_tls) | v0.23.11 | v0.26.0 |
-| Deprecated | [Embedding Cube.js within Express](#embedding-cubejs-within-express) | v0.24.0 | June 2021 |
-| Removed | [Absolute import for `@cubejs-backend/query-orchestrator`](#absolute-import-for-@cubejs-backendquery-orchestrator) | v0.24.2 | v0.32.0 |
-| Removed | [`contextToDataSourceId`](#contexttodatasourceid) | v0.25.0 | v0.25.0 |
-| Removed | [Absolute import for `@cubejs-backend/server-core`](#absolute-import-for-@cubejs-backendserver-core) | v0.25.4 | v0.32.0 |
-| Removed | [Absolute import for `@cubejs-backend/schema-compiler`](#absolute-import-for-@cubejs-backendschema-compiler) | v0.25.21 | v0.32.0 |
-| Deprecated | [`checkAuthMiddleware`](#checkauthmiddleware) | v0.26.0 | |
-| Removed | [Node.js 10](#nodejs-10) | v0.26.0 | v0.29.0 |
-| Removed | [Node.js 15](#nodejs-15) | v0.26.0 | v0.32.0 |
-| Deprecated | [`USER_CONTEXT`](#user_context) | v0.26.0 | |
-| Deprecated | [`authInfo`](#authinfo) | v0.26.0 | |
-| Deprecated | [Prefix Redis environment variables with `CUBEJS_`](#prefix-redis-environment-variables-with-cubejs_) | v0.27.0 | |
-| Removed | [Node.js 12](#nodejs-12) | v0.29.0 | v0.32.0 |
-| Deprecated | [`CUBEJS_EXTERNAL_DEFAULT` and `CUBEJS_SCHEDULED_REFRESH_DEFAULT`](#cubejs_external_default-and-cubejs_scheduled_refresh_default) | v0.30.0 | |
-| Deprecated | [Using external databases for pre-aggregations](#using-external-databases-for-pre-aggregations) | v0.30.0 | |
-| Deprecated | [`dbType`](#dbtype) | v0.30.30 | |
-| Removed | [Serverless Deployments](#serverless-deployments) | v0.31.64 | v0.35.0 |
-| Removed | [Node.js 14](#nodejs-14) | v0.32.0 | v0.35.0 |
-| Deprecated | [Using Redis for in-memory cache and queue](#using-redis-for-in-memory-cache-and-queue) | v0.32.0 | |
-| Deprecated | [`running_total` measure type](#running_total-measure-type) | v0.33.39 | |
-| 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 |
+| Status | Feature | Deprecated | Removed |
+|------------|-----------------------------------------------------------------------------------------------------------------------------------|------------|-----------|
+| Removed | [Node.js 8](#nodejs-8) | v0.22.4 | v0.26.0 |
+| Deprecated | [`hearBeatInterval`](#hearbeatinterval) | v0.23.8 | June 2021 |
+| Removed | [`CUBEJS_ENABLE_TLS`](#cubejs_enable_tls) | v0.23.11 | v0.26.0 |
+| Deprecated | [Embedding Cube.js within Express](#embedding-cubejs-within-express) | v0.24.0 | June 2021 |
+| Removed | [Absolute import for `@cubejs-backend/query-orchestrator`](#absolute-import-for-@cubejs-backendquery-orchestrator) | v0.24.2 | v0.32.0 |
+| Removed | [`contextToDataSourceId`](#contexttodatasourceid) | v0.25.0 | v0.25.0 |
+| Removed | [Absolute import for `@cubejs-backend/server-core`](#absolute-import-for-@cubejs-backendserver-core) | v0.25.4 | v0.32.0 |
+| Removed | [Absolute import for `@cubejs-backend/schema-compiler`](#absolute-import-for-@cubejs-backendschema-compiler) | v0.25.21 | v0.32.0 |
+| Deprecated | [`checkAuthMiddleware`](#checkauthmiddleware) | v0.26.0 | v0.36.0 |
+| Removed | [Node.js 10](#nodejs-10) | v0.26.0 | v0.29.0 |
+| Removed | [Node.js 15](#nodejs-15) | v0.26.0 | v0.32.0 |
+| Removed | [`USER_CONTEXT`](#user_context) | v0.26.0 | v0.36.0 |
+| Deprecated | [`authInfo`](#authinfo) | v0.26.0 | |
+| Deprecated | [Prefix Redis environment variables with `CUBEJS_`](#prefix-redis-environment-variables-with-cubejs_) | v0.27.0 | v0.36.0 |
+| Removed | [Node.js 12](#nodejs-12) | v0.29.0 | v0.32.0 |
+| Deprecated | [`CUBEJS_EXTERNAL_DEFAULT` and `CUBEJS_SCHEDULED_REFRESH_DEFAULT`](#cubejs_external_default-and-cubejs_scheduled_refresh_default) | v0.30.0 | |
+| Deprecated | [Using external databases for pre-aggregations](#using-external-databases-for-pre-aggregations) | v0.30.0 | |
+| Deprecated | [`dbType`](#dbtype) | v0.30.30 | |
+| Removed | [Serverless Deployments](#serverless-deployments) | v0.31.64 | v0.35.0 |
+| Removed | [Node.js 14](#nodejs-14) | v0.32.0 | v0.35.0 |
+| Removed | [Using Redis for in-memory cache and queue](#using-redis-for-in-memory-cache-and-queue) | v0.32.0 | v0.36.0 |
+| Deprecated | [`SECURITY_CONTEXT`](#security_context) | v0.33.0 | |
+| Deprecated | [`running_total` measure type](#running_total-measure-type) | v0.33.39 | |
+| Deprecated | [Top-level `includes` parameter in views](#top-level-includes-parameter-in-views) | v0.34.34 | |
+| Removed | [Node.js 16](#nodejs-16) | v0.35.0 | v0.36.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 |
+| Removed | [`/v1/run-scheduled-refresh` REST API endpoint](#v1run-scheduled-refresh-rest-api-endpoint) | v0.35.0 | v0.36.0 |
+| Deprecated | [Node.js 18](#nodejs-18) | v0.36.0 | |
### Node.js 8
@@ -178,7 +182,7 @@ const { BaseQuery } = require("@cubejs-backend/schema-compiler");
### `checkAuthMiddleware`
-**Deprecated in Release: v0.26.0**
+**Removed in Release: v0.36.0**
The `checkAuthMiddleware` option was tightly bound to Express,
[which has been deprecated](#embedding-cubejs-within-express). Since Cube.js
@@ -186,7 +190,7 @@ supports HTTP **and** WebSockets as transports, we want our authentication API
to not rely on transport-specific details. We now recommend using
[`checkAuth`][ref-checkauth] as a transport-agnostic method of authentication.
This means the same authentication logic can be reused for both HTTP and
-Websockets transports.
+WebSockets transports.
If you are using custom authorization, please take a [look at the
documentation][link-custom-auth]
@@ -203,18 +207,10 @@ no more updates. Please upgrade to Node.js 12 or higher.
### `USER_CONTEXT`
-**Deprecated in Release: v0.26.0**
+**Removed in Release: v0.36.0**
`USER_CONTEXT` has been renamed to `SECURITY_CONTEXT`.
-Deprecated:
-
-```js
-cube(`visitors`, {
- sql: `select * from visitors WHERE ${USER_CONTEXT.source.filter("source")}`,
-});
-```
-
You should use:
```js
@@ -270,41 +266,16 @@ const server = new CubejsServer({
### Prefix Redis environment variables with `CUBEJS_`
-Redis-related environment variables are now prefixed with `CUBEJS_` for
-consistency with other environment variables.
-
-**Deprecated in Release: v0.27.0**
-
-Deprecated:
-
-```
-REDIS_URL=XXXX
-REDIS_PASSWORD=XXX
-REDIS_TLS=true
-```
-
-You should use:
-
-```
-CUBEJS_REDIS_URL=XXXX
-CUBEJS_REDIS_PASSWORD=XXX
-CUBEJS_REDIS_TLS=true
-```
+**Removed in Release: v0.36.0**
### Node.js 15
**Removed in Release: v0.29.0**
-Node.js 15 reached [End of Life on June 1, 2021][link-nodejs-eol]. This means no
-more updates. Please upgrade to Node.js 14 or higher.
-
### Node.js 12
**Removed in Release: v0.32.0**
-Node.js 12 reached [End of Life on May 19, 2021][link-nodejs-eol]. This means no
-more updates. Please upgrade to Node.js 14 or higher.
-
### Using non-Cube Store databases as external database
**Deprecated in Release: v0.29.0**
@@ -352,17 +323,22 @@ instead.
**Removed in Release: v0.35.0**
-Node.js 14 reached [End of Life on April 30, 2023][link-nodejs-eol]. This means
-no more updates. Please upgrade to Node.js 16 or higher.
-
### Using Redis for in-memory cache and queue
-**Deprecated in release: v0.32.0**
+**Removed in Release: v0.36.0**
Cube Store is now the default cache and queue engine, [replacing
Redis](https://cube.dev/blog/replacing-redis-with-cube-store). Please migrate to
[Cube Store](https://cube.dev/blog/how-you-win-by-using-cube-store-part-1).
+### `SECURITY_CONTEXT`
+
+**Deprecated in Release: v0.33.0**
+
+The `SECURITY_CONTEXT` context variable is deprecated. Use
+[`query_rewrite`](https://cube.dev/docs/reference/configuration/config#query_rewrite)
+instead.
+
### `running_total` measure type
**Deprecated in Release: v0.33.39**
@@ -371,12 +347,18 @@ The `running_total` measure type is now deprecated, and we recommend using
[`rolling_window`](https://cube.dev/docs/product/data-modeling/reference/measures#rolling_window)
to calculate running totals instead.
-### Node.js 16
+### Top-level `includes` parameter in views
-**Deprecated in Release: v0.35.0**
+**Deprecated in Release: v0.34.34**
-Node.js 16 reached [End of Life on September 11, 2023][link-nodejs-eol]. This means
-no more updates. Please upgrade to Node.js 18 or higher.
+The top-level `includes` parameter is now deprecated. Please always use the
+`includes` parameter within [`cubes` and `join_path`
+parameters](https://cube.dev/docs/reference/data-model/view#cubes) so you can
+explicitly control the join path.
+
+### Node.js 16
+
+**Removed in Release: v0.36.0**
[link-nodejs-eol]: https://github.com/nodejs/Release#end-of-life-releases
@@ -392,4 +374,20 @@ 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.
\ No newline at end of file
+The `initApp` hook is removed as it's not relevant anymore for Docker-based architecture.
+
+### `/v1/run-scheduled-refresh` REST API endpoint
+
+**Removed in release: v0.36.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.
+
+### Node.js 18
+
+**Deprecated in Release: v0.36.0**
+
+Node.js 18 reaches [End of Life on April 30, 2025][link-nodejs-eol]. This means
+no more updates. Please upgrade to Node.js 20 or higher.
diff --git a/README.md b/README.md
index 66cccc49fd..c42304f70d 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,13 @@
+
+
+
+
o((r-h)/y))throw RangeError(a);for(h+=(p-d)*y,d=p,t=0;t