Change Log
Contains a history of changes made to the Agent.
https://console.warpstream.com/agent-changelog.rssBy default all Agent upgrades are designed to be seamless and backwards compatible. Occasionally we have to make make breaking changes which we document in the migrations sub-page where you can see if any breaking changes were made between the version you're running and the version you're upgrading to.
Change Log
Release v818
July 9, 2026
Added a new
warpstream localcommand that runs a fully in-memory, self-contained WarpStream cluster (Kafka + Schema Registry + Tableflow) with no connection to the WarpStream control plane. Intended as a replacement forwarpstream playgroundin CI pipelines.Automatically run
warpstream localwhenwarpstream demoorwarpstream playgroundis started in CI, with a warning that local mode is designed for CI environments.Agent: dynamically tune the direct load prefetch concurrency based on observed CPU usage instead of using a fixed value of 16. Underloaded agents can still serve up to 64MiB of concurrent prefetch per request, but as CPU usage rises the concurrency automatically steps down to avoid the agent DDOSing itself with prefetch work it can't transmit in time, which previously caused wasted GET requests and slow recovery under high load.
Orbit: add support for JSON key/value secrets in Cloud Provider's Secrets Manager. A secret reference in the Orbit config can now specify an optional
keyto extract a single value from a secret stored as a JSON object (the standard AWS Secrets Manager key/value pattern). AWS secrets stored as binary (SecretBinary) are now supported as well.Ensure
Close()is called on the pooled buffer after all replicas complete on the quorum-success path of multi-bucketPutBytes.Add cluster-level default partition auto scaler settings (
warpstream.default.partitions_auto_scaler.*broker configs) that are applied to newly created topics, so a cluster can enable partition auto scaling by default for all new topics.
Release v817
July 8, 2026
Tableflow:
Expose Schema Registry writer schema ID and version as
warpstream.sr.writer_schema_idandwarpstream.sr.writer_schema_versionto ingested records before applying Bento transforms so that the transform logic can condition on those properties.Make BigLake integration automatically detect catalogs with credential vending mode and send
X-Iceberg-Access-Delegationheader on Iceberg REST calls if so.
Release v816
July 6, 2026
Allow Orbit to chunk requests when copying consumer group offsets.
Schema Registry: include Confluent-compatible
guidvalues in schema API responses and support looking up schemas by GUID withGET /schemas/guids/{guid}.
Release v815
July 2, 2026
Add support of
-disableConsumerGroupMetrics(env varWARPSTREAM_DISABLE_CONSUMER_GROUP_METRICS) and-disableConsumerGroupsMetricsTags(env varWARPSTREAM_DISABLE_CONSUMER_GROUP_METRICS_TAGS) in agentmetricsmode to offer the same knobs as in regular agent mode over cluster level metrics cardinality. By default-disableConsumerGroupsMetricsTagsis set to empty string (the default value for regular agents ispartition).Tableflow:
Add support for OAuth as an authentication mechanism for source Kafka clusters.
Fix Go runtime CPU utilization reporting so stale high samples decay when the Go runtime has not emitted a fresh CPU metrics snapshot.
Auto enable bucket pre-warming when the bucket is of type Rapid Storage.
Reduce default value of GOGC for Agents running only pipelines role from 1000 to 200.
Release v814
July 1, 2026
Fixed a bug in the Prometheus metrics scraping path where the
warpstream_max_offsetandwarpstream_min_offsetmetrics were summed across partitions instead of taking the max/min when thepartitiontag is disabled.Fix the metric double publishing problem introduced in
v808when the dedicated metrics mode was enabled (the regular agents would keep publishing the same metrics).Improve produce latency for GCP Rapid Buckets by pre-warming upload streams.
Add a new
-additionalBackgroundTasksBucketURLsflag andWARPSTREAM_ADDITIONAL_BACKGROUND_TASKS_BUCKET_URLSenvironment variable that accepts a comma-separated list of bucket URLs that should have background tasks run on them like scanning for dead files to delete or ripcord files to ingest. This is important for customers who are migrating from one bucket to another. The new flag supersedes the existing-additionalDeadscannerBucketURLsflag andWARPSTREAM_ADDITIONAL_DEADSCANNER_BUCKET_URLSenvironment variable.Add support for OIDC workload identity federation: when
WARPSTREAM_AGENT_WORKLOAD_IDENTITY_TOKEN_SOURCEis set, the agent obtains a platform OIDC token and exchanges it with the control plane for a short-lived agent token, removing the need for a static agent key. Currentlyaws(STS) andgcp(metadata server) sources are supported, but other platforms may be added in the future. Supported for single-region clusters only.Add an opt-in file ID allocator (behind the
use_range_file_id_allocatorflag, default off) that hands out IDs from several discontiguous reserved ranges to spread object-storage key prefixes more evenly and reduce metadata-layer hot-spotting. The key layout is unchanged. TheWARPSTREAM_USE_RANGE_FILE_ID_ALLOCATORenvironment variable (true/false) is the final per-Agent override for the flag.
Release v813
June 29, 2026
Tableflow:
Update internal compaction API usage.
Fix bug where the schema registry integration feature was not ungated properly.
Add support of Cloud Provider's Secrets Manager in TableFlow config.
Add a new flag
-skipBucketsPermissionCheck(env varWARPSTREAM_SKIP_BUCKETS_PERMISSION_CHECK) that allows to skip the permission check for buckets when starting an agent. The default value is false.Improve DNS resolution of S3 addresses by automatically injecting a
.at the end of any S3 endpoint we try to connect to. This is a workaround because the AWS SDK does not support it to this day https://github.com/aws/aws-sdk-go/issues/1380.Re-enable GCS direct connectivity client by default.
Disable some connection-level backpressure mechanisms when TLS is enabled because once we've paid the price of accepting a TLS connection and doing the formal handshake, paradoxically, backpressuring that connection by closing it due to high load makes the situation worse as the client will just try to re-establish the connection and the TLS handshake is extremely expensive.
Stop playground agents from logging query engine state refresh errors when query engine credentials are not required.
Release v812
June 22, 2026
Move orbit consumer offset copying job entirely into the agents.
Release v811
June 22, 2026
Tableflow:
Add Schema Registry integration for Protobuf schemas.
Fix Tableflow ingestion getting stuck (
no ranges were processed, possibly due to timeout) on source topics written by transactional producers (e.g. CDC), where the offset at the high watermark is a transaction control marker that a read-committed consumer never receives.
Add support of Cloud Provider's Secrets Manager in Orbit config.
Schema Registry: prevent an incompatible type change of a
oneoffield when that field'soneofblock is renamed or dissolved. This matches a bug fix in Confluent's protobuf compatibility that will be released in Confluent Platform 8.3.1.
Release v810
June 19, 2026
Tableflow:
Support sorting and column statistics on
floatanddoublecolumns.
Schema Registry: Match Confluent's protobuf compatibility behavior by allowing a type change on a
oneoffield is now allowed when that field'soneofblock is renamed or dissolved.
Release v809
June 18, 2026
Orbit now creates empty source topics with a non-zero log end offset at that offset in WarpStream. This fixes a bug where an empty source topic could be migrated to WarpStream at offset 0 instead of preserving its source log end offset.
Add a
cli-beta validate-pipeline-configcommand for validating managed data pipeline config files locally. Usage:warpstream cli-beta validate-pipeline-config --config-file pipeline.yaml.Restrict which clients see support for KIP-714 client metrics APIs. The GetTelemetrySubscriptions and PushTelemetry endpoints will no longer be advertised to clients older than this version.
Release v808
June 18, 2026
Tableflow:
Add support for sorting and column statistics tracking for Iceberg tables.
Fix time-based partition transform on an Avro date field.
Update the publish metrics job implementation to scrape metrics from the control plane Prometheus endpoint. This should not change any of the existing metric, but will add a few that were only available in the control plane Prometheus endpoint.
Release v807
June 12, 2026
Orbit Auto Migration is now available.
Release v806
June 12, 2026
Forward produce backpressure metrics for observability.
Add support for OAuth as an authentication mechanism for source clusters in Orbit.
Tableflow: Validate properly the required fields nested under untyped maps via
additionalPropertiesfor JSON ingestion.Bump agent base image (
cgr.dev/chainguard/wolfi-base) to pick up busybox fix forCVE-2023-39810.
Release v805
June 10, 2026
KIP-714 client metrics are now generally available to all customers.
Release v804
June 9, 2026
Add global sort duration in batcher to flush_end log.
Fix a bug where the agent could have problems listing ripcord files if there were too many of them and your bucket URL was long, because the generated output was too big.
Fix Orbit and Tableflow source connections silently dropping SASL when TLS is enabled without mTLS.
Release v803
June 8, 2026
Warning: This version drops SASL when connecting to an Orbit or Tableflow source cluster over TLS without mTLS. It is fixed in v804. Please upgrade to v804 directly and skip v803.
Fix panic when emitting the client availability zone mismatch diagnostic during interzone load balancing.
Upgrade Bento to v1.18.1.
Fix Orbit and Tableflow source cluster TLS configuration to allow setting a private CA (
mtls_server_ca_cert_env) without requiring mTLS.Schema Registry: the
error_codefor incompatible schema responses now returns40901(was409) to align with Confluent's documented API. The HTTP status code remains409.Schema Registry: Avro schemas with invalid field defaults are now rejected at registration time (aligns with Confluent SR 8.2.1 behavior). Existing schemas registered before this change are unaffected.
Add batching for JoinGroup and SyncGroup requests via RSM batch commands, reducing the number of RSM proposals when many consumers join/sync concurrently.
Release v802
June 4, 2026
Bump build to go
1.26.4to fixCVE-2026-42504Add an agent flag to override max inflight fetch compressed bytes per CPU.
Upgrade Bento to v1.18.0
Tableflow:
Fix bug for
dlq_keep_settings.retention: we now allow fordandwunits for days and weeks respectively.Fix bug that considered null values set within transforms as non-null when fields were marked as required.
Tableflow agents can now create Iceberg table metadata even when they cannot access external blob store buckets directly. This can be enabled by setting the
tableflowMetadataSyncModeflag toproxy.Support converting between booleans and strings, and between integers and strings, in both directions when mapping records to the destination schema.
Breaking Change (AWS Glue): Fix a bug in the AWS Glue integration that caused us to hit the TableVersions limit when syncing the table. This fixes the error
Number of TABLE_VERSION resources exceeds the limit 100000 per TABLE. Note that agents will now require additional roles:glue:GetTableVersionsandglue:BatchDeleteTableVersion.Fix some tags on the event emitted when sending records to the DLQ.
Release v801
May 29, 2026
Deprecate a legacy code path for computing Data Lake sorting bounds and column statistics.
Fix events scheduler writing a corrupt active state when an event type was disabled while events were globally enabled. Agents now drop records with stream ID 0 instead of poisoning the file batch.
Tableflow: Implement basic validation for required / nullable fields in JSON.
Release v800
May 27, 2026
Tableflow:
Fix bug on transforms: Bento transforms replacing the full root object instead of modifying it field by field are now handled correctly (e.g.
root = { ...}now works).
Fix
warpstream_consumer_group_estimated_lag_very_coarse_do_not_use_to_measure_e2e_secondsreporting full retention as the lag for partitions with no committed offset. The metric now uses the age of the oldest surviving record (bounded by retention).
Release v799
May 27, 2026
Fix events queries failing with
UNSUPPORTED_SASL_MECHANISMon clusters that restrictenabledSASLMechanismsto excludePLAIN.
Release v798
May 26, 2026
Fix a query engine bug that could cause Agent panics for some sorted and limited queries.
Fix false positive diagnostic for cross az traffic when the query engine was used.
Fix false positive diagnostic for small fetch timeout when the query engine was used.
Return clear error when schema registry request body size exceeds limit.
Release v797
May 19, 2026
Tableflow:
Fix decoding of Protobuf
oneoffields (introduced in v796, upgrade directly to v797 if you use a configuration with Protobuf schemas).Recreate BigLake tables when the Iceberg table UUID changes.
Fix DNS-backed Agent file cache retries so failed replicas can fall back to other resolved Agents.
Add per-pipeline log level controls for managed data pipelines.
Fix event queries on agents with SASL enabled.
Release v796
May 18, 2026
Warning: There is a problem for Tableflow protobuf schemas with that version fixed in v797. Please upgrade to v797 directly and skip v796 if you use Tableflow with a protobuf schema.
Upgrade the embedded version of Bento to v1.17.0.
Start supporting regional migrations.
Add a rate limiter in the metrics mode to throttle metrics emission. This avoids flooding the Datadog agent when Datadog metrics are enabled.
Adds an experimental agent flag that can be used to reduce E2E latency for workloads that do not produce new records consistently on all partitions all the time.
Tableflow:
Breaking change for very old agent versions using protobuf, they would need to upgrade to version 796+.
Add support for field type remapping
Release v795
May 14, 2026
Forward schema registry metrics for observability.
Tableflow: Fix the Tableflow configuration used in the demo mode.
Reduced telemetry sent from Agents to control plane.
Release v794
May 12, 2026
Add a diagnostic for invalid regex subscriptions in modern consumer group heartbeat requests.
Bump
golang.org/x/nettov0.54.0to fixCVE-2026-33814Detect when Kafka clients request one availability zone via
ws_azbut produce or fetch against an Agent in a different availability zone and fire a diagnostic.
Release v793
May 11, 2026
Unless customers specify a
-metadataURL/WARPSTREAM_METADATA_URLthe agents will start using 3 different "zonal" endpoints to communicate with WarpStream - meaning one per WarpStream control plane availability zone. The previous behavior can be put back by setting the environment variableWARPSTREAM_AGENT_ENABLE_ZONAL_URLSto false. Removes a dependency on inconsistent behavior across cloud providers when load balancing across multiple availability zones and increases the product's resiliency to zonal outages significantly.Bump build to go
1.26.3Fixed CVEs: CVE-2026-39820 / CVE-2026-33811 / CVE-2026-42499 / CVE-2026-39820 / CVE-2026-33811 / CVE-2026-39836
Agent will now enforce read-only Schema Registry credentials and only allow read schema operations for read-only credentials.
Release v792
May 8, 2026
Add optional PROXY protocol v2 support on the Kafka listener via
kafkaProxyProtocol(orWARPSTREAM_KAFKA_PROXY_PROTOCOL). When enabled, every connection must include a v2 PROXY header before any other bytes; v1 headers are rejected. Operators can also setkafkaProxyProtocolPrincipalTLVType(a hex byte in the PP2 user-defined range0xE0–0xEF) to source the connection's ACL principal from a custom TLV in the PROXY header — the TLV value must already include theUser:prefix and overrides any principal that would otherwise be derived from mTLS.Tableflow:
Fix a bug in ingestion that was not respecting some types from the input schema.
Fix ingestion of date types for Avro input schemas.
Fix ingestion of Avro map types with optional values when the deprecated way of specifying schemas is used.
Fix several correctness bugs in the Protobuf decoder so records now align with the proto3 spec (
oneoflast-wins, merging of repeated singular message fields, strict wire-type validation).
Release v791
May 6, 2026
Fix a bug in the agent metrics mode that would cause it to stall when any of the metrics scraped contained a comma in its labels.
Mark file cache closed-pipe logs as debug.
Release v790
May 5, 2026
Tableflow: Make ingestion handle partition evolution.
Bump our Chainguard Wolfi Docker image to
79af0917ba7ac066ebf1f99e5967ee9e77e6a350facec5be43a7a236c705cf10to fixCVE-2026-5450andCVE-2026-5928.Fix a bug in the query engine when querying across events that mix integers and floats in the same field name.
Fix a bug in the query when combining multiple filters like: filter a=="b" | filter c=="d" where only the latter filter would be applied.
Release v789
April 30, 2026
Fix a bug where object store errors due to networking issues (DNS or TCP timeouts, context cancellation, etc) were misclassified as NotFound errors, causing red-herring invariant violations.
Tableflow: Fix ingestion of list types with optional elements.
Public agent docker images and release tarballs now ship
notices.txt(auto-generated from the binary's transitive Go dependencies) andnon_ibm_license.txtat the container/archive root, for IBM third-party legal compliance.Fix the reason for a decision made during compaction in a log from being wrong.
Treat "unexpected EOF" as a retriable error for long-running compactions.
Release v788
April 29, 2026
Bump
github.com/aws/smithy-gotov1.25.1. This fixes a very slow memory leak associated with using S3 Express One Zone in the AWS SDK.
Release v787
April 28, 2026
Query engine: disable the admin RPC metadata cache because it causes a bug with inconsistent results when querying events.
Query engine: fix
::int,::float, and::strcasts in event queries, and make integer/float comparisons work in filters.Agents will now automatically backpressure Kafka protocol requests when their CPU is >= 98% for a sustained period of time. This threshold can be adjusted by setting the
WARPSTREAM_HIGH_CPU_BACKPRESSURE_THRESHOLD_PERCENTenvironment variable and disabled by setting it to 0.All Datadog metrics now include
virtual_cluster_id,agent_id, andagent_versiontags.
Release v786
April 28, 2026
Emit cluster-level Prometheus-style metrics (consumer group lag, topic details, diagnostics, tableflow state, ...) as
cluster_metricsCloudEvents whenever events are enabled on the cluster. Emission is independent of the Datadog push: events are still emitted even whenDisableAllMetricsorDisableConsumerGroupMetricsis set. Events are always at topic-level granularity (partition tag is always stripped) to keep the per-job event volume bounded. The event'smetric_namefield carries the canonicalwarpstream_-prefixed name (e.g.warpstream_consumer_group_lag), identical to the Prometheus scrape name and thedescribe_cluster_metricsAPI response, so the same string identifies a metric regardless of how it is queried.Tableflow: improve DLQ health reporting so records routed to the DLQ are no longer surfaced as skipped, reducing misleading health warnings and making it clearer when data was retained for later replay.
Improve query engine performance by caching metadata lookups and aligning query time boundaries.
Move modern consumer group heartbeat regex matching and topic
DESCRIBEACL filtering from saasy into the agent, and forward the resolved regex stream IDs to saasy for statemachine application.Allow reserved keywords like topic to parse as part of .-deleted field identifiers in the query engine.
Release v785
April 23, 2026
Emit cluster-level Prometheus-style metrics (consumer group lag, topic details, diagnostics, tableflow state, ...) as
cluster_metricsCloudEvents whenever events are enabled on the cluster. Emission is independent of the Datadog push: events are still emitted even whenDisableAllMetricsorDisableConsumerGroupMetricsis set. Events are always at topic-level granularity (partition tag is always stripped) to keep the per-job event volume bounded.Make metrics pod use external HTTP client to have longer connect timeouts.
Make metrics pod re-use HTTP client across requests to reduce time spent on establishing new connections.
Change
consoleURLparameter name toapiURL.Fix a bug that would cause the original error to be dropped from error messages and logs when hedging requests with the fast retrier.
Fix bug in query parser for handling sub expressions.
Make tableflow events all have the table name and table UUID fields set properly.
Fix panic in query engine related to nested expression and or statement.
Emit a tableflow event when the offset scraper job handler fails.
Enable the agent query engine by default and require
disableQueryEngineto opt out of query handling.Removed the
OBJECT_STORAGE_PUBLIC_NETWORK_PATHdiagnostic (added in v765).Added a diagnostic that fires when a produce request contains records for both lightning and classic topics, which removes the latency benefit of the lightning topic.
Release v784
April 20, 2026
Fix a memory leak when using the
metricsagent mode.Bump
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstreamtov1.7.8,github.com/aws/aws-sdk-go-v2/service/kinesistov1.43.5,github.com/aws/aws-sdk-go-v2/service/lambdatov1.89.0andgithub.com/aws/aws-sdk-go-v2/service/s3tov1.99.0to fixGHSA-xmrv-pmrh-hhx2.WarpStream Agents will no longer report the availability zone that they're running in as the value of the Rack field in Broker metadata in the response of Metadata RPCs. Instead, they will always report their Rack as: "warpstream-fake-rack". The reason for this is that WarpStream's service discovery system tracks availability zones of clients using client ID features, not this Rack field. In addition, when clients enable rack-awareness for consumers in their Kafka clients without properly configuring WarpStream's zone-aware service discovery system, the presence of the availability zone in the Rack field in the Broker's metadata, combined with the fact that it will change from time to time due to how WarpStream's partition assignment strategies work, may result in an excessive number of consumer group rebalances. As a result, since this field has no value in WarpStream clusters, we're hard-coding the value of Rack so that misconfigured clients will not experience excessive consumer group rebalances.
Tableflow:
Fix ingestion of Avro fixed and time types.
Performance improvement when sorting is enabled on tables.
Release v783
April 16, 2026
Tableflow:
Reject invalid combinations of
WARPSTREAM_BUCKET_URL,WARPSTREAM_INGESTION_BUCKET_URLandWARPSTREAM_COMPACTION_BUCKET_URLwith an explicit error message for datalake agents with events enabled.
Bump
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttptov1.43.0forCVE-2026-39882vulnerability.Fix connection reuse on the query engine.
Fix a bug that didn't allow users to manually disable events for tableflow clusters.
Release v782
April 14, 2026
Tableflow: add
warpstream.tableflow_dlq_records_counteragent metric tagged bytopicandstrategy(skiporkeep) to track records handled by the DLQ during ingestion. Replaces the previouswarpstream.ingestion_job_dlq_skip_strategy_counterwhich only covered the skip strategy.Improve query engine performance by fixing connection reuse.
Improve produce latency by parallelizing record sorting in the agent batcher hot path.
Fix Avro schema validation to handle references using short name within a namespace properly.
Bump
go.opentelemetry.io/otel/sdktov1.43.0forCVE-2026-39883vulnerability.Improve how runtime CPU measurements are taken to be more precise and not persist inaccurate values for long period of time by occasion.
Improved agent feature versioning scheme to auto-compute latest released version from feature declarations, eliminating manual maintenance and potential for version bump errors
Query engine: fix distributed aggregation for aliased
count()andcount(expr)so merge/final stages consume the correct intermediate count columns.CLI
alter-broker-confignow surfaces per-broker error responses instead of silently reporting success.Support setting
warpstream.default.topic.typevia AlterConfigs and IncrementalAlterConfigs.Unknown warpstream-prefixed broker and topic configs now return an error instead of being silently ignored.
Release v781
April 9, 2026
Breaking Change (GCP): WarpStream Agents now depend on
storage.buckets.getaccess for all configured GCP (gcs://) bucket URLs. This can be overriden by setting the environment variableWARPSTREAM_GCS_PERFORM_BUCKET_STORAGE_CLASS_LOOKUP=false.Allow configuring the
tracerblock in managed data pipeline configs.Automatically disable idempotent writes for managed data pipelines writing to WarpStream clusters via
kafka_franz_warpstreamoutput blocks.Fix non-determinism in generating schema hash for unrecognized key in Avro schemas.
Bump build to go
1.26.2Add support for GCP Rapid Buckets.
Optimize metrics code, particularly when emitting Datadog metrics.
Fix the docker image base to properly use the multi-arch wolfi-base image
Release v780
April 8, 2026
Reduce max diagnostic groups per type from 10 to 5 to lower payload size sent to the control plane.
Remove spammy error log when diagnostic groups exceed the per-type limit.
Forward sampled flush_event logs for observability.
Emit forwarded flush synchronous duration metric.
Bump our Chainguard Wolfi Docker image to
79af0917ba7ac066ebf1f99e5967ee9e77e6a350facec5be43a7a236c705cf10to fixCVE-2026-4437.Bump
github.com/go-jose/go-jose/v4tov4.1.4to fixGHSA-78h2-9frx-2jm8.Prevent a single fetch request from triggering thousands of concurrent HTTP requests if it's querying data for many topic-partitions whose individual data is spread across many files.
Install CURL in Agent image so it can be used in health checks for services like ECS that rely on container having command line utilities available.
Tableflow: tableflow events are generally available and agent-side events handling is enabled by default. This is a breaking change since tableflow agents now require a bucket URL to be configured (either
WARPSTREAM_BUCKET_URLor bothWARPSTREAM_INGESTION_BUCKET_URLandWARPSTREAM_COMPACTION_BUCKET_URL). Agents without bucket URLs will fail to start.Enable events when bootstrapping demo and playground clusters.
Added SLOW_CONSUMER push diagnostic: detects consumers that are too slow between fetch requests using a dynamic threshold (baseline + 1s per MB of previous response size) and emits the diagnostic after 3 consecutive slow fetches on a connection.
Fix GOMEMLIMIT parsing to support byte suffixes like "24GiB" and "1000MB" instead of requiring plain integers.
Fix GOGC, GOMAXPROCS, and GOMEMLIMIT heartbeat reporting to not report a value on parse error. Previously a parse error would silently report 0.
Release v779
April 1, 2026
Fix bug that prevented query engine from running queries successfully on Agents configured to only run the Jobs role.
Release v778
April 1, 2026
Add principal impersonation via record headers. Configured impersonator principals can produce messages on behalf of other users by setting a designated record header, enabling ACL evaluation as the impersonated principal.
Fix a bug that caused events queries to fail on agents with mTLS enabled.
Enable dual-mode Prometheus native histograms alongside classic histograms for improved metric accuracy.
Query engine: route query jobs only to agents with the query engine enabled and fail fast if an agent is configured to accept only query jobs without enabling the query engine.
Replace mutex-protected
rand.Randinstances with lock-free top-levelrandfunctions in certain hot paths.Fix a bug that was preventing events from being emitted/enabled in public Agent builds.
Enable agent-side events handling and query engine automatically for Kafka agents.
Expose a
/debug/pprof/traceendpoint for Go runtime tracesTableflow: fix a bug where compaction failed on certain parquet file layouts with gaps between column chunks, leaving small files unmerged.
Tableflow: add
type: "record_ingestion_failed"to logs corresponding to decoding errors during ingestion.Tableflow: add
warpstream.tableflow_ingestion_lag_secondsandwarpstream.tableflow_query_lag_secondsmetrics. Ingestion lag measures how far behind the ingestion process is from the source Kafka topic. Query lag measures the time from when data is produced to Kafka until it is queryable (ingestion lag + catalog sync delay).
Release v777
March 26, 2026
Fix schema validation in playground by passing missing schema registry URL to config.
Release v776
March 26, 2026
Tableflow:
Add
warpstream.tableflow_partition_offset_laggauge for Tableflow ingestion offset lag in records. When topic or partition tags are omitted, offset lag is summed across partitions (likeconsumer_group_lag); time lag remains the max per scope.
Release v775
March 25, 2026
Add topic, partition, and streamID to orbit offset error messages for easier debugging.
Release v774
March 25, 2026
Cache metrics in fetch and produce Kafka handlers to reduce tagset allocations when updating metrics.
Tableflow:
Fix panic in demo mode by adding missing
input_schemato demo config.
Add topic tag to
agent_kafka_produce_with_offset_uncompressed_bytes_countermetric when high cardinality metrics are enabled.
Release v773
March 24, 2026
Don't swallow circuit breaker errors and make it clear in error logs that are showing cached circuit breaker errors what is happening.
For instance consumers could start failing when some Kafka topics are deleted but are still trying to be accessed, because the metadata response would be incorrect
Don't count structured errors from the control plane (400s) as failures in the control plane client circuit breakers.
Release v772
March 23, 2026
Fixed IPv6 address parsing.
Tableflow:
Make the
TABLEFLOW_prefix optional for environment variables used to specify Kafka cluster credentials.Fix BigQuery integration for Tableflow tables failing to update when the Iceberg schema evolves (e.g., new columns added).
Add support for ConsumerGroupDescribe API (key 69, KIP-848) for the modern consumer group protocol. Disabled by default.
Make the
ORBITprefix optional for environment variables used to specify Kafka cluster credentials.Fix the
empty_responsetag value for thewarpstream.agent_kafka_fetch_single_attempt_outcomemetric.Bump
google.golang.org/grpctov1.79.3forCVE-2026-33186vulnerability.Bump our Chainguard Wolfi Docker image to
ce84795834de56c47f27b6be64388628677d18e799e9b5a05fe6538aaa17bc79to fixCVE-2026-2673.Upgrade Bento to
v1.16.1to get Datadog and Bigtable outputs support.Query engine: stop clamping query tail offsets from cached stream metadata so Event Explorer queries do not intermittently miss recent time buckets.
Add Datadog-compatible HTTP log intake endpoints on Agents so Datadog log batches can be routed into WarpStream topics.
Add a zstd produce fallback decoder path so Agents can accept some batches that fail
github.com/DataDog/zstdwithunexpected EOFbut succeed withklauspost/compress/zstd.
Release v771
March 19, 2026
Fix the metrics prefix pushed by the agent in
metricsmode: in previous versions we would add back a "warpstream_" prefix to all metrics, which was redundant.
Release v770
March 18, 2026
Fix: re-include
ncin the warpstream-agent image so that healthchecks can be performed properly on ECS.
Release v769
March 18, 2026
Tableflow:
Add BigLake Metastore integration via Iceberg REST Catalog API for GCP data lake tables.
Add Hive Metadata Store integration
Release v768
March 12, 2026
Disable GCS direct connectivity client by default as it is causing a regression in some GCP regions.
Release v767
March 11, 2026
Fix
tls_insecure_skip_verifynot being applied for TLS+SASL connections without mTLS in Tableflow and Orbit source clusters.Prevent Agents from trying to issue file cache requests against Agents that no longer exist when fetching old file extents by enforcing a maximum cache staleness in the activation cache.
Release v766
March 11, 2026
Bump build to go
1.26.1Tableflow:
Enhance logging when metadata upload fails.
Add a
moduleattribute to job logs to group them logically.Fix the command to query the Tableflow table logged by the demo agent.
Fail agent startup if the ripcord mode is used for an agent connecting to a Tableflow or a Schema Registry cluster.
Add observability by forwarding agent produce error outcomes.
Switch agent Docker base images from Alpine to Chainguard Wolfi https://images.chainguard.dev/directory/image/wolfi-base/overview
Misc: New way of releasing static agent features, this should be a transparent change.
Add
create-acls,describe-acls, anddelete-aclsclibeta commands for managing ACLs from the CLI, providing akafka-acls.shequivalent.
Release v765
March 5, 2026
Tableflow: Add retries to the bucket access checker and remove extra slash used in the request URL.
Add
agent_versionlabel/tag to all metrics emitted by the agents.Bump
github.com/docker/clitov29.2.1forCVE-2025-15558vulnerability.Add L7 proxy detection diagnostic for inter-agent traffic. When a load balancer or reverse proxy is detected between agents, a new high-severity diagnostic is surfaced to help users identify and remove proxy interference.
Added new
OBJECT_STORAGE_PUBLIC_NETWORK_PATHdiagnostic that detects when S3 or Azure Blob Storage endpoints resolve to public IPs, indicating a missing VPC endpoint (or equivalent). This helps identify unnecessary networking costs from object storage traffic going over the public internet.Fix a bug where some log attributes were grouped into a
!BADKEYkey.
Release v764
March 3, 2026
Tableflow: make Protobuf type
google.protobuf.Timestampusable as a custom partitioning field.
Release v763
February 27, 2026
Increase the maximum allowed value for
batchMaxSizeBytes(max uncompressed batch flush size) from 64MiB to 128MiB.Improve Schema Registry to properly handle trailing slashes in URL paths (e.g.,
/config/now works the same as/config).
Release v762 [do not use]
This version has a known bug that causes some records to be incorrectly skipped by consumers. Do not use it.
February 26, 2026
Make sure BYOC schema registry response's Content-Type is application/json if the request's Accept header is application/json.
Fixed a bug where the demo agent would get stuck waiting for the Tableflow Iceberg table to be created.
Optimizes fetch to use less CPU and IO when fetching a single record, or when
max.partition.fetch.bytesis low.
Release v761
February 25, 2026
Add PSI (Pressure Stall Information) metrics collection for CPU, memory, and I/O pressure. New metrics:
pressure_cpu_some_pct,pressure_cpu_full_pct,pressure_memory_some_pct,pressure_memory_full_pct,pressure_io_some_pct,pressure_io_full_pct. These metrics report the percentage of time tasks were stalled due to resource contention over the last sampling interval (0-100%).Update orbit to cover for protocol incompatibility in some systems which implement kafka api
Release v760
February 24, 2026
Tableflow: Performance improvement on ingestion saving 5 to 10% of CPU usage.
Add
metricscategory to--jobSelectorflag, allowing agents to run only metrics publishing jobs (e.g.,--jobSelector metrics).
Release v759
February 24, 2026
Add
--jobSelectorflag (env:WARPSTREAM_JOB_SELECTOR) to specify which job types an agent handles.
Release v758
February 20, 2026
Tableflow:
Fix ingestion of Avro and JSON when lists or map values contain decimal fields.
Make Proto unsigned integers (
uint32,uint64,fixed32,fixed64) convert into decimals. Before that, making a Protobuf backward-compatible change that changed auint32into auint64(or vice-versa) was forbidden because it would end in a non-backward-compatible Iceberg change (fromlongtostringor vice-versa). Now it's possible. This is a breaking change for Protobuf tables as the Iceberg column type changes for those uints.Add support for
google.protobuf.Timestamptype in Protobuf. It gets converted to an Icebergtimestamptz.
Fix time_since_last_top_level_fetch_ms to avoid negative values when there are concurrent fetch requests.
Improve the "Cross AZ Kafka Clients" diagnostic to show more than 1 clientId.
Fix a bug in the instance type detection logic for Kubernetes environments that could cause it to fail to detect the instance type in some cases and return "unknown" instead.
Add log message for mTLS authentication that includes certificate serial number and validity period in order to help monitor client certificate expirations.
This functionality is disabled by default and can be controlled with the
-logMTLSCertificateInfoflag orWARPSTREAM_LOG_MTLS_CERTIFICATE_INFOenvironment variable.
Release v757
February 19, 2026
Added a new agent flag
-injectPrincipalHeader(env varWARPSTREAM_INJECT_PRINCIPAL_HEADER) that, when set to a header key name, injects the kafka principal username as a header in each produced record. This allows downstream consumers to identify which user produced each record.Fixes a bug in the ripcord deletion queue that could cause the "last opened sequence" to grow until the agent is restarted, because the agent silently discards files that should be deleted in some circumstances.
Query engine: Fix a bug that caused fields escaped with backticks to not be queryable properly.
Tableflow:
Emit the correct logical type annotation for time fields in Parquet files.
Fix ingestion of Avro records with decimal fields.
Release v756
February 17, 2026
Reject all traffic to HTTP fetch endpoints if mTLS is enabled on the Agents.
Validate SASL credentials in HTTP fetch endpoints even if SASL authentication is not required by the Agents.
Tableflow: fix regression requiring the IngestionBucketURL to be set for datalake clusters (new unreleased feature).
Release v755
February 12, 2026
Add new /v1/kafka/fetch HTTP/JSON endpoint for manually issuing Fetch requests against the Agents.
Add convenience endpoint
GET /v1/kafka/fetch_single_record?topic=TOPIC&partition=PARTITION&offset=OFFSETfor fetching a single record by offset.Add convenience endpoint
GET /v1/kafka/topics/{topic}/partitions/{partition}/records/{offset}as a REST-style alternative for fetching a single record by offset.Due to false positives, skip the Unregistered WarpStream Environment Variables diagnostic if the agents is deployed as a Kubernetes service with a name that begins with "warpstream_" or "warpstream-".
Release v754
February 12, 2026
Fixed a bug introduced in v746 where the Agents could get deadlocked after experiencing tends of thousands of errors.
Release v753
February 11, 2026
[experimental] Add
-disableOutOfRangeOrbitflag (env:WARPSTREAM_DISABLE_OUT_OF_RANGE_ORBIT): when enabled, orbit-managed topics returnKAFKA_STORAGE_ERRORinstead ofOFFSET_OUT_OF_RANGEin the fetch path, preventing clients from resetting offsets when data has not yet been replicated from the source cluster.
Release v752
February 11, 2026
Redact agent key from startup logs.
Tableflow: Fix rare bug in parquet footer length tracking that could cause compaction jobs to fail with "unsupported thrift type" errors when reading input files.
Release v751
February 9, 2026
Fix default value for
-batchMaxCompressedSizeBytesto be 16MB instead of a value higher than the max.
Release v750
February 9, 2026
Warning: There is a problem with that version fixed in v751. Please upgrade to v751 directly and skip v750.
Flushing behaviour update
Before v750, the agent would flush a new file if it was over your configured
-batchMaxSizeBytesvalue, and its default value was 4MiB. This means that the agent would not create files that contain more than 4i of uncompressed data by default.After this release, by default, the Agent will create a new file if it estimates that it's going to be more than 1MiB after compression by default.
In more details:
This version introduces a
-batchMaxCompressedSizeBytesflag (and the corresponding WARPSTREAM_BATCH_MAX_COMPRESSED_SIZE_BYTES environment variable).If you define just
-batchMaxSizeBytes, then-batchMaxCompressedSizeByteswill not be used, the agent will use exactly your uncompressed bytes limit to choose when to create a new file.If you define just
-batchMaxCompressedSizeBytes, then-batchMaxSizeByteswill be automatically set to a very high value (64MiB)If you define no flags, then
-batchMaxCompressedSizeByteswill be set to 1MiB and-batchMaxSizeByteswill be set to 64MiB.If you define both, a new file will be created when it becomes higher than either limit.
SyncGroup handler now returns validation errors (invalid group ID, missing member ID, etc.) embedded in the response instead of as a top-level error. This improves compatibility with Kafka clients and ensures these expected protocol errors are not logged/metriced as server errors.
Tableflow:
Fix BigQuery integration bug, where orphaned tables were preventing table recreation.
Update ingestion to handle empty topics gracefully
Fix timestamp field indexing for JSON format: timezone is not required anymore for fields with type timestamp.
Fix bug in batcher which would increase the number of files flushed when disable_only_flush_after_timeout is set to true.
Include virtual cluster ID in auto-generated client IDs for Managed Data Pipelines. This ensures it works with
VirtualClusterIDClientStrictValidationenabled.Improve performance of metrics code by swapping a mutex for an RWMutex.
Bump franz-go package from v1.18.1 to v1.20.6.
Add low severity diagnostic to detect misspelled environment variables beginning with
WARPSTREAM_.Fix noisy ACL denial logs for "all topics" metadata requests. When clients refresh metadata for all topics, unauthorized topics are now silently filtered without logging denials (per Kafka protocol behavior).
Release v749
February 2, 2026
Tableflow: Support
skip_raw_record_valuesthat doesn't store the raw record values in the produced data files.Bump build to go
1.25.6to fix vulnerabilityCVE-2025-61726.
Release v748
January 30, 2026
Return an error when MTLS is enabled (without
-spiffeMTLSAuthentication) but the agent is unable to determine the username from the client certificate subject.Add a new push diagnostic that fires when the timeout on produce requests is less than 5 seconds. This helps identify clients with misconfigured timeout settings that may cause issues with WarpStream's object storage-based architecture.
Allow clients to reauthenticate via SASL even when the control plane is down for Ripcord mode.
Tableflow:
Add support for custom partitioning.
Add support for compressing data files, default being snappy.
New metrics:
warpstream.tableflow_partitions_count: Total number of table partitions in the cluster.warpstream.tableflow_partitions_limit: Maximum number of table partitions allowed in the cluster.
Release v747
January 29, 2026
Buffer audit logs agent side in case of failure to publish them.
Patch CVE-2025-15467 & CVE-2025-69419 vulnerabilities in libssl3/libcrypto3.
Tableflow:
Fix decoding of JSON records with date fields serialized in the "YYYY-MM-DD" format.
Update how we track source data timestamp metadata (kafka timestamps) for more efficient retention enforcement.
Release v746
January 27, 2026
Flushes will wait for the entire batch timeout even if the batch max size bytes limit is exceeded. Files will be split and flushed in parallel in accordance to the batch max size bytes limit.
Release v745
January 23, 2026
Add support for SASL
OAUTHBEARERauthentication mechanism in the WarpStream Agent for Kafka clients that support it.New flags and environment variables:
-saslOAuthIssuerURL/WARPSTREAM_SASL_OAUTH_ISSUER_URL: The OAuth issuer URL used to validate tokens presented by clients.-saslOAuthAudience/WARPSTREAM_SASL_OAUTH_AUDIENCE: The expected audience claim in the OAuth tokens presented by clients.When these settings are configured, the Agent will accept OAuth tokens from clients and validate them against the specified issuer and audience.
ACL rules can be created with OAuth principals in the format
User:<subject>to allow or deny access based on the subject claim in the token.Tableflow: Add support for Protobuf schemas.
Release v744
January 21, 2026
Fix issue with lightning topics configuration validation in previous versions that would prevent the agents from starting on some machines (introduced in v737)
Tableflow: Add memory safeguard to prevent potential OOM when ingesting data spanning many partitions.
Release v743
This version of the agent panics at startup on some machines with a high CPU count. Upgrade to v744 or higher if you have this problem. The exact error message is
January 20, 2026
Tableflow: Optimize ingestion by seeking to offsets that correspond to records to speed up the ingestion of topic with large offset gaps in the beginning.
Returns the "invalid topic" error rather than the "kafka storage error" when attempting to fetch from a topic name that does not exist. This is usually gated from the kafka client though.
The WarpStream agent can now create WarpStream lightning topics.
The WarpStream agent can now be started in ripcord mode, with
-enableRipcordor by setting theWARPSTREAM_ENABLE_RIPCORDenvironment variable totrue. See the documentation for more details.
Release v742
This version of the agent panics at startup on some machines with a high CPU count. Upgrade to v744 or higher if you have this problem. The exact error message is
January 19, 2026
Add additional attributes i.e.
client_idandusernameto shadow ACL logs.Enable SASL Authentication automatically for Managed Data Pipelines when ACL shadowing is enabled.
Put back tag
virtual_cluster_idandvirtual_cluster_nametoagent_kafka_request_outcomemetric that got removed by mistake in v740.Fix bug in ACL Shadowing to stop emitting false-positive deny diagnostics.
Release v741
This version of the agent panics at startup on some machines with a high CPU count. Upgrade to v744 or higher if you have this problem. The exact error message is
January 15, 2026
Update playground url to point to the
api.warpstream.cominstead ofconsole.warpstream.com.Please upgrade to this release for playground functionality to continue working.
Rename
-consoleURLto-apiURLflags in playground mode.
Release v740
This version of the agent panics at startup on some machines with a high CPU count. Upgrade to v744 or higher if you have this problem. The exact error message is
January 14, 2026
Downgrade gosnowflake dependency to remove glibc error related to cgo execution.
Fail to start tableflow agents if incorrect roles are provided / configured.
Add
warpstream_agent_acl_deniedmetric to track ACL denials.Treat more kafka server errors as
canceledinstead oferrorif the errors are indicative of the client disconnecting.
Release v739
This version of the agent panics at startup on some machines with a high CPU count. Upgrade to v744 or higher if you have this problem. The exact error message is
Note: This release contains a glibc/cgo error due to the Bento upgrade. Please use v740 instead.
January 12, 2026
Return COORDINATOR_LOAD_IN_PROGRESS instead of KAFKA_STORAGE_ERROR as the generic error code for consumer group coordinator RPCs (JoinGroup, SyncGroup, Heartbeat, LeaveGroup, DescribeGroups, DeleteGroups, ListGroups, OffsetDelete, OffsetFetch) and TxnOffsetCommit. This improves compatibility with the Java consumer client which will automatically retry COORDINATOR_LOAD_IN_PROGRESS errors for these RPCs, but not KAFKA_STORAGE_ERROR.
Tableflow: Fix BigQuery integration to handle table recreation. When a datalake table is recreated with a new UUID, the BigQuery external table is now automatically dropped and recreated to point to the new metadata location. Previously, updates would fail because BigQuery validates that both old and new metadata files exist.
Merge batcher related metrics into single metrics with a
nametag:warpstream.xxx_batcher_batches_count->warpstream.batcher_batches_countwarpstream.xxx_batcher_batches_distribution->warpstream.batcher_batches_distributionwarpstream.xxx_batcher_called->warpstream.batcher_called
Fix bug in Fetch logic that could cause massive amounts of overfetching if clients (like librdkafka) sent fetch requests where the value of partition max bytes was >> the value of fetch max bytes for the entire request.
Reduce default value of
kafkaMaxFetchRequestBytesUncompressedOverrideandkafkaMaxFetchPartitionBytesUncompressedOverridefrom 1GiB to 256MiB. Now that the fetch code has pre-fetching logic, requesting huge amounts of data in a single fetch request is not nearly as useful so we should not allow it by default.Upgrade Bento to v1.14.1 to fix a regression where functions with optional arguments were not being honored.
Release v738
This version of the agent panics at startup on some machines with a high CPU count. Upgrade to v744 or higher if you have this problem. The exact error message is
January 5, 2026
Add
describe-broker-configs,describe-groups,describe-log-dirs, anddescribe-topic-configscommands to thewarpstream agent clibetacommand for inspecting broker, consumer group, log directory, and topic configuration respectively.Add
client_aztag to metricswarpstream_agent_kafka_fetch_compressed_bytes_counterandwarpstream_agent_kafka_produce_compressed_bytes_counter. Theclient_aztag prioritizes using the availability zone set in the client ID, otherwise it uses the resolved client ID from the Agent's subnet mapping. If neither is provided, then a value ofnoneis set.Bump
github.com/eclipse/paho.mqtt.golangto fixCVE-2025-10543
Release v737
This version of the agent panics at startup on some machines with a high CPU count. Upgrade to v744 or higher if you have this problem. The exact error message is
December 22, 2025
Ignore GCS context canceled error in circuit breakers to prevent context cancelation from accidentally opening circuit breakers inappropriately.
Tableflow:
Add BigQuery integration support for external Iceberg tables. Tables can now be automatically created and updated in BigQuery when new metadata is committed.
Add "stop" DLQ mode for Tableflow, which blocks ingestion of invalid records instead of skipping them. "skip" mode will remain the default for now, but a later release will make "stop" the default.
Release v736
December 17, 2025
Treat context.Canceled errors in ACL code as WARN instead of ERROR since it just indicates that the client disconnected, not that anything is wrong.
Add pipeline_name tag to Managed Data Pipeline metrics
Emit logs for shadow ACL denials.
Release v735
December 11, 2025
Add support for spiffe URIs in mTLS authentication between kafka clients and ACLs
Add support for spiffe URIs in ACLs
ACLs can now be created with spiffe URIs as the principal
User:spiffe://example.org/serviceto allow a specific trust domain and workload ID.User:spiffe://example.org/*to allow a specific trust domain and any workload ID.
spiffe super users can be created by creating cluster credentials with spiffe URI as the name.
Improve the logic for determining when to delay partition assignment changes for individual clients.
Fix ACL handling for
ANYresource type.
Release v734
December 9, 2025
Add support for internal SPIFFE trust domain and workload ID for mTLS authentication between agents.
Trust domain and workload ID can be specified via new flags (
-internalSpiffeTrustDomainand-internalSpiffeWorkloadID) and environment variables (WARPSTREAM_INTERNAL_SPIFFE_TRUST_DOMAINandWARPSTREAM_INTERNAL_SPIFFE_WORKLOAD_ID).If set, certificates without the specified trust domain and workload identity will be rejected.
Release v733
December 8, 2025
Tableflow:
Write always null count statistics, even if they are zero, in the parquet data statistics, to make it work with Query Engines that have strict requirements of reading those statistics.
Bump build to go
1.25.5to fix vulnerabilityCVE-2025-61729.
Release v732
December 3, 2025
Improve logic for controlling delays between polling for new records in the Fetch code. This change dramatically reduces P99 E2E latency for some workloads.
Upgrade Bento version to
v1.13.1in order to include fix onparquet_encodeprocessor: it now allows for column names starting with an underscore.
Release v731
November 28, 2025
Adds a
-enabledSASLMechanismsflag in the agent (and a correspondingWARPSTREAM_ENABLED_SASL_MECHANISMSenvironment variable).If you provide it with a comma-separated list of SASL mechanisms, only those will be enabled. Valid values are
PLAINandSCRAM-SHA-512.For example, if you set
WARPSTREAM_ENABLED_SASL_MECHANISMS=SCRAM-SHA-512, you will not be able to use thePLAINmechanism to connect, onlySCRAM-SHA-512.
Fixes a bug preventing the agent from starting successfully on hosts with IP v6 only (assuming they start with
-advertiseHostnameStrategy=auto-ip6or setting the env varWARPSTREAM_ADVERTISE_HOSTNAME_STRATEGY=auto-ip6)Tableflow:
Fix AVRO record decoding for optional nested structs. This resolves validation errors like "missing required field" that could occur during ingestion when using AVRO schemas with optional nested records.
Release v730
November 26, 2025
Prevent partition assignments for each client from being able to change on every Metadata refresh. This dramatically improves load-balancing behavior when many clients have synchronized Metadata refresh intervals.
Tableflow:
Add support for arbitrary partition transforms during ingestion.
Make transforms work with Avro encoded data.
Validate 'required' fields are present for JSON records during ingestion.
Release v729
November 24, 2025
Tableflow: fix a bug in data cleanup where some data files that were compacted away or out of retention weren't being removed from the blob storage correctly.
Fix the agent_roles metric tag to be deterministic.
Release v728
November 21, 2025
Perform ACL shadowing when ACLs are configured but disabled, and surface the result as a diagnostic. This helps users detect and fix invalid ACL rules even if ACLs are not currently enforced.
Use much more up to date Agent load information in the partition assignment strategies that use consistent hashing. This should dramatically improve load balancing for those strategies as previously the information that was used could be up to 1m stale and now it should never be more than a few seconds stale.
Add support for custom Bento transforms in Tableflow ingestions jobs.
Add support for dropping records as part of custom Bento transforms in Tableflow ingestion jobs.
Update
democommand to demonstrate custom Bento tranforms for Tableflow.Reduce log level from ERROR to WARN for failure to upload a profile.
Treat "connection timed out" errors when reading requests from Kafka client connections the same as "idle connection closed" from a logging perspective (reduces error log spam).
Reduce log level from ERROR to WARN when background prefetches fail.
Release v727
November 19, 2025
Re-enable watching for changes to the bucket URLs so that the Agents can refresh them if they change through overrides on the cluster settings page.
Return COORDINATOR_LOAD_IN_PROGRESS instead of KAFKA_STORAGE_ERROR as the generic error code for the OffsetCommit RPC. This improves compatibility with the Java consumer client which will automatically retry COORDINATOR_LOAD_IN_PROGRESS errors for that RPC, but not KAFKA_STORAGE_ERROR.
Release v726
November 18, 2025
Enable a stricter check when
warpstream_agent_group/ws_agent_group/ws_agis set in the client. If an Agent in group A receives a request from a client that indicated its intended target is Agents in group b, then the Agent in group A will reject the request with an error before closing the connection. This prevents issues that can occur where clients end up connected Agents in the wrong group due to IP reuse in high-churn environments like KubernetesOnly consider internal errors in the
control_plane_errorsagent diagnostic.Bump
github.com/dvsekhvalnov/jose2goto1.8.0forCVE-2025-63811vulnerability.Add gated support to ignore flush size in the batcher until flush timeout is hit.
Release v725
November 14, 2025
Enable efficient consumer group rebalances, by not sending member's metadata multiple times for a single JoinGroup request.
Add
-disableAzLookupWarningsflag andWARPSTREAM_DISABLE_AZ_LOOKUP_WARNINGSenvironment variable to disable warnings when availability zone lookup fails via CIDR blocks. Additionally, these warnings are now throttled to a maximum of 1 log per minute to prevent log spam when clients intentionally connect from outside configured CIDR ranges while using theWARPSTREAM_ZONED_CIDR_BLOCKSconfiguration.Attempt to use GCS direct connectivity (gRPC) automatically with GCS buckets by default, and fallback to standard HTTP when its unavailable. This significantly reduces the P99/max latencies of object storage operations in GCP.
Also added a new flag to fail the Agent on startup if they can't establish direct connectivity on GCP eligible datacenters:
gcsDirectConnectivityRequired/WARPSTREAM_GCS_DIRECT_CONNECTIVITY_REQUIRED
Fix the
time_since_last_top_level_fetch_msattribute insample_fetch_statisticsdebug log which is inaccurate when the fetch is performed during prefetching. Also addsis_prefetchto thesample_fetch_statistics.Improve performance of metadata handler by switching to a faster api to list streams.
Unregister agent from service discovery during graceful shutdown.
Add diagnostic to detect when an agent does not shutdown cleanly.
Disable prefetching when the duration between individual consumer fetch requests is longer than the period of time that prefetched results will be held in memory before being GC'd if they're not consumed. This helps prevent the prefetching logic from putting additional load on the Agents when they're already overloaded.
Auto-tune the topic metadata cache refresh interval based on the number of topics in the cache so that workloads with a high number of Agents and topics do not generate excessive amounts of HTTP traffic.
Tableflow: Migrate compaction job to stop using a deprecated version of an internal API.
Release v724
November 6, 2025
Add support of a new
warpstream_cluster_idclient ID (see documentation).Add a new
enableConfluentComponentssetting to enable the use of confluent cloud connectors with warpstream clusters.Add new default concurrency limit of 16 concurrent Metadata requests/vCPU. This limit can be changed using the
-maxConcurrentMetadataRequestsPerCPUflag orWARPSTREAM_MAX_CONCURRENT_METADATA_REQUESTS_PER_CPUenvironment variable. Setting the value to zero disables the concurrency limit.Improve partial error handling in the batcher.
Bump build to go
1.25.3to fix vulnerabilityCVE-2025-58187.Configure maximum staleness in the AssumeRole cache so that role tokens are refreshed proactively in the critical path after long periods of idleness instead of just passively in the background after being read. This prevents spurious
api error BadRequest: Bad Requesterrors from occurring during some infrequent background processes like file cleanup.Bump github.com/opencontainers/runc to
1.3.3forCVE-2025-31133andCVE-2025-52565vulnerabilities.
Release v723
November 4, 2025
Bump build to go
1.25.2to fix vulnerabilityCVE-2025-47912.Reduce CPU and allocations when processing Metadata requests for specific topics in clusters with a large number of topics/partitions.
Fix the metric
agent_kafka_produce_records_counterto have the right tags whenEnableHighCardinalityMetricsis enabled.
Release v722
October 31, 2025
Added a cache to AWS assume role credentials to prevent rate limiting in large workloads.
Tableflow: Improve ingestion telemetry reporting.
Schema registry: Add support for
Protobuf.Schema registry: Add support for schema normalization.
Release v721
October 29, 2025
Tableflow: Reduces agent memory usage during table compaction by using buffers pooling.
Fix a bug that would sometimes cause the Agents to reject Produce requests during shutdown with errors like "error getting allocated file ID: context deadline exceeded: 10.002999653s" that would result in latency spikes and error log spam.
Add a diagnostic to detect when the Agent file descriptor limit is less than the configured connection limit.
Add the ability to use the Bento
opensnowcatprocessor in managed data pipelines.
Release v720
October 27, 2025
Bump Bento to v1.12.1 which does proper error handling for GCP BigQuery output.
Auto tune TCP buffer size based on observed number of connections. This makes it so well behaved workloads with low connection counts benefit from large buffers and minimal syscalls, but workloads with extremely high connection counts work too without requiring excessive amounts of memory.
Increase maximum allowed message size from 128 MiB to 256 MiB.
Change the log level of "successfully fetched credentials for assume role provider" from
infotoanalyticsSplit produce batch into per shard batches in the batcher.
Release v719
October 23, 2025
Tableflow: Fix ingestion of json records when the json key contains non-alphanumeric characters.
Reduce the amount of polling/networking done between the Agents and control plane for Agents running in
demoandplaygroundmodesIncrease default maximum number of connections per vCPU from 8_192 to 32_768.
WARPSTREAM_MAX_PRODUCE_RECORD_SIZE_BYTEScan now support record size from 1 MiB to 128 MiB with default at 32 MiB.Fix a bug in the loading cache that may return transient invalid results, resulting in errors such as "stream metadata cache returned not exist which should never happen".
Turn
current_buffer_statslog into a debug log.
Release v718
October 21, 2025
Fix JSON Schema Validation to handle the
$defskeyword for draft version2020-12.
Release v717
October 16, 2025
Tune number of allowed retries for blob store operations during compactions slightly.
Add a cache that makes partition assignment strategies that use consistent hashing much more performant when the volume of Metadata requests is extremely high.
Increase default number of inflight files for Producing from 16/vCPU to 64/vCPU. This makes it much less likely that the Agents will start backpressuring due to hitting the inflight files limit before hitting the inflight bytes limit which is much more important and accurate.
Increase the default ratelimit for max processed bytes per second/vCPU from 50MiB/s to 100MiB/s for Agents running only the
pipelinesrole to promote more CPU usage and better auto-scaling.
Release v716
October 14, 2025
Reduce the amount of observability metadata we send back to the control plane on fetch and produce.
Changed default Tableflow HTTP port from 10001 to 8081 in demo/playground mode.
Upgrade the embedded version of bento to v1.11.0
Tableflow:
Made Tableflow HTTP port in demo/playground mode overrideable using the
-tableflowInternalHTTPPortflag.Add a
TABLEFLOW_prefix to the environment variables for passing cluster credentials.
Release v715
October 13, 2025
Accept JSON Schemas with draft versions 04, 06, and 07 for schema validation.
Release v714
October 13, 2025
Improve the performance of GCS client when direct connectivity is enabled by reducing the number of in-memory clients/connections that are in use at once.
Add new diagnostic for when a consumer gets an offset out of range error.
Bump our Alpine base image to version
3.22.2to fix vulnerabilityCVE-2025-9230
Release v713
October 10, 2025
Bump our Alpine base image to version
3.22.1to fix vulnerabilityCVE-2025-9230
Release v712
October 8, 2025
Fix spanner data plane bug.
Release v711 (this release introduced a spanner data plane bug which has been fixed in 712)
October 8, 2025
Improve Spanner data plane performance.
Make
warpstream playgroundcommand use less CPU when the Agent is idle (no traffic).Improve the accuracy of the CPU utilization as measured by the Agents.
Release v710
October 6, 2025
Tableflow: Add AWS Glue Data Catalog integration to automatically register Iceberg tables and update metadata location.
Release v709 (backwards incompatible metrics change)
October 3, 2025
Add support for Spanner and SQLite as a blob storage backends through
spanner://andsqlite://URLs.Tableflow: Fix indexing of uuid types.
Disable emitting high cardinality per-topic distribution/histogram metrics by default. See the new flag/environment variable added below to re-enable these metrics. Impacted metrics:
warpstream_agent_kafka_produce_with_offset_uncompressed_bytes_bucketwarpstream_agent_kafka_produce_uncompressed_bytes_bucketwarpstream_agent_kafka_produce_compressed_bytes_bucketwarpstream_agent_kafka_produce_uncompressed_bytes_bucketwarpstream_agent_kafka_produce_compressed_bytes_bucketwarpstream_agent_kafka_fetch_uncompressed_bytes_bucketwarpstream_agent_kafka_fetch_compressed_bytes_bucket
Add new
kafkaHighCardinalityDistributionMetricsandWARPSTREAM_KAFKA_HIGH_CARDINALITY_DISTRIBUTION_METRICSenvironment variable that when set to true enables emitting high cardinality per-topic distribution metrics that are 10-20x higher cardinality than the regular counter metrics. Defaults to false.Fix a bug in the pre-fetcher that would sometimes generate invalid/corrupt responses for fetch requests that requested data for a single-topic partition when the client retried a failed fetch request while the Agent was under extremely heavy load. The prefetcher is remotely disabled in previous versions, so this bug doesn't affect any version.
Return ErrNotLeaderOrFollower error instead of InvalidRequest error when processing a Produce or Fetch request on an Agent that is only running the proxy-consume or proxy-produce roles respectively. This should help some clients refresh their metadata and get routed to the right Agent more quickly when they're connected to the wrong Agent role due to I.P address reuse.
Add new environment variables
WARPSTREAM_GCS_GRPC_CONNECTION_POOL_SIZEandWARPSTREAM_GCS_ALLOW_DIRECT_CONNECTIVITYto control new experimental GCS direct connectivity feature.