Skip to main content
Latest release:

๐Ÿ’… New App builderโ€‹

Weโ€™re rolling out an all-new app builder to help you more easily build beautiful Hex apps. It will eventually replace both Story and Canvas layouts, so weโ€™re not calling it anything more exciting than App builder.

The new App builder has:

  • Your favorite Story features: Auto-generated layouts, responsive design.
  • Those crucial few Canvas extras: Control over placement and sizing, freeform layouts.
  • Some new stuff: A grid based alignment system, app width control, multiple auto-layout controls.

We think itโ€™s pretty sweet, and hope you do too! Youโ€™ll probably be invited to try it out next time you build a Hex app.

๐Ÿ”ย Table Display filtersโ€‹

Table display cells can now filter data. Gone are the days of preceding every Table Display with a Dataframe SQL query or pandas one-liner to extract a subset of data for display. Like a spreadsheet, you can use a flexible condition-based UI to quickly filter a dataframe without using code.

All the same logic used for Conditional Formatting is available in filters, and multiple conditions & filters can be combined to create complex logic.

โฑ Scheduled run updatesโ€‹

You can now add multiple schedules to a single project, and choose to send notification emails on successful and/or errored runs.

Want to quietly refresh data in an app every day at midnight, but only automatically remind your teammates about it on Monday mornings? Easy peasy.

๐Ÿฆ ย Cell embedsโ€‹

In addition to full app embeds, you can now embed individual cells from Hex projects. Hex embeds work in Notion docs and anywhere that supports iframesโ€” like Salesforce, Confluence, or even this changelog:

For more on embeds, we blogged about this the other week: http://noscreenshots.club/

๐ŸŒŠ New data connectionsโ€‹

Weโ€™ve got some new friends, and they all have fancy lakehouses. Hex now connects natively to Databricks, Trino, and Dremio. You can add these to any project or workspace just like any other data connection. Specific instructions on configuring them are available in the docs.

Other improvementsโ€‹

  • SQL autocomplete has been improved for data warehouses that use database โ€œnamesโ€, like Snowflake & Trino.
  • Code blocks in Markdown cells received some styling polish1
  • pydeck has been added to the default package library for all your mapmaking needs ๐Ÿ—บ๏ธ.

Bugs squashedโ€‹

  • Weโ€™ve fixed an issue that caused apps without auto-run to very occasionally auto-run
  • Several embed style issues have been fixed
  • Repaired some minor visual blemishes on Single Value cells

Footnotesโ€‹

  1. You can also now do footnotes in Markdown cells, using standard Markdown syntax โ†ฉ

๐Ÿ“š Knowledge Libraryโ€‹

The Knowledge Library is a new set of workflows and features in Hex that empower teams to create knowledge from their work, rather than just standalone insights. You might remember last monthโ€™s announcement of new project metadata, including tags and statuses. Now, you can use specific statuses (like โ€œApprovedโ€ or โ€œProductionโ€) to include projects in the new Library view.

The Library UI is a new homepage view that only displays published apps with a โ€œLibrary Statusโ€, filtering out any active drafts, half-finished explorations, or archived and deprecated work. This is also the default view for View-only users, who are likely primarily interested in approved & verified work.

All the usual search & filtering options work on the Library, and weโ€™ll be continuing to add new metadata that makes it easier to keep relevant knowledge easy to find.

We wrote some more about the Knowledge Library (and Knowledge in general) over on the Blog.

๐Ÿ–ผ๏ธ Embedding in Notionโ€‹

Speaking of Knowledge, we know a lot of you keep your organizational knowledge in Notion. Us too! Despite being founding members of the Anti Screenshots-of-Charts League, we occasionally found even ourselves adding screenshots of Hex apps into Notion pages where a link just wouldnโ€™t cut it.

So, now you can directly embed Hex apps into Notion pages! Just copy & paste the link to a published Hex app into a page, and choose โ€œEmbed Hexโ€ when prompted. An embed frame will appear that you can resize appropriately. Check out the docs for all the details!

Note: Thereโ€™s some more embed work coming swiftly down the pipe. Weโ€™ll be working on embed styles, improving embed authentication*, supporting embeds in more places, and more.

* We're currently working on an issue with authentication in the desktop version of Notion. Apps "shared with web" will work in both web & desktop, but privately shared apps will show as logged-out in the desktop version.

๐Ÿดโ€โ˜ ๏ธ R sneak-peekโ€‹

R support has been a common request for as long as Hex has been available. Weโ€™ve always waxed polyglot about programming, and though itโ€™s usually been about Python, we never planned to only support Python workflows.

Now, (beta) users can choose whether to begin a Hex project using SQL & Python or SQL & R. Many familiar features like reactive auto-run and Dataframe SQL work just as youโ€™d expect.

Itโ€™s in Preview, so kinks are still being ironed out, and it may not reach full parity with Python for some time. Weโ€™re really excited to start supporting teams and individuals that primarily use Rโ€” if thatโ€™s you, please reach out for Preview access!

