This release brings forth improvements to HTTP support in Tenzir, supporting requests as transformations and paginating APIs.
🚀 Features
Section titled “🚀 Features”Implement from_http client
Section titled “Implement from_http client”The from_http operator now supports HTTP client functionality. This allows
sending HTTP/1.1 requests, including support for custom methods, headers,
payloads, pagination, retries, and connection timeouts. The operator can be used
to fetch data from HTTP APIs and ingest it directly into pipelines.
Make a simple GET request auto-selecting the parser:
from_http "https://api.example.com/data"Post data to some API:
from_http "https://api.example.com/submit", payload={foo: "bar"}.print_json(), headers={"Content-Type": "application/json"}Paginating APIs:
from_http "https://api.example.com/items", paginate=(x => x.next_url if x.has_more? == true)Introduce lambda functions
Section titled “Introduce lambda functions”May 29, 2025 · @dominiklohmann · #5150
TQL now supports lambda expressions. They are supported in the where and map
functions on list, and on the newly added count_if aggregation function.
Instead of [1, 2, 3].map(x, x + 1), use [1, 2, 3].map(x => x + 1). This
subtle change makes it obvious that the expression is not evaluated on the
entire list, but rather on each element individually.
The count_if aggregation function counts the number of elements in a list that
satisfy a given predicate. For example, [1, 2, 3].count_if(x => x > 1) returns
2.
Implement http operator
Section titled “Implement http operator”May 23, 2025 · @raxyte · #5188
We implemented the http operator that allows making HTTP/1.1 requests to a
URL. The operator also allows paginate APIs based on the responses.
🔧 Changes
Section titled “🔧 Changes”load_http deprecated
Section titled “load_http deprecated”The from operator now dispatches to from_http for http[s] URLs.
The load_http operator is now deprecated in favor of from_http.
🐞 Bug Fixes
Section titled “🐞 Bug Fixes”Fix a crash in to_clickhouse
Section titled “Fix a crash in to_clickhouse”Jun 3, 2025 · @IyeOnline · #5231
We fixed an issue when trying to send lists in to_clickhouse that would cause
the ClickHouse server to drop the connection.
Fix evaluation of null if true else …
Section titled “Fix evaluation of null if true else …”May 29, 2025 · @dominiklohmann · #5150
The expression null if true else 42 previously returned 42. It now correctly
returns null.
Fix a segfault in save_amqp on connection loss
Section titled “Fix a segfault in save_amqp on connection loss”May 26, 2025 · @IyeOnline · #5226
We fixed a crash in save_amqp when trying to send a message after the connection
was lost.
Fix overflow warning for -9223372036854775808
Section titled “Fix overflow warning for -9223372036854775808”May 24, 2025 · @jachris · #5223
The lowest 64-bit integer, -9223372036854775808, no longer causes an overflow
warning.