Release Date: July 13, 2026
Packages included
The release of FlowServer for WarehousePG 1.1.0 comprises the following packages and their dependencies:
| Package name | Package version | Required WarehousePG version |
|---|---|---|
| whpg6-flow-server | 1.1.0 | 6.x |
| whpg7-flow-server | 1.1.0 | 7.x |
New features
Multiple target tables per job: A job can now load data into more than one target table by listing more than one entry under
target.database.tables. FlowServer stages each batch once and applies each target table's write mode against that staging table independently. See Constructing the target section and the multiple target tables example.Kafka partition subset consumption: The
partitionssetting lets a job consume an explicit subset of a topic's partitions instead of the whole topic, so you can split a high-volume topic across multiple concurrent jobs. See Constructing the source section for a Kafka source.Parallel Kafka reader: Kafka polling and record formatting now run in parallel across partitions. The
read_workersandread_buffersettings let you tune the degree of parallelism and the internal buffer depth. See Constructing the source section for a Kafka source.TLS connections to Kafka brokers: A new
tlsconfiguration block enables one-way TLS and mutual TLS (mTLS) connections to Kafka brokers. See Constructing the source section for a Kafka source.Kafka record metadata columns: An optional
metadatablock projects each Kafka record's topic, partition, offset, and timestamp into the target table as a JSON column. This release also adds agroup.idproperty to override the consumer group name. See Constructing the source section for a Kafka source.Avro without the Confluent wire format: FlowServer can now read raw Avro binary data produced without the Confluent 5-byte wire format header, using a local schema file instead of a schema registry. See Avro format.
Avro
bytestype support: The newbytes_to_base64option encodes Avrobytesandfixedfields as base64, making them safe to load into text or JSON target columns. See Avro format.
Improvements
- Removing a job now deletes its Kafka consumer group, so removed jobs no longer leave stale consumer groups behind.
- Avro codec and schema registry lookups are now cached across messages instead of being rebuilt per record, reducing Avro decoding overhead.
- Starting a job no longer blocks other job-control operations while the job connects to its source.
Bug fixes
- Fixed an issue where a job restarted from a stored offset incorrectly detected log truncation, reset to the start of the Kafka log, and silently finished with a Done status instead of resuming.
- Fixed an issue where the stop timer configured by
running_durationdidn't fire on a job's final scheduled run when used together withmax_restart_times, leaving the job running indefinitely.