Changelog

April 4, 2025

More flexibility in presenting canvases

User feedback told us that it was challenging to transition existing reporting patterns to Count. So, we have introduced more flexibility in how you share and present canvases.

Firstly, the sidebar Report button has been changed to "Present". This more accurately reflects its function from the canvas view.

Once in the present mode, there is a new default "Report" setting. This allows you to present scrollable views of taller frames and move between them with a new navigation bar, in addition to our canvas overviews. It's great for reproducing dashboards, reports and other detailed content.

We have maintained the existing behaviour as "Slides", adding the ability to more easily present these with a fullscreen button.

We believe this makes it easier to replicate existing workflows within Count, and to encourage stakeholders more familiar with scrollable reports to engage with data while maintaining the ability to jump into the underlying canvas to explore.

Canvases are shared or presented. Presentations should be explorable and questions answerable in a canvas.

Existing canvases maintain the current/previous behaviour to avoid breaking changes to the experience. /report URLs will continue to function as expected.

Field grouping in Count Metrics catalogs

As we continue to evolve Count Metrics we've made it easier to create highly usable catalogs by introducing grouping to fields. A group key can be added to view fields which will place them within an expandable list similar to that currently used for aggregations.

Fixes

  • Flickering of object bounds when selected by others
  • Race condition on moving a canvas to trash when within the canvas (often the canvas would still appear in the project after being redirected there)
  • A superfluous Databricks test that used to be performed on connection has been removed
  • Cells that aren't attached to a valid database connection are now ignored on execution
  • It's now possible to open search results in a new tab by holding Ctrl (Command on macOS) and clicking
  • Fixed an issue where the AI input wasn't shown in some cases
  • Project explore URL can now load in a new tab
  • The correct domain whitelist is now used when SSO is enabled
  • The correct dependency name is now used for catalog control cells
  • We now initialise views correctly when the canvas only contains dropdowns
  • Explore cells are no longer considered to be hidden in reports
  • Undo/redo when the canvas is read-only
  • We now incorporate upstream view signatures in remote cells so cached results are invalidated when the view definition changes
March 21, 2025

Count Metrics

Count Metrics is our vision of a semantic layer that deliver all the traditional benefits, while allowing us to consider the relationships between metrics, and make the canvas a true jumping off point for exploration.

Catalogs are defined in YAML files, version-controlled in Git, with the usual affordances of rolling back and atomic, documented commits. Count will run a pre-commit check on every dependant cell/visualization, and highlight breaking changes with associated errors, and subsequently show when these are resolved in further commits.

View and dataset have an expressive and powerful syntax allowing for fine-grain control over caching, formatting, and aggregations.

Every visualization or table built upon catalogs can be “Explored” with a single click. Bringing you into our familiar no-code Explore environment where you edit the visualization without impacting the original canvas, or save your changes it into a new canvas.

More information is available in our launch announcement and product documentation.

Deep Workspace Search

Searching in Count now looks further just the titles of canvases, and will query all text contents across SQL/Python code cells, comments, stickies, and text objects.

You can filter by author and project, and sort by created and last edited date. Clicking on a result will jump right to the specific object.

It is also now accessible anywhere with the shortcut Command/Control+K

Fixes

  • We've reduced the number of calls made to the Slack API for workspaces with many channels
  • Count can now import more metadata about the tables from very large databases
  • Fixed a regression where the frame navigator wasn't shown in reports on mobile
  • Various small fixes for embedded links in the canvas
  • Count now always opens a new tab/window when you click on a link in the canvas
  • Fixed an issue where wheel events were ignored while hovering on the onboarding popup
  • When duplicating a canvas, all individual user permissions are now stripped other than those for the user performing the action
  • When multiple tables/cells are joined in a low-code/visual cell, the correct columns are now shown in the right sidebar
March 7, 2025

Overviews

Overviews help you create canvases that are easier to understand and explore, by bringing text, lists, TODOs, and clickable links to frames or cells into the left-hand panel.

It's a small area where you can introduce users to the canvas, and help them get started using it. It's visible in reports too.

Now you'll never have to pan around a canvas again to find filter controls again... they can now be placed into the overview so they are usable wherever you are looking.

We've made it super simple to get started with existing canvases. Count AI can create intro text, and we can pull all those controls in with a single click. To learn more, check out the docs.

Preview canvases as another role

Analysts can now preview how canvases/reports appear to explorers, editors and viewers, to make sure their work appears as expected to others.

dbt jinja support for viewers

dbt jinja was previously limited to canvas editors; now all users see correct and consistent output from cells that use this.

Fixes

  • Notifications are now debounced and batched into emails and Slack messages, to reduce noise for recipients
  • The merge button is now hidden for users that aren't able to edit code in the parent canvas
  • The buttons to refresh/cancel queries are now always shown
  • An issue in the rendering of sliders where
  • DuckDB cells now ignore the canvas manual execution setting
  • Fixed an issue in the formatting of months of the year
  • The navbar in embedded reports is now the correct height
  • Hidden cells are no longer executed after the canvas is edited, unless required by any downstream cells
February 21, 2025

DuckDB on the server

Approximately 80% of queries in Count are (or could be) running in-browser using DuckDB. These "local" cells make canvases highly performant, and equally importantly drive down the cost on your data warehouse.

To tackle the remaining 20%, we're now introducing DuckDB on the server. This involves spinning up DuckDB VMs in our infrastructure to run queries that touch larger amounts of data (beyond the 128MB per cell available in-browser), before streaming results back to you.

Quicker, more explorable canvases, made cheaper. For more info, check out the blog post.

Concurrency

Query concurrency can now be configured for all database types from the connection settings.

Fixes

  • Fixed an issue where images weren't displayed in Slack messages in iOS
  • Click events on resolved threads are now ignored
  • NaN is now accounted for in sorting tables/visuals
  • Control cell states are no longer reverted when synchronising locked canvases
  • The "Share to web" setting is now clearer in canvases/reports
  • Hidden frames are now unhidden if navigating by link to an object within the frame
  • Fixed an issue in rounding numbers before constructing big integers
  • Fixed an issue in Safari not matching formatting
  • An error message is shown if exploding cells fail
  • QUALIFY is now correctly parsed for Redshift cells
  • Data points with missing data are now excluded from default domain calculations
  • Shared styles are now supported for toggles/sliders
  • Fixed an issue of scrolling of cell inputs
  • Fixed ignore/respect nulls parsing in window functions
  • Bullet colors now change with that of the first character of the list
  • Connectors are now hidden in reports if hidden in frame
  • Links are now omitted from alert emails if the recipient doesn't have access to the canvas
  • Fixed an issue in formatting of dates in legends
  • Fixed an issue in updating sliders
February 7, 2025

Fixes

  • Cell titles can now be copied/pasted along with other styles
  • Improved error message when DuckDB references empty cells
  • Locally-executed dropdowns are now sorted correctly
  • Invoice links in the billing page are now clickable
January 29, 2025

Fixes

  • dbt column descriptions are now shown in the visual controls
  • Local control cells can now reference upstream cells attached to databases
  • Fixed an issue with the display of rich Python embeds
January 10, 2025

Pending queries table

Workspace admins/owners can now see a list of all pending queries for a given database connection, at https://count.co/connection/<key>/queries. From here you can see which cells/canvases are contributing particularly to database load, and quickly cancel any number of queries.

Fixes

  • The QUALIFY clause is now supported for Redshift queries
  • Fixed an issue where IGNORE NULLS and RESPECT NULLS weren't parsed correctly in window functions
  • Exponentiation in Athena is now supported in calculated fields
  • "Data source order" has been renamed "Natural" to avoid confusion as to whether it relates to the order of the parent cell (it doesn't)
  • Tooltips are now shown for truncated alert names in the subscriptions modal
  • Fonts are now loaded immediately when added to a focused text object
  • Copying/pasting styles between objects now correctly copies the font and text color
  • Ligatures with multiple glyphs per character are now rendered correctly
  • Inconsistencies of syntax highlighting between focused/unfocused states have been fixed
December 27, 2024

Improvements to control cells

  • The settings for these now live in the sidebar, rather than in the canvas itself, so you don't need to keep hiding/showing the input to change them. Show/hide input is now only shown for SQL/Python cells
  • You can now order single/multiple selects either alphabetically or by frequency (the default). Head to the sidebar to change this
  • Filter cells has had a facelift to make the active filters clearer
  • You can now customise the color of toggle controls and the color/font of sliders
  • You can now change the numeric format in slider controls
  • We've fixed an issue in which clicking on options in multiple selects sometimes didn't select them

Hold modifier key to select objects within others

You can now hold Cmd (macOS) or Ctrl (Windows) and drag to select objects that are within another.

Fixes

  • Fixed an issue in scrolling cell inputs
  • Fixed an edge case where text object changes weren't persisted
  • Data points that can't be projected (null or negative for logarithmic scales) are now ignored in determining the default domain on the orthogonal axis
  • Dataframe columns with array names are now handled correctly
  • Fixed an issue with uploading of CSVs
  • It's now possible to normalize big integers in visuals
December 13, 2024

Improvements to default domains in visuals

The default domains of Cartesian axes now extend to ensure that all the data can be seen. Previously, marks could be clipped if they extended beyond the point they described, particularly in the case of text.

Custom cron schedules for queries

It's now possible to use custom cron schedules in query schedules (for example, every weekday, or at 5 minutes past the hour), so long as successive invocations are at least an hour apart.

Edit and delete comments

You can now edit and delete individual comments in threads. To do so, click on the ellipses to the right of the comment.

Fixes

  • Newlines are now captured in comments
  • Fixed an issue when project member names didn't overflow correctly
  • Errors in PDF export are now handled correctly
  • For BigQuery, the date_add function in visuals/low-code cells now only casts to the datetime type if the interval is less than a day
November 29, 2024

Move and delete multiple canvases at once

It's now possible to select multiple canvases when viewing them as a list in the project view, by clicking on the checkboxes at the left of each row. These can then be moved between projects and deleted in bulk. Canvas previews are now also shown in this view so you can see the contents of each canvas without opening it.

Fixes

  • Text within comments can now be selected properly
  • Null groups are now accounted for correctly in visuals with normalization
  • Text layout issues have been in objects containing block quotes and code blocks
  • Double-clicking on the bottom edge of a text object now consistently changes its sizing to auto-height
  • An issue in which scaling some objects caused the canvas to crash has been fixed
  • Positions of comments and stamps are no longer unnecessarily rounded when duplicating the objects they're attached to
  • The disable cell execution button is now hidden in reports
  • Fixed an issue where the Athena work group couldn't be specified when creating the connection
  • Boolean columns are now supported in dropdowns
  • Timestamp columns are now formatted correctly in dropdowns
November 15, 2024

Loading states

The loading state of cells are now much more informative, showing the time elapsed and the current stage of the query:

  1. Connecting — The query is either waiting for a worker to pick up the job or — in the case of local cells — for upstream cells to complete executing. For databases with limited concurrency (such as Postgres and Redshift), the query may also be queued be Count
  2. Running query — The database is executing the query or the results are being extracted from the database to Count's servers. In some cases (such as Snowflake), the query may also be queued by the database itself
  3. Compressing results (optional) — Count compresses large result sets to make downloading them to your browser more efficient
  4. Downloading results — The results are being downloaded from Count's servers to your browser

DuckDB v1.1.2

DuckDB has been upgraded from v0.9.1 to v1.1.2. To see what's new, check out the release notes for v1.0.0 and v1.1.0.

Big integer support in visuals

Big integers now enjoy first-class support in visuals. Previously, big integers were either converted to doubles if possible to do so without a loss of precision, or treated as strings otherwise. Now they are left unmodified and can be visualized as any other numeric type.

Metadata in SQL

SQL queries generated by Count are now suffixed with machine-readable metadata, to help database admins analyze those that originate from the platform.

Fixes

  • Visuals containing multiple selects that differ only by whitespace no longer produce errors
  • It's no longer possible to downgrade the permissions of a higher-ranked users in a canvas
  • Visuals that reference columns measure_names, measure_values are now rendered correctly
November 1, 2024

Week start setting

Workspace admins can now change the day that weeks start on. This affects:

  • The ordering of days in date pickers
  • The ordering of days in visuals/low-code cells
  • Truncation by week in visuals/low-code cells
  • The behaviour of the visual/low-code functions: date_trunc('week', <date>), dayofweek and week

The default value is Sunday (unchanged from before). To change this head to the bottom of the workspace settings.

Fixes

  • Text in comments can now be selected
  • Embed blobs are copied properly on duplicating
  • CSVs with more generic MIME types are now supported (including those created from Excel on Windows)
  • Fixed an issue with the loading/error state of visuals with certain sorts applied
  • The font weight dropdown now works properly
  • The dbt Core loading state is now shown on refreshing
  • Disabling public canvases in a workspace prevents all canvases from being accessed by non-authenticated users, even if they have previously been shared to the web
  • Fixed rendering issues in Firefox@132
October 18, 2024

Rendering performance improvements

We've made various optimisations to accelerate the rendering of large canvases containing many cells.

Fixes

  • 307 redirects are now followed when making HTTP requests from Python (fixes issues downloading Google Sheets)
  • Fixes an infinite loop that certain canvases could enter when reconciling groups
October 4, 2024

Visual updates

A few of the most requested improvements to visuals are now live:

  • There's now a funnel chart template and accompanying center stack option
  • You can now drag colors in categorical palettes to reorder them
  • You can now drag selects in visuals/low-code cells to reorder them
  • You can now disable the rounding of domains in continuous axes
  • Axes labels now wrap in visuals

Truncations in date pickers

Arbitrary truncations are now supported in custom date pickers (e.g., you can now select 3 months ago, and truncate the date to the start of the week).

Fixes

  • Issues in displayed column formats for certain low-code cells/visuals have been fixed
  • Fixes an issue where the lock canvas control was shown to viewers
  • Canvases with manual cell execution enabled now behave properly on page load