> ## 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.0.5.4

# StreamNative Weekly Release Notes v4.0.5.4

## Download

### Distributions

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

### Packages

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

### Images

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

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

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

## General Changes

### Apache Pulsar

([#24552](https://github.com/apache/pulsar/pull/24552)) \[improve]\[test] Remove EntryCacheCreator from ManagedLedgerFactoryImpl

([#24544](https://github.com/apache/pulsar/pull/24544)) \[improve] Upgrade pulsar-client-python to 3.8.0 in Docker image

([#24516](https://github.com/apache/pulsar/pull/24516)) \[fix]\[broker] Fix exclusive producer creation when last shared producer closes

([#24506](https://github.com/apache/pulsar/pull/24506)) \[fix]\[broker] Fix duplicate increment of ADD\_OP\_COUNT\_UPDATER in OpAddEntry

([#24543](https://github.com/apache/pulsar/pull/24543)) \[fix]\[broker] Fix matching of topicsPattern for topic names which contain non-ascii characters

([#24537](https://github.com/apache/pulsar/pull/24537)) \[fix]\[misc] Fix topics pattern consumer backwards compatibility

([#24539](https://github.com/apache/pulsar/pull/24539)) \[fix]\[client] Close orphan producer or consumer when the creation is interrupted

([#24521](https://github.com/apache/pulsar/pull/24521)) \[improve]\[client] Add `startTimestamp` and `endTimestamp` for consuming message in client cli

([#24542](https://github.com/apache/pulsar/pull/24542)) \[fix]\[broker]Fix thread safety issues in BucketDelayedDeliveryTracker with StampedLock optimistic reads

([#24533](https://github.com/apache/pulsar/pull/24533)) \[fix]\[ws] Fix WebSocket authorization issue due to originalPrincipal must be provided

([#24517](https://github.com/apache/pulsar/pull/24517)) \[fix]\[client] Fix ClientCnx handleSendError NPE

([#24515](https://github.com/apache/pulsar/pull/24515)) \[fix]\[ml] Fix asyncReadEntries might never complete if empty entries are read from BK

([#24534](https://github.com/apache/pulsar/pull/24534)) \[fix]\[io] Fix Kinesis checkpoint mechanism to prevent data duplication

([#24530](https://github.com/apache/pulsar/pull/24530)) \[improve]\[misc] Upgrade RE2/J to 1.8

([#24518](https://github.com/apache/pulsar/pull/24518)) \[fix]\[broker] Fix wrong backlog age metrics when the mark delete position point to a deleted ledger

([#24525](https://github.com/apache/pulsar/pull/24525)) \[improve]\[misc] Optimize topic list hashing so that potentially large String allocation is avoided

([#24528](https://github.com/apache/pulsar/pull/24528)) \[fix]\[client] Fix issue in auto releasing of idle connection with topics pattern consumer

([#24529](https://github.com/apache/pulsar/pull/24529)) \[fix]\[proxy] Fix default value of connectionMaxIdleSeconds in Pulsar Proxy

([#24519](https://github.com/apache/pulsar/pull/24519)) \[improve]\[test] Add test for concurrent processing of pending read Entries

([#24514](https://github.com/apache/pulsar/pull/24514)) \[improve]\[build] Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0

([#24492](https://github.com/apache/pulsar/pull/24492)) \[improve]\[ci] Fixes #23079: Checkstyle checks applied to all test

([#24468](https://github.com/apache/pulsar/pull/24468)) \[improve]\[broker] Upgrade bookkeeper to 4.17.2/commons-configuration to 2.x/grpc to 1.72.0 and enable ZooKeeper client to establish connection in read-only mode

([#24473](https://github.com/apache/pulsar/pull/24473)) \[improve]\[build] replace org.apache.commons.lang to org.apache.commons.lang3

([#24465](https://github.com/apache/pulsar/pull/24465)) \[fix]\[proxy] Fix proxy OOM by replacing TopicName with a simple conversion method

([#24434](https://github.com/apache/pulsar/pull/24434)) \[improve]\[broker] Improve the log when namespace bundle is not available

([#24472](https://github.com/apache/pulsar/pull/24472)) \[fix] Prevent IllegalStateException: Field 'message' is not set

([#24476](https://github.com/apache/pulsar/pull/24476)) \[fix]\[client] NPE in MultiTopicsConsumerImpl.negativeAcknowledge

([#24512](https://github.com/apache/pulsar/pull/24512)) \[fix]\[broker] Fix NPE when getting delayed delivery policy

([#24478](https://github.com/apache/pulsar/pull/24478)) \[fix]\[broker]Data lost due to conflict loaded up a topic for two brokers, when enabled ServiceUnitStateMetadataStoreTableViewImpl

([#24501](https://github.com/apache/pulsar/pull/24501)) \[fix]\[io] Fix data loss issue in Kinesis source connector

([#24495](https://github.com/apache/pulsar/pull/24495)) \[fix]\[io] Make record properties configurable for kinesis source

([#24453](https://github.com/apache/pulsar/pull/24453)) \[fix]\[broker] replication does not work due to the mixed and repetitive sending of user messages and replication markers

([#24424](https://github.com/apache/pulsar/pull/24424)) \[fix]\[broker] Fix the non-persistenttopic's replicator always get error "Producer send queue is full" if set a small value of the config replicationProducerQueueSize

([#24189](https://github.com/apache/pulsar/pull/24189)) \[fix]\[broker]excessive replication speed leads to error: Producer send queue is full

### KoP

Fix consumer close might be stuck when SyncGroup is in progress

### StreamNative Pulsar Plugins

Upgrade pulsar placement policy bk dependency to 4.17.2

### Cloud Pulsar Plugins

\[ApiKeys] Don't print full stacks for authentication failure

### Function Mesh Worker Service

Set minReplicas to parallelism when HPA is enabled

### StreamNative Tiered storage

3ed593d8 Fix integration test for branch-4.0

### StreamNative Unified RBAC

Use `GET_BUNDLE` operation to check the "get" permission for namespace

### StreamNative Ursa storage

Fix CI

Upgrade delta kernel to 4.0.0

Make the RawReader object pooled to avoid creating each time

Delete the compact task if the topic doesn't exist

\[refactor] Only open one parquet file for the lakehouse reader

Fix the metrics tests

Using the GlobalOpenTelemetry to register the reader metrics

Fix reader read failed in parallel

Delta external table introduce temporary credential

Introduce CustomKernelParquetWriter to support put write mode to improve memory usage

Fix the task compatibility issue.

Fix readIndexes bug

Fix the typo for the classname of PreparedCompactStreamTask

Introduce the task type to control the compaction handling

Add offload cursor to block data expire

Send the failed parse messages into a failure topic

Load configuration from the pulsar-client.conf file

Close the catalog resrouce after using

Delete the compaction task if it compacting the expired data

Add ML Cloud Storage Developer Guide

Reenable the pulsarE2ETest

Speed up the CI process from 1 hour to 20mins by separating to the different groups

Adapt for unity iceberg rest api

Fix the offloaded ledgermetadata is not synced with the offload state

chore: Add Claude Code Agents

Allow to disable sync UrsaMLMetadata

Support delete ledger from pulsar offload handler

Add metrics for pulsar read/writer lakehouse path

Redirect maven twitter repo to central

## Security Fixes

### Apache Pulsar

([#24547](https://github.com/apache/pulsar/pull/24547)) \[fix]\[sec] Upgrade pulsar-function-go dependencies to address CVE-2025-22868
