Skip to main content

Changelog

Additions and updates to Hex.

Announcement

Back in October we announced Hex 2.0 (has it really only been 6 weeks?!) and we hope you've been loving the all-new reactive re-compute model. This is a quick heads up that we'll be automatically migrating all legacy projects to Hex 2.0 before the end of the year.

What do you need to do to prepare? Nothing. Your projects will still run and return what you expect, but be faster and more intuitive for it.

Feature

Gather your #squad, you can now subset users into groups! Groups make sharing projects with a set of folks easy; plus we'll be adding more abilities and permissions to groups soon, stay tuned!

Fix

  • Secrets were erroneously highlighted as errors in code cells.
  • We fixed an issue that could cause a project to get stuck "Queueing" when in cell-only run mode.
  • We've fixed an issue where BigQuery connections were having trouble using the dbt integration.
  • Metric cells would error on more exotic data types, but can now accept a broader array of inputs including unknown data types.
  • We've fixed a bug that caused the publish dialog to occasionally show up empt
Feature

Following up on last month's all-new Table Display cell that included column string formatting (for currency, percentages, etc.), this month we're landing Conditional Formatting. You can now color-code tabular data according to multiple rules that can use numerical, string, boolean, and date expressions β€” no more Pandas style tables! Check out all the options in the docs.

Feature

If you've ever created a code cell that just runs input_list = input_df['column_of_interest'].unique() to feed into an Input parameter, you'll be excited about this one. Dynamic Input parameters can now select a dataframe column as the value source, without needing to generate a list!

This is a big time saver and helps keep apps tidy with fewer unnecessary code cells and one-off arrays.

Feature

We've always had version history in Hex to let you restore previous iterations of your projects, but now we're releasing a rich edit history to let you know what actually has recently changed. You'll now find all edits, versions, and comments for a project in one unified chronological timeline.

We've also changed how you access this historyβ€” You'll no longer see it in the top bar, find it instead in the "History & versions" sidebar tab. See the docs for the full story.

Improvement

  • You can now toggle the legend on/off for encodings in chart cells (color, size, opacity, dash, or detail).
  • If you are on slow or spotty wifi, Hex will helpfully notify you that your connection is unstable and work may not be saved.
  • Markdown headers in apps now have anchor links, so you can send a link directly to a specific section of a published app.
  • When you auto-format code cells with the keyboard shortcut (esc + FS), a toast notification alerts you.
  • You can also now auto-format code without using a keyboard shortcut, from the cell menu.
  • When creating a new project, instead of assuming you want to begin with a python cell, we now ask whether you want to start with a SQL or Python cell.
Feature

We've revamped our Table Display cells to lay the ground work for some new features that are going to make working will tabular data so much easier! You'll notice that now you can customize the format of your numerical data β€” so go on and set the decimal precision, add a currency, or talk percentages! More on tables soon to come...

Feature

  • We've added several packages to our default set, including rtree, gspread-pandas, googlemaps, google-auth-httplib2, and tfcausalimpact
  • Command-mode for Input parameter cells was previously not available via the esc key, which has since been resolved.
  • Multiselect Input parameter lists no longer return to the top of the list after making a selection.
  • Keyboard shortcut to switch between views have been updated to avoid conflicts with some international keyboards.
  • A bug which prevented email notifications for comments left on a project has been resolved.
  • Renaming output dataframes of SQL cells was not occurring in place but is now behaving as expected.
Feature

Don't spend time nit-picking over the formatting of your code, just auto format cells with a quick keyboard shortcut, esc+fs!

Feature

Quickly get the context you need on your datasets, without switching tools. Our dbt integration pulls metadata from dbt about freshness and recent tests directly into the schema browser.

Want to know more about our dbt integration? Read the blog or get the docs.

Feature

Make a statement about the metrics that matter with our new Metric cells (aka Big Ass Numbersβ„’). Call out the top-level results of your projects in big ole fonts and contextualize them with comparisons to related data.

Feature

