PageSourceSearch

https://learn.hex.tech/assets/js/ffbad86e.a5367f63.js

js hex.tech collected 2026-10-01 10:16:41 UTC 10,247 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkhex_docs||=[]).push([[759],{989409(e,t,n){n.r(t),n.d(t,{default:()=>d,metadata:()=>s});var s=n(362475),o=n(474848),a=n(28453),i=n(415794),r=n(171006);const l={title:"Dark Mode, Notebook diff, chart improvements, and Slack",description:"This round of Hex updates includes some long-requested functionality, significant improvements to core Hex workflows that you use every day... and some dark, unspeakable magic.",slug:"2022-04-21",date:new Date("2022-04-21T15:00:00.000Z")};function c(e){const t={a:"a",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"This round of Hex updates includes some long-requested functionality, significant improvements to core Hex workflows that you use every day... and some dark, unspeakable magic. The usual!"}),"\n",(0,o.jsx)(t.h3,{id:"-dark-mode",children:"\ud83d\udc0d Dark mode"}),"\n",(0,o.jsxs)(t.p,{children:["I was in the library the other day, in the Restricted Section, and I read something rather odd about a bit of rare product functionality. It\u2019s called, as I understand it... ",(0,o.jsx)(t.strong,{children:"Dark Mode."})]}),"\n",(0,o.jsx)(i.A,{location:"changelog",src:"2022-04-21-dark-mode"}),"\n",(0,o.jsx)(t.p,{children:"You can enable Dark Mode from the new User Preferences section of the Settings, where Theme options reside. You can sync Hex to your system mode, or choose to always be Light/Dark."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.a,{href:"https://www.loom.com/share/14ece69a05ea41c49eed222855028c48",children:"Check out a demo here"})})}),"\n",(0,o.jsx)(t.p,{children:"Every single screen of Hex has been carefully themed, from dialogs to inputs and even charts. We'll be adding more themes in the near future, like a dimmed theme and colorblind friendly mode."}),"\n",(0,o.jsx)(t.h3,{id:"-project-view-stats",children:"\ud83d\udc40 Project view stats"}),"\n",(0,o.jsx)(i.A,{location:"changelog",src:"2022-04-21-view-stats"}),"\n",(0,o.jsx)(t.p,{children:"Ever wonder if anyone\u2019s actually looking at that app you built? We talk a lot about \u201cturning data into knowledge\u201d and making sure that your data work has impact\u2014 one of the simplest ways to do that is to just see if anyone\u2019s picking up what you\u2019re putting down."}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Check out the Published App Views tracker in the bottom left of the sidebar, next to the memory indicator."})," You can click \u201cSee more\u201d to get a detailed access log."]}),"\n",(0,o.jsx)(t.h3,{id:"\ufe0f-user-preferences-and-vim-mode",children:"\u2699\ufe0f User preferences (and Vim mode)"}),"\n",(0,o.jsx)(i.A,{location:"changelog",src:"2022-04-21-user-preferences"}),"\n",(0,o.jsxs)(t.p,{children:["We\u2019ve already covered most of the contents of the User preferences page, but expect more configuration options to become available here as we build. In addition to Theme settings, ",(0,o.jsx)(t.strong,{children:"Vim key bindings are now available for Code, SQL, and Markdown cells."})]}),"\n",(0,o.jsx)(t.h3,{id:"-slack-notifications",children:"\ud83d\udd14 Slack notifications"}),"\n",(0,o.jsx)(i.A,{location:"changelog",src:"2022-04-21-slack-notifications"}),"\n",(0,o.jsx)(t.p,{children:"I only check my email every two weeks, on Thursdays when I send these release notes. Outside of that, it\u2019s all Slack. This means I regularly miss important Hex notifications, like project access requests, comments, and new shared apps."}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"You can now choose to receive all or some notifications via Slack, in addition to (or instead of!) email."})," Head to your Settings > Notification preferences to authorize Slack and configure notification settings."]}),"\n",(0,o.jsx)(t.h3,{id:"\ufe0f-move-to-trash",children:"\ud83d\uddd1\ufe0f Move to Trash"}),"\n",(0,o.jsx)(i.A,{location:"changelog",src:"2022-04-21-trash"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Hex now \u201csoft deletes\u201d projects rather than permanently (and slowly!) deleting them."})," You\u2019ll select \u201cMove to trash\u201d instead of \u201cDelete\u201d, and have access to restore projects from the Trash for 7 days before permanent deleti
1on."]}),"\n",(0,o.jsx)(t.h3,{id:"-pie-charts",children:"\ud83e\udd67 Pie charts"}),"\n",(0,o.jsx)(i.A,{location:"changelog",src:"2022-04-21-pie-charts"}),"\n",(0,o.jsx)(t.p,{children:"We once swore a vow to never add Pie charts to Hex, but we\u2019ve listened to your feedback, put the user first, and... though it pains us to even say it..."}),"\n",(0,o.jsx)(t.p,{children:"released Pie Charts \ud83e\udd67."}),"\n",(0,o.jsxs)(t.p,{children:["We\u2019re calling them \u201cArc\u201d charts though, which is both ",(0,o.jsx)(t.a,{href:"https://vega.github.io/vega-lite/docs/arc.html",children:"technically correct"})," and protects our Unbreakable Vow."]}),"\n",(0,o.jsx)(t.h3,{id:"\ufe0f-notebook-diff",children:"\ud83d\udd8d\ufe0f Notebook diff"}),"\n",(0,o.jsx)(r.A,{location:"changelog",src:"2022-04-21-logic-diff.mp4"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:'When publishing, in addition to the app preview you\u2019ll now see a "Notebook diff" tab that tracks changes to outputs, code, and configuration on a cell-by-cell basis.'})}),"\n",(0,o.jsx)(t.p,{children:"This means changes to backend logic are readily visible when publishing new app versions, even for cells that aren\u2019t directly displayed in the app layout."}),"\n",(0,o.jsx)(t.p,{children:"New cells, updated outputs, markdown grammar fixes, and tweaked SQL queries are all visible and easily auditable before publishing."}),"\n",(0,o.jsx)(t.h3,{id:"-chart-improvements",children:"\ud83d\udc85 Chart improvements"}),"\n",(0,o.jsx)(t.p,{children:"We\u2019re continuing to add polish to Chart cells with a couple of helpful improvements to standard chart functionality."}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Area Charts"})," are now supported, and pair especially well with Line layers when visualizing data that\u2019s lightly related."]}),"\n",(0,o.jsx)(i.A,{location:"changelog",src:"2022-04-21-area-charts"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"You can sort chart axes by the values of the other axis."})," This sounds weird no matter how you say it for some reason, so here\u2019s a nice GIF example! PS: this only works for ordinal and nominal axis types."]}),"\n",(0,o.jsx)(i.A,{location:"changelog",src:"2022-04-21-axis-sort",type:"gif"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Duplicate chart as Python cell now outputs a Python dict, not a JSON string."})," This makes custom chart configs a lot more readable, and more easily parameterized based on app logic."]}),"\n",(0,o.jsx)(t.h3,{id:"other-improvements",children:"Other improvements"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"You\u2019ll notice lots of visual polish around the app, from new icons to pixel perfect alignment."}),"\n",(0,o.jsx)(t.li,{children:"We\u2019ve added a \u201cContact an admin\u201d option to several places where previously, we just informed users that only admins could take a certain action."}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"bugs-squashed",children:"Bugs squashed"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:["Some organizations were missing the default set of statuses and categories. We fixed this, and repopulated your empty lists. If you\u2019ve suddenly had this feature appear, ",(0,o.jsx)(t.a,{href:"/docs/organize-content/statuses-categories",children:"welcome"}),"!"]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsx)(t.p,{children:"If you were using $dollar sign math syntax$ in Markdown cells, you probably noticed some strange formatting behavior. We\u2019ve fixed this, but now you have to use $$double dollar sign syntax$$ to achieve the same effect\u2014 just like Notion!"}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsx)(t.p,{children:"Multi-select parameters were accidentally able to reference their own output as input, which was fun but not that useful."}),"\n"]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}n.d(t,["assets",0,{authorsImageUrls:[]},"contentTitle",0,void 0,"frontMatter",0,l,"toc",0,[{value:"\ud83d\udc0d Dar
1k mode",id:"-dark-mode",level:3},{value:"\ud83d\udc40 Project view stats",id:"-project-view-stats",level:3},{value:"\u2699\ufe0f User preferences (and Vim mode)",id:"\ufe0f-user-preferences-and-vim-mode",level:3},{value:"\ud83d\udd14 Slack notifications",id:"-slack-notifications",level:3},{value:"\ud83d\uddd1\ufe0f Move to Trash",id:"\ufe0f-move-to-trash",level:3},{value:"\ud83e\udd67 Pie charts",id:"-pie-charts",level:3},{value:"\ud83d\udd8d\ufe0f Notebook diff",id:"\ufe0f-notebook-diff",level:3},{value:"\ud83d\udc85 Chart improvements",id:"-chart-improvements",level:3},{value:"Other improvements",id:"other-improvements",level:3},{value:"Bugs squashed",id:"bugs-squashed",level:3}]])},362475(e){e.exports=JSON.parse('{"permalink":"/changelog/2022-04-21","source":"@site/changelog/2022-04-21.md","title":"Dark Mode, Notebook diff, chart improvements, and Slack","description":"This round of Hex updates includes some long-requested functionality, significant improvements to core Hex workflows that you use every day... and some dark, unspeakable magic.","date":"2022-04-21T15:00:00.000Z","tags":[],"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Dark Mode, Notebook diff, chart improvements, and Slack","description":"This round of Hex updates includes some long-requested functionality, significant improvements to core Hex workflows that you use every day... and some dark, unspeakable magic.","slug":"2022-04-21","date":"2022-04-21T15:00:00.000Z"},"unlisted":false,"prevItem":{"title":"GitHub sync, Text cell, Custom logos","permalink":"/changelog/2022-05-05"},"nextItem":{"title":"Relative Date inputs, Cell runtime, and Hexport","permalink":"/changelog/2022-04-07"}}')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.