diff --git a/CHANGELOG.md b/CHANGELOG.md index a60a6149c595e..7810d2f0ae830 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,20 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +### Bug Fixes + +- **cubesql:** Propagate errors from SqlAuthService to the user ([#9665](https://github.com/cube-js/cube/issues/9665)) ([3037ada](https://github.com/cube-js/cube/commit/3037adaa55dcb20ac6a3b3064de4292fc454fdc2)) +- **docs:** fix AWS deployment doc redirect ([#9786](https://github.com/cube-js/cube/issues/9786)) ([93c83f8](https://github.com/cube-js/cube/commit/93c83f889c147d28c2bd7ea276572687be61777e)) +- **schema-compiler:** Fix BigQuery convertTz implementation ([#9782](https://github.com/cube-js/cube/issues/9782)) ([75f4813](https://github.com/cube-js/cube/commit/75f48139abccc341398980c7b9abfd78bc7d21aa)) + +### Features + +- **cubesql:** Push Limit-Sort down Projection ([#9776](https://github.com/cube-js/cube/issues/9776)) ([72e6059](https://github.com/cube-js/cube/commit/72e605966100bb24d44b715d96cfb2cc4d8d793d)) +- **schema-compiler,api-gateway:** Nested folders support ([#9659](https://github.com/cube-js/cube/issues/9659)) ([720f048](https://github.com/cube-js/cube/commit/720f0485c8b11f16eb99490259a881c21b845c73)) +- **tesseract:** Allow named calendar timeshifts for common intervals ([#9777](https://github.com/cube-js/cube/issues/9777)) ([a5f8a2e](https://github.com/cube-js/cube/commit/a5f8a2e0d93bf5de0291389d846660f6491651fe)) + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) ### Bug Fixes diff --git a/docs/pages/product/deployment/cloud/byoc/_meta.js b/docs/pages/product/deployment/cloud/byoc/_meta.js index 469ba96f62102..f10f5b2924a20 100644 --- a/docs/pages/product/deployment/cloud/byoc/_meta.js +++ b/docs/pages/product/deployment/cloud/byoc/_meta.js @@ -1,4 +1,5 @@ module.exports = { "aws": "AWS", + "aws-privatelink": "AWS PrivateLink", "azure": "Azure", } diff --git a/docs/pages/product/deployment/cloud/byoc/aws/_meta.js b/docs/pages/product/deployment/cloud/byoc/aws/_meta.js new file mode 100644 index 0000000000000..54ac5927aa12f --- /dev/null +++ b/docs/pages/product/deployment/cloud/byoc/aws/_meta.js @@ -0,0 +1,4 @@ +module.exports = { + deployment: "Deployment", + privatelink: "Private Connectivity", +}; diff --git a/docs/pages/product/deployment/cloud/byoc/aws.mdx b/docs/pages/product/deployment/cloud/byoc/aws/deployment.mdx similarity index 100% rename from docs/pages/product/deployment/cloud/byoc/aws.mdx rename to docs/pages/product/deployment/cloud/byoc/aws/deployment.mdx diff --git a/docs/pages/product/deployment/cloud/byoc/aws/privatelink.mdx b/docs/pages/product/deployment/cloud/byoc/aws/privatelink.mdx new file mode 100644 index 0000000000000..61c2ceaf3e477 --- /dev/null +++ b/docs/pages/product/deployment/cloud/byoc/aws/privatelink.mdx @@ -0,0 +1,140 @@ +# Private Connectivity with AWS PrivateLink + +Cube Cloud BYOC deployments on AWS support private connectivity for Cube API endpoints using AWS PrivateLink. This enables secure, private access to your Cube deployment without exposing endpoints to the public internet. + + + +Private connectivity via AWS PrivateLink is available in Cube Cloud on the +[Enterprise Premier](https://cube.dev/pricing) product tier with BYOC deployments. +[Contact us](https://cube.dev/contact) for details. + + + +## Overview + +In a private setup, Cube Cloud BYOC deployments can be configured to: +- Keep HTTP and SQL load balancers private within the BYOC VPC +- Expose API endpoints through AWS PrivateLink services +- Enable secure connectivity from your VPCs and corporate networks + +This approach ensures that all traffic between your applications and Cube Cloud remains within the AWS network backbone, never traversing the public internet. + +## Architecture + +With private connectivity enabled, Cube Cloud exposes two AWS PrivateLink services: +- **HTTP API Service**: For REST API and GraphQL endpoints +- **SQL API Service**: For PostgreSQL-compatible SQL interface connections + +Your Cube deployment APIs are available on dedicated hostnames following this pattern: +- HTTP API: `..cubecloudapp.dev` +- SQL API: `.sql..cubecloudapp.dev` + + + +## Setting up PrivateLink connections + +### Step 1: Obtain PrivateLink service details + +Contact Cube Cloud support to obtain the PrivateLink service details for your BYOC deployment. You'll receive: +- HTTP NLB PrivateLink service name +- SQL NLB PrivateLink service name +- Your deployment ID and infrastructure region + +### Step 2: Create VPC endpoints + +In your AWS account, create two VPC endpoints for the Cube Cloud services: + +1. Navigate to **AWS Console** → **VPC** → **Endpoints** +2. Click **Create Endpoint** +3. For the HTTP API endpoint: + - **Service category**: Other endpoint services + - **Service name**: Enter the HTTP NLB service name provided by Cube support + - **VPC**: Select your target VPC + - **Subnets**: Select appropriate subnets + - **Security Group**: Create or select a security group allowing HTTPS traffic (port 443) +4. Repeat for the SQL API endpoint: + - Use the SQL NLB service name + - Configure security group to allow PostgreSQL traffic (port 5432) + +### Step 3: Configure DNS resolution + +To enable proper hostname resolution, create a private Route 53 hosted zone: + +1. Navigate to **AWS Console** → **Route 53** → **Hosted zones** +2. Click **Create hosted zone** +3. Configure the zone: + - **Domain name**: `.cubecloudapp.dev` + - **Type**: Private hosted zone + - **VPCs**: Associate with your target VPC(s) +4. Create the following DNS records in the zone: + + | Record Name | Type | Value | + |------------|------|--------| + | `*..cubecloudapp.dev` | A | Alias to HTTP VPC endpoint | + | `*.sql..cubecloudapp.dev` | A | Alias to SQL VPC endpoint | + | `sql..cubecloudapp.dev` | A | Alias to SQL VPC endpoint | + +### Step 4: Verify connectivity + +To test the connection from within your VPC, obtain the test connection commands from the Cube Cloud UI: +1. Navigate to your deployment in Cube Cloud +2. Access the connection details section +3. Use the provided commands to verify HTTP API and SQL connectivity + +## Enabling Cube Cloud UI access + +The Cube Cloud web interface requires access to live Cube APIs to function properly. In a private setup, these APIs aren't accessible from user browsers by default, which would limit Cube Cloud functionality. + +### Solution: Corporate network integration + +To enable full Cube Cloud UI functionality, you need to establish PrivateLink endpoints within your corporate network: + +1. **Create PrivateLink endpoints in your corporate VPC**: Follow the same process as above, but create the endpoints in a VPC that's accessible from your corporate network +2. **Configure DNS resolution**: Choose one of these approaches: + - **Cube-hosted DNS**: We can host the PrivateLink endpoint IPs in our public DNS records (contact Cube support) + - **Corporate DNS override**: If you control DNS resolution within your corporate network, create private DNS overrides similar to the Route 53 configuration + + + +## Limitations + +### No custom domain support + +Cube Cloud's [custom domains feature][custom-domains] is not compatible with PrivateLink connectivity. This limitation exists because: + +- Custom domains require automatic SSL certificate provisioning via Let's Encrypt +- Let's Encrypt uses HTTP-01 challenges that require public internet accessibility +- PrivateLink endpoints are not accessible from the public internet + +If you require custom domains, consider using Cube Cloud's standard public endpoints with appropriate security controls. + +## Troubleshooting + +### Common issues + +**DNS resolution failures** +- Verify Route 53 hosted zone is associated with the correct VPC +- Check that DNS records point to the correct VPC endpoints +- Test resolution using `nslookup` or `dig` from within the VPC + +**Connection timeouts** +- Verify security groups allow traffic on required ports (443 for HTTP, 5432 for SQL) +- Check that VPC endpoints are in "Available" state +- Ensure network ACLs aren't blocking traffic + +**Certificate errors** +- Cube Cloud uses valid SSL certificates for `*.cubecloudapp.dev` domains +- Ensure your client trusts standard certificate authorities +- For SQL connections, configure your client to use SSL/TLS + +### Getting help + +For assistance with PrivateLink setup: +1. Gather the following information: + - VPC endpoint IDs + - Security group configurations + - DNS test results (`nslookup` output) + - Any error messages from connection attempts +2. Contact Cube Cloud support with your deployment ID and collected information + +[custom-domains]: /product/deployment/cloud/custom-domains diff --git a/docs/redirects.json b/docs/redirects.json index 6d2ee6e8187cb..ec5cd27bc8806 100644 --- a/docs/redirects.json +++ b/docs/redirects.json @@ -1,4 +1,9 @@ [ + { + "source": "/product/deployment/cloud/byoc/aws", + "destination": "/product/deployment/cloud/byoc/aws/deployment", + "permanent": true + }, { "source": "/product/apis-integrations/rest-api/real-time-data-fetch", "destination": "/product/apis-integrations/recipes/real-time-data-fetch", diff --git a/lerna.json b/lerna.json index 333ff9c2fc436..fc375b3819604 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.3.37", + "version": "1.3.38", "npmClient": "yarn", "command": { "bootstrap": { diff --git a/packages/cubejs-api-gateway/CHANGELOG.md b/packages/cubejs-api-gateway/CHANGELOG.md index 3f7e936a52d71..c17199b5afb90 100644 --- a/packages/cubejs-api-gateway/CHANGELOG.md +++ b/packages/cubejs-api-gateway/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +### Bug Fixes + +- **cubesql:** Propagate errors from SqlAuthService to the user ([#9665](https://github.com/cube-js/cube/issues/9665)) ([3037ada](https://github.com/cube-js/cube/commit/3037adaa55dcb20ac6a3b3064de4292fc454fdc2)) + +### Features + +- **schema-compiler,api-gateway:** Nested folders support ([#9659](https://github.com/cube-js/cube/issues/9659)) ([720f048](https://github.com/cube-js/cube/commit/720f0485c8b11f16eb99490259a881c21b845c73)) + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/api-gateway diff --git a/packages/cubejs-api-gateway/package.json b/packages/cubejs-api-gateway/package.json index eac8701ab9a1f..2dfd9fcc120a9 100644 --- a/packages/cubejs-api-gateway/package.json +++ b/packages/cubejs-api-gateway/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/api-gateway", "description": "Cube.js API Gateway", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/native": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/native": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "@ungap/structured-clone": "^0.3.4", "assert-never": "^1.4.0", "body-parser": "^1.19.0", @@ -51,7 +51,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/express": "^4.17.21", "@types/jest": "^29", "@types/jsonwebtoken": "^9.0.2", diff --git a/packages/cubejs-api-gateway/src/sql-server.ts b/packages/cubejs-api-gateway/src/sql-server.ts index d09cf7437d5c9..cd3a6eeff0d05 100644 --- a/packages/cubejs-api-gateway/src/sql-server.ts +++ b/packages/cubejs-api-gateway/src/sql-server.ts @@ -128,14 +128,25 @@ export class SQLServer { }; }, checkSqlAuth: async ({ request, user, password }) => { - const { password: returnedPassword, superuser, securityContext, skipPasswordCheck } = await checkSqlAuth(request, user, password); - - return { - password: returnedPassword, - superuser: superuser || false, - securityContext, - skipPasswordCheck, - }; + try { + const { password: returnedPassword, superuser, securityContext, skipPasswordCheck } = await checkSqlAuth(request, user, password); + + return { + password: returnedPassword, + superuser: superuser || false, + securityContext, + skipPasswordCheck, + }; + } catch (e) { + this.apiGateway.log({ + type: 'Auth Error', + protocol: (request as any).protocol, + method: (request as any).method, + apiType: 'sql', + error: (e as Error).stack || (e as Error).toString(), + }); + throw e; + } }, meta: async ({ request, session, onlyCompilerId }) => { const context = await this.apiGateway.contextByReq( request, session.securityContext, request.id); diff --git a/packages/cubejs-athena-driver/CHANGELOG.md b/packages/cubejs-athena-driver/CHANGELOG.md index bc3ef0ffc7d1d..8245868edfe91 100644 --- a/packages/cubejs-athena-driver/CHANGELOG.md +++ b/packages/cubejs-athena-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/athena-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/athena-driver diff --git a/packages/cubejs-athena-driver/package.json b/packages/cubejs-athena-driver/package.json index 4e99c121087f8..a671642152fdb 100644 --- a/packages/cubejs-athena-driver/package.json +++ b/packages/cubejs-athena-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/athena-driver", "description": "Cube.js Athena database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,13 +29,13 @@ "types": "dist/src/index.d.ts", "dependencies": { "@aws-sdk/client-athena": "^3.22.0", - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/testing-shared": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/testing-shared": "1.3.38", "@types/ramda": "^0.27.40", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-backend-cloud/CHANGELOG.md b/packages/cubejs-backend-cloud/CHANGELOG.md index 88e17de77986d..f539604a35d16 100644 --- a/packages/cubejs-backend-cloud/CHANGELOG.md +++ b/packages/cubejs-backend-cloud/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/cloud + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/cloud diff --git a/packages/cubejs-backend-cloud/package.json b/packages/cubejs-backend-cloud/package.json index 60cb4e319baac..261852369a8e6 100644 --- a/packages/cubejs-backend-cloud/package.json +++ b/packages/cubejs-backend-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cloud", - "version": "1.3.37", + "version": "1.3.38", "description": "Cube Cloud package", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -25,7 +25,7 @@ "devDependencies": { "@babel/core": "^7.24.5", "@babel/preset-env": "^7.24.5", - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/fs-extra": "^9.0.8", "@types/jest": "^29", "jest": "^29", @@ -33,7 +33,7 @@ }, "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/shared": "1.3.38", "chokidar": "^3.5.1", "env-var": "^6.3.0", "form-data": "^4.0.0", diff --git a/packages/cubejs-backend-maven/CHANGELOG.md b/packages/cubejs-backend-maven/CHANGELOG.md index d4f2f66eb2e79..d01144969cf16 100644 --- a/packages/cubejs-backend-maven/CHANGELOG.md +++ b/packages/cubejs-backend-maven/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/maven + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/maven diff --git a/packages/cubejs-backend-maven/package.json b/packages/cubejs-backend-maven/package.json index 03b88f25e2339..696cb31ce3af5 100644 --- a/packages/cubejs-backend-maven/package.json +++ b/packages/cubejs-backend-maven/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/maven", "description": "Cube.js Maven Wrapper for java dependencies downloading", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "license": "Apache-2.0", "repository": { "type": "git", @@ -31,12 +31,12 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/shared": "1.3.38", "source-map-support": "^0.5.19", "xmlbuilder2": "^2.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/jest": "^29", "@types/node": "^20", "jest": "^29", diff --git a/packages/cubejs-backend-native/CHANGELOG.md b/packages/cubejs-backend-native/CHANGELOG.md index 32b66f00831b2..88b0bb4d9ebb5 100644 --- a/packages/cubejs-backend-native/CHANGELOG.md +++ b/packages/cubejs-backend-native/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/native + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/native diff --git a/packages/cubejs-backend-native/package.json b/packages/cubejs-backend-native/package.json index 41e1bed5f4db5..4ffd7e8b4a5f2 100644 --- a/packages/cubejs-backend-native/package.json +++ b/packages/cubejs-backend-native/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/native", - "version": "1.3.37", + "version": "1.3.38", "author": "Cube Dev, Inc.", "description": "Native module for Cube.js (binding to Rust codebase)", "main": "dist/js/index.js", @@ -34,7 +34,7 @@ "dist/js" ], "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/jest": "^29", "@types/node": "^20", "cargo-cp-artifact": "^0.1.9", @@ -44,8 +44,8 @@ "uuid": "^8.3.2" }, "dependencies": { - "@cubejs-backend/cubesql": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/cubesql": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "@cubejs-infra/post-installer": "^0.0.7" }, "resources": { diff --git a/packages/cubejs-backend-shared/CHANGELOG.md b/packages/cubejs-backend-shared/CHANGELOG.md index eacfd1d75b2ed..4d465d785c58a 100644 --- a/packages/cubejs-backend-shared/CHANGELOG.md +++ b/packages/cubejs-backend-shared/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +### Features + +- **schema-compiler,api-gateway:** Nested folders support ([#9659](https://github.com/cube-js/cube/issues/9659)) ([720f048](https://github.com/cube-js/cube/commit/720f0485c8b11f16eb99490259a881c21b845c73)) + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/shared diff --git a/packages/cubejs-backend-shared/package.json b/packages/cubejs-backend-shared/package.json index d385c82e3c67d..56a9bb436ebbe 100644 --- a/packages/cubejs-backend-shared/package.json +++ b/packages/cubejs-backend-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/shared", - "version": "1.3.37", + "version": "1.3.38", "description": "Shared code for Cube.js backend packages", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -22,7 +22,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/bytes": "^3.1.5", "@types/cli-progress": "^3.9.1", "@types/decompress": "^4.2.7", diff --git a/packages/cubejs-base-driver/CHANGELOG.md b/packages/cubejs-base-driver/CHANGELOG.md index cb51883f0da03..bf75b6eeec54d 100644 --- a/packages/cubejs-base-driver/CHANGELOG.md +++ b/packages/cubejs-base-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/base-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/base-driver diff --git a/packages/cubejs-base-driver/package.json b/packages/cubejs-base-driver/package.json index 19a5dadd0de61..a4ad365d12d0f 100644 --- a/packages/cubejs-base-driver/package.json +++ b/packages/cubejs-base-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/base-driver", "description": "Cube.js Base Driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -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.3.37", + "@cubejs-backend/shared": "1.3.38", "@google-cloud/storage": "^7.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/jest": "^29", "@types/node": "^20", "jest": "^29", diff --git a/packages/cubejs-bigquery-driver/CHANGELOG.md b/packages/cubejs-bigquery-driver/CHANGELOG.md index 26b44f09a2f7d..9621d215e01da 100644 --- a/packages/cubejs-bigquery-driver/CHANGELOG.md +++ b/packages/cubejs-bigquery-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/bigquery-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/bigquery-driver diff --git a/packages/cubejs-bigquery-driver/package.json b/packages/cubejs-bigquery-driver/package.json index fcbd52ed8d5ab..f3e04f64a9494 100644 --- a/packages/cubejs-bigquery-driver/package.json +++ b/packages/cubejs-bigquery-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/bigquery-driver", "description": "Cube.js BigQuery database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "main": "index.js", "types": "dist/src/index.d.ts", "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/shared": "1.3.38", "@google-cloud/bigquery": "^7.7.0", "@google-cloud/storage": "^7.13.0", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/testing-shared": "1.3.37", + "@cubejs-backend/testing-shared": "1.3.38", "@types/big.js": "^6.2.2", "@types/dedent": "^0.7.0", "@types/jest": "^29", diff --git a/packages/cubejs-cli/CHANGELOG.md b/packages/cubejs-cli/CHANGELOG.md index e67cd106e84e9..0f687528636e4 100644 --- a/packages/cubejs-cli/CHANGELOG.md +++ b/packages/cubejs-cli/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package cubejs-cli + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package cubejs-cli diff --git a/packages/cubejs-cli/package.json b/packages/cubejs-cli/package.json index 3593fd5a903df..2ea2a1a05bf7a 100644 --- a/packages/cubejs-cli/package.json +++ b/packages/cubejs-cli/package.json @@ -2,7 +2,7 @@ "name": "cubejs-cli", "description": "Cube.js Command Line Interface", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -30,10 +30,10 @@ "LICENSE" ], "dependencies": { - "@cubejs-backend/cloud": "1.3.37", + "@cubejs-backend/cloud": "1.3.38", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "chalk": "^2.4.2", "cli-progress": "^3.10", "commander": "^2.19.0", @@ -50,8 +50,8 @@ "colors": "1.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/server": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/server": "1.3.38", "@oclif/command": "^1.8.0", "@types/cli-progress": "^3.8.0", "@types/cross-spawn": "^6.0.2", diff --git a/packages/cubejs-clickhouse-driver/CHANGELOG.md b/packages/cubejs-clickhouse-driver/CHANGELOG.md index 504409fbc34ab..6ce9e2a01b6af 100644 --- a/packages/cubejs-clickhouse-driver/CHANGELOG.md +++ b/packages/cubejs-clickhouse-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/clickhouse-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/clickhouse-driver diff --git a/packages/cubejs-clickhouse-driver/package.json b/packages/cubejs-clickhouse-driver/package.json index 34d63878451d6..e42ed5d92b867 100644 --- a/packages/cubejs-clickhouse-driver/package.json +++ b/packages/cubejs-clickhouse-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/clickhouse-driver", "description": "Cube.js ClickHouse database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,16 +28,16 @@ }, "dependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "moment": "^2.24.0", "sqlstring": "^2.3.1", "uuid": "^8.3.2" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/testing-shared": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/testing-shared": "1.3.38", "@types/jest": "^29", "jest": "^29", "typescript": "~5.2.2" diff --git a/packages/cubejs-client-core/CHANGELOG.md b/packages/cubejs-client-core/CHANGELOG.md index afbdea63ea13c..ec3997b636b02 100644 --- a/packages/cubejs-client-core/CHANGELOG.md +++ b/packages/cubejs-client-core/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +### Features + +- **schema-compiler,api-gateway:** Nested folders support ([#9659](https://github.com/cube-js/cube/issues/9659)) ([720f048](https://github.com/cube-js/cube/commit/720f0485c8b11f16eb99490259a881c21b845c73)) + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-client/core diff --git a/packages/cubejs-client-core/package.json b/packages/cubejs-client-core/package.json index 701d76b36dcf1..68cb92ab55b98 100644 --- a/packages/cubejs-client-core/package.json +++ b/packages/cubejs-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/core", - "version": "1.3.37", + "version": "1.3.38", "engines": {}, "repository": { "type": "git", @@ -38,7 +38,7 @@ ], "license": "MIT", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/jest": "^29", "@types/moment-range": "^4.0.0", "@types/ramda": "^0.27.34", diff --git a/packages/cubejs-client-dx/CHANGELOG.md b/packages/cubejs-client-dx/CHANGELOG.md index 5e40cc0805c35..385b24e4233f2 100644 --- a/packages/cubejs-client-dx/CHANGELOG.md +++ b/packages/cubejs-client-dx/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-client/dx + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-client/dx diff --git a/packages/cubejs-client-dx/package.json b/packages/cubejs-client-dx/package.json index 869173ca9c684..8a0d9e08ae562 100644 --- a/packages/cubejs-client-dx/package.json +++ b/packages/cubejs-client-dx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/dx", - "version": "1.3.37", + "version": "1.3.38", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-ngx/CHANGELOG.md b/packages/cubejs-client-ngx/CHANGELOG.md index 711d4b6617eb2..997ccb0c2da2c 100644 --- a/packages/cubejs-client-ngx/CHANGELOG.md +++ b/packages/cubejs-client-ngx/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-client/ngx + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-client/ngx diff --git a/packages/cubejs-client-ngx/package.json b/packages/cubejs-client-ngx/package.json index 3d4919af81fb3..9cc092967f75d 100644 --- a/packages/cubejs-client-ngx/package.json +++ b/packages/cubejs-client-ngx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ngx", - "version": "1.3.37", + "version": "1.3.38", "author": "Cube Dev, Inc.", "engines": {}, "repository": { diff --git a/packages/cubejs-client-react/CHANGELOG.md b/packages/cubejs-client-react/CHANGELOG.md index 7ebc655a18381..34abbfa6f1d01 100644 --- a/packages/cubejs-client-react/CHANGELOG.md +++ b/packages/cubejs-client-react/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-client/react + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-client/react diff --git a/packages/cubejs-client-react/package.json b/packages/cubejs-client-react/package.json index 05f73531f9ad8..3136221633273 100644 --- a/packages/cubejs-client-react/package.json +++ b/packages/cubejs-client-react/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/react", - "version": "1.3.37", + "version": "1.3.38", "author": "Cube Dev, Inc.", "license": "MIT", "engines": {}, @@ -24,7 +24,7 @@ ], "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.3.37", + "@cubejs-client/core": "1.3.38", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue/CHANGELOG.md b/packages/cubejs-client-vue/CHANGELOG.md index 78be4e3bb468e..29822a0eab1d9 100644 --- a/packages/cubejs-client-vue/CHANGELOG.md +++ b/packages/cubejs-client-vue/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube.js/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-client/vue + ## [1.3.37](https://github.com/cube-js/cube.js/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-client/vue diff --git a/packages/cubejs-client-vue/package.json b/packages/cubejs-client-vue/package.json index 8081ccd26525b..9b70dd944bf6a 100644 --- a/packages/cubejs-client-vue/package.json +++ b/packages/cubejs-client-vue/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue", - "version": "1.3.37", + "version": "1.3.38", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.3.37", + "@cubejs-client/core": "1.3.38", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue3/CHANGELOG.md b/packages/cubejs-client-vue3/CHANGELOG.md index ed4e096926095..e722f69c2e65d 100644 --- a/packages/cubejs-client-vue3/CHANGELOG.md +++ b/packages/cubejs-client-vue3/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube.js/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-client/vue3 + ## [1.3.37](https://github.com/cube-js/cube.js/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-client/vue3 diff --git a/packages/cubejs-client-vue3/package.json b/packages/cubejs-client-vue3/package.json index 3267f86296e04..31215381e712b 100644 --- a/packages/cubejs-client-vue3/package.json +++ b/packages/cubejs-client-vue3/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue3", - "version": "1.3.37", + "version": "1.3.38", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.3.37", + "@cubejs-client/core": "1.3.38", "@vue/compiler-sfc": "^3.0.11", "core-js": "^3.6.5", "flush-promises": "^1.0.2", diff --git a/packages/cubejs-client-ws-transport/CHANGELOG.md b/packages/cubejs-client-ws-transport/CHANGELOG.md index 71dafcbca1955..568d93a567c2c 100644 --- a/packages/cubejs-client-ws-transport/CHANGELOG.md +++ b/packages/cubejs-client-ws-transport/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-client/ws-transport + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-client/ws-transport diff --git a/packages/cubejs-client-ws-transport/package.json b/packages/cubejs-client-ws-transport/package.json index 8f422849b1007..6e48c1def912f 100644 --- a/packages/cubejs-client-ws-transport/package.json +++ b/packages/cubejs-client-ws-transport/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ws-transport", - "version": "1.3.37", + "version": "1.3.38", "engines": {}, "repository": { "type": "git", @@ -20,7 +20,7 @@ }, "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.3.37", + "@cubejs-client/core": "1.3.38", "core-js": "^3.6.5", "isomorphic-ws": "^4.0.1", "ws": "^7.3.1" @@ -33,7 +33,7 @@ "@babel/core": "^7.3.3", "@babel/preset-env": "^7.3.1", "@babel/preset-typescript": "^7.12.1", - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/ws": "^7.2.9", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-crate-driver/CHANGELOG.md b/packages/cubejs-crate-driver/CHANGELOG.md index 15b94f5dba385..e1e85007909ad 100644 --- a/packages/cubejs-crate-driver/CHANGELOG.md +++ b/packages/cubejs-crate-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/crate-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/crate-driver diff --git a/packages/cubejs-crate-driver/package.json b/packages/cubejs-crate-driver/package.json index 210b7d798dca2..4a29588a91fc4 100644 --- a/packages/cubejs-crate-driver/package.json +++ b/packages/cubejs-crate-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/crate-driver", "description": "Cube.js Crate database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,14 +28,14 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/postgres-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/postgres-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "pg": "^8.7.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/testing-shared": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/testing-shared": "1.3.38", "testcontainers": "^10.28.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-cubestore-driver/CHANGELOG.md b/packages/cubejs-cubestore-driver/CHANGELOG.md index 2434991fead4f..be0c9fccbcdcd 100644 --- a/packages/cubejs-cubestore-driver/CHANGELOG.md +++ b/packages/cubejs-cubestore-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/cubestore-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/cubestore-driver diff --git a/packages/cubejs-cubestore-driver/package.json b/packages/cubejs-cubestore-driver/package.json index f5e7ff8300b58..40e9388d05b5e 100644 --- a/packages/cubejs-cubestore-driver/package.json +++ b/packages/cubejs-cubestore-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/cubestore-driver", "description": "Cube Store driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -26,10 +26,10 @@ "lint:fix": "eslint --fix src/*.ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/cubestore": "1.3.37", - "@cubejs-backend/native": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/cubestore": "1.3.38", + "@cubejs-backend/native": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "csv-write-stream": "^2.0.0", "flatbuffers": "23.3.3", "fs-extra": "^9.1.0", @@ -41,7 +41,7 @@ "ws": "^7.4.3" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/csv-write-stream": "^2.0.0", "@types/generic-pool": "^3.8.2", "@types/jest": "^29", diff --git a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md index 96e652ad8eff7..fa6ea2133792e 100644 --- a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver diff --git a/packages/cubejs-databricks-jdbc-driver/package.json b/packages/cubejs-databricks-jdbc-driver/package.json index 8243d4e6bd42b..ffb71e9d17033 100644 --- a/packages/cubejs-databricks-jdbc-driver/package.json +++ b/packages/cubejs-databricks-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/databricks-jdbc-driver", "description": "Cube.js Databricks database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "license": "Apache-2.0", "repository": { "type": "git", @@ -30,17 +30,17 @@ "bin" ], "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/jdbc-driver": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/jdbc-driver": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "source-map-support": "^0.5.19", "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/generic-pool": "^3.8.2", "@types/jest": "^29", "@types/node": "^20", diff --git a/packages/cubejs-dbt-schema-extension/CHANGELOG.md b/packages/cubejs-dbt-schema-extension/CHANGELOG.md index d91b786c71371..113fe59ed516d 100644 --- a/packages/cubejs-dbt-schema-extension/CHANGELOG.md +++ b/packages/cubejs-dbt-schema-extension/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/dbt-schema-extension + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/dbt-schema-extension diff --git a/packages/cubejs-dbt-schema-extension/package.json b/packages/cubejs-dbt-schema-extension/package.json index 3c3c2dcf9c319..a811bb43deb19 100644 --- a/packages/cubejs-dbt-schema-extension/package.json +++ b/packages/cubejs-dbt-schema-extension/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dbt-schema-extension", "description": "Cube.js dbt Schema Extension", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,14 +25,14 @@ "lint:fix": "eslint --fix src/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/schema-compiler": "1.3.37", + "@cubejs-backend/schema-compiler": "1.3.38", "fs-extra": "^9.1.0", "inflection": "^1.12.0", "node-fetch": "^2.6.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/testing": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/testing": "1.3.38", "@types/generic-pool": "^3.8.2", "@types/jest": "^29", "jest": "^29", diff --git a/packages/cubejs-docker/CHANGELOG.md b/packages/cubejs-docker/CHANGELOG.md index ade31ed003704..3907aa225af73 100644 --- a/packages/cubejs-docker/CHANGELOG.md +++ b/packages/cubejs-docker/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/docker + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/docker diff --git a/packages/cubejs-docker/package.json b/packages/cubejs-docker/package.json index cc532745854ef..38bbc2dd7873a 100644 --- a/packages/cubejs-docker/package.json +++ b/packages/cubejs-docker/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/docker", - "version": "1.3.37", + "version": "1.3.38", "description": "Cube.js In Docker (virtual package)", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -9,35 +9,35 @@ "node": "^14.0.0 || ^16.0.0 || >=17.0.0" }, "dependencies": { - "@cubejs-backend/athena-driver": "1.3.37", - "@cubejs-backend/bigquery-driver": "1.3.37", - "@cubejs-backend/clickhouse-driver": "1.3.37", - "@cubejs-backend/crate-driver": "1.3.37", - "@cubejs-backend/databricks-jdbc-driver": "1.3.37", - "@cubejs-backend/dbt-schema-extension": "1.3.37", - "@cubejs-backend/dremio-driver": "1.3.37", - "@cubejs-backend/druid-driver": "1.3.37", - "@cubejs-backend/duckdb-driver": "1.3.37", - "@cubejs-backend/elasticsearch-driver": "1.3.37", - "@cubejs-backend/firebolt-driver": "1.3.37", - "@cubejs-backend/hive-driver": "1.3.37", - "@cubejs-backend/ksql-driver": "1.3.37", - "@cubejs-backend/materialize-driver": "1.3.37", - "@cubejs-backend/mongobi-driver": "1.3.37", - "@cubejs-backend/mssql-driver": "1.3.37", - "@cubejs-backend/mysql-driver": "1.3.37", - "@cubejs-backend/oracle-driver": "1.3.37", - "@cubejs-backend/pinot-driver": "1.3.37", - "@cubejs-backend/postgres-driver": "1.3.37", - "@cubejs-backend/prestodb-driver": "1.3.37", - "@cubejs-backend/questdb-driver": "1.3.37", - "@cubejs-backend/redshift-driver": "1.3.37", - "@cubejs-backend/server": "1.3.37", - "@cubejs-backend/snowflake-driver": "1.3.37", - "@cubejs-backend/sqlite-driver": "1.3.37", - "@cubejs-backend/trino-driver": "1.3.37", - "@cubejs-backend/vertica-driver": "1.3.37", - "cubejs-cli": "1.3.37", + "@cubejs-backend/athena-driver": "1.3.38", + "@cubejs-backend/bigquery-driver": "1.3.38", + "@cubejs-backend/clickhouse-driver": "1.3.38", + "@cubejs-backend/crate-driver": "1.3.38", + "@cubejs-backend/databricks-jdbc-driver": "1.3.38", + "@cubejs-backend/dbt-schema-extension": "1.3.38", + "@cubejs-backend/dremio-driver": "1.3.38", + "@cubejs-backend/druid-driver": "1.3.38", + "@cubejs-backend/duckdb-driver": "1.3.38", + "@cubejs-backend/elasticsearch-driver": "1.3.38", + "@cubejs-backend/firebolt-driver": "1.3.38", + "@cubejs-backend/hive-driver": "1.3.38", + "@cubejs-backend/ksql-driver": "1.3.38", + "@cubejs-backend/materialize-driver": "1.3.38", + "@cubejs-backend/mongobi-driver": "1.3.38", + "@cubejs-backend/mssql-driver": "1.3.38", + "@cubejs-backend/mysql-driver": "1.3.38", + "@cubejs-backend/oracle-driver": "1.3.38", + "@cubejs-backend/pinot-driver": "1.3.38", + "@cubejs-backend/postgres-driver": "1.3.38", + "@cubejs-backend/prestodb-driver": "1.3.38", + "@cubejs-backend/questdb-driver": "1.3.38", + "@cubejs-backend/redshift-driver": "1.3.38", + "@cubejs-backend/server": "1.3.38", + "@cubejs-backend/snowflake-driver": "1.3.38", + "@cubejs-backend/sqlite-driver": "1.3.38", + "@cubejs-backend/trino-driver": "1.3.38", + "@cubejs-backend/vertica-driver": "1.3.38", + "cubejs-cli": "1.3.38", "typescript": "~5.2.2" }, "resolutions": { diff --git a/packages/cubejs-dremio-driver/CHANGELOG.md b/packages/cubejs-dremio-driver/CHANGELOG.md index 3853220339d67..6034671daec9e 100644 --- a/packages/cubejs-dremio-driver/CHANGELOG.md +++ b/packages/cubejs-dremio-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/dremio-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/dremio-driver diff --git a/packages/cubejs-dremio-driver/package.json b/packages/cubejs-dremio-driver/package.json index c0cd3b9431671..d767a8e83834c 100644 --- a/packages/cubejs-dremio-driver/package.json +++ b/packages/cubejs-dremio-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dremio-driver", "description": "Cube.js Dremio driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -22,15 +22,15 @@ "lint:fix": "eslint driver/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "axios": "^1.8.3", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/testing-shared": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/testing-shared": "1.3.38", "jest": "^29" }, "license": "Apache-2.0", diff --git a/packages/cubejs-druid-driver/CHANGELOG.md b/packages/cubejs-druid-driver/CHANGELOG.md index 0081080fd7ea0..b2ea90b7ac1d2 100644 --- a/packages/cubejs-druid-driver/CHANGELOG.md +++ b/packages/cubejs-druid-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/druid-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/druid-driver diff --git a/packages/cubejs-druid-driver/package.json b/packages/cubejs-druid-driver/package.json index cdb4c14e5c53c..5d53841597c3d 100644 --- a/packages/cubejs-druid-driver/package.json +++ b/packages/cubejs-druid-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/druid-driver", "description": "Cube.js Druid database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "license": "Apache-2.0", "repository": { "type": "git", @@ -28,13 +28,13 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "axios": "^1.8.3" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/generic-pool": "^3.8.2", "@types/jest": "^29", "@types/node": "^20", diff --git a/packages/cubejs-duckdb-driver/CHANGELOG.md b/packages/cubejs-duckdb-driver/CHANGELOG.md index 28ea2f889e385..743a10d478ccd 100644 --- a/packages/cubejs-duckdb-driver/CHANGELOG.md +++ b/packages/cubejs-duckdb-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/duckdb-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/duckdb-driver diff --git a/packages/cubejs-duckdb-driver/package.json b/packages/cubejs-duckdb-driver/package.json index 357ca879fd569..6e396565a9093 100644 --- a/packages/cubejs-duckdb-driver/package.json +++ b/packages/cubejs-duckdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/duckdb-driver", "description": "Cube DuckDB database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "duckdb": "^1.3.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/testing-shared": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/testing-shared": "1.3.38", "@types/jest": "^29", "@types/node": "^20", "jest": "^29", diff --git a/packages/cubejs-elasticsearch-driver/CHANGELOG.md b/packages/cubejs-elasticsearch-driver/CHANGELOG.md index 4dae6df5d0706..75adde5f59a5a 100644 --- a/packages/cubejs-elasticsearch-driver/CHANGELOG.md +++ b/packages/cubejs-elasticsearch-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/elasticsearch-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/elasticsearch-driver diff --git a/packages/cubejs-elasticsearch-driver/package.json b/packages/cubejs-elasticsearch-driver/package.json index b8998167bd281..65e21013a516b 100644 --- a/packages/cubejs-elasticsearch-driver/package.json +++ b/packages/cubejs-elasticsearch-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/elasticsearch-driver", "description": "Cube.js elasticsearch database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -23,14 +23,14 @@ "driver" ], "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "@elastic/elasticsearch": "7.12.0", "sqlstring": "^2.3.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/jest": "^29", "jest": "^29", "testcontainers": "^10.28.0" diff --git a/packages/cubejs-firebolt-driver/CHANGELOG.md b/packages/cubejs-firebolt-driver/CHANGELOG.md index 181d117ce27b7..49c725470a0bd 100644 --- a/packages/cubejs-firebolt-driver/CHANGELOG.md +++ b/packages/cubejs-firebolt-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/firebolt-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/firebolt-driver diff --git a/packages/cubejs-firebolt-driver/package.json b/packages/cubejs-firebolt-driver/package.json index e74209953ae2a..8e67873ad3abc 100644 --- a/packages/cubejs-firebolt-driver/package.json +++ b/packages/cubejs-firebolt-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/firebolt-driver", "description": "Cube.js Firebolt database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "firebolt-sdk": "1.10.0" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/testing-shared": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/testing-shared": "1.3.38", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-hive-driver/CHANGELOG.md b/packages/cubejs-hive-driver/CHANGELOG.md index 1e20a459e6f13..2ca02abd00fca 100644 --- a/packages/cubejs-hive-driver/CHANGELOG.md +++ b/packages/cubejs-hive-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/hive-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/hive-driver diff --git a/packages/cubejs-hive-driver/package.json b/packages/cubejs-hive-driver/package.json index 91423dc51a9ab..910ffbd96a60d 100644 --- a/packages/cubejs-hive-driver/package.json +++ b/packages/cubejs-hive-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/hive-driver", "description": "Cube.js Hive database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,8 +17,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "generic-pool": "^3.8.2", "jshs2": "^0.4.4", "sasl-plain": "^0.1.0", @@ -28,7 +28,7 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37" + "@cubejs-backend/linter": "1.3.38" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-jdbc-driver/CHANGELOG.md b/packages/cubejs-jdbc-driver/CHANGELOG.md index ffa86aa36fbea..f2bb86d6865d5 100644 --- a/packages/cubejs-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-jdbc-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/jdbc-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/jdbc-driver diff --git a/packages/cubejs-jdbc-driver/package.json b/packages/cubejs-jdbc-driver/package.json index 8200b15b54353..020bf5f339d87 100644 --- a/packages/cubejs-jdbc-driver/package.json +++ b/packages/cubejs-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/jdbc-driver", "description": "Cube.js JDBC database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,9 +25,9 @@ "index.js" ], "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", "@cubejs-backend/node-java-maven": "^0.1.3", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/shared": "1.3.38", "generic-pool": "^3.8.2", "sqlstring": "^2.3.0" }, @@ -43,7 +43,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/generic-pool": "^3.8.2", "@types/node": "^20", "@types/sqlstring": "^2.3.0", diff --git a/packages/cubejs-ksql-driver/CHANGELOG.md b/packages/cubejs-ksql-driver/CHANGELOG.md index 400e78da23315..e53577531342d 100644 --- a/packages/cubejs-ksql-driver/CHANGELOG.md +++ b/packages/cubejs-ksql-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/ksql-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/ksql-driver diff --git a/packages/cubejs-ksql-driver/package.json b/packages/cubejs-ksql-driver/package.json index bdd1148dc30e5..3b8bb429bc769 100644 --- a/packages/cubejs-ksql-driver/package.json +++ b/packages/cubejs-ksql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/ksql-driver", "description": "Cube.js ksql database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,9 +25,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "async-mutex": "0.3.2", "axios": "^1.8.3", "kafkajs": "^2.2.3", @@ -41,7 +41,7 @@ "extends": "../cubejs-linter" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-linter/CHANGELOG.md b/packages/cubejs-linter/CHANGELOG.md index a343a0a0c5094..35086b4d6cae2 100644 --- a/packages/cubejs-linter/CHANGELOG.md +++ b/packages/cubejs-linter/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/linter + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/linter diff --git a/packages/cubejs-linter/package.json b/packages/cubejs-linter/package.json index ee6d72fc73815..401ad226dc68c 100644 --- a/packages/cubejs-linter/package.json +++ b/packages/cubejs-linter/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/linter", "description": "Cube.js ESLint (virtual package) for linting code", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", diff --git a/packages/cubejs-materialize-driver/CHANGELOG.md b/packages/cubejs-materialize-driver/CHANGELOG.md index 707ad1235512c..9d7941595b93c 100644 --- a/packages/cubejs-materialize-driver/CHANGELOG.md +++ b/packages/cubejs-materialize-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/materialize-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/materialize-driver diff --git a/packages/cubejs-materialize-driver/package.json b/packages/cubejs-materialize-driver/package.json index 97295093b209e..1fb04da3196a2 100644 --- a/packages/cubejs-materialize-driver/package.json +++ b/packages/cubejs-materialize-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/materialize-driver", "description": "Cube.js Materialize database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,17 +27,17 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/postgres-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/postgres-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "@types/pg": "^8.6.0", "pg": "^8.6.0", "semver": "^7.6.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/testing": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/testing": "1.3.38", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-mongobi-driver/CHANGELOG.md b/packages/cubejs-mongobi-driver/CHANGELOG.md index d59e183b2bdd1..ea2459513641e 100644 --- a/packages/cubejs-mongobi-driver/CHANGELOG.md +++ b/packages/cubejs-mongobi-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/mongobi-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/mongobi-driver diff --git a/packages/cubejs-mongobi-driver/package.json b/packages/cubejs-mongobi-driver/package.json index 847b02d77fa72..828b365b2b74e 100644 --- a/packages/cubejs-mongobi-driver/package.json +++ b/packages/cubejs-mongobi-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mongobi-driver", "description": "Cube.js MongoBI driver", "author": "krunalsabnis@gmail.com", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "integration:mongobi": "jest dist/test" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "@types/node": "^20", "generic-pool": "^3.8.2", "moment": "^2.29.1", @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/generic-pool": "^3.8.2", "testcontainers": "^10.28.0", "typescript": "~5.2.2" diff --git a/packages/cubejs-mssql-driver/CHANGELOG.md b/packages/cubejs-mssql-driver/CHANGELOG.md index 4fdf89eb05851..f24400c813d4d 100644 --- a/packages/cubejs-mssql-driver/CHANGELOG.md +++ b/packages/cubejs-mssql-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/mssql-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/mssql-driver diff --git a/packages/cubejs-mssql-driver/package.json b/packages/cubejs-mssql-driver/package.json index 76cf1155ad455..09711c60c451c 100644 --- a/packages/cubejs-mssql-driver/package.json +++ b/packages/cubejs-mssql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mssql-driver", "description": "Cube.js MS SQL database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "lint:fix": "eslint --fix src/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "mssql": "^11.0.1" }, "devDependencies": { diff --git a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md index 1ad63f8f9d695..cd7149ac5acbe 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver diff --git a/packages/cubejs-mysql-aurora-serverless-driver/package.json b/packages/cubejs-mysql-aurora-serverless-driver/package.json index 0abc6db0aef62..365c91a3b6b5b 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/package.json +++ b/packages/cubejs-mysql-aurora-serverless-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-aurora-serverless-driver", "description": "Cube.js Aurora Serverless Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -21,14 +21,14 @@ "lint": "eslint driver/*.js test/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "@types/mysql": "^2.15.15", "aws-sdk": "^2.787.0", "data-api-client": "^1.1.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/data-api-client": "^1.2.1", "@types/jest": "^29", "jest": "^29", diff --git a/packages/cubejs-mysql-driver/CHANGELOG.md b/packages/cubejs-mysql-driver/CHANGELOG.md index 64092f4c53244..96cdfe517d2ca 100644 --- a/packages/cubejs-mysql-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/mysql-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/mysql-driver diff --git a/packages/cubejs-mysql-driver/package.json b/packages/cubejs-mysql-driver/package.json index a45b78736a7c7..be22d62509e05 100644 --- a/packages/cubejs-mysql-driver/package.json +++ b/packages/cubejs-mysql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-driver", "description": "Cube.js Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,14 +27,14 @@ "lint:fix": "eslint --fix src/* test/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "generic-pool": "^3.8.2", "mysql": "^2.18.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/testing-shared": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/testing-shared": "1.3.38", "@types/generic-pool": "^3.8.2", "@types/jest": "^29", "@types/mysql": "^2.15.21", diff --git a/packages/cubejs-oracle-driver/CHANGELOG.md b/packages/cubejs-oracle-driver/CHANGELOG.md index ac2d6cf9baf25..594a6787f8bf9 100644 --- a/packages/cubejs-oracle-driver/CHANGELOG.md +++ b/packages/cubejs-oracle-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/oracle-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/oracle-driver diff --git a/packages/cubejs-oracle-driver/package.json b/packages/cubejs-oracle-driver/package.json index 877505c174848..64962bbd877d9 100644 --- a/packages/cubejs-oracle-driver/package.json +++ b/packages/cubejs-oracle-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/oracle-driver", "description": "Cube.js oracle database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/OracleDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", "ramda": "^0.27.0" }, "optionalDependencies": { diff --git a/packages/cubejs-pinot-driver/CHANGELOG.md b/packages/cubejs-pinot-driver/CHANGELOG.md index d40b421162125..93f72441da79e 100644 --- a/packages/cubejs-pinot-driver/CHANGELOG.md +++ b/packages/cubejs-pinot-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/pinot-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/pinot-driver diff --git a/packages/cubejs-pinot-driver/package.json b/packages/cubejs-pinot-driver/package.json index 83c5ddb8adf79..b38434b7183ef 100644 --- a/packages/cubejs-pinot-driver/package.json +++ b/packages/cubejs-pinot-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/pinot-driver", "description": "Cube.js Pinot database driver", "author": "Julian Ronsse, InTheMemory, Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "sqlstring": "^2.3.3" @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/jest": "^29", "jest": "^29", "should": "^13.2.3", diff --git a/packages/cubejs-playground/CHANGELOG.md b/packages/cubejs-playground/CHANGELOG.md index 30241d66c86f1..259ea3eb73510 100644 --- a/packages/cubejs-playground/CHANGELOG.md +++ b/packages/cubejs-playground/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-client/playground + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-client/playground diff --git a/packages/cubejs-playground/package.json b/packages/cubejs-playground/package.json index 2c07ad11f3cc4..b3b3ba965132a 100644 --- a/packages/cubejs-playground/package.json +++ b/packages/cubejs-playground/package.json @@ -1,7 +1,7 @@ { "name": "@cubejs-client/playground", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "engines": {}, "repository": { "type": "git", @@ -68,8 +68,8 @@ "@ant-design/compatible": "^1.0.1", "@ant-design/icons": "^5.3.5", "@cube-dev/ui-kit": "0.52.3", - "@cubejs-client/core": "1.3.37", - "@cubejs-client/react": "1.3.37", + "@cubejs-client/core": "1.3.38", + "@cubejs-client/react": "1.3.38", "@types/flexsearch": "^0.7.3", "@types/node": "^20", "@types/react": "^18.3.4", diff --git a/packages/cubejs-postgres-driver/CHANGELOG.md b/packages/cubejs-postgres-driver/CHANGELOG.md index 49655b9c8e7b4..aabd7745c07eb 100644 --- a/packages/cubejs-postgres-driver/CHANGELOG.md +++ b/packages/cubejs-postgres-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/postgres-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/postgres-driver diff --git a/packages/cubejs-postgres-driver/package.json b/packages/cubejs-postgres-driver/package.json index aa7ac111c2296..1c9f34084b63e 100644 --- a/packages/cubejs-postgres-driver/package.json +++ b/packages/cubejs-postgres-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/postgres-driver", "description": "Cube.js Postgres database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "@types/pg": "^8.6.0", "@types/pg-query-stream": "^1.0.3", "moment": "^2.24.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/testing-shared": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/testing-shared": "1.3.38", "testcontainers": "^10.28.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-prestodb-driver/CHANGELOG.md b/packages/cubejs-prestodb-driver/CHANGELOG.md index f89e0f8fd80ff..4fcc24addb8fa 100644 --- a/packages/cubejs-prestodb-driver/CHANGELOG.md +++ b/packages/cubejs-prestodb-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/prestodb-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/prestodb-driver diff --git a/packages/cubejs-prestodb-driver/package.json b/packages/cubejs-prestodb-driver/package.json index 7f97cf9effe2d..6e8646a2e1b79 100644 --- a/packages/cubejs-prestodb-driver/package.json +++ b/packages/cubejs-prestodb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/prestodb-driver", "description": "Cube.js Presto database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "presto-client": "^1.1.0", "ramda": "^0.27.0", "sqlstring": "^2.3.1" @@ -38,7 +38,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/jest": "^29", "jest": "^29", "should": "^13.2.3", diff --git a/packages/cubejs-query-orchestrator/CHANGELOG.md b/packages/cubejs-query-orchestrator/CHANGELOG.md index 4fc84f37e2695..f426ee3985a65 100644 --- a/packages/cubejs-query-orchestrator/CHANGELOG.md +++ b/packages/cubejs-query-orchestrator/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/query-orchestrator + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/query-orchestrator diff --git a/packages/cubejs-query-orchestrator/package.json b/packages/cubejs-query-orchestrator/package.json index 1177273b01a67..d4397944dfd32 100644 --- a/packages/cubejs-query-orchestrator/package.json +++ b/packages/cubejs-query-orchestrator/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/query-orchestrator", "description": "Cube.js Query Orchestrator and Cache", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,16 +29,16 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/cubestore-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/cubestore-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "csv-write-stream": "^2.0.0", "generic-pool": "^3.8.2", "lru-cache": "^11.1.0", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/generic-pool": "^3.8.2", "@types/jest": "^29", "@types/node": "^20", diff --git a/packages/cubejs-questdb-driver/CHANGELOG.md b/packages/cubejs-questdb-driver/CHANGELOG.md index 37f17552b2c7b..b54e45b80aeb3 100644 --- a/packages/cubejs-questdb-driver/CHANGELOG.md +++ b/packages/cubejs-questdb-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/questdb-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/questdb-driver diff --git a/packages/cubejs-questdb-driver/package.json b/packages/cubejs-questdb-driver/package.json index c35cd1a2953bb..8a1ac612f14c8 100644 --- a/packages/cubejs-questdb-driver/package.json +++ b/packages/cubejs-questdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/questdb-driver", "description": "Cube.js QuestDB database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "@types/pg": "^8.6.0", "moment": "^2.24.0", "pg": "^8.7.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/testing-shared": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/testing-shared": "1.3.38", "testcontainers": "^10.28.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-redshift-driver/CHANGELOG.md b/packages/cubejs-redshift-driver/CHANGELOG.md index 7fc5cb4b46a24..5c8f2596b57d5 100644 --- a/packages/cubejs-redshift-driver/CHANGELOG.md +++ b/packages/cubejs-redshift-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/redshift-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/redshift-driver diff --git a/packages/cubejs-redshift-driver/package.json b/packages/cubejs-redshift-driver/package.json index 5825ddc82d98f..3eecdf31677cd 100644 --- a/packages/cubejs-redshift-driver/package.json +++ b/packages/cubejs-redshift-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/redshift-driver", "description": "Cube.js Redshift database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,13 +25,13 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/postgres-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37" + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/postgres-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-schema-compiler/CHANGELOG.md b/packages/cubejs-schema-compiler/CHANGELOG.md index 54069a5059e8a..a17777b35f680 100644 --- a/packages/cubejs-schema-compiler/CHANGELOG.md +++ b/packages/cubejs-schema-compiler/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +### Bug Fixes + +- **schema-compiler:** Fix BigQuery convertTz implementation ([#9782](https://github.com/cube-js/cube/issues/9782)) ([75f4813](https://github.com/cube-js/cube/commit/75f48139abccc341398980c7b9abfd78bc7d21aa)) + +### Features + +- **schema-compiler,api-gateway:** Nested folders support ([#9659](https://github.com/cube-js/cube/issues/9659)) ([720f048](https://github.com/cube-js/cube/commit/720f0485c8b11f16eb99490259a881c21b845c73)) +- **tesseract:** Allow named calendar timeshifts for common intervals ([#9777](https://github.com/cube-js/cube/issues/9777)) ([a5f8a2e](https://github.com/cube-js/cube/commit/a5f8a2e0d93bf5de0291389d846660f6491651fe)) + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) ### Bug Fixes diff --git a/packages/cubejs-schema-compiler/package.json b/packages/cubejs-schema-compiler/package.json index ae739f7426c75..8c3f52c4e1a8e 100644 --- a/packages/cubejs-schema-compiler/package.json +++ b/packages/cubejs-schema-compiler/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/schema-compiler", "description": "Cube schema compiler", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -40,8 +40,8 @@ "@babel/standalone": "^7.24", "@babel/traverse": "^7.24", "@babel/types": "^7.24", - "@cubejs-backend/native": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/native": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "antlr4ts": "0.5.0-alpha.4", "camelcase": "^6.2.0", "cron-parser": "^4.9.0", @@ -60,8 +60,8 @@ }, "devDependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/query-orchestrator": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/query-orchestrator": "1.3.38", "@types/babel__code-frame": "^7.0.6", "@types/babel__generator": "^7.6.8", "@types/babel__traverse": "^7.20.5", diff --git a/packages/cubejs-schema-compiler/src/compiler/CubeSymbols.ts b/packages/cubejs-schema-compiler/src/compiler/CubeSymbols.ts index 3542a08be6534..c1f207a099216 100644 --- a/packages/cubejs-schema-compiler/src/compiler/CubeSymbols.ts +++ b/packages/cubejs-schema-compiler/src/compiler/CubeSymbols.ts @@ -448,15 +448,31 @@ export class CubeSymbols { const includeMembers = this.generateIncludeMembers(cubeIncludes, cube.name, type); this.applyIncludeMembers(includeMembers, cube, type, errorReporter); - cube.includedMembers = R.uniqWith(R.equals, [...(cube.includedMembers || []), ...Array.from(new Set(cubeIncludes.map((it: any) => { - const split = it.member.split('.'); - const memberPath = this.pathFromArray([split[split.length - 2], split[split.length - 1]]); - return { - type, - memberPath, - name: it.name - }; - })))]); + const existing = cube.includedMembers ?? []; + const seen = new Set( + existing.map(({ type: t, memberPath, name }) => `${t}|${memberPath}|${name}`) + ); + + const additions: { + type: string; + memberPath: string; + name: string; + }[] = []; + + for (const { member, name } of cubeIncludes) { + const parts = member.split('.'); + const memberPath = this.pathFromArray(parts.slice(-2)); + const key = `${type}|${memberPath}|${name}`; + + if (!seen.has(key)) { + seen.add(key); + additions.push({ type, memberPath, name }); + } + } + + if (additions.length) { + cube.includedMembers = [...existing, ...additions]; + } } [...memberSets.allMembers].filter(it => !memberSets.resolvedMembers.has(it)).forEach(it => { @@ -474,26 +490,47 @@ export class CubeSymbols { } } - protected membersFromCubes(parentCube: CubeDefinition, cubes: any[], type: string, errorReporter: ErrorReporter, splitViews: SplitViews, memberSets: any) { - return R.uniqWith(R.equals, R.unnest(cubes.map(cubeInclude => { - // TODO recheck `cubeInclude.joinPath` typing - const fullPath = this.evaluateReferences(null, cubeInclude.joinPath as () => ToString, { collectJoinHints: true }); + protected membersFromCubes( + parentCube: CubeDefinition, + cubes: any[], + type: string, + errorReporter: ErrorReporter, + splitViews: SplitViews, + memberSets: any + ) { + const result: any[] = []; + const seen = new Set(); + + for (const cubeInclude of cubes) { + const fullPath = this.evaluateReferences( + null, + // TODO recheck `cubeInclude.joinPath` typing + cubeInclude.joinPath as () => ToString, + { collectJoinHints: true } + ); + const split = fullPath.split('.'); const cubeReference = split[split.length - 1]; const cubeName = cubeInclude.alias || cubeReference; - let includes: any[]; const fullMemberName = (memberName: string) => (cubeInclude.prefix ? `${cubeName}_${memberName}` : memberName); + let includes: any[]; + if (cubeInclude.includes === '*') { const membersObj = this.symbols[cubeReference]?.cubeObj()?.[type] || {}; - includes = Object.keys(membersObj).map(memberName => ({ member: `${fullPath}.${memberName}`, name: fullMemberName(memberName) })); + includes = Object.keys(membersObj).map((memberName) => ({ + member: `${fullPath}.${memberName}`, + name: fullMemberName(memberName), + })); } else { includes = cubeInclude.includes.map((include: any) => { const member = include.alias || include.name || include; if (member.includes('.')) { - errorReporter.error(`Paths aren't allowed in cube includes but '${member}' provided as include member`); + errorReporter.error( + `Paths aren't allowed in cube includes but '${member}' provided as include member` + ); } const name = fullMemberName(member); @@ -501,39 +538,50 @@ export class CubeSymbols { const includedMemberName = include.name || include; - const resolvedMember = this.getResolvedMember(type, cubeReference, includedMemberName) ? { - member: `${fullPath}.${includedMemberName}`, - name, - ...(include.title || include.description || include.format || include.meta) ? { - override: { - title: include.title, - description: include.description, - format: include.format, - meta: include.meta, - } - } : {} - } : undefined; + const resolved = this.getResolvedMember( + type, + cubeReference, + includedMemberName + ); - if (resolvedMember) { - memberSets.resolvedMembers.add(name); - } + if (!resolved) return undefined; + + memberSets.resolvedMembers.add(name); - return resolvedMember; + const override = (include.title || include.description || include.format || include.meta) + ? { + title: include.title, + description: include.description, + format: include.format, + meta: include.meta, + } + : undefined; + + return { + member: `${fullPath}.${includedMemberName}`, + name, + ...(override ? { override } : {}), + }; }); } - const excludes = (cubeInclude.excludes || []).map((exclude: any) => { - if (exclude.includes('.')) { - errorReporter.error(`Paths aren't allowed in cube excludes but '${exclude}' provided as exclude member`); - } + const excludes = (cubeInclude.excludes || []) + .map((exclude: any) => { + if (exclude.includes('.')) { + errorReporter.error( + `Paths aren't allowed in cube excludes but '${exclude}' provided as exclude member` + ); + } - const resolvedMember = this.getResolvedMember(type, cubeReference, exclude); - return resolvedMember ? { - member: `${fullPath}.${exclude}` - } : undefined; - }); + const resolved = this.getResolvedMember(type, cubeReference, exclude); + return resolved ? { member: `${fullPath}.${exclude}` } : undefined; + }) + .filter(Boolean); - const finalIncludes = this.diffByMember(includes.filter(Boolean), excludes.filter(Boolean)); + const finalIncludes = this.diffByMember( + includes.filter(Boolean), + excludes + ); if (cubeInclude.split) { const viewName = `${parentCube.name}_${cubeName}`; @@ -548,14 +596,24 @@ export class CubeSymbols { splitViewDef = splitViews[viewName]; } - const includeMembers = this.generateIncludeMembers(finalIncludes, parentCube.name, type); + const includeMembers = this.generateIncludeMembers( + finalIncludes, + parentCube.name, + type + ); this.applyIncludeMembers(includeMembers, splitViewDef, type, errorReporter); - - return []; } else { - return finalIncludes; + for (const member of finalIncludes) { + const key = `${member.member}|${member.name}`; + if (!seen.has(key)) { + seen.add(key); + result.push(member); + } + } } - }))); + } + + return result; } protected diffByMember(includes: any[], excludes: any[]) { diff --git a/packages/cubejs-server-core/CHANGELOG.md b/packages/cubejs-server-core/CHANGELOG.md index 9d75b23401b12..74e2e3f90fb04 100644 --- a/packages/cubejs-server-core/CHANGELOG.md +++ b/packages/cubejs-server-core/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/server-core + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/server-core diff --git a/packages/cubejs-server-core/package.json b/packages/cubejs-server-core/package.json index 6ca1a48e60fd5..f2fe2abf6eb7a 100644 --- a/packages/cubejs-server-core/package.json +++ b/packages/cubejs-server-core/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server-core", "description": "Cube.js base component to wire all backend components together", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,14 +29,14 @@ "unit": "jest --runInBand --forceExit --coverage dist/test" }, "dependencies": { - "@cubejs-backend/api-gateway": "1.3.37", - "@cubejs-backend/cloud": "1.3.37", + "@cubejs-backend/api-gateway": "1.3.38", + "@cubejs-backend/cloud": "1.3.38", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.3.37", - "@cubejs-backend/query-orchestrator": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", - "@cubejs-backend/templates": "1.3.37", + "@cubejs-backend/native": "1.3.38", + "@cubejs-backend/query-orchestrator": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", + "@cubejs-backend/templates": "1.3.38", "codesandbox-import-utils": "^2.1.12", "cross-spawn": "^7.0.1", "fs-extra": "^8.1.0", @@ -59,9 +59,9 @@ "ws": "^7.5.3" }, "devDependencies": { - "@cubejs-backend/cubestore-driver": "1.3.37", - "@cubejs-backend/linter": "1.3.37", - "@cubejs-client/playground": "1.3.37", + "@cubejs-backend/cubestore-driver": "1.3.38", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-client/playground": "1.3.38", "@types/cross-spawn": "^6.0.2", "@types/express": "^4.17.21", "@types/fs-extra": "^9.0.8", diff --git a/packages/cubejs-server/CHANGELOG.md b/packages/cubejs-server/CHANGELOG.md index 70189fadae7d3..924393fcb9902 100644 --- a/packages/cubejs-server/CHANGELOG.md +++ b/packages/cubejs-server/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/server + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/server diff --git a/packages/cubejs-server/package.json b/packages/cubejs-server/package.json index 5456b98199e96..9128d4229b2de 100644 --- a/packages/cubejs-server/package.json +++ b/packages/cubejs-server/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server", "description": "Cube.js all-in-one server", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "types": "index.d.ts", "repository": { "type": "git", @@ -40,11 +40,11 @@ "jest:shapshot": "jest --updateSnapshot test" }, "dependencies": { - "@cubejs-backend/cubestore-driver": "1.3.37", + "@cubejs-backend/cubestore-driver": "1.3.38", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.3.37", - "@cubejs-backend/server-core": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/native": "1.3.38", + "@cubejs-backend/server-core": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "@oclif/color": "^1.0.0", "@oclif/command": "^1.8.13", "@oclif/config": "^1.18.2", @@ -61,8 +61,8 @@ "ws": "^7.1.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/query-orchestrator": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/query-orchestrator": "1.3.38", "@oclif/dev-cli": "^1.23.1", "@types/body-parser": "^1.19.0", "@types/cors": "^2.8.8", diff --git a/packages/cubejs-snowflake-driver/CHANGELOG.md b/packages/cubejs-snowflake-driver/CHANGELOG.md index 93ed79df59f13..79a466ca3da9d 100644 --- a/packages/cubejs-snowflake-driver/CHANGELOG.md +++ b/packages/cubejs-snowflake-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/snowflake-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/snowflake-driver diff --git a/packages/cubejs-snowflake-driver/package.json b/packages/cubejs-snowflake-driver/package.json index 401d415ebf61c..da9ddcdedf871 100644 --- a/packages/cubejs-snowflake-driver/package.json +++ b/packages/cubejs-snowflake-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/snowflake-driver", "description": "Cube.js Snowflake database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "date-fns-timezone": "^0.1.4", "snowflake-sdk": "^2.0.3" }, @@ -38,7 +38,7 @@ "extends": "../cubejs-linter" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-sqlite-driver/CHANGELOG.md b/packages/cubejs-sqlite-driver/CHANGELOG.md index ca7c09d9a78b1..d41c74579368c 100644 --- a/packages/cubejs-sqlite-driver/CHANGELOG.md +++ b/packages/cubejs-sqlite-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/sqlite-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/sqlite-driver diff --git a/packages/cubejs-sqlite-driver/package.json b/packages/cubejs-sqlite-driver/package.json index 81ad8d2520fec..e83aa797c214a 100644 --- a/packages/cubejs-sqlite-driver/package.json +++ b/packages/cubejs-sqlite-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/sqlite-driver", "description": "Cube.js Sqlite database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,13 +17,13 @@ "lint": "eslint **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "sqlite3": "^5.1.7" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37" + "@cubejs-backend/linter": "1.3.38" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-templates/CHANGELOG.md b/packages/cubejs-templates/CHANGELOG.md index 191ce1ade4330..226a7f8a2c4f3 100644 --- a/packages/cubejs-templates/CHANGELOG.md +++ b/packages/cubejs-templates/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/templates + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/templates diff --git a/packages/cubejs-templates/package.json b/packages/cubejs-templates/package.json index 4ea535246e111..364ba9b8cbe43 100644 --- a/packages/cubejs-templates/package.json +++ b/packages/cubejs-templates/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/templates", - "version": "1.3.37", + "version": "1.3.38", "description": "Cube.js Templates helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -26,7 +26,7 @@ "extends": "../cubejs-linter" }, "dependencies": { - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/shared": "1.3.38", "cross-spawn": "^7.0.3", "decompress": "^4.2.1", "decompress-targz": "^4.1.1", @@ -36,7 +36,7 @@ "source-map-support": "^0.5.19" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-testing-drivers/CHANGELOG.md b/packages/cubejs-testing-drivers/CHANGELOG.md index c1260d83cf701..cae8618b8c413 100644 --- a/packages/cubejs-testing-drivers/CHANGELOG.md +++ b/packages/cubejs-testing-drivers/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/testing-drivers + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/testing-drivers diff --git a/packages/cubejs-testing-drivers/package.json b/packages/cubejs-testing-drivers/package.json index f8d303ec56a1e..aa9f58b19ab74 100644 --- a/packages/cubejs-testing-drivers/package.json +++ b/packages/cubejs-testing-drivers/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-drivers", - "version": "1.3.37", + "version": "1.3.38", "description": "Cube.js drivers test suite", "author": "Cube Dev, Inc.", "license": "MIT", @@ -66,24 +66,24 @@ "dist/src" ], "dependencies": { - "@cubejs-backend/athena-driver": "1.3.37", - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/bigquery-driver": "1.3.37", - "@cubejs-backend/clickhouse-driver": "1.3.37", - "@cubejs-backend/cubestore-driver": "1.3.37", - "@cubejs-backend/databricks-jdbc-driver": "1.3.37", + "@cubejs-backend/athena-driver": "1.3.38", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/bigquery-driver": "1.3.38", + "@cubejs-backend/clickhouse-driver": "1.3.38", + "@cubejs-backend/cubestore-driver": "1.3.38", + "@cubejs-backend/databricks-jdbc-driver": "1.3.38", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/mssql-driver": "1.3.37", - "@cubejs-backend/mysql-driver": "1.3.37", - "@cubejs-backend/postgres-driver": "1.3.37", - "@cubejs-backend/query-orchestrator": "1.3.37", - "@cubejs-backend/server-core": "1.3.37", - "@cubejs-backend/shared": "1.3.37", - "@cubejs-backend/snowflake-driver": "1.3.37", - "@cubejs-backend/testing-shared": "1.3.37", - "@cubejs-client/core": "1.3.37", - "@cubejs-client/ws-transport": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/mssql-driver": "1.3.38", + "@cubejs-backend/mysql-driver": "1.3.38", + "@cubejs-backend/postgres-driver": "1.3.38", + "@cubejs-backend/query-orchestrator": "1.3.38", + "@cubejs-backend/server-core": "1.3.38", + "@cubejs-backend/shared": "1.3.38", + "@cubejs-backend/snowflake-driver": "1.3.38", + "@cubejs-backend/testing-shared": "1.3.38", + "@cubejs-client/core": "1.3.38", + "@cubejs-client/ws-transport": "1.3.38", "@jest/globals": "^29", "@types/jest": "^29", "@types/node": "^20", diff --git a/packages/cubejs-testing-shared/CHANGELOG.md b/packages/cubejs-testing-shared/CHANGELOG.md index 76d0cff691f01..de2be7a202c0d 100644 --- a/packages/cubejs-testing-shared/CHANGELOG.md +++ b/packages/cubejs-testing-shared/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/testing-shared + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/testing-shared diff --git a/packages/cubejs-testing-shared/package.json b/packages/cubejs-testing-shared/package.json index 47b898931a8a7..c1e0051d09fe9 100644 --- a/packages/cubejs-testing-shared/package.json +++ b/packages/cubejs-testing-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-shared", - "version": "1.3.37", + "version": "1.3.38", "description": "Cube.js Testing Helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -21,16 +21,16 @@ ], "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/query-orchestrator": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/query-orchestrator": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "@testcontainers/kafka": "~10.28.0", "dedent": "^0.7.0", "node-fetch": "^2.6.7", "testcontainers": "^10.28.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@jest/globals": "^29", "@types/dedent": "^0.7.0", "@types/jest": "^29", diff --git a/packages/cubejs-testing/CHANGELOG.md b/packages/cubejs-testing/CHANGELOG.md index d0d6ae7957b70..d1acdcf43cfbc 100644 --- a/packages/cubejs-testing/CHANGELOG.md +++ b/packages/cubejs-testing/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/testing + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/testing diff --git a/packages/cubejs-testing/package.json b/packages/cubejs-testing/package.json index 24a55ddf48f54..542c347d26d4c 100644 --- a/packages/cubejs-testing/package.json +++ b/packages/cubejs-testing/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing", - "version": "1.3.37", + "version": "1.3.38", "description": "Cube.js e2e tests", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -94,15 +94,15 @@ "birdbox-fixtures" ], "dependencies": { - "@cubejs-backend/cubestore-driver": "1.3.37", + "@cubejs-backend/cubestore-driver": "1.3.38", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/ksql-driver": "1.3.37", - "@cubejs-backend/postgres-driver": "1.3.37", - "@cubejs-backend/query-orchestrator": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", - "@cubejs-backend/testing-shared": "1.3.37", - "@cubejs-client/ws-transport": "1.3.37", + "@cubejs-backend/ksql-driver": "1.3.38", + "@cubejs-backend/postgres-driver": "1.3.38", + "@cubejs-backend/query-orchestrator": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", + "@cubejs-backend/testing-shared": "1.3.38", + "@cubejs-client/ws-transport": "1.3.38", "dedent": "^0.7.0", "fs-extra": "^8.1.0", "http-proxy": "^1.18.1", @@ -113,8 +113,8 @@ }, "devDependencies": { "@4tw/cypress-drag-drop": "^1.6.0", - "@cubejs-backend/linter": "1.3.37", - "@cubejs-client/core": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-client/core": "1.3.38", "@jest/globals": "^29", "@types/dedent": "^0.7.0", "@types/http-proxy": "^1.17.5", diff --git a/packages/cubejs-trino-driver/CHANGELOG.md b/packages/cubejs-trino-driver/CHANGELOG.md index 24925fe8d4e92..cfc8b2f57de55 100644 --- a/packages/cubejs-trino-driver/CHANGELOG.md +++ b/packages/cubejs-trino-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/trino-driver + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/trino-driver diff --git a/packages/cubejs-trino-driver/package.json b/packages/cubejs-trino-driver/package.json index 3800435ac51fc..62f71ecc0e4e0 100644 --- a/packages/cubejs-trino-driver/package.json +++ b/packages/cubejs-trino-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/trino-driver", "description": "Cube.js Trino database driver", "author": "Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,10 +27,10 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/prestodb-driver": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/prestodb-driver": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", + "@cubejs-backend/shared": "1.3.38", "node-fetch": "^2.6.1", "presto-client": "^1.1.0", "sqlstring": "^2.3.1" @@ -40,7 +40,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/jest": "^29", "jest": "^29", "testcontainers": "^10.28.0", diff --git a/packages/cubejs-vertica-driver/CHANGELOG.md b/packages/cubejs-vertica-driver/CHANGELOG.md index 25cc3b66d34bc..f498e7e037643 100644 --- a/packages/cubejs-vertica-driver/CHANGELOG.md +++ b/packages/cubejs-vertica-driver/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube.js/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/vertica-driver + ## [1.3.37](https://github.com/cube-js/cube.js/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/vertica-driver diff --git a/packages/cubejs-vertica-driver/package.json b/packages/cubejs-vertica-driver/package.json index a6329b0878c0b..081efa4afbc75 100644 --- a/packages/cubejs-vertica-driver/package.json +++ b/packages/cubejs-vertica-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/vertica-driver", "description": "Cube.js Vertica database driver", "author": "Eduard Karacharov, Tim Brown, Cube Dev, Inc.", - "version": "1.3.37", + "version": "1.3.38", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.js.git", @@ -19,15 +19,15 @@ "lint:fix": "eslint --fix **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.3.37", - "@cubejs-backend/query-orchestrator": "1.3.37", - "@cubejs-backend/schema-compiler": "1.3.37", + "@cubejs-backend/base-driver": "1.3.38", + "@cubejs-backend/query-orchestrator": "1.3.38", + "@cubejs-backend/schema-compiler": "1.3.38", "vertica-nodejs": "^1.0.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", - "@cubejs-backend/testing-shared": "1.3.37", + "@cubejs-backend/linter": "1.3.38", + "@cubejs-backend/testing-shared": "1.3.38", "@types/jest": "^29", "jest": "^29", "testcontainers": "^10.28.0" diff --git a/rust/cubesql/CHANGELOG.md b/rust/cubesql/CHANGELOG.md index e11ac00544f51..aba5bc184b318 100644 --- a/rust/cubesql/CHANGELOG.md +++ b/rust/cubesql/CHANGELOG.md @@ -3,6 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +### Features + +- **cubesql:** Push Limit-Sort down Projection ([#9776](https://github.com/cube-js/cube/issues/9776)) ([72e6059](https://github.com/cube-js/cube/commit/72e605966100bb24d44b715d96cfb2cc4d8d793d)) +- **schema-compiler,api-gateway:** Nested folders support ([#9659](https://github.com/cube-js/cube/issues/9659)) ([720f048](https://github.com/cube-js/cube/commit/720f0485c8b11f16eb99490259a881c21b845c73)) + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/cubesql diff --git a/rust/cubesql/cubesql/src/compile/mod.rs b/rust/cubesql/cubesql/src/compile/mod.rs index d375e9cb03de0..d2e19faa8e41a 100644 --- a/rust/cubesql/cubesql/src/compile/mod.rs +++ b/rust/cubesql/cubesql/src/compile/mod.rs @@ -17168,4 +17168,59 @@ LIMIT {{ limit }}{% endif %}"#.to_string(), } ) } + + #[tokio::test] + async fn test_push_down_limit_sort_projection() { + init_testing_logger(); + + let logical_plan = convert_select_to_query_plan( + r#" + SELECT + "ta_1"."customer_gender" AS "ca_1", + DATE_TRUNC('MONTH', CAST("ta_1"."order_date" AS date)) AS "ca_2", + COALESCE(sum("ta_1"."sumPrice"), 0) AS "ca_3" + FROM + "db"."public"."KibanaSampleDataEcommerce" AS "ta_1" + WHERE + ( + "ta_1"."order_date" >= TIMESTAMP '2024-01-01 00:00:00.0' + AND "ta_1"."order_date" < TIMESTAMP '2025-01-01 00:00:00.0' + ) + GROUP BY + "ca_1", + "ca_2" + ORDER BY + "ca_2" ASC NULLS LAST + LIMIT + 5000 + ;"# + .to_string(), + DatabaseProtocol::PostgreSQL, + ) + .await + .as_logical_plan(); + + assert_eq!( + logical_plan.find_cube_scan().request, + V1LoadRequestQuery { + measures: Some(vec!["KibanaSampleDataEcommerce.sumPrice".to_string()]), + dimensions: Some(vec!["KibanaSampleDataEcommerce.customer_gender".to_string()]), + segments: Some(vec![]), + time_dimensions: Some(vec![V1LoadRequestQueryTimeDimension { + dimension: "KibanaSampleDataEcommerce.order_date".to_string(), + granularity: Some("month".to_string()), + date_range: Some(json!(vec![ + "2024-01-01T00:00:00.000Z".to_string(), + "2024-12-31T23:59:59.999Z".to_string() + ])), + },]), + order: Some(vec![vec![ + "KibanaSampleDataEcommerce.order_date".to_string(), + "asc".to_string(), + ]]), + limit: Some(5000), + ..Default::default() + } + ) + } } diff --git a/rust/cubesql/cubesql/src/compile/rewrite/cost.rs b/rust/cubesql/cubesql/src/compile/rewrite/cost.rs index 0c338ee1d3b5e..baa49a23dca7f 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/cost.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/cost.rs @@ -51,11 +51,6 @@ impl BestCubePlan { _ => 0, }; - let non_pushed_down_limit_sort = match enode { - LogicalPlanLanguage::Sort(_) => 1, - _ => 0, - }; - let ast_size_inside_wrapper = match enode { LogicalPlanLanguage::WrappedSelect(_) => 1, _ => 0, @@ -130,6 +125,8 @@ impl BestCubePlan { LogicalPlanLanguage::JoinCheckStage(_) => 1, LogicalPlanLanguage::JoinCheckPushDown(_) => 1, LogicalPlanLanguage::JoinCheckPullUp(_) => 1, + LogicalPlanLanguage::SortProjectionPushdownReplacer(_) => 1, + LogicalPlanLanguage::SortProjectionPullupReplacer(_) => 1, // Not really replacers but those should be deemed as mandatory rewrites and as soon as // there's always rewrite rule it's fine to have replacer cost. // Needs to be added as alias rewrite always more expensive than original function. @@ -220,7 +217,8 @@ impl BestCubePlan { member_errors, non_pushed_down_window, non_pushed_down_grouping_sets, - non_pushed_down_limit_sort, + // Will be filled in finalize + non_pushed_down_limit_sort: 0, zero_members_wrapper, cube_members, errors: this_errors, @@ -405,9 +403,8 @@ impl CubePlanCost { CubePlanState::Wrapper => 0, }, non_pushed_down_limit_sort: match sort_state { - SortState::DirectChild => self.non_pushed_down_limit_sort, - SortState::Current => self.non_pushed_down_limit_sort, - _ => 0, + SortState::Current => self.non_pushed_down_limit_sort + 1, + _ => self.non_pushed_down_limit_sort, }, // Don't track state here: we want representation that have fewer wrappers with zero members _in total_ zero_members_wrapper: self.zero_members_wrapper, diff --git a/rust/cubesql/cubesql/src/compile/rewrite/mod.rs b/rust/cubesql/cubesql/src/compile/rewrite/mod.rs index 7697e50090dd1..b9abce1be32fb 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/mod.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/mod.rs @@ -508,6 +508,13 @@ crate::plan_to_language! { members: Vec, alias_to_cube: Vec<(String, String)>, }, + SortProjectionPushdownReplacer { + expr: Arc, + column_to_expr: Vec<(Column, Expr)>, + }, + SortProjectionPullupReplacer { + expr: Arc, + }, EventNotification { name: String, members: Vec, @@ -2236,6 +2243,17 @@ fn join_check_pull_up(expr: impl Display, left: impl Display, right: impl Displa format!("(JoinCheckPullUp {expr} {left} {right})") } +fn sort_projection_pushdown_replacer(expr: impl Display, column_to_expr: impl Display) -> String { + format!( + "(SortProjectionPushdownReplacer {} {})", + expr, column_to_expr + ) +} + +fn sort_projection_pullup_replacer(expr: impl Display) -> String { + format!("(SortProjectionPullupReplacer {})", expr) +} + pub fn original_expr_name(egraph: &CubeEGraph, id: Id) -> Option { egraph[id] .data diff --git a/rust/cubesql/cubesql/src/compile/rewrite/rewriter.rs b/rust/cubesql/cubesql/src/compile/rewrite/rewriter.rs index ae86c55dafb1c..96ae42f568fc3 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/rewriter.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/rewriter.rs @@ -477,7 +477,7 @@ impl Rewriter { eval_stable_functions, ), &DateRules::new(config_obj.clone()), - &OrderRules::new(), + &OrderRules::new(config_obj.clone()), &CommonRules::new(config_obj.clone()), ]; let mut rewrites = Vec::new(); diff --git a/rust/cubesql/cubesql/src/compile/rewrite/rules/order.rs b/rust/cubesql/cubesql/src/compile/rewrite/rules/order.rs index 9dfa0f5550f0f..18ee390431d6e 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/rules/order.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/rules/order.rs @@ -1,18 +1,33 @@ +use std::{ + ops::{Index, IndexMut}, + sync::Arc, +}; + +use egg::Subst; + use crate::{ - compile::rewrite::{ - analysis::OriginalExpr, - column_name_to_member_vec, cube_scan, cube_scan_order, cube_scan_order_empty_tail, - expr_column_name, order, order_replacer, referenced_columns, rewrite, - rewriter::{CubeEGraph, CubeRewrite, RewriteRules}, - sort, sort_exp, sort_exp_empty_tail, sort_expr, transforming_rewrite, LogicalPlanLanguage, - OrderAsc, OrderMember, OrderReplacerColumnNameToMember, SortExprAsc, + compile::{ + datafusion::logical_plan::Column, + rewrite::{ + analysis::OriginalExpr, + column_expr, column_name_to_member_vec, + converter::LogicalPlanToLanguageConverter, + cube_scan, cube_scan_order, cube_scan_order_empty_tail, expr_column_name, limit, order, + order_replacer, projection, referenced_columns, rewrite, + rewriter::{CubeEGraph, CubeRewrite, RewriteRules}, + sort, sort_exp, sort_exp_empty_tail, sort_expr, sort_projection_pullup_replacer, + sort_projection_pushdown_replacer, transforming_rewrite, ColumnExprColumn, + LogicalPlanLanguage, OrderAsc, OrderMember, OrderReplacerColumnNameToMember, + ProjectionAlias, SortExprAsc, SortProjectionPushdownReplacerColumnToExpr, + }, }, + config::ConfigObj, var, var_iter, }; -use egg::Subst; -use std::ops::{Index, IndexMut}; -pub struct OrderRules {} +pub struct OrderRules { + config_obj: Arc, +} impl RewriteRules for OrderRules { fn rewrite_rules(&self) -> Vec { @@ -70,13 +85,107 @@ impl RewriteRules for OrderRules { order_replacer(sort_exp_empty_tail(), "?aliases"), cube_scan_order_empty_tail(), ), + // TODO: refactor this rule to `push-down-sort-projection`, + // possibly adjust cost function to penalize Limit-...-Sort plan + transforming_rewrite( + "push-down-limit-sort-projection", + limit( + "?skip", + "?fetch", + sort( + "?sort_expr", + projection( + "?projection_expr", + "?input", + "?projection_alias", + "?projection_split", + ), + ), + ), + projection( + "?projection_expr", + limit( + "?skip", + "?fetch", + sort( + sort_projection_pushdown_replacer("?sort_expr", "?column_to_expr"), + "?input", + ), + ), + "?projection_alias", + "?projection_split", + ), + self.push_down_limit_sort_projection( + "?input", + "?projection_expr", + "?projection_alias", + "?column_to_expr", + ), + ), + rewrite( + "sort-projection-replacer-pull-up-sort", + sort(sort_projection_pullup_replacer("?expr"), "?input"), + sort("?expr", "?input"), + ), + rewrite( + "sort-projection-replacer-push-down-sortexp", + sort_projection_pushdown_replacer(sort_exp("?left", "?right"), "?column_to_expr"), + sort_exp( + sort_projection_pushdown_replacer("?left", "?column_to_expr"), + sort_projection_pushdown_replacer("?right", "?column_to_expr"), + ), + ), + rewrite( + "sort-projection-replacer-push-down-sortexp-tail", + sort_projection_pushdown_replacer(sort_exp_empty_tail(), "?column_to_expr"), + sort_projection_pullup_replacer(sort_exp_empty_tail()), + ), + rewrite( + "sort-projection-replacer-pull-up-sortexp", + sort_exp( + sort_projection_pullup_replacer("?left"), + sort_projection_pullup_replacer("?right"), + ), + sort_projection_pullup_replacer(sort_exp("?left", "?right")), + ), + rewrite( + "sort-projection-replacer-push-down-sortexpr", + sort_projection_pushdown_replacer( + sort_expr("?expr", "?asc", "?nulls_first"), + "?column_to_expr", + ), + sort_expr( + sort_projection_pushdown_replacer("?expr", "?column_to_expr"), + "?asc", + "?nulls_first", + ), + ), + rewrite( + "sort-projection-replacer-pull-up-sortexpr", + sort_expr( + sort_projection_pullup_replacer("?expr"), + "?asc", + "?nulls_first", + ), + sort_projection_pullup_replacer(sort_expr("?expr", "?asc", "?nulls_first")), + ), + transforming_rewrite( + "sort-projection-replacer-push-down-column", + sort_projection_pushdown_replacer(column_expr("?column"), "?column_to_expr"), + sort_projection_pullup_replacer("?new_expr"), + self.sort_projection_replacer_push_down_column( + "?column", + "?column_to_expr", + "?new_expr", + ), + ), ] } } impl OrderRules { - pub fn new() -> Self { - Self {} + pub fn new(config_obj: Arc) -> Self { + Self { config_obj } } fn push_down_sort( @@ -173,4 +282,107 @@ impl OrderRules { false } } + + fn push_down_limit_sort_projection( + &self, + input_var: &'static str, + projection_expr_var: &'static str, + projection_alias_var: &'static str, + column_to_expr_var: &'static str, + ) -> impl Fn(&mut CubeEGraph, &mut Subst) -> bool { + let input_var = var!(input_var); + let projection_expr_var = var!(projection_expr_var); + let projection_alias_var = var!(projection_alias_var); + let column_to_expr_var = var!(column_to_expr_var); + move |egraph, subst| { + let input_is_sort_or_limit = egraph[subst[input_var]].nodes.iter().any(|node| { + matches!( + node, + LogicalPlanLanguage::Sort(_) | LogicalPlanLanguage::Limit(_) + ) + }); + if input_is_sort_or_limit { + return false; + } + + let Some(expr_to_alias) = egraph[subst[projection_expr_var]] + .data + .expr_to_alias + .as_deref() + else { + return false; + }; + + for projection_alias in var_iter!(egraph[subst[projection_alias_var]], ProjectionAlias) + { + let mut column_to_expr = vec![]; + for (expr, alias, _) in expr_to_alias { + let column = Column::from_name(alias); + column_to_expr.push((column, expr.clone())); + if let Some(projection_alias) = projection_alias.as_deref() { + let column = Column { + relation: Some(projection_alias.to_string()), + name: alias.to_string(), + }; + column_to_expr.push((column, expr.clone())); + } + } + + subst.insert( + column_to_expr_var, + egraph.add( + LogicalPlanLanguage::SortProjectionPushdownReplacerColumnToExpr( + SortProjectionPushdownReplacerColumnToExpr(column_to_expr), + ), + ), + ); + return true; + } + false + } + } + + fn sort_projection_replacer_push_down_column( + &self, + column_var: &'static str, + column_to_expr_var: &'static str, + new_expr_var: &'static str, + ) -> impl Fn(&mut CubeEGraph, &mut Subst) -> bool { + let column_var = var!(column_var); + let column_to_expr_var = var!(column_to_expr_var); + let new_expr_var = var!(new_expr_var); + let flat_list = self.config_obj.push_down_pull_up_split(); + move |egraph, subst| { + for old_column in var_iter!(egraph[subst[column_var]], ColumnExprColumn).cloned() { + for column_to_expr in var_iter!( + egraph[subst[column_to_expr_var]], + SortProjectionPushdownReplacerColumnToExpr + ) + .cloned() + { + let Some(expr) = column_to_expr.iter().find_map(|(column, expr)| { + if column == &old_column { + Some(expr) + } else { + None + } + }) else { + continue; + }; + + let Ok(new_expr_id) = + LogicalPlanToLanguageConverter::add_expr(egraph, expr, flat_list) + else { + // Insertion failure should never happen as it can be partial, + // so fail right away. + return false; + }; + + subst.insert(new_expr_var, new_expr_id); + return true; + } + } + false + } + } } diff --git a/rust/cubesql/package.json b/rust/cubesql/package.json index e6a23e425f1b1..bb50a7704b975 100644 --- a/rust/cubesql/package.json +++ b/rust/cubesql/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubesql", - "version": "1.3.37", + "version": "1.3.38", "description": "SQL API for Cube as proxy over MySQL protocol.", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" diff --git a/rust/cubestore/CHANGELOG.md b/rust/cubestore/CHANGELOG.md index e91b238549b4a..5eb2b3deadf61 100644 --- a/rust/cubestore/CHANGELOG.md +++ b/rust/cubestore/CHANGELOG.md @@ -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.3.38](https://github.com/cube-js/cube/compare/v1.3.37...v1.3.38) (2025-07-16) + +**Note:** Version bump only for package @cubejs-backend/cubestore + ## [1.3.37](https://github.com/cube-js/cube/compare/v1.3.36...v1.3.37) (2025-07-14) **Note:** Version bump only for package @cubejs-backend/cubestore diff --git a/rust/cubestore/package.json b/rust/cubestore/package.json index 131eb250c3622..afc9d7c0862e4 100644 --- a/rust/cubestore/package.json +++ b/rust/cubestore/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubestore", - "version": "1.3.37", + "version": "1.3.38", "description": "Cube.js pre-aggregation storage layer.", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -27,7 +27,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.3.37", + "@cubejs-backend/linter": "1.3.38", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", @@ -37,7 +37,7 @@ "access": "public" }, "dependencies": { - "@cubejs-backend/shared": "1.3.37", + "@cubejs-backend/shared": "1.3.38", "@octokit/core": "^3.2.5", "source-map-support": "^0.5.19" },