Other improvementsโ€‹

  • Weโ€™ve added transformers to the default package library ๐Ÿค—.
  • You may have encountered the โ€œOutput of x MB is larger than the 10 MB limitโ€ warning when plotting large datasets. Weโ€™ve bumped this limit to 50 MB, which should cover much larger plots.
  • You can now tweak project labels and descriptions right from the publish dialogโ€” So you can label a project โ€œProductionโ€ (and add it to the Library) right as you publish!

Bugs squashedโ€‹

  • Weโ€™ve fixed a couple of small issues that sometimes caused the โ€œPublishโ€ button to be inaccessible.
  • Clicking โ€œGo to Cellโ€ in app view would occasionally not actually go to the relevant cell โ€” It now always does!
  • Weโ€™ve fixed an issue that was causing create table commands (CTAS) in BigQuery to fail.
  • Chart cells that are โ€œDuplicated as code cellโ€ are now properly sized upon duplication.

๐Ÿ’ฌ App comments sidebarโ€‹

We've added a sidebar to published apps that makes navigating comments more natural. Now you can pop open the comments sidebar to see all open & resolved app comments. You can quickly navigate around the app by clicking comments, and reply or resolve right from the sidebar. Check out a quick video walking through it.

๐Ÿ“š More project detailsโ€‹

We've added project titles, statuses, and categories to the top of the Notebook view, where they're more easily seen and edited.

There's also a new piece of metadataโ€” Descriptions can now be added to projects, allowing for additional context, helpful links, or anything else you might want to add.

You can also use this metadata as a title & header for Story mode apps. Use the new App Display menu to configure what to show viewers of your app. This means you don't have to add markdown cells to serve as app titles, and can also surface helpful information about status, edit date, and authorship.

We've turned this off by default so you don't have duplicate titles in apps that may have existing markdown titles. Next time you're in an app and it has a markdown based title though, you know what to do... ๐Ÿ”ช

๐Ÿ’‡โ€โ™€๏ธ Revamped outlineโ€‹

We've given the Outline a fresh new look! You will find it nicely streamlined and focused on cell outputs, so you can more easily navigate your projects.

You can also now filter the outline, choosing to only show Markdown cells or Input Parameters.

๐Ÿ†• New project creation dialogโ€‹

Got a few "Untitled project"s lying around? Us too... so we've made it much easier to name projects right when you create them.

(pro tip: opt+shift+n will let you quickly create a new project, even if you're already inside of another project)

๐Ÿ’ณ Self-serve account managementโ€‹

You can upgrade and manage your plan directly from the Hex admin panel! Head to the Admin > Upgrade Plan page to "swipe" your card and get up and running.

Other improvementsโ€‹

You can now make project titles "super duper insanely long" without the title truncating as early.

We are beta-testing a method to improve performance for large projects with 100+ cells. You may notice scrolling working a bit differently - please let us know how it feels!

Bugs squashedโ€‹

  • The minimum value setting for axes in Chart cells is now correctly applied.
  • We've resolved a bug that was preventing dataframes being downloaded as .csv from the output of the cell.
  • We've resolved a bug that prevented some projects from being published when a specific kind of Table Display cell was added.
  • Sometimes, when creating a display table cell from a variable, the new cell didn't autorun; this has been fixed.
  • The issue of some Single value cell values being incorrectly rounded has been resolved.
  • We've made it easier to hover over and click the comment icon in an app.

๐Ÿ™ GitHub package importโ€‹

Make use of the utility code you've got stashed in GitHub or get access to functions in private repos! All you need to do is connect your GitHub account to Hex to access the files and function you need for your analysis!

๐Ÿช‘ Display tables for SQL cellsโ€‹

Having to add a Display Table right after previewing the output of a SQL cell always felt a little repetitive in the redundancy department. Now, not only can you add the output of your SQL table directly to your apps, you can also enrich that output as a fully-fledged Display Table!

๐Ÿšป Share projects with a groupโ€‹

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!

๐Ÿฆ‹ Hex 2.0 migrationโ€‹

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.

Bugs squashedโ€‹

  • We've upgraded to the newest release of DuckDB! This mean previous dataframe SQL issues with the datediff function and handling of decimal types in dataframes have been resolved.
  • Occasionally failed database connections were not being closed, which could lead to a build up of connections. This has been resolved.
  • Pandas style tables are no longer truncated and require scrolling.
  • Chart cells can accept columns with parenthesis in the column name.
  • We've added support for more data types which can be used in dynamically defined Input parameters.

๐Ÿ’… Conditional formatting in Table Display cellsโ€‹

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.

๐Ÿ“œ Edit historyโ€‹

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.

๐Ÿงžโ€โ™€๏ธ Dataframe columns in Input Parametersโ€‹

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.

Other improvementsโ€‹

  • 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.

Bugs squashedโ€‹

  • 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.
  • Single value 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 empty

๐Ÿง‚ Table Display cells with column formattingโ€‹

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...

๐ŸŽถ Multi-statement queriesโ€‹

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.

๐Ÿ”ข Single Value cellsโ€‹

Make a statement about the metrics that matter with our new Single value 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.

๐Ÿ’œ dbt ๐Ÿค Hexโ€‹

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.

โœจ Cell formattingโ€‹

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

Bugs squashedโ€‹

  • 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.