What's Changed
- fix(e2e): cherry pick to fix e2e by @woshigaopp in #2756
- feat(zerozone2): add zero zone v2 support by @superhx in #2767
- feat(all): cherry-pick by @superhx in #2774
- chore(metrics): optimize metrics name mapping in S3MetricsExporter (#2775) by @Gezi-lzq in #2776
- fix(core): fix lock object error when implementing singleton pattern by @superhx in #2779
- fix(zerozone2): fix failover bug caused by #2764 by @superhx in #2781
- chore(config): dynamic change config based on heap size by @superhx in #2783
- chore(metrics): unify object wal metrics by @superhx in #2785
- refactor(zerozone2): make wal provider more extensible (#2787) by @superhx in #2788
- feat(zerozone2): force route to local by @superhx in #2790
- chore(zerozone2): rename channelOffset targetNodeId to attributes by @superhx in #2794
- chore(e2e): accelerate e2e by @superhx in #2800
- feat(java): set min java version to 17 by @superhx in #2804
- fix(zerozone2): fix potential WAL reset overflow BUG by @superhx in #2806
- perf(zerozone2): optimize the wal batch upload strategy by @superhx in #2810
- chore(workflows): add publish maven package workflow by @superhx in #2813
- fix(workflow): set the gradle version by @superhx in #2815
- feat: enhanced table topic conversion function by @Gezi-lzq in #2818
- chore(config): update default commit interval to 1 minute for table topic (#2819) by @Gezi-lzq in #2820
- feat(reassign): optimize partition reassignment to avoid client fast retry by @superhx in #2822
- feat(release): release 1.6.0-rc0 by @superhx in #2823
- feat(nfs-wal): initial implementation of nfs wal by @allenzhu in #2824
- feat(strimzi): add docker build workflow for strimzi by @Rancho-7 in #2826
- feat(docker): kafka docker image adapt by @1sonofqiu in #2830
- fix(converter): update subject and message name retrieval in ConverterFactory and WorkerConfig (#2831) by @Gezi-lzq in #2832
- fix(config): add support for latest schema subject and message name configuration in TopicConfig and WorkerConfig (#2834) by @Gezi-lzq in #2835
- fix(zerozone2): partition open conflict by @superhx in #2837
- fix(config): remove exception for invalid list string in TableTopicConfigValidator (#2836) by @Gezi-lzq in #2839
- fix(s3stream): fix buf leak when recover fail by @superhx in #2842
- feat: add tabletopic e2e case (#2827) by @Gezi-lzq in #2840
- fix(log): fix potential fetch NPE when the partition is closing by @superhx in #2847
- fix(zerozone2): adapt to txn by @superhx in #2851
- fix(metrics): fix percentile metrics (#2849) by @allenzhu in #2852
- fix(zerozone2): fix reset bug cause skip by @superhx in #2854
- feat(metrics): enhance metrics for benchmark (#2856) by @allenzhu in #2857
- fix(zerozone2): await subscriber close by @superhx in #2859
- feat(metrics): enhance metrics for benchmark (#2860) by @allenzhu in #2861
- fix(zerozone2): fix the expired offsetForLeaderEpoch by @superhx in #2864
- feat: enhance schema handling and optimize record processing (#2855) by @Gezi-lzq in #2862
- fix(zerozone2): close snapshotReadPartitionsManager by @superhx in #2867
- fix(metrics): set the interval for the lazy-created histogram by @superhx in #2869
- chore(s3stream): remove useless wal code by @superhx in #2871
- feat(wal): simple direct channel wrapper by @superhx in #2874
- feat(converter): support union types for list and map conversions in AvroValueAdapter (#2872) by @Gezi-lzq in #2878
- feat(perf): add Avro and Protobuf performance test cases and related configurations (#2873) by @Gezi-lzq in #2879
- fix(partition): handle null partition spec in commit response (#2877) by @Gezi-lzq in #2880
- feat(metrics): integrate new metrics for table delay, fields per second, and event loop busy ratio (#2876) by @Gezi-lzq in #2881
- feat(metadata): add retain and release methods for improved image management (#2882) by @Gezi-lzq in #2884
- fix(wal): limit bulk upload delay by @superhx in #2887
- fix(wal): try drain all waiting upload bulks by @superhx in #2889
- fix(zerozone2): gracefully await subscriber close by @superhx in #2895
- feat(tests): add Protobuf ConverterTest for comprehensive Protobuf conversion validation (#2885) by @Gezi-lzq in #2891
- fix(s3stream): fix potential merge read fail by @superhx in #2897
- fix(issue2902): change Verification.waitingRequests to unbounded queue to fix the deadlock by @superhx in #2904
- feat(benchmark): enhance BenchmarkResult to track duration in nanoseconds and add field count metrics (#2898) by @Gezi-lzq in #2901
- fix(zerozone2): guard snapshot by lock by @superhx in #2908
- fix(zerozone2): fix txn record overwrite by mistake by @superhx in #2906
- chore(zerozone2): clean up s3stream metrics by @superhx in #2910
- fix(zerozone2): fix epoch missing update when there isn't new record by @superhx in #2912
- fix(log): elastic log supports truncate by @superhx in #2914
- feat(avro): simplify union handling in AvroValueAdapter and add support for nested union types (#2916) by @Gezi-lzq in #2918
- fix: ensure S3 endpoint is not required for table topic since AWS client can guess it most of the time (#2915) by @Gezi-lzq in #2917
- feat(release): release 1.6.0-rc1 by @Gezi-lzq in #2919
- fix(zerozone2): fix the snapshot to avoid consuming abort txn record by @superhx in #2921
- fix(zerozone2): support lazy stream by @superhx in #2923
- feat(all): cherry pick from main by @superhx in #2927
- fix(zerozone2): reset replayer when reset subscriber by @superhx in #2930
- feat(zerozone2): return NOT_LEADER_OR_FOLLOWER to stale produce by @superhx in #2932
- feat(security): enhance ClientUtils to include listener-specific security settings (#2933) by @Gezi-lzq in #2935
- fix(zerozone2): fix bug caused by #2929 by @superhx in #2937
- fix(zerozone2): release after append & better snapshot replay by @superhx in #2939
- feat(release): release 1.6.0-rc2 by @Gezi-lzq in #2941
- fix(zerozone2): fix duplicated release by @superhx in #2943
- chore(zerozone2): isolate the record encode allocator by @superhx in #2945
- fix(zerozone2): fail the recover when decode fail by @superhx in #2947
- perf(s3stream): optimize the doRangeRead GC issue caused by #2764 by @superhx in #2949
- fix(zerzone2): fix commited epoch not bump when there is gracefully shutdown node by @superhx in #2952
- feat(zerozone2): response retryable error when route out get UNKNOWN_SERVER_ERROR by @superhx in #2954
- feat(failover): remove the controller limitation by @superhx in #2956
- chore(zerozone2): schedule logging proxy mapping by @superhx in #2958
- feat(zerozone2): async start RouterChannel and ConfirmWAL by @superhx in #2960
- feat(zerozone2): fast acks=0 by @superhx in #2964
- feat(core): add iceberg-nessie dependency for enhanced functionality (#2967) by @Gezi-lzq in #2968
- feat(table-coordinator): handle exceptions during snapshot expiration (#2969) by @Gezi-lzq in #2970
- chore(zerozone2): detect close failure by @superhx in #2974
- fix: correctly use bytebuffer slice in decodecontexts method (#2925) by @Gezi-lzq in #2976
- feat(release): release 1.6.0 by @Gezi-lzq in #2977
Full Changelog: 1.5.4...1.6.0