Cube Core releases v0.34.35 thru v0.35 bring a few of enhancements to data modeling, improve the support for data sources, update a couple of default settings, and remove support for niche legacy features.
Title and format for view members
As of 0.34.48, view members inherit title
and format
parameters from respective cube members so you can access them via the /meta
REST API endpoint.
FILTER_GROUP
context variable
As of 0.34.56, the new FILTER_GROUP
context variable was introduced for cases when multiple FILTER_PARAMS
are used in SQL definitions of cubes or when filters with complex boolean operators are used in Cube queries.
If you use FILTER_PARAMS
in your data models, please familiarize yourself with new examples in the documentation.
Export bucket for ClickHouse
As of 0.34.61, you can configure an export bucket on AWS S3 and improve pre-aggregation build performance with large datasets in ClickHouse.
Local database path for DuckDB
As of 0.34.57, you can use the CUBEJS_DB_DUCKDB_DATABASE_PATH
environment variable to specify a local database path for DuckDB.
AWS S3 configuration for DuckDB
As of 0.34.47, you can use the CUBEJS_DB_DUCKDB_S3_USE_SSL
, CUBEJS_DB_DUCKDB_S3_URL_STYLE
, and CUBEJS_DB_DUCKDB_S3_SESSION_TOKEN
environment variables to configure the access to data on AWS S3 buckets for DuckDB.
Cluster option for Materialize
As of 0.34.58, you can use the CUBEJS_DB_MATERIALIZE_CLUSTER
environment variable to configure the cluster name for Materialize.
Default data model path changed
As of 0.35, Cube assumes that the data model files are placed in the model
folder (rather than the schema
folder). It helps remove the confusion between the database schema and the semantic layer data model. So, the default value of the CUBEJS_SCHEMA_PATH
environment variable is updated to model
.
Default column fetch order changed
As of v0.33.57, a new community-contributed CUBEJS_DB_FETCH_COLUMNS_BY_ORDINAL_POSITION
environment variable was introduced to fix the unreliable behavior of Redshift when exporting pre-aggregations. In 0.35, this variable is set to true
by default.
cubejs
renamed to cube
in JavaScript SDK
In line with the transition that was announced more than a year ago, we've updated the public API of the JavaScript SDK to use cube
instead of cubejs
. Package names, e.g., @cubejs-client/core
and @cubejs-client/react
, stay intact. The reference documentation has been updated accordingly.
Alpine-based Docker images removed
We've decided to remove Alpine Docker images from Docker Hub to reduce the burder of maintaining Python support with these images.
Legacy MySQL-based SQL API removed
Before the introduction of Postgres-compatible Cube's SQL API a couple of years ago, we prototyped an early version of it that was based on MySQL protocol. Since it was only used by a few early adopters and is not maintained anymore, we've removed it alongside with the CUBEJS_SQL_PORT
environment variable.
Legacy serverless packages removed
With the introduction of Docker-based architecture more than three years ago, serverless NPM packages (i.e., cubejs-serverless
, cubejs-serverless-aws
, and cubejs-serverless-google
) started to become increasingly less and less relevant. Now, we're removing them completely.
Legacy initApp
hook removed
In pre-Docker era, there was a way to run arbitrary code when Cube starts that is not relevant anymore. So, we've removed the initApp
hook completely as well.
Node.js 14 removed, Node.js 16 deprecated
Internally, Cube uses Node.js as runtime for a part of its code base. Since Node.js 14 and 16 reached their end of life on April 30, 2023 and September 11, 2023, respectively, we've removed the support for the former and deprecated the support for the latter. Most likely, this change applies to you if you're developing a custom data source driver.
What's next?
In addition to updates mentioned above, we have substantially improved the SQL API and the support for various BI tools. We will be announcing specific improvements as we reach our internal milestones.
Please feel free to upgrade and try v0.35 today in Cube Core with our Docker distribution. It's also available on the latest release channel in Cube Cloud.
As always, please don't hesitate to get in touch with us and share your feedback in our Slack community of more than 10,000 data practitioners.