Self-Hosted Deployment Changelog

>= v1.4.5

Data service caching upgrade

This update adds the new "SQL Cell" caching feature, which allows users to selectively cache SQL queries for performance reasons. The backing data store for this feature uses S3, so an additional S3 bucket must be created prior to upgrading.

Before steps

Create a new cache S3 bucket in AWS that has lifecycle rules turned on for automatic expiration. This comes out of the box if you are using the Hex provided AWS Terraform templates here. If not, set up a new S3 bucket + IAM user using your own infrastructure similar to the one provided.

If you are using the Hex provided AWS Terraform templates, simply upgrade to the latest version of the terraform module and re-apply the plan.


In the kots UI, go to the "Config" tab and add the new S3 configuration details to the new section at the bottom titled "Data Service S3 Cache".

After these have been entered, click deploy to commence the upgrade!

>= v1.3.0

Service Mesh Upgrade

This update makes major upgrades to the Consul service mesh, to further improve security for deployments, and open up future capabilities for more advanced networking for Python Kernels.

Upgrading to this version requires running scripts before and after deploying the update, so make sure you follow all the steps in order.

Before steps

Make sure you have your Vault unseal keys available to re-unseal vault after this upgrade. If you followed the steps in Vault, then these keys will probably be located in AWS Secrets Manager.

Step 1

Run the script using your namespace and release name. For most customers deploying into the default kubernetes namespace, the command you will need to run is this:

./ -n hex -r hex

Step 2

Deploy the new Hex version in kots. At this point, you're free to deploy the new 1.3.2 version using the standard upgrade instructions here:

Step 3

Run the script using your namespace, release name, and unseal keys. Like above, if you deployed into the default namespace, the command you will need to run is the following command. This script will migrate Vault storage from Consul to Raft and should take about 5 minutes.

./ -n hex -r hex UNSEAL_KEY_1 UNSEAL_KEY_2 UNSEAL_KEY_3

You should be done! Verify that all nodes have started correctly by running kubectl get -n hex pods and check that all nodes are in the Ready state.

v 1.2.2

☁️ Private Cloud Update

First, update kots. On the command line run the two commands below. These will upgrade your version of kots as well as your kots console.

curl <> | bash

kubectl kots admin-console upgrade --namespace <namespace> (where <namespace> is the the namespace you installed Hex into before)

Next, the actual upgrade to Hex 1.2.2! (And see below for more details on what's included with this release!)

To reconnect to the kots admin console, run kubectl kots admin-console --namespace <namespace> and navigate to http://localhost:8800. Then follow the instructions here:

Finally, go to the Config tab of the kots admin console to configure the following settings. See the example screenshot for where these settings live.

  1. Default organization name - With our rollout of Organizations (see feature details below), your team needs a name!

  2. Google Login for SSO - You can now configure Hex to use Google OAuth for logins if you want. Follow the instructions here to get a Google Client ID and Google Client Secret. Your callback url will be https://YOURHEXDOMAIN/auth/google/callback

Stay tuned for a follow-on update next week. We're further enhancing how we store user credentials and will be upgrading the bundled Vault, which will require manual steps.

As always, if you run into any issues with these updates, reach out and we'll help get you squared away asap.

Feature Updates

🏢 Organizations

With Organizations you can now share projects with your entire Organization (instead of adding them one-by-one in the Share dialog box!).

📖 Story Layout

With Hex, you have always been able to build free-form apps using our traditional "Canvas" layout, dragging-and-dropping elements into place.

While great for apps like dashboards, they aren't as helpful for situations where the linear flow of a notebook is actually desirable - like a report or experiment result summary.

With Story Layouts, your notebooks automatically get turned into beautiful, linear reports that you can share with a click.

All input and output elements are added by default, although hiding an element from the app is easy as well.

🛠 Other improvements and fixes

You can now add multiple emails in a share field at once using comma-separated values

More obvious comments indicator

Duplicate column name issue resolved

Better app performance with many charts

Keyboard shortcut for deleting cells (command mode: dd) no longer over-deletes

SQL cells using MariaDB connections support SET {parameter} FOR SELECT... type queries