> ## Documentation Index
> Fetch the complete documentation index at: https://docs.streamnative.io/llms.txt
> Use this file to discover all available pages before exploring further.

# V4.1.0.6

# StreamNative Weekly Release Notes v4.1.0.6

## Download

### Distributions

* [https://github.com/streamnative/pulsar/releases/tag/v4.1.0.6](https://github.com/streamnative/pulsar/releases/tag/v4.1.0.6)

### Packages

* [Maven Central](https://search.maven.org/artifact/io.streamnative/pulsar/4.1.0.6/pom)

### Images

* [sn-platform](https://hub.docker.com/layers/streamnative/sn-platform/4.1.0.6/images/sha256-9afd8df965ebeba220c2d76b30c32efdb4c9d885ba67667c8e627f5bd4dcdef9)

* [sn-platform-slim](https://hub.docker.com/layers/streamnative/sn-platform-slim/4.1.0.6/images/sha256-1b1e242a2466596f69e9c810c20fc81c6642ebfa9b511e30663b941e902932ca)

* [private-cloud](https://hub.docker.com/layers/streamnative/private-cloud/4.1.0.6/images/sha256-1b1e242a2466596f69e9c810c20fc81c6642ebfa9b511e30663b941e902932ca)

## General Changes

### Apache Pulsar

([#24794](https://github.com/apache/pulsar/pull/24794)) \[fix]\[client] Fix thread leak in reloadLookUp method which is used by ServiceUrlProvider

([#24859](https://github.com/apache/pulsar/pull/24859)) \[fix]\[broker] Run ResourceGroup tasks only when tenants/namespaces registered

([#24915](https://github.com/apache/pulsar/pull/24915)) \[fix]\[broker] BacklogMessageAge is not reset when cursor mdPosition is on an open ledger

([#24860](https://github.com/apache/pulsar/pull/24860)) \[fix]\[broker] Fix wrong behaviour when using namespace.allowed\_clusters, such as namespace deletion and namespace policies updating

([#24917](https://github.com/apache/pulsar/pull/24917)) \[improve]\[ci] Move replication tests to new group Broker Group 5 in Pulsar CI

([#24911](https://github.com/apache/pulsar/pull/24911)) \[improve]\[misc] Upgrade Netty to 4.1.128.Final

([#24904](https://github.com/apache/pulsar/pull/24904)) \[fix]\[test] Fix flaky ReplicatorTest.testResumptionAfterBacklogRelaxed

([#24895](https://github.com/apache/pulsar/pull/24895)) \[improve]\[broker] Reduce the broker close time to avoid useless wait for event loop shutdown

([#24885](https://github.com/apache/pulsar/pull/24885)) \[fix]\[broker] Fix totalAvailablePermits not reduced when removing consumer from non-persistent dispatcher

([#24858](https://github.com/apache/pulsar/pull/24858)) \[fix]\[test]fix flaky SimpleProducerConsumerTest.testReceiveAsyncCompletedWhenClosing

([#24896](https://github.com/apache/pulsar/pull/24896)) \[improve]\[io] Upgrade Debezium version to 3.2.4.Final

([#24807](https://github.com/apache/pulsar/pull/24807)) \[fix]\[test] Made ProtobufSchemaTest.testParsingInfoProperty order-independent

([#24848](https://github.com/apache/pulsar/pull/24848)) \[improve]\[client]Add null check for Pulsar client clock configuration

([#24887](https://github.com/apache/pulsar/pull/24887)) \[fix]\[test] BacklogQuotaManagerTest.backlogsAgeMetricsNoPreciseWithoutBacklogQuota handle empty /metrics scrape

([#24826](https://github.com/apache/pulsar/pull/24826)) \[fix]\[broker] Flaky-test: TopicTransactionBufferTest.testMessagePublishInOrder

([#24864](https://github.com/apache/pulsar/pull/24864)) \[fix]\[test] Stabilize PublishRateLimiterOverconsumingTest by aligning measurement and using adjacent 2-sec averages

([#24799](https://github.com/apache/pulsar/pull/24799)) \[improve]\[broker] Part-2 of PIP-434: Use ServerCnxThrottleTracker, instead of modifying channel.readable directly

([#24854](https://github.com/apache/pulsar/pull/24854)) \[fix]\[test] Fix flaky LookupPropertiesTest.testConcurrentLookupProperties

([#24800](https://github.com/apache/pulsar/pull/24800)) \[improve]\[broker] PIP-434: add configurations to broker.conf

([#24423](https://github.com/apache/pulsar/pull/24423)) \[improve]\[broker] Part-1 of PIP-434: Expose Netty channel configuration WRITE\_BUFFER\_WATER\_MARK to pulsar conf and pause receive requests when channel is unwritable

### KoP

Fix Ursa storage in NamespaceBundleOwnershipListener unload behavior

([#1591)](https://github.com/streamnative/ksn/pull/1591))) Revert "Schedule unload group metadata if not owner broker

8053bbb39 Bump version to 4.1.0.6

Fix broken build due to rate limiter change and TransportCnx interface change from Pulsar

Add producer ID expiration mechanism for Ursa engine

Remove "Found owner" logs with low lookup latency (\< 10ms)

Schedule unload group metadata if not owner broker

Don't return non-retriable error in metadata response when lookup fails

\[SchemaRegistry] Add `ALWAYS_INCOMPATIBLE` compatibility mode

Fix OffsetCommit request might not take effect unless reloading from metadata store

Support client side retry for temporary metadata or write failures

Support returning partition count in create topics response

Bump spotbugs version to 4.9.8

Fix topic validation to enforce kafka topic naming conventions

Reduce the protocol handler close time by closing built-in clients asynchronously

Improve group metadata immigration logic by replacing admin client usage with namespace service calls

### StreamNative Pulsar Plugins

Fix detector deadlock when subDetector panics or fails

### pulsarctl

upgrade golang to 1.24.9

### StreamNative Unified RBAC

feat: improve sdk-java enforce performance

## Security Fixes

### Apache Pulsar

([#24923](https://github.com/apache/pulsar/pull/24923)) \[fix]\[sec] Upgrade BouncyCastle FIPS to 2.0.10 to remediate CVE-2025-8916

([#24903](https://github.com/apache/pulsar/pull/24903)) \[fix]\[sec] Upgrade Spring to 6.2.12 to remediate CVE-2025-22233 and CVE-2025-41249

([#24897](https://github.com/apache/pulsar/pull/24897)) \[fix]\[sec] Upgrade Jetty to 9.4.58.v20250814 to address CVE-2025-5115

([#24889](https://github.com/apache/pulsar/pull/24889)) \[fix]\[sec] Bump io.vertx:vertx-web from 4.5.10 to 4.5.22
