Maintenance release Default changes
socket.max.fails changed to 1 to provide same functionality (fail request immediately on error) now when retries are working properly again.
fetch.max.bytes (new config property) is automatically adjusted to be >= message.max.bytes, and receive.message.max.bytes is automatically adjusted to be > fetch.max.bytes. (#1616)
New features
Message Headers support (with help from @johnistan)
Java-compatible Murmur2 partitioners (#1468, @barrotsteindev)
Add PKCS#12 Keystore support - ssl.keystore.location (#1494, @AMHIT)
Noteworthy fixes
Formalise and fix Producer retries and retry-ordering (#623, #1092, #1432, #1476, #1421)
Ordering is now retained despite retries if max.in.flight=1.
Behaviour is now documented
Fix timeouts for retried requests and properly handle retries for all request types (#1497)
Add and use fetch.max.bytes to limit total Fetch response size (KIP-74, #1616). Fixes "Invalid response size" issues.
Enhancements
Added sasl.mechanism and compression.type configuration property aliases for conformance with Java client.
Improved Producer performance
C++: add c_ptr() to Handle,Topic,Message classes to expose underlying librdkafka object
Honour per-message partition in produce_batch() if MSG_F_PARTITION set (@barrotsteindev, closes #1604)
Added on_request_sent() interceptor
Added experimental flexible producer queuing.strategy=fifo|lifo
Broker address DNS record round-robin: try to maintain round-robin position across resolve calls.
Set system thread name for internal librdkafka threads (@tbsaunde)
Added more concise and user-friendly 'consumer' debug context
Add partitioner (string) topic configuration property to set the builtin partitioners
Generate rdkafka-static.pc (pkg-config) for static linking
Fixes
Fix producer memory leak on <0.11 brokers when compressed messageset is below copy threshold (closes #1534)
CRC32C - fix unaligned access on ARM (@Soundman32)
Fix read after free in buf_write_seek
Fix broker wake up (#1667, @gduranceau)
Fix consumer hang when rebalancing during commit (closes #1605, @ChenyuanHu)
CMake fixes for Windows (@raulbocanegra)
LeaveGroup was not sent on close when doing final offset commits
Fix for consumer slowdown/stall on compacted topics where actual last offset < MsgSet.LastOffset (KAFKA-5443)
Fix global->topic conf fallthru in C++ API
Fix infinite loop on LeaveGroup failure
Fix possible crash on OffsetFetch retry
Incorporate compressed message count when deciding on fetch backoff (#1623)
Fix debug-only crash on Solaris (%s NULL) (closes #1423)
Drain broker ops queue on termination to avoid hang (closes #1596)
cmake: Allow build static library (#1602, @proller)
Don't store invalid offset as next one when pausing (#1453, @mfontanini)
use #if instead of #ifdef / defined() for atomics (#1592, @vavrusa)
fixed .lib paths in nuget packaging (#1587)
Fixes strerror_r crash on alpine (#1580, @skarlsson)
Allow arbitrary lengthed (>255) SASL PLAIN user/pass (#1691, #1692)
Trigger ApiVersionRequest on reconnect if broker.version.fallback supports it (closes #1694)
Read Fetch MsgAttributes as int8 (discovered by @tvoinarovskyi, closes #1689)
Portability: stop using typeof in rdkafka_transport.c (#1708, @tbsaunde)
Portability: replace use of #pragma once with header guards (#1688, @tbsaunde)
mklove: add LIBS in reverse order to maintain dependency order
Fix build when python is not available #1358
Please login to add feedback.
This update has been submitted for testing by mluscon.
This update has been pushed to testing.
This update has reached 14 days in testing and can be pushed to stable now if the maintainer wishes
This update has been submitted for batched by mluscon.
This update has been submitted for stable by mluscon.
This update has been pushed to stable.