We've unlocked the ability to send multiple statements to your database in our SQL cells. Create, drop, insert, and update your tables at will! Add some Jinja to your queries and you'll take your database spell casting skills to the next level.

Feature

Hex projects now have a fully reactive, DAG-based recompute model, which only re-executes cells as required based on upstream changes.

To enable this, all you have to do is set your Run Mode to Auto. Now whenever you update a parameter or a cell, Hex will analyze the code and re-run other cells as needed. If you ever want to go back to one-cell-at-a-time, you can easily toggle to Cell Only from the top bar.

Auto Run is a massive improvement for reproducibility, interpretability, and performance, both in Logic and App views.

Feature

With the magic of Auto Run, we have also eliminated the $. Hex input parameters now return plain variable names e.g., input_1.

You can also see the variables returned by any cell in the new UI:

We've also refreshed the Logic View UI to make it easier to understand what variables are being returned by each cell.

You can also hover on any returned variable to see metadata about it and discover where it's referenced in the project. This works really nicely with the graph!

Feature

Hit the Graph button in the upper right to open an interactive DAG visualization of your project. All cells with variable relationships are automatically displayed, with their dependencies easily charted:

This lets you rapidly understand even a very complex project, visually exploring the flow of data and variables in a way that simply isn't possible from a typical notebook view.

Visualization options can be found in the πŸ‘οΈ icon in the upper right.

Fix

  • When setting up a new BigQuery connection, schema fetching is now much faster and won't time out.
  • We fixed an issue with Button Input parameters that caused them to appear to be always running.
  • If you were very quick on the draw and managed to click "Restore" twice on the same historical Hex version, you could have gotten into a weird state. No more!
  • We've added a tooltip to display long project names on both the project homepage and in Logic view.
Feature

We know some of you have some meaty queries and code cells (definitely not looking at you, you thousand-line-query-writers!). We've added cell line numbers to make navigating those beasts a little easier.

Feature

One of the top request features has arrived: Dynamic Markdown! You can now use variables directly in markdown cells!

You may also notice that the formatting has gotten a glow up. Header fonts are bigger, there are more header options, and fonts are now consistent between Logic and App views.

Feature

Sometime you just need to move a block of cells, duplicate them, or copy them to a different section of your project. We've added the ability to select multiple cells (shift + arrow) and adjust them as needed, all from the comfort of your keyboard!

Feature

Maybe not glamorous, but security is fundamental to how we are building Hex. We're excited to announce that we now have a SOC2 Type II report!

The tl;dr β€” we take security seriously, so much so that an external auditor agrees that our systems and processes are secure, and that we adhere to them in practice. Read more details on our blog.

Feature

Yep, we went there. You can now select "Dataframes" as a data source for SQL cells, and query any dataframe in a project like a table in a database. Queries are fast, in-memory, and use a well-featured flavor of PostgreSQL.

Feature

We have made some big improvements to speed in Hex: loading projects is much snappier, project run times are faster, and little things like adding new cells take less time. Performance work is never done – let us know if there are any other areas that you think could use a little speed up πŸš€

Feature

We saw that you generally only clicked the πŸ‘οΈ button in the menubar to access the "View Live" button contained within, so we pulled that button out to the top level. You can now click this πŸ–₯️ button to go straight to the live version of your app.

Feature

Bring some order to the chaos and organize all of your Hex projects! You can now add a Status and multiple Categories to any Hex project and filter the main Projects view to quickly find what you're looking for.

We've set you up with some default options to get you started, but any Hex administrator can add new Categories or Statuses from the Administration page. And yes, you can remove the defaults if you've got your own big plans πŸ™‚.

Announcement

Don't fear, you can still drop us a line any time with our live chat support, we've just tucked the button out of your way in the bottom left corner of the screen. You'll also find a link to the help docs and this changelog there too!

Feature

We made a bunch of updates to Input Parameter Cells. They now include a Run Button, which makes it easy to Run Below after changing a parameter value.

They also include a new "Referenced In" element, which let you quickly see and jump to downstream cells in the project that use the given parameter in their code.

See all of it live in this very quick demo: