Announcing Seq 2025.1

TL;DR: Seq 2025.1 is here! If you're upgrading machines in a disaster recovery (DR) configuration, take note of the requirements for this upgrade. Otherwise, grab the MSI from datalust.co/download, or pull datalust/seq:latest from your preferred registry, and enjoy the most polished and productive Seq release yet.

We're delighted to announce the release of Seq 2025.1. This version adds high availability (HA) and scale-out clustering in the Datacenter tier, new themes, new visualizations, a command palette and keyboard shortcuts, better autocomplete, and many other improvements.

It's not lost on us that, from our very first customers to the many joining us today, building on a technology like Seq requires some faith its future. Seq 2025.1 is an investment in our side of that bargain, paving the way for another decade at the forefront of self-hosted application diagnostics.

Release highlights

HA clustering and scale-out

Seq clusters now support more nodes, fail-over is automatic, and work is distributed across all available hardware. 😎

A block diagram showing the major elements of a high-availability Seq cluster. Applications send data to a Cluster Load Balancer, which directs requests to a pool of Seq nodes. Each node has its own local storage, and all nodes share a single Cluster State Database for coordination purposes.

We'll have more content posted here from later this week, running through how HA clustering is implemented. You can learn about how clusters are organized and deployed in the 2025.1 clustering documentation.

⚠️ HA clustering replaces two-node disaster recovery (DR). Customers upgrading existing DR pairs will need to perform some minor but important steps to move to Seq 2025.1. Please contact the Seq support team so we can review your configuration and ensure the upgrade goes smoothly.

Command palette and keyboard shortcuts

Finished configuring a signal and want to save your edits? Ctrl-S on Windows and Linux, or Cmd-S on macOS does that. ✨

Want to quickly step backwards or forwards in time in a search result, clear the current filter, switch on tailing, or convert your active search into SQL syntax? Seq 2025.1 is packed with keyboard shortcuts for these and many more everyday tasks.

The Seq Events screen, showing the command palette dialog as an overlay. The dialog comprises a search box and a list of matching commands. The search box has been filled with the word "signal", and the command list shows matches including "Add to Signal", "Clear All", "Exclude", "Save", and "Signals", each with help text. Beside the matching command names are the shortcut key sequences for each command, for example Add to Signal is Ctrl Space, A.
The Seq command palette.

The Seq 2025.1 command palette, which you can access from the main navigation bar or with Ctrl/Cmd-K, provides a searchable, context-aware listing of shortcuts available in the current screen.

Heatmaps and approximate percentiles

Heatmaps are a popular, frequently-requested visualization for latencies and other types of non-normally-distributed data. Seq 2025.1 includes a built-in heatmap in the Events screen for the @Elapsed time of spans, and quick actions to generate heatmaps from other event properties.

The Seq Events screen with the @Elapsed heatmap visualization shown. The axes of the heatmap are @Elapsed on the vertical/y axis, and time on the horizontal/x axis. Cells in the heatmap are colored according to the number of spans whose elapsed time falls within that cell.
The Events screen with the span timing heatmap.

Just like other chart types, heatmaps are fully-supported on Seq dashboards.

The underlying logarithmic bucketing algorithm used by heatmaps in Seq 2025.1 is also used for fast approximate percentile calculations. The percentile() function gains an optional third parameter, specifying the allowed fractional error in the result: percentile(@Elapsed, 95, 0.1) returns a result correct within ±10%, and percentile(@Elapsed, 95, 0.01) correct within ±1%.

Partial result set memoization

Time slice caching, which Seq previously used to speed up dashboard rendering, has been replaced with partial result set memoization. The new implementation uses cache memory more efficiently, and accelerates a broader range of queries.

You'll notice the difference memoization makes when querying a time range that overlaps the range of a previous query: some really massive speed-ups are possible, and modest speed-ups are common.

New dark and light themes

The theming system, previously built on CSS rules, has been rewritten using CSS variables. These make custom themes dramatically easier to write, but they also help us to deliver more consistent, higher-quality built-in themes.

The Seq Events screen shown in the new default light theme.
The new default light theme. 🌞

The default light theme strives for a clean, comfortable look-and-feel while meeting WCAG Level AA or better contrast ratios for text throughout. The refreshed dark theme, and a "Soft Light" variant with lower contrast, can be selected in Your Theme (press Ctrl/Cmd-K and type "theme" to jump to this!).

The Seq events screen in the refreshed dark theme.
The refreshed dark theme. 🌝

Feedback on the new themes is welcome. We're excited to be improving this part of Seq again, and would love to hear your thoughts.

System notifications

Seq can now report problems like low disk space through the same plug-in notification channels used by alerts. Turn this on in Settings > General > System Notifications > Target app instance.

Jump straight to General settings with Ctrl/Cmd-K, "general", Enter.

Autocomplete improvements

Autocomplete in searches and SQL queries is better. We've tweaked keyboard handling to trigger completions on Tab instead of Enter unless a completion is selected using the arrow keys, so there should be fewer unintended completions when working in the search box. Phew!

Dotted identifiers in message templates

Seq now accepts message templates containing dotted.property.names. This improves consistency in environments using OpenTelemetry semantic conventions, or alongside apps that implement the Elastic Common Schema or Datadog naming schemes.

Streaming search results

Previous Seq versions use paging to load search results. Each page involves a request to the server, and there's some set-up and tear-down time on the server for each request. The trade-offs come out pretty well: searching feels responsive, because you see the first few events found by a search while the remaining pages load. But time-to-first-result isn't the whole picture.

When measuring the time needed for the first whole screen of results, many searches take twice, triple, or even 10× as long because of the paging overhead.

Seq 2025.1 completely changes the way searches run and render. Seq now streams search results to the browser using WebSockets, all within a single HTTP round-trip. It sounds like a small thing, but when you see this in action for the first time, you'll notice! 😁

If you use the 2025.1 seqcli search command against an older Seq server, pass --no-websockets to opt into the less-efficient paging API.

Upgrading

Seq 2025.1 is a highly-compatible, in-place update: just click through the MSI from datalust.co/download, or pull the latest datalust/seq image from Docker Hub.

👉 Customers running Seq in a DR configuration, or who are upgrading from Seq releases older than 2022.1, should check the upgrading guide.

👉 Installed plug-in apps, including Seq.App.Replication, may also need to be updated after completing the upgrade to Seq 2025.1.

If you need help or have questions about the upgrade, we'd love to hear from you at support@datalust.co.

Nicholas Blumhardt

Read more posts by this author.