9 hours ago
pulsar

v4.0.14

2026-10-05

Library updates

  • [improve][broker][branch-4.2] Upgrade bookkeeper to 4.17.4 (#26219)
  • [fix][sec] Bump google.golang.org/grpc from 1.79.3 to 1.82.1 in /pulsar-function-go/examples (#26231)
  • [fix][sec] Bump google.golang.org/grpc from 1.82.1 to 1.83.1 in /pulsar-function-go (#26446)
  • [fix][sec] Bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /pulsar-function-go (#26541)
  • [fix][sec] Bump log4j2 from 2.26.0 to 2.26.1 (#26329)
  • [fix][sec] Upgrade at.yawk.lz4:lz4-java to 1.11.4 (#26758)
  • [fix][sec] Upgrade grpc in pulsar-function-go to 1.82.1 to fix GHSA-hrxh-6v49-42gf (#26235)
  • [fix][sec] Upgrade Jackson to 2.18.10 (#26339)
  • [fix][sec] Upgrade lz4-java to 1.11.1 to address CVE-2026-59949 (#26250)
  • [fix][sec][branch-4.2] Upgrade BouncyCastle to 1.85 and BouncyCastle FIPS to 2.0.2 to address CVEs (#26370)
  • [fix][sec][branch-4.2] Upgrade Netty to 4.1.137 to address several CVEs and bugs (#26301)
  • [fix][sec][branch-4.2] Upgrade Spring to 7.0.8 (#26270)
  • [fix][sec][branch-4.x] Upgrade async-http-client to 2.16.1 (#26436)
  • [fix][sec][branch-4.x] Upgrade lz4-java to 1.11.2 (#26439)
  • [fix][sec][branch-4.x] Upgrade Netty to 4.1.138 to address several CVEs and bugs (#26515)
  • [fix][sec][branch-4.x] Upgrade Thrift to 0.24.0 (#26438)
  • [fix][sec][branch-4.x] Upgrade vertx to 4.5.32 (#26437)
  • [fix][build] Upgrade Conscrypt to 2.6.3 (#26660)
  • [improve][zk] Upgrade ZooKeeper to 3.9.6 (#26750)
  • [improve][build] Upgrade Apache Commons libraries (#26348)
  • [improve][build] Upgrade Bouncy Castle libraries (#26753)
  • [improve][build] Upgrade Oxia Java client to 0.9.5 (#26538)
  • [improve][misc] Upgrade Conscrypt to 2.6.1 to add aarch64 native support (#26314)
  • [improve][misc] Upgrade Conscrypt to 2.6.2 to restore the native library glibc baseline (#26315)
  • [improve][misc] Upgrade Jetty to 12.1.12 (#26302)
  • [improve][misc] Upgrade Jetty to 12.1.13 (#26738)
  • [improve][misc] Upgrade log4j to 2.26.0 and slf4j to 2.0.18 (#25973)
  • [improve][misc][branch-4.x] Upgrade Jackson to 2.18.11 (#26759)

Broker

  • [fix][broker] Add missing bundle Prometheus metrics for extensible load manager (#26192)
  • [fix][broker] Align entry filter policy checks for non-persistent topics (#26774)
  • [fix][broker] Align partitioned topic truncate checks with non-partitioned topics (#26776)
  • [fix][broker] Apply subscription policies to namespace and topic subscription operations (#26767)
  • [fix][broker] Avoid load shedding and metadata writes from a former leader (#26253)
  • [fix][broker] Avoid misleading ownership lock expiry logs during shutdown (#26633)
  • [fix][broker] Bound classic Key_Shared dispatcher replay queue look-ahead (#26677)
  • [fix][broker] Bound the topic deletion retries triggered by a replication cluster removal (#26432)
  • [fix][broker] Cancel queued transaction snapshot recovery on topic close (#26335)
  • [fix][broker] Check the original principal of proxied HTTP requests with its own authentication data (#26748)
  • [fix][broker] Check topic permissions for binary GetSchema and GetOrCreateSchema (#26643)
  • [fix][broker] Check topic permissions for partitions and subscriptions added to a transaction (#26644)
  • [fix][broker] Debit un-acked messages only when the consumer is actually removed (#26422)
  • [fix][broker] Do not log an error when the tenant does not exist (#26361)
  • [fix][broker] Don't serve topic policies from a cache whose init future has not completed (#26513)
  • [fix][broker] Fix assignment and ownership cleanup races in the extensible load manager (#26520)
  • [fix][broker] Fix AvgShedder assignment cache keying with stable bundle names (#26246)
  • [fix][broker] Fix delayed-delivery bucket merge failures when delayedDeliveryMaxNumBuckets is 1-3 (#26242)
  • [fix][broker] Fix dispatcherPauseOnAckStatePersistentEnabled and schemaValidationEnforced returning wrong values when applied=true (#26472)
  • [fix][broker] Fix early completion and false timeouts in SplitManager and UnloadManager (#26363)
  • [fix][broker] Fix lookup permit leak when namespace policy reads fail (#26606)
  • [fix][broker] Fix multi-role authorization regressions and optimize nested checks (#26551)
  • [fix][broker] Fix NPE in ManagedLedgerInterceptorImpl when AppendIndexMetadataInterceptor isn't configured (#26497)
  • [fix][broker] Fix ownership-generation races in OwnershipCache removeOwnership and lock-expiry cleanup (#26197)
  • [fix][broker] Fix persistent throughput degradation caused by permit loss during frequent reconnects on Shared subscriptions (#26289)
  • [fix][broker] Log exception in PulsarMetadataEventSynchronizer failure path (#26203)
  • [fix][broker] Preserve compaction state on ledger close failure (#26665)
  • [fix][broker] Preserve replicated subscription activity on activation (#26780)
  • [fix][broker] Preserve topic initialization failures (#26775)
  • [fix][broker] Prevent automatic TTL expiry from skipping reader messages (#26505)
  • [fix][broker] Prevent Key_Shared out-of-order replay starvation at the end of topic (#26268)
  • [fix][broker] Prevent NPE when the last ACK races with sticky hash reassignment (#26471)
  • [fix][broker] Propagate bundle split failures to the completion future (#26735)
  • [fix][broker] Release the compaction buffers and permits on flush failures (#26576)
  • [fix][broker] Resolve replicator remote cluster by prefix so cluster names containing a dot work (#26451)
  • [fix][broker] Send ActiveConsumerChange for non-persistent Failover subscriptions (#26482)
  • [fix][broker] Spurious ERROR log for 307 redirect in getReplicatedSubscriptionStatus (#26706)
  • [fix][broker] Stop reporting a deliberate ownership release as an expired resource lock (#26533)
  • [fix][admin] Allow defaultNumPartitions for non-partitioned autoTopicCreation override (#25163)
  • [fix][admin] Avoid creating subscriptions when peeking messages if auto-creation is disabled (#26279)
  • [fix][admin] Reject empty cluster migration URL: fix inverted ClusterUrl.isEmpty() (#26473)
  • [fix][ml] Close abandoned write ledger handle to prevent leak (#26585)
  • [fix][ml] Fail in-flight adds when a managed ledger is terminated (#26678)
  • [fix][ml] Fail queued adds when a managed ledger is terminated during a ledger rollover (#26680)
  • [fix][ml] Fix batch ACK index loss when recovering cursor from MetadataStore (#26474)
  • [fix][ml] Preserve cursor properties when recovering from an unreadable cursor ledger (#26512)
  • [fix][ml] Preserve ledger properties when closing ledger (#26227)
  • [fix][ml] Preserve ledger properties when recovering the last ledger on open (#26509)
  • [fix][ml] Propagate cursor ledger deletion failures (#26734)
  • [fix][ml] Reset the lazily-cached position when reusing a recycled EntryImpl (#26707)
  • [fix][ml] Skip contiguous deleted ranges during reads (#26299)
  • [fix][ml] Tolerate concurrent creation of the managed ledger z-node (#26247)
  • [fix][ml][broker] Keep source ledger data on every shadow managed ledger trim, delete and offload path (#26746)
  • [fix][offload] Cache and reuse entry offsets discovered while skipping in BlobStoreBackedReadHandleImpl (#26424)
  • [fix][offload] Normalize offloader cache directory path (#26372)
  • [fix][meta] Close resources when ZKMetadataStore construction fails (#26673)
  • [fix][meta] Track explicitly acquired underreplicated ledger locks (#26670)
  • [fix][meta][branch-4.0] Tolerate concurrent creation of the underreplication LAYOUT node (#26248)
  • [improve][broker] Add configuration to enable shadow topics (#26739)
  • [improve][broker] Add pulsar_subscription_storage_backlog_age_seconds metric (#26313)
  • [improve][broker] Allow dynamically updating topic load timeout (#26781)
  • [improve][broker] Avoid iterator allocation in BrokerInterceptors hot paths and restore configured ordering (#26462)
  • [improve][broker] Change partition metadata not-found log to warn (#26381)
  • [improve][broker] Conflate concurrent readMoreEntries calls (#26539)
  • [improve][broker] Copy small entries into a flat buffer when prepending broker entry metadata (#26464)
  • [improve][broker] Disable subscription-thread dispatch by default (#26578)
  • [improve][broker] Expose interface for the replicator in ManagedLedger instead of cast the class (#26298)
  • [improve][broker] Make exposing topic level metric dynamic (#21006)
  • [improve][broker] Skip unused replicated subscription timestamp updates (#26655)
  • [improve][broker] Support OpenID multi-role authorization and improve proxy authentication defaults (#26549)
  • [fix][txn] Do not fail topic deletion when the aborted txn snapshot cannot be cleared (#26431)
  • [fix][txn] Fix X-Pulsar-txn-uncommitted header semantics and add X-Pulsar-txn-consumable for peek messages (#26073)
  • [fix][txn] Improve transaction admin checks (#26773)
  • [fix][txn] Prevent queued snapshot writes from stalling (#26565)
  • [fix][txn] Stop the pending ack replay loop from spinning forever (#26369)
  • [Fix][broker]Get a fenced error when loading a topic that does not allowed the cluster to access (#26276)

Client

  • [fix][client] Apply no-memory-limit producer queue defaults at producer creation (#26342)
  • [fix][client] Avoid exception in ConsumerImpl hasMessageAvailable before first receive (#25857)
  • [fix][client] Complete table view refresh after applying messages (#26566)
  • [fix][client] Defer op cmd release to the write event loop on send timeout (#26456)
  • [fix][client] Divide the across-partitions budget only when it was set explicitly (#26384)
  • [fix][client] Drop a send receipt for a removed producer, not the connection (#26618)
  • [fix][client] Enable TableView compacted reads for short topic names (#26626)
  • [fix][client] Fix buffer ownership on the send failure paths (#26455)
  • [fix][client] Flush acknowledgment groups at the combined size limit (#26594)
  • [fix][client] Keep transactional and non-transactional messages in separate batches (#26547)
  • [fix][client] Prevent duplicate cleanup and leaks on producer send failures (#26641)
  • [fix][client] Release connections opened after close (#26733)
  • [fix][client] Release the command header when send serialization fails (#26492)
  • [fix][client] Release the reserved memory only once when failing a send in a terminal state (#26476)
  • [fix][client] Restore OAuth2 HTTP client after deserialization (#26325)
  • [fix][client] Stop tracking ack timeouts on non-persistent topics (#26548)
  • [improve][client] Avoid eager broker metadata allocation for outgoing messages (#26521)
  • [improve][client] Avoid unused send-stat snapshots for default callbacks (#26519)
  • [improve][client] Coalesce message listener drain scheduling (#26531)
  • [fix][client] Remove the dead letter candidate entry using the entry-level message id

Pulsar IO and Pulsar Functions

  • [fix][fn] Allow retainKeyOrdering on Go functions (#26421)
  • [fix][fn] Apply the worker connectors list checks to the deprecated functions connectors endpoint (#26745)
  • [fix][fn] Bound function package downloads from BookKeeper and stop SchedulerManager.close() from hanging on a stuck scheduling round (#26556)
  • [fix][fn] Check packages permission for function, source and sink package URLs (#26771)
  • [fix][fn] Check produce permission on the input topic when triggering functions (#26777)
  • [fix][fn] Honour negativeAckRedeliveryDelayMs in the Go function runtime (#26415)
  • [fix][fn] Honour negativeAckRedeliveryDelayMs in the Python function runtime (#26413)
  • [fix][fn] Honour retainOrdering and retainKeyOrdering in the Go function runtime (#26414)
  • [fix][fn] Remove deprecated github.com/golang/protobuf dependency from pulsar-function-go (#26587)
  • [fix][fn] Return descriptive errors for unknown JSON properties (#26441)
  • [fix][fn] Validate package name components and storage paths consistently (#26768)
  • [improve][fn] Standardize log4j2 Root logger configuration to use system property (#26121)

Others

  • [fix][ws] Check dead letter topic permission for WebSocket consumers (#26772)
  • [fix][cli] Apply PULSAR_MEM and PULSAR_GC in bin/pulsar-perf (#26465)
  • [fix][cli] Avoid inheriting broker initial heap settings in tools (#26736)
  • [fix][cli] Correct admin command documentation generation (#26649)
  • [fix][cli] pulsar-perf: register subcommand classes with picocli instead of instances (#26467)
  • [fix][cli] Set --enable-native-access=ALL-UNNAMED for the CLI tools on Java 24+ (#26365)
  • [fix][cli][branch-4.0] Don't pass unset pulsar-perf pending-message options to the producer (#26371)
  • [fix][misc] Remove unnecessary " {}" suffix from log lines when there are no context attributes (#26285)
  • [improve][cli] Default the pulsar-perf client memory limit to half of the JVM max direct memory (#26491)
  • [improve][cli] pulsar-perf: cut latency histogram memory ~100x, fix range units and static stats state (#26466)
  • [fix][Client] permit leak in chunked message discard path (#26661)
  • [fix][common] Handle synchronous failures from future suppliers (#25939)
  • [fix] Fix cursor deadlock when skipping non-recoverable entries during mark-delete persistence (#26570)
  • [fix] Fix ManagedLedgerImpl's pendingAddEntries leak. (#25240)

Tests & CI

  • [improve][ci][branch-4.0] Upgrade GitHub Actions built-in action versions
  • [fix][test] Allow for CLI startup in function integration tests (#26564)
  • [fix][test] Avoid blocking common-pool workers in ledger shutdown test (#26560)
  • [fix][test] Await both DLQ producers in multi-consumer test (#26561)
  • [fix][test] Cover scheduler shutdown membership-lock deadlock (#26557)
  • [fix][test] Fix flaky AdminApiTest caused by leaked brokerShutdownTimeoutMs (#26249)
  • [fix][test] Fix flaky IsolatedBookieEnsemblePlacementPolicyTest by awaiting the initial rack config load (#26429)
  • [fix][test] Fix flaky NonDurableCursorTest.subscribeToEarliestPositionWithDeferredDeletion (#26747)
  • [fix][test] Fix flaky OneWayReplicatorDeduplicationTest.testDeduplication (#26737)
  • [fix][test] Fix flaky RawReaderTest.testPauseAndResumeWithUnloading (#26690)
  • [fix][test] Fix OneWayReplicatorSchemaValidationEnforcedTest racing the replicator's remote topic creation (#26382)
  • [fix][test] Isolate mutable broker fixtures between test methods (#26563)
  • [fix][test] Join assignment tailer before asserting its last message ID (#26536)
  • [fix][test] Make consistent hashing consumer selection test deterministic (#26534)
  • [fix][test] Preserve class loading in broker interceptor fixtures (#26567)
  • [improve][ci] Configure SSH access action default and update Upterm (#26575)
  • [improve][ci] Run the Python function instance tests in CI (#26399)
  • [fix][build][branch-4.0] Fix Java 8 compile error in backported TableViewImplTest
  • [fix][ci][branch-4.0] Use an ASF-approved docker/setup-qemu-action version
  • [fix][test] Fix import order in authorization test
  • [fix][test][branch-4.0] Correct transaction replay marker fixture and release assertion
  • [fix][test][branch-4.0] Use branch-4.0 role claim in nested authorization checks
  • [fix][test][branch-4.0] Use initialized namespace in dynamic metrics configuration test
  • [fix][test][branch-4.0] Use initialized namespace in extensible load manager metrics test
  • [fix][test][branch-4.2] Create the CLI test producer only once CmdProduce asks for it
  • [fix][test][branch-4.x] Explicitly disable memory limit when testing pending-message defaults

For the complete list, check the full changelog.

9 hours ago
pulsar

v5.0.0

2026-10-05

Milestone release notes

The 5.0.0 release also includes the changes from these milestone releases:

Approved PIPs

  • [improve][pip] PIP-441: Add Broker-Level Metrics for Skipped Non-Recoverable Data (#24716)
  • [improve][pip] PIP-494: Scalable Topics Client Specification — authoritative reference and change process (#26447)
  • [improve][pip] PIP-496: Pulsar Functions and IO support for the V5 client and scalable topics (#26698)

Library updates

  • [improve][broker] Upgrade bookkeeper to 4.18.1 (#26574)
  • [fix][sec] Upgrade Async HTTP Client to 3.0.14 and Netty Reactive Streams to 2.0.20 (#26764)
  • [fix][sec] Upgrade at.yawk.lz4:lz4-java to 1.11.4 (#26758)
  • [fix][sec] Upgrade zstd-jni to 1.5.7-20 (#26766)
  • [fix][build] Upgrade Conscrypt to 2.6.3 (#26660)
  • [fix][build] Upgrade LightProto to 0.8.2 (#26623)
  • [improve][zk] Upgrade ZooKeeper to 3.9.6 (#26750)
  • [improve][build] Upgrade Bouncy Castle libraries (#26753)
  • [improve][build] Upgrade Caffeine to 3.3.0 (#26755)
  • [improve][build] Upgrade Gradle to 9.8.0 and update plugins (#26752)
  • [improve][build] Upgrade gRPC to 1.84.0 (#26762)
  • [improve][build] Upgrade Guava to 33.7.1-jre (#26760)
  • [improve][build] Upgrade Jackson to 2.21.7 (#26754)
  • [improve][build] Upgrade OpenTelemetry libraries to 1.66.0 level (#26756)
  • [improve][build] Upgrade Protobuf to 4.36.2 (#26757)
  • [improve][build] Upgrade SnakeYAML to 2.7 (#26761)
  • [improve][misc] Upgrade Jetty to 12.1.13 (#26738)

Broker

  • [fix][broker] Align entry filter policy checks for non-persistent topics (#26774)
  • [fix][broker] Align partitioned topic truncate checks with non-partitioned topics (#26776)
  • [fix][broker] Apply managedLedgerContinueCachingAddedEntriesAfterLastActiveCursorLeavesMillis to managed ledgers (#26785)
  • [fix][broker] Apply subscription policies to namespace and topic subscription operations (#26767)
  • [fix][broker] Apply the role logging anonymizer to topic authorization denial logs (#26642)
  • [fix][broker] Avoid misleading ownership lock expiry logs during shutdown (#26633)
  • [fix][broker] Bound classic Key_Shared dispatcher replay queue look-ahead (#26677)
  • [fix][broker] Bound the local partition metadata retry when starting a geo-replicator (#26681)
  • [fix][broker] Check the original principal of proxied HTTP requests with its own authentication data (#26748)
  • [fix][broker] Check topic permissions for binary GetSchema and GetOrCreateSchema (#26643)
  • [fix][broker] Check topic permissions for partitions and subscriptions added to a transaction (#26644)
  • [fix][broker] Decode topic name in the scalable topic migrate endpoint (#26711)
  • [fix][broker] Derive scalable topic identity from the raw local name (#26668)
  • [fix][broker] Do not enable replicated subscriptions on scalable topic segments (#26679)
  • [fix][broker] Do not start classic geo-replicators on scalable-topic segment topics (#26691)
  • [fix][broker] Fix lookup permit leak when namespace policy reads fail (#26606)
  • [fix][broker] Keep accepting Avro named type references written as objects (#26586)
  • [fix][broker] Log only non-default settings at broker startup (#26612)
  • [fix][broker] Preserve compaction state on ledger close failure (#26665)
  • [fix][broker] Preserve replicated subscription activity on activation (#26780)
  • [fix][broker] Preserve topic initialization failures (#26775)
  • [fix][broker] Prevent slow Key_Shared sockets from stalling other consumers (#26635)
  • [fix][broker] Propagate bundle split failures to the completion future (#26735)
  • [fix][broker] Read the producer name of GetOrCreateSchema before authorization completes (#26770)
  • [fix][broker] Release the compaction buffers and permits on flush failures (#26576)
  • [fix][broker] Spurious ERROR log for 307 redirect in getReplicatedSubscriptionStatus (#26706)
  • [fix][admin] Restore Pulsar 4.x compatible serialVersionUID for PackageMetadata (#26784)
  • [fix][ml] Close abandoned write ledger handle to prevent leak (#26585)
  • [fix][ml] Fail in-flight adds when a managed ledger is terminated (#26678)
  • [fix][ml] Fail queued adds when a managed ledger is terminated during a ledger rollover (#26680)
  • [fix][ml] Fix active cursor position tracking after untracking (#26629)
  • [fix][ml] Fix backlog estimation during ledger rollover with pending writes (#26647)
  • [fix][ml] Propagate cursor ledger deletion failures (#26734)
  • [fix][ml] Reset the lazily-cached position when reusing a recycled EntryImpl (#26707)
  • [fix][ml][broker] Keep source ledger data on every shadow managed ledger trim, delete and offload path (#26746)
  • [fix][meta] Close resources when ZKMetadataStore construction fails (#26673)
  • [fix][meta] Track explicitly acquired underreplicated ledger locks (#26670)
  • [improve][broker] Add configuration to enable shadow topics (#26739)
  • [improve][broker] Add metrics for message position find by timestamp (#26751)
  • [improve][broker] Allow disabling scalable topics when upgrading to 5.x (#26740)
  • [improve][broker] Allow dynamically updating topic load timeout (#26781)
  • [improve][broker] Avoid read locks in Key_Shared consumer selection (#26591)
  • [improve][broker] Avoid redundant read-completion executor handoffs for Exclusive/Failover (#26619)
  • [improve][broker] Avoid the topic-wide deduplication lock (#26763)
  • [improve][broker] Change the default number of namespace bundles to 32 and make the system namespace bundle count configurable (#26610)
  • [improve][broker] Disable subscription-thread dispatch by default (#26578)
  • [improve][broker] Make AvgShedder the default load shedding and placement strategy (#26609)
  • [improve][broker] Optimize consumer selection for shared subscriptions (#26593)
  • [improve][broker] PIP-379: Remove the classic Shared and Key_Shared dispatcher implementations (#26687)
  • [improve][broker] Raise the default dispatcherMaxReadBatchSize from 100 to 500 (#26744)
  • [improve][broker] Reduce cache retention after reads and apply retention settings at startup (#26627)
  • [improve][broker] Resume Shared dispatch when consumer channels become writable (#26630)
  • [improve][broker] Skip unused replicated subscription timestamp updates (#26655)
  • [improve][broker] Speed up auto-split Key_Shared consumer selection (#26654)
  • [improve][broker] Store deferred acknowledgment completion state in arrays (#26592)
  • [improve][broker] trace topic loading latency and timeout states (#26666)
  • [improve][broker] Use separate IO threads for BookKeeper Client (#25812)
  • [improve][admin] Redesign scalable topic stats and add per-segment stats (#26639)
  • [fix][txn] Improve transaction admin checks (#26773)
  • [fix][txn] Prevent queued snapshot writes from stalling (#26565)
  • [fix][txn] Stop the pending ack replay loop from spinning forever (#26369)
  • [improve][ml] Allow inline read completion and preserve replication order (#26620)
  • [improve][ml] Batch managed-ledger adds across the thread boundary to the ledger executor (#26717)
  • [improve][ml] Complete a read at the last confirmed entry instead of extending it on the ledger executor (#26743)
  • [improve][ml] Defer cached message metadata parsing until first read (#26628)
  • [improve][ml] Open ledgers through the BookKeeper builder API (#26598)
  • [improve][ml] Pin ledger callbacks to the managed ledger thread with withOrderingKey (#26599)
  • [improve][ml] Reduce tiered storage reads of the search by timestamp in offloaded ledgers (#26778)
  • [improve][ml] Use adaptive allocation for managed ledger cache copies (#26603)
  • [improve][offload] Resume offloaded reads from offsets learned in the same data block (#26782)
  • [improve][txn] Move TransactionCoordinatorClient to public API (#26646)
  • [feat][broker] PIP-441:Add broker-level metrics for non-recoverable data skips (#24726)
  • [feat][ml] Configure and track named Pulsar allocators independently (#26597)
  • [feat][ml] Support Bookkeeper Batch Read API (#25280)
  • [fix][broker] Preserve standalone bookie identities across upgrades (#26790)

Client

  • [fix][client] Apply V5 connection backoff initial and max intervals (#26799)
  • [fix][client] Complete a v5 send in place while its client is closing (#26686)
  • [fix][client] Complete table view refresh after applying messages (#26566)
  • [fix][client] Don't close a shared DNS resolver group's address resolver when a client closes (#26723)
  • [fix][client] Drop a send receipt for a removed producer, not the connection (#26618)
  • [fix][client] Enable TableView compacted reads for short topic names (#26626)
  • [fix][client] Fix buffer ownership on the send failure paths (#26455)
  • [fix][client] Flush acknowledgment groups at the combined size limit (#26594)
  • [fix][client] Keep a gone segment's producer until the layout drops it (#26617)
  • [fix][client] Prevent duplicate cleanup and leaks on producer send failures (#26641)
  • [fix][client] Release connections opened after close (#26733)
  • [fix][client] Stop DAG watch reconnects on a closing client and quiet perf-tool Ctrl-C shutdown (#26613)
  • [improve][client] Coalesce message listener drain scheduling (#26531)
  • [improve][client] Log V5 segment-gone send retries at DEBUG (#26615)
  • [improve][client] Pull v5 blocking receives straight from the receive buffer (#26614)
  • [improve][client] Reduce V5 queue receive completion stages (#26596)
  • [improve][client] Skip redundant per-segment cumulative acks in the v5 stream consumer (#26616)
  • [feat][client] PIP-445: Add Builder Methods to Create Message-based TableView (#24809)

Pulsar IO and Pulsar Functions

  • [fix][fn] Apply the worker connectors list checks to the deprecated functions connectors endpoint (#26745)
  • [fix][fn] Check packages permission for function, source and sink package URLs (#26771)
  • [fix][fn] Check produce permission on the input topic when triggering functions (#26777)
  • [fix][fn] Remove deprecated github.com/golang/protobuf dependency from pulsar-function-go (#26587)
  • [fix][fn] Validate package name components and storage paths consistently (#26768)
  • [feat][fn] PIP-496: Support the V5 client and topic:// topics in Pulsar Functions and IO (#26697)

Others

  • [fix][ws] Check dead letter topic permission for WebSocket consumers (#26772)
  • [fix][cli] Avoid inheriting broker initial heap settings in tools (#26736)
  • [fix][cli] Correct admin command documentation generation (#26649)
  • [improve][cli] Pick the v4 or V5 client from the topic domain in pulsar-perf and pulsar-client (#26693)
  • [improve][misc] Disable Netty leak detection by default in bin/pulsar, pulsar-perf and the CLI tools (#26783)
  • [improve][misc] Reduce executor queue allocation with growable arrays (#26588)
  • [improve][misc] Trim executor queues using a shared capacity budget (#26589)
  • [improve][misc] Use compact object headers on JDK 25 and 26 (#26719)
  • [improve][misc] Use Netty's adaptive allocator for Pulsar's default allocator (#26720)
  • [fix][Client] permit leak in chunked message discard path (#26661)
  • [feat][misc] Support AdaptiveByteBufAllocator with configurable allocator type and metrics (#26595)
  • [doc][spec] PIP-494: Scalable Topics client specification (#26805)
  • [fix] Fix cursor deadlock when skipping non-recoverable entries during mark-delete persistence (#26570)
  • [improve] Preload mimalloc in the Alpine-based Pulsar image (#26791)

Tests & CI

  • [fix][build] Restore test JAR publications in Gradle (#26622)
  • [fix][ci] Ensure disk headroom for replication tests (#26559)
  • [fix][ci] Skip pull request title check outside apache/pulsar (#26645)
  • [fix][ci] Update GraalVM setup action to ASF-approved version (#26571)
  • [fix][test] Allow for CLI startup in function integration tests (#26564)
  • [fix][test] Avoid blocking common-pool workers in ledger shutdown test (#26560)
  • [fix][test] Avoid unsafe cleanup between shared-cluster tests (#26611)
  • [fix][test] Await both DLQ producers in multi-consumer test (#26561)
  • [fix][test] Cover scheduler shutdown membership-lock deadlock (#26557)
  • [fix][test] Disable Pulsar message parsing for raw ledger test entries (#26604)
  • [fix][test] Fix flaky LatencyTracerTest.testTraceFuture (#26741)
  • [fix][test] Fix flaky ManagedLedgerBkTest.verifyConcurrentUsage (#26637)
  • [fix][test] Fix flaky NonDurableCursorTest.subscribeToEarliestPositionWithDeferredDeletion (#26747)
  • [fix][test] Fix flaky OneWayReplicatorDeduplicationTest.testDeduplication (#26737)
  • [fix][test] Fix flaky RawReaderTest.testPauseAndResumeWithUnloading (#26690)
  • [fix][test] Fix flaky V5CumulativeAckTest.testRetryingAnAckThatFailedWhileDisconnectedAdvancesTheCursor (#26789)
  • [fix][test] Fix flaky V5ProducerBackpressureTest.retriesAcrossASegmentSplitKeepTheAccountingBalanced (#26792)
  • [fix][test] Fix scalable topic stats access in v5 tests (#26650)
  • [fix][test] Isolate mutable broker fixtures between test methods (#26563)
  • [fix][test] Isolate token CLI test output from background logging (#26657)
  • [fix][test] Make TopicOwnerTest bundle assignments deterministic (#26624)
  • [fix][test] Preserve class loading in broker interceptor fixtures (#26567)
  • [fix][test] Restore NETTY_LEAK_DETECTION for Gradle and CI tests (#26605)
  • [fix][test] Wait for the ack to be persisted before rewinding in V5StreamConsumerAckWatermarkTest (#26684)
  • [improve][build] Add validated API/SPI publication subset (#26579)
  • [improve][build] Bump the version to 5.0.0-SNAPSHOT (#26580)
  • [improve][build] Require Java 21 for servers while preserving Java 17 client compatibility (#26769)
  • [improve][build] Resolve the integration-test commit id lazily to keep the configuration cache reusable (#26638)
  • [improve][ci] Check ASF action allowlist in preconditions (#26572)
  • [improve][ci] Configure SSH access action default and update Upterm (#26575)
  • [improve][ci] Enable the "Update branch" button on pull requests via .asf.yaml (#26573)
  • [improve][ci] Pin latest Develocity and Common Custom User Data plugin versions (#26608)
  • [improve][ci] Support smaller runners and restricted fork environments (#26558)
  • [improve][test] Add disk-limit options and A/B comparison charts to the Pulsar Performance Testing Framework (#26800)
  • [improve][test] Add host and per-container CPU and perf counter sampling, default bookie cache sizes and bottleneck analysis guidance to the performance tests (#26749)
  • [improve][test] Add IoT telemetry performance scenario (#26653)
  • [improve][test] Add YAML scenarios to profiling harness (#26600)
  • [improve][test] Improve performance experiments, analysis tooling and agent guidance (#26715)
  • [improve][test] Record Netty's allocator events and other JFR settings per profiled component, and profile on Alpine (#26787)
  • [improve][test] Reduce overlapping TestNG fixtures (#26562)
  • [improve][test] Separate IoT warmup from performance measurements (#26667)
  • [improve][test] Strengthen auto-split selector concurrency test (#26779)
  • [improve][test] Support isolated v4 perf clients (#26601)
  • [feat][test] Add a Docker-based performance testing framework with profiling, metrics and AI agent support (#26714)

For the complete list, check the full changelog.

13 hours ago
ClickHouse
16 hours ago
ClickHouse
19 hours ago
orientdb

3.2.57

This patch release include mostly changes in query engine, and a security fix around permission for function manipulation, as well as the usual dependency updates

Changes

Core

  • Removed automatic usage of dictionary indexes in query engine
  • Hardening of function modification, now only admin can change a function in all the cases.
  • Corrected ordering in query engine when using indexes that ignore null values
  • Avoid exception in timer execution to terminate the timer
  • Dependencies updates

Artifacts

orientdb-community-3.2.57.tar.gz orientdb-community-3.2.57.zip

orientdb-tp3-3.2.57.tar.gz orientdb-tp3-3.2.57.zip

agent-3.2.57.jar

1 days ago
higress