2020-06-17
Features
PIPs
- [PIP-37] Large message size support #4400
- [PIP-39] Namespace change events (System Topic) #4955
- [PIP-45] Switch ManagedLedger to use MetadataStore interface #5358
- [PIP 53] Contribute DotPulsar to Apache Pulsar
- [PIP-54] Support acknowledgment at batch index level #6052
- [PIP-58] Support consumers set custom message retry delay #6449
- [PIP-60] Support SNI routing to support various proxy-server #6566
- [PIP-61] Advertise multiple addresses #6903
- [PIP-65] Adapting Pulsar IO Sources to support Batch Sources #7090
Broker
- [Broker] Add threshold shedder strategy and metrics exporter for loadbalancer #6772
- [Broker] Add consistent hashing in the Key_Shared distribution #6791
- [Broker] Fixed ordering issue in KeyShared subscription dispatcher when adding consumer #7106 #7108 #7188
- [Broker] Add support for key hash range reading in Key_Shared subscription #5928
- [Broker] Allow for schema reader and writer registration on SchemaDefinition #6905
- [Broker] Support use null key and null value in KeyValue Schema #7139
- [Broker] Support multiple pulsar clusters to use the same bk cluster #5985
- [Broker] Add a flag to skip broker shutdown on transient OOM #6634
- [Broker] Make zookeeper cache expiry time configurable #6668
- [Broker] Check replicator periodically to avoid issue due to zookeeper missing watch #6674
- [Broker] Expose managedLedgerCache, managedLedger, loadBalance metrics to Prometheus #6705
- [Broker] Optimize consumer fetch messages in case of batch message #6719
- [Broker] Add configuration to limit max partitions for a partitioned topic #6794
- [Broker] Change default FlushEntryLogBytes to 256MB to improve bookie io throughput #6915
- [Broker] Introduce precise topic publish rate limiting #7078
- [Broker] Expose new entries check delay in the broker.conf 7154
- [Broker] Add broker interceptor for intercepting all Pulsar command and REST API requests #7143
- [Broker] Only close active consumer for Failover subscription when seek() #7141
- [Broker] Allow to delete topics that are failing to recover #7131
- [Broker] Support set netty max frame size in bookkeeper.conf #7116
- [Broker] Trigger rollover when meeting maxLedgerRolloverTimeMinutes #7111
- [Broker] Cap the dispatcher batch size in bytes to fixed max #7097
- [Broker] Support specify managedLedgerMaxSizePerLedgerMbytes in broker.conf #7085
- [Broker] Allow to grant permissions when the authorization is disabled #7074
- [Broker] Add messages and bytes counter stats to broker-stats/topics #7045
- [Broker] Expose new entries check delay in the broker.conf #7154
Function
- [Function] Built-in functions support #6895
- [Function] Add Go Function heartbeat (and gRPC service) for production usage #6031
- [Function] Add custom property option to functions #6348
- [Function] Separate TLS configuration of function worker and broker #6602
- [Function] Added ability to build consumers in functions and sources #6954
- [Function] Support DLQ on sources and sinks #7032
Pulsar SQL
- [SQL] KeyValue schema support #6325
- [SQL] Multiple version schema support #4847
- [SQL] Fix presto SQL does not start metrics service before queue execute #7030
Pulsar IO
- Added ability for sources to publish messages on their own #6941
- [RabbitMQ] Allow routing key per message to RabbitMQ sink connector #5890
- [RabbitMQ] Add passive config options #6679
- [debezium] Upgrade from v0.10.0-Final to v1.0.0-Final #5972
- [debezium] Support avro schema for debezium connector #6034
- [influxdb2] Add support for influxdb2 in pulsar-influxdb-sink #6601
- [jdbc] Add jdbc sinks: postgres, mariadb, clickhouse #6835
Pulsar Proxy
- [Proxy] Add REST API to get connection and topic stats #6473
- [Proxy] Add advertised address option #6942
- [Proxy] Add proxyLogLevel into config #6948
Admin
- [Admin] Support delete inactive topic when subscriptions caught up #6077
- [Admin] Add configuration to disable auto-creation of subscriptions #6456
- [Admin] Add maxUnackedMessagesPerSubscription and maxUnackedMessagesPerConsumer on namespaces policies #5936
- [Admin] Support get a message by message ID in pulsar-admin #6331
- [Admin] Support delete subscription forcefully #6383
- [Admin] Add subscribe initial position for consumer CLI #6442
- [Admin] Support to get managed ledger info of a partitioned topic #6532
- [Admin] Support compact all partitions of a partitioned topic #6537
- [Admin] Support multi-hosts in PulsarAdmin #6547
- [Admin] Support to get internal stats for a partitioned topic #6624
- [Admin] Support enable or disable subscription auto-creation at namespace level #6637
- [Admin] Enable to set the subscription expiration time for each namespace #6851
Fixes
- [Broker] Fixed increasing number of partitions with attached readers #7077
- [Broker] Make ZkBookieRackAffinityMapping work as expected #6917
- [Broker] Fix backlog and backlog size stats keeps growing #7082
- [Java Client] Fix connection leak #6524
- [Java Client] Fix message id compare between MessageId and BatchMessageId #6621
- [Java Client] Fix memory leak when create producer with not exsits topic #7120 #7124
- [Java Client] Fix duplicated messages sent to dead letter topic #7021
- [CPP Client] Fix deadlock of consumer for topics auto discovery #7206
- [Managed Ledger] Fix NPE on opening non-durable cursors on an empty managed ledger #7133
- [Websocket] Fix incorrect topic URL parse #6630
- [Pulsar SQL] Fix problem with multiple zookeeper address #6947
- [Docker] Do not apply env values to pulsar_env.sh and bkenv.sh implicitly 6579