With the introduction of format strings to TQL, this release makes string construction from multiple parts easier than ever before.
🚀 Features
Section titled “🚀 Features”Format strings
Section titled “Format strings”Jun 11, 2025 · @jachris, @IyeOnline · #5254
TQL now supports format strings as you might know them from other languages like
Python. Format strings allow you to flexibly construct strings in a very
succinct way by using a pair of braces within an f"…" string.
For example, assume that you have events with two integer fields, found and
total. We can construct a message from this as follows:
percent = round(found / total * 100).string()message = "Found " + found.string() + "/" + total.string() + " => " + percent + "%"Using the new format strings, this simply becomes
percent = round(found / total * 100)message = f"Found {found}/{total} => {percent}%"You can also use arbitrary expressions inside { to simplify this even further:
message = f"Found {found}/{total} => {round(found / total * 100)}%"If you ever need an actual { in your format string, you can use {{. The same
goes for the closing brace }, which needs to be written as }} within format
strings.
🔧 Changes
Section titled “🔧 Changes”Remove meta keyword
Section titled “Remove meta keyword”Dec 17, 2025 · @jachris · #5275, #5276
The identifier meta is no longer a keyword and can thus now be used as a
normal field name.
🐞 Bug Fixes
Section titled “🐞 Bug Fixes”Pipeline activity refresh without running pipelines
Section titled “Pipeline activity refresh without running pipelines”Jun 12, 2025 · @jachris · #5278
The pipeline::activity operator now always yields new events, even when all
running pipelines are hidden.
Unreliable where diagnostics
Section titled “Unreliable where diagnostics”Jun 12, 2025 · @jachris · #5277
The where operator now correctly produces diagnostics also for simple
expressions, which was previously not the case in some situations.
Invalid scientific notation when using write_json
Section titled “Invalid scientific notation when using write_json”Jun 12, 2025 · @jachris · #5274
When using write_json with large floating-point numbers, the resulting JSON
was ill-formed. For example, the number 5483819555176798000.0 was previously
printed as 5.483819555176798e+18.0. The extra .0 at the end is not valid
JSON. Thus, the output was rejected by some parsers. Now, write_json renders
this number as 5.483819555176798e+18 instead.
This bug was also observable on the Tenzir Platform, where it could lead to request timeouts. Now, large numbers are shown correctly.
Gracefully handle null values when charting with resolution
Section titled “Gracefully handle null values when charting with resolution”Jun 11, 2025 · @raxyte · #5273
The chart_bar and chart_pie operators had a bug when the x-axis had a
null value and the resolution option was specified. The unfortunate panic
due to this bug has now been fixed.