Documentation
DocumentationDiscussions
Documentation
These docs are for v2020.1. Click to read the latest docs for v2024.3.

What's New in 2020.1?

Seq 2020.1 is packed with improvements over Seq 5.1. We've written this quick introduction to cover the highlights. You can find detailed release notes in our 2020.1 issue tracker milestone.

Ingestion view

Managing log ingestion is the key to controlling costs and optimizing search performance. Seq 2020.1 makes this much, much easier, by providing a detailed breakdown of log traffic from the ingestion API and custom inputs.

2560

The Seq 2020.1 Ingestion screen

Learn more about managing ingestion.

OpenID Connect authentication

OpenID Connect is the emerging standard for authentication using OAuth 2.0. Many teams use OpenID Connect providers like Auth0 to implement single-sign-on (SSO), and now Seq can use OpenID Connect to authenticate users, too!

Learn more about configuring OpenID Connect authentication.

Full-featured custom inputs

Custom inputs including GELF, Syslog, RabbitMQ, Health Check, and others, now get all the features of Seq's built-in HTTP ingestion pipeline!

  • View the rate of ingestion per input
  • Set minimum levels and apply filters to reduce noise
  • Use server-allocated timestamps if client clocks are off
  • Attach properties to identify events coming from each input

For an example of a very useful custom input, check out the documentation for Health Checks.

Query language improvements

2020.1 continues to improve upon Seq’s query language, making it easier to express a variety of queries. Additions include:

  • Universal case-insensitive (ci) modifier, supporting case-insensitive group by, property access, comparisons, and more
  • Conditional expressions with if/then/else
  • Object literals {a: 'hello', b: 42}
  • Structural equality comparisons for arrays and objects (like EventId in ASP.NET Core!)
  • interval() in queries that group by time()
  • select * and @Document now reflect the underlying JSON data model
  • Better error reporting for search expressions
  • Variadic coalesce() function - coalesce(A, B, C, ...)
  • Keys() and Values() built-in functions for collection manipulation
  • ToJson() and FromJson() for manipulating JSON string data
  • ToUpper() and ToLower() built-ins
  • Column aliases in groupings - group by A as b

Native, parallel query execution

The underlying query engine in Seq 2020.1 includes a new native implementation in Rust that squeezes more performance from the same hardware.

Pushing more query execution into native code puts less pressure on the .NET garbage collector, leading to lower resource usage, faster execution, and fewer GC pauses.

We've taken advantage of the more predictable query evaluation to also introduce query parallelization, speeding up most queries noticeably.

Set an initial username and password during installation

On Windows, an administrator username and password can now be set during installation through the setup wizard. On Docker/Linux, the SEQ_FIRSTRUN_ADMINUSERNAME and SEQ_FIRSTRUN_ADMINPASSWORD variables (or --default-admin-password-stdin flag) provide equivalent functionality.

Theme switcher

🌞 in the morning, 🌚 in the evening? The quick theme switcher in the 2020.1 navbar makes dark or light mode a single click away.

Revised keyboard navigation

The tab order and focus styles have been improved throughout, making it easier and faster to move between elements in the Seq UI without reaching for a mouse.

Improved administration UI

The administration UI in 2020.1 has had some additional attention.

  • View and cancel running queries from Diagnostics
  • View and cancel active alerts from all users in the new Alerts tab
  • Search API keys by token, prefix, attached properties, etc.
  • Filter and sort a selection of frequently-used tables

What’s Next

Ready to upgrade? Seq 2020.1 is a highly-compatible, in-place upgrade from earlier versions. Most upgrades are as simple as running the installer or pulling the new Docker image, but if you have a custom integration into the Seq API, check out the full compatibility notes for all the details.