blob: abf487aa48e9046d14cc41e83855459f48bb228f [file] [log] [blame]
<!doctype html>
<html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.4.0">
<title data-rh="true">What’s New in Apache Pulsar 2.11 | Apache Pulsar</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://pulsar.apache.org/img/pulsar-social-media-card.png"><meta data-rh="true" name="twitter:image" content="https://pulsar.apache.org/img/pulsar-social-media-card.png"><meta data-rh="true" property="og:url" content="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="What’s New in Apache Pulsar 2.11 | Apache Pulsar"><meta data-rh="true" name="description" content="The Apache Pulsar community releases version 2.11! 61 contributors provided feature enhancements and fixes that delivered 1617 commits. Thanks for all your contributions."><meta data-rh="true" property="og:description" content="The Apache Pulsar community releases version 2.11! 61 contributors provided feature enhancements and fixes that delivered 1617 commits. Thanks for all your contributions."><meta data-rh="true" property="og:type" content="article"><meta data-rh="true" property="article:published_time" content="2023-01-20T00:00:00.000Z"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/"><link data-rh="true" rel="alternate" href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/" hreflang="en"><link data-rh="true" rel="alternate" href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://WK2YL0SALL-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache Pulsar RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Pulsar Atom Feed">
<link rel="search" type="application/opensearchdescription+xml" title="Apache Pulsar" href="/opensearch.xml">
<link rel="stylesheet" href="/css/katex-0.13.24.min.css" media="print" onload="this.media=&#39;all&#39;">
<script src="/js/sine-waves.min.js" async></script>
<script src="/js/matomo-agent.js"></script><link rel="stylesheet" href="/assets/css/styles.b0f65ef3.css">
<link rel="preload" href="/assets/js/runtime~main.1d0ed2a7.js" as="script">
<link rel="preload" href="/assets/js/main.e07a0c68.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><div class="announcementBar_mb4j" style="background-color:#282826;color:#fff" role="banner"><div class="content_knG7 announcementBarContent_xLdY">
<a class="announcement-bar" href="https://registration.socio.events/e/pulsarvirtualsummiteurope2024" target="_blank">
<div class="announcement-bar__content">
<svg class="announcement-bar__icon">
<svg viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.5 19.6001H16.1L15.3 29.2001L26.5 12.4H17.06L18.1 2.80005L6.5 19.6001Z" stroke="#F7F7F7" stroke-width="1.5" stroke-linejoin="round"/>
</svg>
</svg>
<span>
Get your free pass for Pulsar Virtual Summit Europe 2024 on May 14, 2024 🗓️
</span>
<svg class="announcement-bar__icon">
<svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="20" height="20" transform="translate(6 6)" fill="white" fill-opacity="0.01"/>
<path d="M17.6667 10.1667L23.5 16.0001M23.5 16.0001L17.6667 21.8334M23.5 16.0001L8.5 16.0001" stroke="white" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="0.5" y="0.5" width="31" height="31" rx="15.5" stroke="white"/>
</svg>
</svg>
</div>
</a>
</div></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo-black.svg" alt="Apache Pulsar logo" class="themedImage_ToTc themedImage--light_HNdA" height="25" width="127"><img src="/img/logo-black.svg" alt="Apache Pulsar logo" class="themedImage_ToTc themedImage--dark_i4oU" height="25" width="127"></div><b class="navbar__title text--truncate"></b></a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Get Started</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/3.2.x/concepts-overview/">Concepts</a></li><li><a class="dropdown__link" href="/docs/3.2.x/">Quickstart</a></li><li><a class="dropdown__link" href="/ecosystem/">Ecosystem</a></li></ul></div><a class="navbar__item navbar__link" href="/docs/3.2.x/">Docs</a><a class="navbar__item navbar__link" href="/features/">Features</a><a class="navbar__item navbar__link" href="/use-cases/">Use Cases</a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link community-dropdown">Community</a><ul class="dropdown__menu"><li><a class="dropdown__link scroll-link scroll-welcome" id="scroll-welcome" href="/community/">Welcome</a></li><li><a class="dropdown__link scroll-link scroll-discussions" id="scroll-discussions" href="/community/#section-discussions">Discussions</a></li><li><a class="dropdown__link scroll-link" id="scroll-governance" href="/community/#section-governance">Governance</a></li><li><a class="dropdown__link scroll-link" id="scroll-community" href="/community/#section-community">Meet the Community</a></li><li><a class="dropdown__link scroll-link" id="scroll-contribute" href="/community/#section-contribute">Contribute</a></li><li><a class="dropdown__link" href="/contribute/">Contribution Guide</a></li><li><a href="https://github.com/apache/pulsar/wiki" target="_blank" rel="noopener noreferrer" class="dropdown__link">Wiki</a></li><li><a href="https://github.com/apache/pulsar/issues" target="_blank" rel="noopener noreferrer" class="dropdown__link">Issue Tracking</a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Learn</a><ul class="dropdown__menu"><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/blog/">Blog</a></li><li><a class="dropdown__link" href="/books/">Books</a></li><li><a class="dropdown__link" href="/case-studies/">Case Studies</a></li><li><a class="dropdown__link" href="/articles/">Articles</a></li><li><a class="dropdown__link" href="/presentations/">Presentations</a></li><li><a class="dropdown__link" href="/events/">Events</a></li></ul></div></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link navbar_download_button" href="/download/">Download</a><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-top--lg"><div class="row"><main class="col col--12" itemscope="" itemtype="https://schema.org/Blog"><article class="BlogContainerPost_N_n1" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><header><div><h1 class="title_xvU1" itemprop="headline">What’s New in Apache Pulsar 2.11</h1><div class="row"><div class="col authorCol_q4o9"><div class="avatar"><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><span itemprop="name">Technoboy-, momo-jun</span></div></div></div></div></div><div class="container_iJTo"><time datetime="2023-01-20T00:00:00.000Z" itemprop="datePublished">January 20, 2023</time> · <!-- -->4 min read</div></div></header><div id="post-content" class="markdown" itemprop="articleBody"><p>The Apache Pulsar community releases version 2.11! 61 contributors provided feature enhancements and fixes that delivered 1617 commits. Thanks for all your contributions.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="highlights-of-the-211-release">Highlights of the 2.11 release<a href="#highlights-of-the-211-release" class="hash-link" aria-label="Direct link to Highlights of the 2.11 release" title="Direct link to Highlights of the 2.11 release"></a></h2><ul><li>Upgrade Pulsar server Java build version to 17 (<a href="https://github.com/apache/pulsar/issues/15207" target="_blank" rel="noopener noreferrer">PIP-156</a>)</li><li>Support chunking with shared subscriptions (<a href="https://github.com/apache/pulsar/pull/16202" target="_blank" rel="noopener noreferrer">PR-16202</a>)</li><li>Support pluggable topic factory (<a href="https://github.com/apache/pulsar/pull/12235" target="_blank" rel="noopener noreferrer">PR-12235</a>)</li><li>Support configurable compression type for <code>ManagedCursorInfo</code> to balance storage resource usage (<a href="https://github.com/apache/pulsar/pull/14542" target="_blank" rel="noopener noreferrer">PR-14542</a>)</li></ul><p>This blog documents the most noteworthy changes in this release. For the complete list, including all feature enhancements and bug fixes, check out the <a href="https://pulsar.apache.org/release-notes/versioned/pulsar-2.11.0/" target="_blank" rel="noopener noreferrer">Pulsar 2.11 Release Notes</a>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="notable-feature-enhancements-and-fixes">Notable feature enhancements and fixes<a href="#notable-feature-enhancements-and-fixes" class="hash-link" aria-label="Direct link to Notable feature enhancements and fixes" title="Direct link to Notable feature enhancements and fixes"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="broker">Broker<a href="#broker" class="hash-link" aria-label="Direct link to Broker" title="Direct link to Broker"></a></h3><hr><h4 class="anchor anchorWithStickyNavbar_LWe7" id="store-subscription-properties-within-metadata-service-pr-15757">Store subscription properties within metadata service (<a href="https://github.com/apache/pulsar/pull/15757" target="_blank" rel="noopener noreferrer">PR-15757</a>)<a href="#store-subscription-properties-within-metadata-service-pr-15757" class="hash-link" aria-label="Direct link to store-subscription-properties-within-metadata-service-pr-15757" title="Direct link to store-subscription-properties-within-metadata-service-pr-15757"></a></h4><p><strong>Issue</strong></p><p>Restarting the broker or unloading topics may lead to the loss of subscription properties since they are not stored in the metadata service.</p><p><strong>Resolution</strong></p><p>Store the subscription properties within the metadata service (<code>ManagedCursorInfo</code>).</p><hr><h4 class="anchor anchorWithStickyNavbar_LWe7" id="support-configurable-compression-type-for-managedcursorinfo-pr-14542">Support configurable compression type for <code>ManagedCursorInfo</code> (<a href="https://github.com/apache/pulsar/pull/14542" target="_blank" rel="noopener noreferrer">PR-14542</a>)<a href="#support-configurable-compression-type-for-managedcursorinfo-pr-14542" class="hash-link" aria-label="Direct link to support-configurable-compression-type-for-managedcursorinfo-pr-14542" title="Direct link to support-configurable-compression-type-for-managedcursorinfo-pr-14542"></a></h4><p><strong>Issue</strong></p><p>When the cursor data expands, the data size increases and it takes a lot of time to pull the data.</p><p><strong>Resolution</strong></p><p>Introduce various compression algorithms to support cursor compression.</p><p><strong>Reference documentation:</strong> <a href="https://pulsar.apache.org/reference/#/2.11.x/config/reference-configuration-broker?id=managedcursorinfocompressiontype" target="_blank" rel="noopener noreferrer">managedCursorInfoCompressionType</a></p><hr><h4 class="anchor anchorWithStickyNavbar_LWe7" id="sync-pulsar-metadata-across-multiple-clouds-pr-16425">Sync Pulsar metadata across multiple clouds (<a href="https://github.com/apache/pulsar/pull/16425" target="_blank" rel="noopener noreferrer">PR-16425</a>)<a href="#sync-pulsar-metadata-across-multiple-clouds-pr-16425" class="hash-link" aria-label="Direct link to sync-pulsar-metadata-across-multiple-clouds-pr-16425" title="Direct link to sync-pulsar-metadata-across-multiple-clouds-pr-16425"></a></h4><p><strong>Issue</strong></p><p>Synchronizing configuration metadata (policies) is a critical path to sharing tenant/namespace/topic policies among clusters and administering policies uniformly across all clusters. However, syncing the metadata store (global zookeeper) among Pulsar clusters deployed on separate cloud platforms is not supported in earlier versions.</p><p><strong>Resolution</strong></p><p>Use two system topics <code>metadataSyncEventTopic</code> and <code>configurationmetadataSyncEventTopic</code> along with a metadata synchronizer to sync metadata among clusters deployed on different cloud platforms and persist local topic policies with it.</p><p><strong>Reference documentation</strong></p><ul><li><a href="https://pulsar.apache.org/reference/#/2.11.x/config/reference-configuration-broker?id=metadatasynceventtopic" target="_blank" rel="noopener noreferrer">metadataSyncEventTopic</a></li><li><a href="https://pulsar.apache.org/reference/#/2.11.x/config/reference-configuration-broker?id=configurationmetadatasynceventtopic" target="_blank" rel="noopener noreferrer">configurationmetadataSyncEventTopic</a></li></ul><hr><h3 class="anchor anchorWithStickyNavbar_LWe7" id="producer">Producer<a href="#producer" class="hash-link" aria-label="Direct link to Producer" title="Direct link to Producer"></a></h3><hr><h4 class="anchor anchorWithStickyNavbar_LWe7" id="fix-client-memory-limit-currentusage-leak-in-producerimpl-pr-16837">Fix client memory limit <code>currentUsage</code> leak in <code>ProducerImpl</code> (<a href="https://github.com/apache/pulsar/pull/16837" target="_blank" rel="noopener noreferrer">PR-16837</a>)<a href="#fix-client-memory-limit-currentusage-leak-in-producerimpl-pr-16837" class="hash-link" aria-label="Direct link to fix-client-memory-limit-currentusage-leak-in-producerimpl-pr-16837" title="Direct link to fix-client-memory-limit-currentusage-leak-in-producerimpl-pr-16837"></a></h4><p><strong>Issue</strong></p><p>The client memory limit <code>currentUsage</code> leaks in <code>ProducerImpl</code> and causes the producer’s send rate to be slow.</p><p><strong>Resolution</strong></p><p>Release the memory when there are failed pending batch messages.</p><hr><h4 class="anchor anchorWithStickyNavbar_LWe7" id="release-semaphore-before-discarding-messages-in-batchmessagecontainer-pr-17019">Release semaphore before discarding messages in <code>batchMessageContainer</code> (<a href="https://github.com/apache/pulsar/pull/17019" target="_blank" rel="noopener noreferrer">PR-17019</a>)<a href="#release-semaphore-before-discarding-messages-in-batchmessagecontainer-pr-17019" class="hash-link" aria-label="Direct link to release-semaphore-before-discarding-messages-in-batchmessagecontainer-pr-17019" title="Direct link to release-semaphore-before-discarding-messages-in-batchmessagecontainer-pr-17019"></a></h4><p><strong>Issue</strong></p><p>There is a race condition in <code>batchMessageContainer</code> when discarding the messages and releasing the semaphore, which causes the semaphore to be held.</p><p><strong>Resolution</strong></p><p>Release the semaphore before discarding the messages in <code>batchMessageContainer</code>.</p><hr><h3 class="anchor anchorWithStickyNavbar_LWe7" id="consumer">Consumer<a href="#consumer" class="hash-link" aria-label="Direct link to Consumer" title="Direct link to Consumer"></a></h3><hr><h4 class="anchor anchorWithStickyNavbar_LWe7" id="support-consumer-client-memory-limit-pr-15216">Support consumer client memory limit (<a href="https://github.com/apache/pulsar/pull/15216" target="_blank" rel="noopener noreferrer">PR-15216</a>)<a href="#support-consumer-client-memory-limit-pr-15216" class="hash-link" aria-label="Direct link to support-consumer-client-memory-limit-pr-15216" title="Direct link to support-consumer-client-memory-limit-pr-15216"></a></h4><p><strong>Issue</strong></p><p>It takes time for an application with a large number of producers/consumers to select an appropriate value for its queue size. The same applies to topics with many partitions.</p><p><strong>Resolution</strong></p><ol><li>Block the expansion of the consumer receiver’s queue size if the memory usage exceeds 75%.</li><li>Trigger the shrinking of the consumer receiver’s queue size if the memory usage exceeds 95%.</li></ol><hr><h4 class="anchor anchorWithStickyNavbar_LWe7" id="support-adding-interceptors-for-readers-pr-14729">Support adding interceptors for readers (<a href="https://github.com/apache/pulsar/pull/14729" target="_blank" rel="noopener noreferrer">PR-14729</a>)<a href="#support-adding-interceptors-for-readers-pr-14729" class="hash-link" aria-label="Direct link to support-adding-interceptors-for-readers-pr-14729" title="Direct link to support-adding-interceptors-for-readers-pr-14729"></a></h4><p><strong>Issue</strong></p><p>Pulsar supports adding interceptors for producers and consumers to implement message tracing, but there is no way to add interceptors for readers.</p><p><strong>Resolution</strong></p><ol><li>Add a new interface <code>ReaderInterceptor</code> to customize the reader interceptor.</li><li>Support setting reader interceptor and auto-update partition configurations by using <code>ReaderBuilder</code>.</li></ol><p><strong>User documentation:</strong> <a href="https://pulsar.apache.org/docs/2.11.x/client-libraries-java/#create-reader-with-interceptor" target="_blank" rel="noopener noreferrer">Create a reader with an interceptor</a></p><hr><h3 class="anchor anchorWithStickyNavbar_LWe7" id="function">Function<a href="#function" class="hash-link" aria-label="Direct link to Function" title="Direct link to Function"></a></h3><hr><h4 class="anchor anchorWithStickyNavbar_LWe7" id="support-record-as-a-new-output-type-of-functions-pr-16041">Support <code>Record</code> as a new output type of Functions (<a href="https://github.com/apache/pulsar/pull/16041" target="_blank" rel="noopener noreferrer">PR-16041</a>)<a href="#support-record-as-a-new-output-type-of-functions-pr-16041" class="hash-link" aria-label="Direct link to support-record-as-a-new-output-type-of-functions-pr-16041" title="Direct link to support-record-as-a-new-output-type-of-functions-pr-16041"></a></h4><p><strong>Issue</strong></p><p>In earlier versions, if you want to dynamically set an output topic, message properties, or change the output schema in a Pulsar function, the only way is to create a function that returns <code>Void</code>. It would be more intuitive to return a structure like <code>Record</code> that carries this information.</p><p><strong>Resolution</strong></p><p>Add a utility method <code>newOutputRecordBuilder</code> to <code>Context</code> that returns a <code>FunctionRecord</code> builder initialized with the information from the source record. The builder methods can be used to override these values as needed.</p><p><strong>User documentation:</strong> <a href="https://pulsar.apache.org/docs/2.11.x/functions-develop-api#use-sdk-for-javapythongo" target="_blank" rel="noopener noreferrer">Use <code>Record</code> as function output</a></p><hr><h3 class="anchor anchorWithStickyNavbar_LWe7" id="tiered-storage">Tiered storage<a href="#tiered-storage" class="hash-link" aria-label="Direct link to Tiered storage" title="Direct link to Tiered storage"></a></h3><hr><h4 class="anchor anchorWithStickyNavbar_LWe7" id="add-a-universal-s3-provider-for-the-offloader-pr-15710">Add a universal S3 provider for the offloader (<a href="https://github.com/apache/pulsar/pull/15710" target="_blank" rel="noopener noreferrer">PR-15710</a>)<a href="#add-a-universal-s3-provider-for-the-offloader-pr-15710" class="hash-link" aria-label="Direct link to add-a-universal-s3-provider-for-the-offloader-pr-15710" title="Direct link to add-a-universal-s3-provider-for-the-offloader-pr-15710"></a></h4><p><strong>Issue</strong></p><p>Pulsar supports cloud storage compatible with S3 APIs, such as AWS and Aliyun, through existing offloaders, but the forced registration of specific metadata limits their use.</p><p><strong>Resolution</strong></p><p>Provide a more general offloader <code>S3</code> to serve more S3-compatible storage, which uses pure JClouds S3 metadata and allows overriding the default JClouds properties through system properties.</p><p><strong>User documentation:</strong> <a href="https://pulsar.apache.org/docs/2.11.x/tiered-storage-s3" target="_blank" rel="noopener noreferrer">Use S3 offloader with Pulsar</a></p><hr><h3 class="anchor anchorWithStickyNavbar_LWe7" id="proxy">Proxy<a href="#proxy" class="hash-link" aria-label="Direct link to Proxy" title="Direct link to Proxy"></a></h3><hr><h4 class="anchor anchorWithStickyNavbar_LWe7" id="support-prometheusrawmetricsprovider-for-pulsar-proxies-pr-14681">Support <code>PrometheusRawMetricsProvider</code> for Pulsar proxies (<a href="https://github.com/apache/pulsar/pull/14681" target="_blank" rel="noopener noreferrer">PR-14681</a>)<a href="#support-prometheusrawmetricsprovider-for-pulsar-proxies-pr-14681" class="hash-link" aria-label="Direct link to support-prometheusrawmetricsprovider-for-pulsar-proxies-pr-14681" title="Direct link to support-prometheusrawmetricsprovider-for-pulsar-proxies-pr-14681"></a></h4><p><strong>Issue</strong></p><p>The metrics of plugins could not be exposed to Prometheus for monitoring.</p><p><strong>Resolution</strong></p><p>Add <code>PrometheusRawMetricsProvider</code> in Pulsar proxies so that plugins can add their metrics to Prometheus.</p><hr><h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-next">What’s Next?<a href="#whats-next" class="hash-link" aria-label="Direct link to What’s Next?" title="Direct link to What’s Next?"></a></h2><p>If you are interested in learning more about Pulsar 2.11, you can <a href="https://pulsar.apache.org/download/" target="_blank" rel="noopener noreferrer">download</a> and try it out now!</p><p>For more information about the Apache Pulsar project and current progress, visit
the <a href="https://pulsar.apache.org" target="_blank" rel="noopener noreferrer">Pulsar website</a>, follow the project on Twitter
<a href="https://twitter.com/apache_pulsar" target="_blank" rel="noopener noreferrer">@apache_pulsar</a>, and join <a href="https://apache-pulsar.slack.com/" target="_blank" rel="noopener noreferrer">Pulsar Slack</a>!</p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_Wr5y"><div class="col margin-top--sm"><a href="https://github.com/apache/pulsar-site/edit/main/blog/2023-01-20-Apache-Pulsar-2-11-0.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div></footer></article><nav class="pagination-nav blog-post-pagination-nav docusaurus-mt-lg" aria-label="Blog post page navigation"><div><a class="pagination-nav__link pagination-nav__link--prev" href="/blog/2023/02/02/pulsar-virtual-summit-europe-2023-cfp/"><div class="pagination-nav__sublabel">Newer Post</div><div class="pagination-nav__label">Pulsar Virtual Summit Europe 2023: CFP Is Now Open!</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/blog/2023/01/10/pulsar-2022-year-in-review/"><div class="pagination-nav__sublabel">Older Post</div><div class="pagination-nav__label">Apache Pulsar 2022 Year in Review</div></a><div class="blog-post-pagination-nav-more"><a href="/blog">Show All</a></div></div></nav></main></div></div></div><footer class="footer"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.apache.org/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Foundation<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/events/current-event.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Events<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.apache.org/licenses/" target="_blank" rel="noopener noreferrer" class="footer__link-item">License<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/foundation/thanks" target="_blank" rel="noopener noreferrer" class="footer__link-item">Thanks<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/foundation/sponsorship" target="_blank" rel="noopener noreferrer" class="footer__link-item">Sponsorship<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/security/">Security</a></li><li class="footer__item"><a href="https://www.apache.org/foundation/policies/privacy.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Privacy<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/contact/">Contact</a></li></ul></div><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item">
<div class="social-icons">
<a target="_blank" href="https://communityinviter.com/apps/apache-pulsar/apache-pulsar" aria-label="Join the Apache Pulsar Slack workspace">
<img alt="Slack logo" src="/img/slack-white.svg" width="26">
</a>
<a target="_blank" href="https://github.com/apache/pulsar/" aria-label="View the Apache Pulsar project on GitHub">
<img alt="GitHub logo" src="/img/github-white.svg" width="26">
</a>
</div>
</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a class="footerLogoLink_BH7S" href="/"><img src="/img/pulsar-white.svg" alt="Pulsar Logo" class="themedImage_ToTc themedImage--light_HNdA footer__logo"><img src="/img/pulsar-white.svg" alt="Pulsar Logo" class="themedImage_ToTc themedImage--dark_i4oU footer__logo"></a></div><div class="footer__copyright">
<div>
<img class="footer-apache-logo" src="/img/feather-logo-white.svg" alt="" width="20">
The Apache Software Foundation
</div>
<p>Apache Pulsar is available under the Apache License, version 2.0. Apache Pulsar is an open-source, distributed messaging and streaming platform built for the cloud.</p>
<p>Copyright © 2024 The Apache Software Foundation. All Rights Reserved. Apache, Pulsar, Apache Pulsar, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.</p>
</div></div></div></footer></div>
<script src="/assets/js/runtime~main.1d0ed2a7.js"></script>
<script src="/assets/js/main.e07a0c68.js"></script>
</body>
</html>