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

# StreamNative Weekly Release Notes v4.1.0.2

## Download

### Distributions

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

### Packages

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

### Images

* [sn-platform](https://hub.docker.com/layers/streamnative/sn-platform/4.1.0.2/images/sha256-5276c248983485b62232629f5412cfc1ddc56d97879e189b8cc9837d13f32ff2)

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

* [private-cloud](https://hub.docker.com/layers/streamnative/private-cloud/4.1.0.2/images/sha256-9cc65a554b18f8a47bcf65f4b9a9c8268a535beb5823ff59e677226c8ea0f7f9)

## General Changes

### Apache Pulsar

([#24752](https://github.com/apache/pulsar/pull/24752)) \[fix]\[client] rollback TopicListWatcher retry behavior

([#24698](https://github.com/apache/pulsar/pull/24698)) \[fix]\[client]TopicListWatcher not closed when calling PatternMultiTopicsConsumerImpl.closeAsync() method

([#24756](https://github.com/apache/pulsar/pull/24756)) \[fix]\[broker] Fix testServiceConfigurationRetentionPolicy unit test

([#24733](https://github.com/apache/pulsar/pull/24733)) \[improve]\[broker] Allow deletion of empty persistent topics regardless of retention policy

([#24696](https://github.com/apache/pulsar/pull/24696)) \[fix]\[broker]Fix dirty reading of namespace level offload thresholds

([#24683](https://github.com/apache/pulsar/pull/24683)) \[fix]\[broker]Fix the wrong logic of the test PartitionCreationTest.testCreateMissedPartitions

([#24634](https://github.com/apache/pulsar/pull/24634)) \[fix]\[broker]Dispatcher did unnecessary sort for recentlyJoinedConsumers and printed noisy error logs

([#24749](https://github.com/apache/pulsar/pull/24749)) \[fix] Exclude commons-lang dep from bookkeeper

([#24743](https://github.com/apache/pulsar/pull/24743)) \[fix]\[client] Fix receiver queue auto-scale without memory limit

([#24742](https://github.com/apache/pulsar/pull/24742)) \[improve]\[build] Upgrade Apache Parent POM to version 35

([#24722](https://github.com/apache/pulsar/pull/24722)) \[fix]\[ml] Negative backlog & acked positions does not exist & message lost when concurrently occupying topic owner

([#24730](https://github.com/apache/pulsar/pull/24730)) \[fix]\[broker] Ensure KeyShared sticky mode consumer respects assigned ranges

([#24736](https://github.com/apache/pulsar/pull/24736)) \[fix]\[broker] Key\_Shared subscription doesn't always deliver messages from the replay queue after a consumer disconnects and leaves a backlog

([#24731](https://github.com/apache/pulsar/pull/24731)) \[fix]\[broker] Fix cannot shutdown broker gracefully by admin api

([#24654](https://github.com/apache/pulsar/pull/24654)) \[fix]\[io] Improve Kafka Connect source offset flushing logic

([#24725](https://github.com/apache/pulsar/pull/24725)) \[fix]\[client] Avoid recycling the same ConcurrentBitSetRecyclable among different threads

([#24721](https://github.com/apache/pulsar/pull/24721)) \[feat]\[fn] Fallback to using `STATE_STORAGE_SERVICE_URL` in `PulsarMetadataStateStoreProviderImpl.init`

([#24580](https://github.com/apache/pulsar/pull/24580)) \[fix]\[broker]Fix never recovered metadata store bad version issue if received a large response from ZK

### KoP

Handle unexpected exception in decode for safe producer state recovery

Avoid blocking when the previous consumer closed without sending SyncGroup requests

### StreamNative Pulsar Plugins

Fix LicenseAdditionalServletTest

Use snstage/pulsar image to integration test

Removed pinned version for nimbus-jose-jwt-9.37.2

Pin Netty version for bookie\_rackinfo

Fix BK exclusions to avoid commons-configuration and commons-langs deps

Fix sn bom plugin typo

### pulsarctl

Preserve tenant fields on partial update

upgrade client go version to 0.16.0

### Function Mesh Worker Service

Support trigger agent function with properties

Update function-mesh version to v0.25.0 in pom.xml

Remove ConnectRestException from mesh-worker-common module

Support input-type-class and output-type-class arguments for Functions

Support set extra env for kafka connect

Support streamable http for AgentFunction and make trigger timeout value configurable

### StreamNative Ursa storage

Use the azure latest image for testing

Remove parquet compression property from iceberg table

Fix topic properties can not be fetched on the serverless cluster

Fix cache reference staleness race condition in ObjectWalStorageImpl

Control sdt behavior by the properties

Fix offload cursor doesn't show in the consumer stats

Fix unity catalog can't convert decimal type issue.

Fix global open telemetry confict issue

Add detailed label for the compaction commit and error metrics

Fix record type with instant field write failed issue.

Close the writer when there is exceptions

Pause the reader when release it

Split offload cursor update interval

Fix metrics name

Add more metrics for the error, commit time

2e957f84 fix ci

Introduce exception code to improve the exception handling

Support disable the publish task by topic

Use latest snapshot version image to fix tests

## Security Fixes
