dependabot[bot] opened a new pull request, #3826: URL: https://github.com/apache/streampipes/pull/3826
Bumps [confluent-kafka](https://github.com/confluentinc/confluent-kafka-python) from 2.10.0 to 2.12.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/confluentinc/confluent-kafka-python/releases">confluent-kafka's releases</a>.</em></p> <blockquote> <h2>v2.12.0</h2> <p>confluent-kafka-python v2.12.0</p> <p>v2.12.0 is a feature release with the following enhancements:</p> <h3><a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol">KIP-848</a> – General Availability</h3> <p>Starting with <strong>confluent-kafka-python 2.12.0</strong>, the next generation consumer group rebalance protocol defined in <strong><a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol">KIP-848</a></strong> is <strong>production-ready</strong>. Please refer to the following <a href="https://github.com/confluentinc/confluent-kafka-python/blob/HEAD/docs/kip-848-migration-guide.md">migration guide</a> for moving from <code>classic</code> to <code>consumer</code> protocol.</p> <p><strong>Note:</strong> The new consumer group protocol defined in <a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol">KIP-848</a> is not enabled by default. There are few contract change associated with the new protocol and might cause breaking changes. <code>group.protocol</code> configuration property dictates whether to use the new <code>consumer</code> protocol or older <code>classic</code> protocol. It defaults to <code>classic</code> if not provided.</p> <h3>AsyncIO Producer (experimental)</h3> <p>Introduces beta class <code>AIOProducer</code> for asynchronous message production in asyncio applications.</p> <h4>Added</h4> <ul> <li>AsyncIO Producer (experimental): Introduces beta class <code>AIOProducer</code> for asynchronous message production in asyncio applications. This API offloads blocking librdkafka calls to a thread pool and schedules common callbacks (<code>error_cb</code>, <code>throttle_cb</code>, <code>stats_cb</code>, <code>oauth_cb</code>, <code>logger</code>) onto the event loop for safe usage inside async frameworks.</li> </ul> <h4>Features</h4> <ul> <li>Batched async produce: <code>await AIOProducer(...).produce(topic, value=...)</code> buffers messages and flushes when the buffer threshold or timeout is reached.</li> <li>Async lifecycle: <code>await producer.flush()</code>, <code>await producer.purge()</code>, and transactional operations (<code>init_transactions</code>, <code>begin_transaction</code>, <code>commit_transaction</code>, <code>abort_transaction</code>).</li> </ul> <h4>Limitations</h4> <ul> <li>Per-message headers are not supported in the current batched async produce path. If headers are required, use the synchronous <code>Producer.produce(...)</code> or offload a sync produce call to a thread executor within your async app.</li> </ul> <h4>Guidance</h4> <ul> <li>Use the AsyncIO Producer inside async apps/servers (FastAPI/Starlette, aiohttp, asyncio tasks) to avoid blocking the event loop.</li> <li>For batch jobs, scripts, or highest-throughput pipelines without an event loop, the synchronous <code>Producer</code> remains recommended.</li> </ul> <h3>Enhancement and Fixes</h3> <ul> <li>Kafka OAuth/OIDC metadata based authentication examples with Azure IMDS (<a href="https://redirect.github.com/confluentinc/confluent-kafka-python/issues/2083">#2083</a>).</li> </ul> <p>confluent-kafka-python v2.12.0 is based on librdkafka v2.12.0, see the <a href="https://github.com/confluentinc/librdkafka/releases/tag/v2.12.0">librdkafka release notes</a> for a complete list of changes, enhancements, fixes and upgrade considerations.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/confluentinc/confluent-kafka-python/blob/master/CHANGELOG.md">confluent-kafka's changelog</a>.</em></p> <blockquote> <h2>v2.12.0 - 2025-10-09</h2> <p>v2.12.0 is a feature release with the following enhancements:</p> <h3><a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol">KIP-848</a> – General Availability</h3> <p>Starting with <strong>confluent-kafka-python 2.12.0</strong>, the next generation consumer group rebalance protocol defined in <strong><a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol">KIP-848</a></strong> is <strong>production-ready</strong>. Please refer to the following <a href="https://github.com/confluentinc/confluent-kafka-python/blob/master/docs/kip-848-migration-guide.md">migration guide</a> for moving from <code>classic</code> to <code>consumer</code> protocol.</p> <p><strong>Note:</strong> The new consumer group protocol defined in <a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol">KIP-848</a> is not enabled by default. There are few contract change associated with the new protocol and might cause breaking changes. <code>group.protocol</code> configuration property dictates whether to use the new <code>consumer</code> protocol or older <code>classic</code> protocol. It defaults to <code>classic</code> if not provided.</p> <h3>AsyncIO Producer (experimental)</h3> <p>Introduces beta class <code>AIOProducer</code> for asynchronous message production in asyncio applications.</p> <h4>Added</h4> <ul> <li>AsyncIO Producer (experimental): Introduces beta class <code>AIOProducer</code> for asynchronous message production in asyncio applications. This API offloads blocking librdkafka calls to a thread pool and schedules common callbacks (<code>error_cb</code>, <code>throttle_cb</code>, <code>stats_cb</code>, <code>oauth_cb</code>, <code>logger</code>) onto the event loop for safe usage inside async frameworks.</li> </ul> <h4>Features</h4> <ul> <li>Batched async produce: <code>await AIOProducer(...).produce(topic, value=...)</code> buffers messages and flushes when the buffer threshold or timeout is reached.</li> <li>Async lifecycle: <code>await producer.flush()</code>, <code>await producer.purge()</code>, and transactional operations (<code>init_transactions</code>, <code>begin_transaction</code>, <code>commit_transaction</code>, <code>abort_transaction</code>).</li> </ul> <h4>Limitations</h4> <ul> <li>Per-message headers are not supported in the current batched async produce path. If headers are required, use the synchronous <code>Producer.produce(...)</code> or offload a sync produce call to a thread executor within your async app.</li> </ul> <h4>Guidance</h4> <ul> <li>Use the AsyncIO Producer inside async apps/servers (FastAPI/Starlette, aiohttp, asyncio tasks) to avoid blocking the event loop.</li> <li>For batch jobs, scripts, or highest-throughput pipelines without an event loop, the synchronous <code>Producer</code> remains recommended.</li> </ul> <h3>Enhancement and Fixes</h3> <ul> <li>Kafka OAuth/OIDC metadata based authentication examples with Azure IMDS (<a href="https://redirect.github.com/confluentinc/confluent-kafka-python/issues/2083">#2083</a>).</li> </ul> <p>confluent-kafka-python v2.12.0 is based on librdkafka v2.12.0, see the <a href="https://github.com/confluentinc/librdkafka/releases/tag/v2.12.0">librdkafka release notes</a> for a complete list of changes, enhancements, fixes and upgrade considerations.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/confluentinc/confluent-kafka-python/commit/3a25bfae5f998e023659cb05932700663302f794"><code>3a25bfa</code></a> Update version to 2.12.0 for the main release (<a href="https://redirect.github.com/confluentinc/confluent-kafka-python/issues/2096">#2096</a>)</li> <li><a href="https://github.com/confluentinc/confluent-kafka-python/commit/bf845ae57c8c4d05ce8c23455a9f4f90f97dacfc"><code>bf845ae</code></a> Updated env variable MACOSX_DEPLOYMENT_TARGET to 15 for 3.13 python wheel gen...</li> <li><a href="https://github.com/confluentinc/confluent-kafka-python/commit/ddeafbe2088ca64797f3023850f9aac591d24146"><code>ddeafbe</code></a> Added migration guide for KIP-848 (<a href="https://redirect.github.com/confluentinc/confluent-kafka-python/issues/2090">#2090</a>)</li> <li><a href="https://github.com/confluentinc/confluent-kafka-python/commit/3a988e29c9d67707af24b2cf3a45a791ac338471"><code>3a988e2</code></a> OAuth Azure IMDS Kafka example (<a href="https://redirect.github.com/confluentinc/confluent-kafka-python/issues/2083">#2083</a>)</li> <li><a href="https://github.com/confluentinc/confluent-kafka-python/commit/48ad12297a4cff481344b2aca26a5b8be86730ac"><code>48ad122</code></a> 2.12.0rc2 (<a href="https://redirect.github.com/confluentinc/confluent-kafka-python/issues/2086">#2086</a>)</li> <li><a href="https://github.com/confluentinc/confluent-kafka-python/commit/f443ea6b29b619463a5415e96f9780da6924d682"><code>f443ea6</code></a> Moved async into experimental package for regular release (<a href="https://redirect.github.com/confluentinc/confluent-kafka-python/issues/2089">#2089</a>)</li> <li><a href="https://github.com/confluentinc/confluent-kafka-python/commit/adc1b816741e759ddf5c350b245fa9d4c0b1ab5b"><code>adc1b81</code></a> DGS-22404 Add AppRole auth for HC Vault (<a href="https://redirect.github.com/confluentinc/confluent-kafka-python/issues/2084">#2084</a>)</li> <li><a href="https://github.com/confluentinc/confluent-kafka-python/commit/a3b43aafa6f734fc129fce34d16ec99a16196bfd"><code>a3b43aa</code></a> Remove hardcoded param (<a href="https://redirect.github.com/confluentinc/confluent-kafka-python/issues/2075">#2075</a>)</li> <li><a href="https://github.com/confluentinc/confluent-kafka-python/commit/9304bd62c306b30e8299174c3ed7df284c9aa30b"><code>9304bd6</code></a> V2.12.0b1 Image Build Fixes (<a href="https://redirect.github.com/confluentinc/confluent-kafka-python/issues/2082">#2082</a>)</li> <li><a href="https://github.com/confluentinc/confluent-kafka-python/commit/f878765e7bce9190449da8da6f0dc2724d492683"><code>f878765</code></a> Merge async branch to master (<a href="https://redirect.github.com/confluentinc/confluent-kafka-python/issues/2080">#2080</a>)</li> <li>Additional commits viewable in <a href="https://github.com/confluentinc/confluent-kafka-python/compare/v2.10.0...v2.12.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
