跳到主要内容

RocketMQ Rust Release 🔖v0.7.0

· 阅读需 55 分钟
mxsm
RocketMQ-Rust Maintainer

New Feature and improve performance

  • ✨ Fix some bugs
  • ⚡️ Optimize code performance
  • 🚀 Add Controller mode

What's Changed

  • [ISSUE #3778]📝Update release notes and documentation for version 0.6.0, reflecting new features and changes by @mxsm in #3779
  • [ISSUE #3780]📝Update to Version 0.7.0 for Next-Stage Development by @mxsm in #3781
  • Bump serde_json from 1.0.142 to 1.0.143 by @dependabot[bot] in #3782
  • Bump cfg-if from 1.0.1 to 1.0.3 by @dependabot[bot] in #3783
  • [ISSUE #3784]🚀Simple in-process scheduling framework (ScheduledTaskManager) by @mxsm in #3785
  • Bump thiserror from 2.0.15 to 2.0.16 by @dependabot[bot] in #3787
  • Bump tempfile from 3.20.0 to 3.21.0 by @dependabot[bot] in #3788
  • feat: Introduce #[inline] for Builder methods by @4ddx in #3786
  • [ISSUE #3789]📝Enhance documentation for WeakArcMut and ArcMut structs with safety notes by @mxsm in #3790
  • [ISSUE #3791]⚡️Evolve ScheduledTaskManager: cron layer, jitter, metrics, shutdown integration by @mxsm in #3792
  • [ISSUE #3794]✨Add fixed-rate and fixed-delay task scheduling methods to ScheduledTaskManager by @mxsm in #3795
  • Bump form_urlencoded from 1.2.1 to 1.2.2 by @dependabot[bot] in #3798
  • [ISSUE #3796]✨Implement asynchronous fixed-rate, fixed-delay, and fixed-rate-no-overlap task scheduling methods in ScheduledTaskManager by @mxsm in #3797
  • [ISSUE #3799]♻️Migrate BrokerRuntime scheduled loops to ScheduledTaskManager by @mxsm in #3800
  • [ISSUE #3802]♻️Refactor QueueTypeUtils to accept Option references directly for improved clarity and performance by @mxsm in #3803
  • [ISSUE #3804]Add slave synchronization scaffolding and update MessageStore HA API by @mxsm in #3805
  • Bump memmap2 from 0.9.7 to 0.9.8 by @dependabot[bot] in #3806
  • Bump url from 2.5.4 to 2.5.6 by @dependabot[bot] in #3807
  • [ISSUE #3808]📝Add configuration files for broker roles and settings by @mxsm in #3809
  • [ISSUE #3813]✨Add simple broker config templates (master and slave) under distribution/config/broker by @mxsm in #3814
  • [ISSUE #3815]♻️ Split MessageStore init from start and align BrokerRuntime initialization flow by @mxsm in #3816
  • [ISSUE #3818]♻️ Refactor MessageStore commit log getters to return refs and add mutable variants by @mxsm in #3819
  • refactor: return Option<&String>> on consumer_group by @4ddx in #3824
  • [ISSUE #3827]♻️Consolidate server config: use BrokerConfig.broker_server_config across BrokerRuntime/Bootstrap by @mxsm in #3830
  • [ISSUE #3829]⚡️Add brokerServerConfig section to broker-simple-slave.toml and move listenPort under it by @mxsm in #3831
  • Add startup logo by @watchgou in #3828
  • [ISSUE #3834]⚡️Standardize and centralize startup ASCII logo usage by @mxsm in #3835
  • [ISSUE #3837]🐛HA client didn’t refresh last_read_timestamp on reads, causing premature housekeeping disconnects by @mxsm in #3838
  • Refactor GeneralHAService to use enum for HA service by @dhvll in #3765
  • [ISSUE #3839]♻️Refactor DefaultHAService initialization to accept GeneralHAService as a parameter by @mxsm in #3840
  • documentation: add RocketMQ-RustBroker ASCII logo to broker-bootstrap-server by @4ddx in #3841
  • [ISSUE #3843]Add test coverage for multi_dispatch_utils in queue.rs (LMQ key, dispatch checks) by @mxsm in #3844
  • #3826: Refactor Make is_compaction take Option<&TopicConfig> instead … by @kashifsoofi in #3845
  • [ISSUE #3846]⚡️Integrate StoreStatsService hooks and CQ checkpoint updates; prepare multi-dispatch LMQ path by @mxsm in #3847
  • refactor: make ConsumeMessageDirectlyResult::remark return Option<&CheetahString> by @4ddx in #3842
  • Improve GroupRetryPolicy accessors to return Option<&T> instead of &Option by @schechenkin in #3850
  • [ISSUE #3851]♻️Change put_request to accept GroupCommitRequest instead of ArcMut by @mxsm in #3852
  • Bump regex from 1.11.1 to 1.11.2 by @dependabot[bot] in #3854
  • [ISSUE #3855]🐛HA GroupTransferService ack threshold and lock handling cause unnecessary timeouts by @mxsm in #3856
  • [ISSUE #3857]📝Expand rocketmq-error README with multi-crate error architecture overview by @mxsm in #3858
  • Bump url from 2.5.6 to 2.5.7 by @dependabot[bot] in #3860
  • enhancement: remove sync_unsafe_cell feature from rocketmq-namesrv by @4ddx in #3862
  • #3823: Adjust ConsumeMessageDirectlyResult::consume_result by @kashifsoofi in #3848
  • Update commit_log.rs by @JithinKamineni in #3861
  • [ISSUE #3864]🚀Add error handling modules for various components by @mxsm in #3865
  • [ISSUE #3866]⚡️Update message handling in content_show.rs for improved clarity and type safety by @mxsm in #3867
  • Bump clap from 4.5.45 to 4.5.46 by @dependabot[bot] in #3868
  • [ISSUE #3869]♻️Make SlaveSynchronize generic and optional; integrate safely into BrokerRuntime by @mxsm in #3870
  • [ISSUE #3871]🚀Implement sync_all method in SlaveSynchronize for comprehensive synchronization by @mxsm in #3872
  • Bump tracing-subscriber from 0.3.19 to 0.3.20 by @dependabot[bot] in #3877
  • Bump config from 0.15.14 to 0.15.15 by @dependabot[bot] in #3878
  • [ISSUE #3880]♻️Simplify DataVersion counter from Arc to AtomicI64 in remoting protocol by @mxsm in #3881
  • [ISSUE #3882]⚡️Implement master→slave metadata sync (topic configs, static queue mappings) and add BrokerOuterAPI.get_all_topic_config by @mxsm in #3883
  • [ISSUE #3885]♻️Make RemotingCommand::body() ergonomic (Option<&Bytes>) and update call sites by @mxsm in #3886
  • [ISSUE #3887]✨Add ConsumerOffsetSerializeWrapper protocol and export module by @mxsm in #3888
  • [ISSUE #3889]✨Normalize ConsumerOffsetSerializeWrapper JSON field casing and add accessors by @mxsm in #3890
  • [ISSUE #3891]✨Implement master→slave consumer offset sync and add BrokerOuterAPI.get_all_consumer_offset by @mxsm in #3892
  • [ISSUE #3893]✨Implement master→slave delay offset sync and add BrokerOuterAPI.get_delay_offset⚡️ by @mxsm in #3894
  • [ISSUE #3895]✨Add SubscriptionGroupWrapper protocol and export module⚡️ by @mxsm in #3896
  • [ISSUE #3897]✨Implement master→slave subscription group sync and add BrokerOuterAPI.get_all_subscription_group_config⚡️ by @mxsm in #3899
  • [ISSUE #3900]🚀Add MessageRequestModeSerializeWrapper protocol and export module by @mxsm in #3901
  • [ISSUE #3902]🚀Add get_message_request_mode method and update MessageRequestModeManager in broker APIs by @mxsm in #3903
  • [ISSUE #3904]🚀Introduce TimerMetricsSerializeWrapper in remoting protocol and expose module by @mxsm in #3905
  • [ISSUE #3906]🚀Add broker handler for GetAllDelayOffset to expose delay offset data by @mxsm in #3907
  • [ISSUE #3909]🚀Feature flag mismatch: common enables rocketmq-error with serde_json, but error crate exposes with_serde by @mxsm in #3910
  • [ISSUE #3908]♻️Unify JSON error handling: replace JsonError with feature-gated SerdeJsonError and simplify conversions by @mxsm in #3911
  • [ISSUE #3913]⚡️Expose GetAllSubscriptionGroupConfig via admin broker processor by @mxsm in #3914
  • [ISSUE #3915]⚡️Make GroupRetryPolicy default-policy allocation lazy and non-owning by @mxsm in #3916
  • [ISSUE #3920]♻️ Avoid cloning BrokerConfig in DefaultPullMessageResultHandler.compose_response_header by @mxsm in #3921
  • [ISSUE #3922]🚀Add RejectRequestResponse type and default reject_request implementation in LocalRequestProcessor by @mxsm in #3923
  • [ISSUE #3924]🚀Implement flow control for reject requests in request processor by @mxsm in #3925
  • [ISSUE #3926]♻️Table-based dynamic dispatch for NameServerRequestProcessor and unified processor registration by @mxsm in #3927
  • #3884: Refactor zone_name method to return an Option reference by @kashifsoofi in #3928
  • #3912: Refactor ConfigManager::encode method by @kashifsoofi in #3930
  • [ISSUE #3932]♻️Table-based dynamic dispatch for BrokerRequestProcessor; unify per-processor RequestProcessor impls by @mxsm in #3933
  • Bump clap from 4.5.46 to 4.5.47 by @dependabot[bot] in #3934
  • Bump uuid from 1.18.0 to 1.18.1 by @dependabot[bot] in #3935
  • Bump windows from 0.61.3 to 0.62.0 by @dependabot[bot] in #3936
  • [ISSUE #3940]📚 Add "Best practice" section to navigation by @mxsm in #3941
  • [ISSUE #3939]📚 Added Chinese and en documentation on best practices for Broker naming by @mxsm in #3942
  • [ISSUE #3943]📚 Update permalink for Broker Naming documentation to Chinese version by @mxsm in #3944
  • [ISSUE #3946]BrokerRuntime: recover_initialize_service didn’t check message_store.load() result; hook variable rename for clarity by @mxsm in #3947
  • [ISSUE #3950]♻️Derive Default for MessageVersion and mark V1 as default by @mxsm in #3951
  • [ISSUE #3948]🐛Prevent panic in BrokerRuntime init when timer wheel enabled or schedule service missing by @mxsm in #3949
  • [ISSUE #3952]🚀Implement BrokerPreOnlineService and integrate with BrokerRuntime lifecycle by @mxsm in #3953
  • Reference and replacement discarded methods are not used in the project by @watchgou in #3954
  • [ISSUE #3957]🚀BrokerConfig: add compatible_with_old_name_srv flag with default true by @mxsm in #3959
  • [ISSUE #3956]🚀Add BrokerOuterAPI::sync_broker_member_group and integrate for name server compatibility by @mxsm in #3960
  • [ISSUE #3961]🚀Add constructor for BrokerPreOnlineService and integrate with BrokerRuntime by @mxsm in #3962
  • [ISSUE #3963]🚀Broker pre-online: master HA handshake loop, min-broker selection, and HA addr helper by @mxsm in #3964
  • [ISSUE #3965]🚀Add ExchangeHAInfoRequestHeader to remoting protocol by @mxsm in #3966
  • [ISSUE #3969]⚡️Add HA handshake flow, send_broker_ha_info, and expose HA services; make HA service optional; add RemotingHelper by @mxsm in #3971
  • [ISSUE #3970]⚡️Broker pre-online HA handshake, HA metadata exchange, optional HA service, and remoting helper by @mxsm in #3972
  • [ISSUE #3974]🚀Implement PartialOrd and Ord traits for DataVersion; enhance equality comparison logic by @mxsm in #3975
  • [ISSUE #3977]🚀Implement HAConnectionStateNotificationService by @mxsm in #3978
  • AdminBrokerProcessor. NotifyMinBrokerIdChange preliminary implementation of functions by @watchgou in #3979
  • [ISSUE #3981]🔧Update test for SubscriptionGroupWrapper to validate data_version timestamp by @mxsm in #3982
  • [ISSUE #3983]Use fully qualified config::ConfigError and remove redundant import in rocketmq-error by @mxsm in #3984
  • [ISSUE #3985]🍻Make HAConnection::remote_address return owned String and wire remote SocketAddr through HA layer by @mxsm in #3986
  • [ISSUE #3968]🍻 Make HAService::put_group_connection_state_request async and awaitable; update broker pre-online handshake flow by @mxsm in #3988
  • Bump chrono from 0.4.41 to 0.4.42 by @dependabot[bot] in #3991
  • [ISSUE #3989]🍻 Simplify handling of group connection state request by awaiting tx directly by @mxsm in #3990
  • [ISSUE #3993]📝Add configuration files for broker master and slave settings by @mxsm in #3994
  • [ISSUE #3995]🚀Implement Drop trait for BrokerRuntime to ensure proper shutdown on drop by @mxsm in #3996
  • [ISSUE #3997]⚡️Improve logging for commit log loading with distinct success and failure messages by @mxsm in #3998
  • [ISSUE #3999]🐛NameServer runtime not shutting down in Drop (restored shutdown call) by @mxsm in #4000
  • [ISSUE #4001]♻️Nameserver bootstrap: replace internal RocketMQRuntime scheduling with ScheduledTaskManager + initialization lifecycle split by @mxsm in #4002
  • Bump tempfile from 3.21.0 to 3.22.0 by @dependabot[bot] in #4003
  • [ISSUE #4004]📝Update doc website url to https://rocketmqrust.com in README by @mxsm in #4005
  • [ISSUE #4006]♻️Refactor: Use &mut RemotingCommand in RequestProcessor API for in-place mutation & reduced cloning by @mxsm in #4007
  • [ISSUE #4008]♻️Refactor: Add original request parameter to RPCHook::do_after_response for richer post-processing by @mxsm in #4009
  • [ISSUE #4011]🔥Add ZoneRouteRPCHook for zone-aware topic route filtering by @mxsm in #4012
  • Broker id change: Implementation Notification Broker Id Change Logic by @watchgou in #4010
  • [ISSUE #4014]♻️Refactor: Update async functions to return RocketMQResult for better error handling by @mxsm in #4015
  • [ISSUE #4016]♻️Refactor: Simplify kv_config_path and config_store_path methods for improved readability by @mxsm in #4017
  • [ISSUE #4018]⚡️Enhance RocketMQServer to support RPC hooks and improve initialization logic by @mxsm in #4019
  • [ISSUE #4020]⚡️Improve name server readiness checks and update log messages for clarity by @mxsm in #4021
  • [ISSUE #4023]♻️Refactor: Optimize queue data collection and simplify broker ID retrieval logic by @mxsm in #4024
  • [ISSUE #4025]Introduce ChannelId type alias for improved clarity in channel struct by @mxsm in #4026
  • [ISSUE #4027]⚡️Add ChannelId to BrokerAddrInfo and enhance channel management in housekeeping service by @mxsm in #4028
  • [ISSUE #4029] 🚀Add reject_request method to handle message acceptance conditions in send_message_processor by @mxsm in #4030
  • [ISSUE #4031]🚀Add reject_request method to handle slave broker read conditions in PullMessageProcessor by @mxsm in #4032
  • refactor: ClientRequestProcessor#process_request by @Parizval in #4033
  • Exchange broker ha info by @watchgou in #4034
  • [ISSUE #4038]🚀Add page_size dependency and enhance memory management in TransientStorePool by @mxsm in #4039
  • [ISSUE #4040]⚡️Enhance Windows memory management support in ffi.rs and update Cargo.toml dependencies by @mxsm in #4041
  • perf: inline functions of broker_bootstrap.rs by @Parizval in #4042
  • Reset master offset by @watchgou in #4043
  • Bump serde from 1.0.219 to 1.0.224 by @dependabot[bot] in #4045
  • Bump config from 0.15.15 to 0.15.16 by @dependabot[bot] in #4046
  • Bump serde_json from 1.0.143 to 1.0.145 by @dependabot[bot] in #4047
  • refactor: Simplying default configuration in NamesrvConfig by @Parizval in #4044
  • [ISSUE #4048]🚀Add broker heartbeat interval configuration and scheduling by @mxsm in #4049
  • [ISSUE #4050]♻️Replace manual heartbeat scheduling with a fixed-rate task manager by @mxsm in #4051
  • [ISSUE #4052]🚀Implement minimum broker ID and address tracking in broker runtime by @mxsm in #4053
  • Broker epoch cache handler by @watchgou in #4056
  • notify broker role changed by @watchgou in #4058
  • [ISSUE #4060]⚡️Enhance broker runtime with locking mechanism and refactor sync methods by @mxsm in #4061
  • [ISSUE #4064] Refactor error handling in ackAsync for queue ID and offset retrieval by @mxsm in #4065
  • [ISSUE #4062]♻️Refactor master address handling to support optional values in broker runtime by @mxsm in #4063
  • test: added config test case for ServerConfig by @Parizval in #4066
  • Bump clap from 4.5.47 to 4.5.48 by @dependabot[bot] in #4067
  • Bump anyhow from 1.0.99 to 1.0.100 by @dependabot[bot] in #4068
  • [ISSUE #4069]♻️Refactor scheduled task execution in broker runtime to use task manager by @mxsm in #4070
  • [ISSUE #3917]🐛Update GetAllSubscriptionGroupConfig to GetAllMessageRequestMode by @WaterWhisperer in #4071
  • [ISSUE #4072]♻️Refactor broker registration task to use scheduled task manager by @mxsm in #4073
  • [ISSUE #4075]🚀Implement Broker on_master_offline by @mxsm in #4076
  • [ISSUE #3992]♻️Refactor event listener initialization to handle None case for channel_event_listener by @WaterWhisperer in #4074
  • [ISSUE #4079]📝docs: Enhance documentation for BrokerRuntime::initialize_metadata function by @mxsm in #4080
  • [ISSUE #4083]🚀Add RocksDB message store support with feature-gated architecture by @mxsm in #4084
  • [ISSUE #3825]🐛Incorrect brokerRole in broker-simple-slave.toml by @WaterWhisperer in #4085
  • [ISSUE #3793]⚡️Remove unused trait-variant workspace dependency from Cargo.toml by @WaterWhisperer in #4086
  • [ISSUE #4089]🚀Add BrokerSyncInfo struct by @mxsm in #4090
  • [ISSUE #4092]♻️Clean up existing clippy warnings of bool_assert_comparison and assertions_on_constant by @WaterWhisperer in #4091
  • [ISSUE #4093]🚀Implement broker HA info retrieval and update logic in BrokerRuntime by @mxsm in #4094
  • [ISSUE #4096]♻️Clean up existing clippy warnings of clone_on_copy and needless_borrow by @WaterWhisperer in #4095
  • [ISSUE #4099]♻️Clean up existing clippy warnings of vec_init_then_push, redundant_closure and useless_conversion by @WaterWhisperer in #4097
  • [ISSUE #4088]⚡️Add inline annotations to delay level table accessors by @WaterWhisperer in #4102
  • enhancement: Improve broker runtime API design by @Parizval in #4101
  • [ISSUE #4105]♻️Clean up existing clippy warnings of new_without_default, field_reassign_with_default, const_is_empty, large_enum_variant by @WaterWhisperer in #4100
  • [ISSUE #4087]♻️Clean up existing clippy warnings of useless_vec, redundant_field_names, let_unit_value, manual_range_contains by @WaterWhisperer in #4106
  • [ISSUE #4087]♻️Clean up remaining clippy warnings by @WaterWhisperer in #4107
  • [ISSUE #4098]♻️Refactor RocketmqDefaultClient and client message process by @mxsm in #4108
  • [ISSUE #4113]🚀Add RemotingGeneral struct and message processing methods by @mxsm in #4114
  • Bump libc from 0.2.175 to 0.2.176 by @dependabot[bot] in #4115
  • Bump tempfile from 3.22.0 to 3.23.0 by @dependabot[bot] in #4116
  • Bump config from 0.15.16 to 0.15.17 by @dependabot[bot] in #4117
  • [ISSUE #3849]📝Delete the license in rocketmq-error crate lib.rs by @WaterWhisperer in #4118
  • Bump windows from 0.62.0 to 0.62.1 by @dependabot[bot] in #4119
  • Bump regex from 1.11.2 to 1.11.3 by @dependabot[bot] in #4120
  • [ISSUE #4122]Add macos system call ibc::mincore function by @watchgou in #4121
  • Bump sysinfo from 0.37.0 to 0.37.1 by @dependabot[bot] in #4124
  • [ISSUE #4130]Add clippy allow for incompatible_msrv in multiple files by @mxsm in #4131
  • Bump bytemuck from 1.23.2 to 1.24.0 by @dependabot[bot] in #4129
  • Bump sysinfo from 0.37.1 to 0.37.2 by @dependabot[bot] in #4128
  • Bump config from 0.15.17 to 0.15.18 by @dependabot[bot] in #4127
  • Bump thiserror from 2.0.16 to 2.0.17 by @dependabot[bot] in #4126
  • Bump quote from 1.0.40 to 1.0.41 by @dependabot[bot] in #4125
  • epoch cache by @watchgou in #4123
  • Bump windows from 0.62.1 to 0.62.2 by @dependabot[bot] in #4133
  • Bump flate2 from 1.1.2 to 1.1.4 by @dependabot[bot] in #4134
  • [ISSUE #4109]♻️Refactor Remoting Request and Response command handle by @mxsm in #4135
  • Bump libc from 0.2.176 to 0.2.177 by @dependabot[bot] in #4149
  • Broker master node address is offline by @watchgou in #4148
  • [ISSUE #4146]⚡️Improve log message for channel removal in ProducerManager by @WaterWhisperer in #4152
  • Implement 'notify broker id' logic by @watchgou in #4151
  • [ISSUE #4147]⚡️Update log message for channel close event in ConsumerGroupInfo by @WaterWhisperer in #4153
  • [ISSUE #4156]✨Add request_code method to RemotingCommand and inline annotation to parse_request_header by @mxsm in #4157
  • [ISSUE #4158]♻️Refactor send_message_processor to simplify rewrite_result handling and improve hook execution by @mxsm in #4159
  • [ISSUE #4161]♻️Refactor SendMessageRequestHeaderV2 to use static field keys for improved performance and reduced allocations by @mxsm in #4162
  • [ISSUE #4163]✨Add FromMap support and benchmark for ExampleHeader with improved request header codec by @mxsm in #4164
  • [ISSUE #4155]⚡️Remove return and semicolon refactor code by @WaterWhisperer in #4165
  • [ISSUE #4160]⚡️Remove unused code from send_message_request_header.rs by @WaterWhisperer in #4166
  • [ISSUE #4174]⚡️Remove unused variables and comments in message encoding and request processing by @mxsm in #4175
  • Bump cfg-if from 1.0.3 to 1.0.4 by @dependabot[bot] in #4173
  • Bump tokio from 1.47.1 to 1.48.0 by @dependabot[bot] in #4172
  • Bump reqwest from 0.12.23 to 0.12.24 by @dependabot[bot] in #4170
  • Bump clap from 4.5.48 to 4.5.49 by @dependabot[bot] in #4169
  • Bump regex from 1.11.3 to 1.12.2 by @dependabot[bot] in #4168
  • [ISSUE #4077]🚀file_utils read file operation method supports the asynchronous characteristics of tokio fs by @WaterWhisperer in #4167
  • 🐛 Fixes some bugs for UpdateAndCreateTopic, GetTopicConfig and GetConsumerConnectionList by @BrightX in #4171
  • Bump strum from 0.26.3 to 0.27.2 by @dependabot[bot] in #4177
  • Bump dirs from 5.0.1 to 6.0.0 by @dependabot[bot] in #4178
  • [ISSUE #4078]🚀file_utils write file operation method supports the asynchronous characteristics of tokio fs by @WaterWhisperer in #4179
  • [ISSUE #4180]✨Add delete_property_v2 function and benchmarks for performance comparison by @mxsm in #4181
  • [ISSUE #4182]♻️Refactor message handling to improve batch processing logic in send_message_processor by @mxsm in #4183
  • [ISSUE #4184]✨Add Criterion benchmarks for PermName::perm2string vs perm_to_string comparison by @mxsm in #4185
  • fix: Add Apache License for running.rs file header by @EricZZZ in #4188
  • Bump syn from 2.0.106 to 2.0.107 by @dependabot[bot] in #4190
  • [ISSUE #4191]🐛Fix cluster_acl_version_info_equality test case error by @mxsm in #4192
  • Bump clap from 4.5.49 to 4.5.50 by @dependabot[bot] in #4189
  • Bump memmap2 from 0.9.8 to 0.9.9 by @dependabot[bot] in #4194
  • Bump proc-macro2 from 1.0.101 to 1.0.102 by @dependabot[bot] in #4197
  • [Enhancement⚡️] Optimize MappedFileQueue get_last_mapped_file and get_first_mapped_file method by @EricZZZ in #4199
  • Bump syn from 2.0.107 to 2.0.108 by @dependabot[bot] in #4203
  • [ISSUE #4136]🚀Implement UpdateTopicSubCommand by @WaterWhisperer in #4200
  • [Enhancement⚡️] Optimize trace switch property value conversion in send_message_processor by @EricZZZ in #4198
  • [ISSUE #4195]🐛Fix incorrect reference in send_message_processor.rs pre_send call remove as_ref by @WaterWhisperer in #4202
  • Bump proc-macro2 from 1.0.102 to 1.0.103 by @dependabot[bot] in #4204
  • Bump flate2 from 1.1.4 to 1.1.5 by @dependabot[bot] in #4205
  • [ISSUE #4187]♻️Refactor topic configuration handling to use DashMap for improved concurrency by @mxsm in #4206
  • [ISSUE #4207]♻️Refactor topic queue mapping to use DashMap for improved concurrency and memory management by @mxsm in #4208
  • [ISSUE #4209]♻️Refactor timestamp retrieval functions to always inline for performance optimization by @mxsm in #4210
  • [ISSUE #4211]✨Add hashbrown and foldhash dependencies; refactor CRC32 checksum calculation by @mxsm in #4212
  • chore: remove redundant hasher code in TopicQueueLock by @AyushSinghal1794 in #4214
  • Bump clap from 4.5.50 to 4.5.51 by @dependabot[bot] in #4215
  • [ISSUE #4216]⚡️Update return type in parse_config_file function to use rocketmq_error::RocketMQResult by @mxsm in #4217
  • [ISSUE #4218]♻️Refactor prepare_for_slave_online method to be asynchronous and enhance master HA info retrieval by @mxsm in #4219
  • [ISSUE #4220]♻️Refactor start_service method to be asynchronous and update service initiation logic by @mxsm in #4221
  • [ISSUE #4222]✨Integrate flume for high-performance async messaging; refactor send_one_way to send_oneway and update connection health checks by @mxsm in #4223
  • [ISSUE #4224]⚡️Optimize remoting command serialization and deserialization; enhance header encoding and decoding efficiency by @mxsm in #4225
  • [ISSUE #4226]🚀Implement batch sending for RemotingCommand; optimize throughput and reduce latency in client-server communication by @mxsm in #4227
  • [ISSUE #4228]♻️Refactor connection state management to use a watch channel; replace boolean flags with reactive state updates for improved clarity and performance by @mxsm in #4229
  • [ISSUE #4230]✨Add new modules for mapped file management; implement error handling, metrics tracking, and buffer operations by @mxsm in #4231
  • [ISSUE #4232]✨Add zero-copy comparison benchmarks; optimize data access and memory usage for mapped files by @mxsm in #4233
  • [ISSUE #4234]🚀Add RocketMQ Controller module; implement metadata management, RPC handling, and configuration management by @mxsm in #4235
  • [ISSUE #4236]♻️Refactor error handling to use RocketMQError consistently; improve clarity and maintainability across multiple files by @mxsm in #4237
  • Bump prost-types from 0.13.5 to 0.14.1 by @dependabot[bot] in #4238
  • Bump tokio-util from 0.7.16 to 0.7.17 by @dependabot[bot] in #4239
  • Bump rocksdb from 0.22.0 to 0.24.0 by @dependabot[bot] in #4242
  • Bump prost from 0.13.5 to 0.14.1 by @dependabot[bot] in #4240
  • Bump criterion from 0.5.1 to 0.7.0 by @dependabot[bot] in #4243
  • [ISSUE #4245]🚀Implement RouteInfoManager V2 with DashMap for improved concurrency; add integration tests and update configuration options by @mxsm in #4246
  • Bump syn from 2.0.108 to 2.0.109 by @dependabot[bot] in #4247
  • Bump criterion from 0.5.1 to 0.7.0 by @dependabot[bot] in #4248
  • [ISSUE ##4249]🚀RouteInfoManagerV2 implement register topic by @mxsm in #4250
  • Bump quote from 1.0.41 to 1.0.42 by @dependabot[bot] in #4253
  • [ISSUE #4251]🚀RouteInfoManagerV2 implement delete topic by @mxsm in #4252
  • [ISSUE #4254]♻️Refactor NameServerBootstrap and NameServerRuntime for improved clarity; enhance initialization methods and add detailed documentation by @mxsm in #4255
  • [ISSUE #4256]♻️Refactor NameServer runtime management; enhance lifecycle state handling, improve initialization and shutdown processes, and add detailed documentation by @mxsm in #4257
  • Bump syn from 2.0.109 to 2.0.110 by @dependabot[bot] in #4258
  • [ISSUE #4259]♻️Refactor request header structs to use RequestHeaderCodecV2 for improved serialization; update all relevant headers by @mxsm in #4260
  • Bump lz4_flex from 0.11.5 to 0.12.0 by @dependabot[bot] in #4261
  • [ISSUE #4262]♻️Refactor error type in request header implementations to use RocketMQError for consistency and improved error handling by @mxsm in #4263
  • [ISSUE #4264]Fix String matching for flatten detection is fragile in RequestHeaderCodecV2 macro by @Lori-Shu in #4265
  • Bump config from 0.15.18 to 0.15.19 by @dependabot[bot] in #4267
  • [ISSUE #4266]Remove netty rust timer wheel by @Lori-Shu in #4268
  • [ISSUE #4270]♻️Refactor JSON deserialization to use from_json_bytes for consistency and improved clarity by @mxsm in #4271
  • [ISSUE #4137]Implement DeleteTopicSubCommand by @Lori-Shu in #4269
  • Bump bytes from 1.10.1 to 1.11.0 by @dependabot[bot] in #4273
  • [ISSUE #4274]⚡️Enhance KVConfigManager with deferred persistence and improved error handling by @mxsm in #4275
  • [ISSUE #4277]♻️Refactor ClientRequestProcessor to utilize cached configuration for improved route info handling by @mxsm in #4278
  • [ISSUE #4272]♻️Change the SerdeJsonUtils methods prefix "to" to "serialize" by @WaterWhisperer in #4281
  • [ISSUE #4276]⚡️Add storage_write_failed constructor for improved error handling in RocketMQError by @WaterWhisperer in #4282
  • [ISSUE #4279]🚀Implement segmented locking in RouteInfoManager for improved concurrency and performance by @mxsm in #4280
  • [ISSUE #4285]♻️Refactor benchmark files to improve consistency and clarity in imports by @mxsm in #4286
  • [ISSUE #4283]Refactor CI configuration for improved formatting, clippy checks, and coverage reporting by @mxsm in #4287
  • [ISSUE #4289]🔨Refactor CI configuration to improve cache key handling and conditional checks for pull requests by @mxsm in #4290
  • [ISSUE #4294]🔨Add auto_approve_pull_requests.yml and automerge.yml by @mxsm in #4295
  • [ISSUE #4297]🚀Implement async segmented lock for improved concurrency and performance by @mxsm in #4298
  • [ISSUE #4299]🔨Update auto_merge.yml workflow by @mxsm in #4300
  • [ISSUE #4301]Refactor message processing and add constants for improved maintainability by @mxsm in #4302
  • Bump clap from 4.5.51 to 4.5.52 by @dependabot[bot] in #4303
  • [ISSUE #4296] Fix error handling in KV config persistence to correctly indicate write failures by @gomnitrix in #4304
  • [ISSUE #4309]⚡️Remove useless comments by @mxsm in #4310
  • [ISSUE #4311]🚀Add zero-copy message encoding and io_uring support for improved performance by @mxsm in #4312
  • Bump clap from 4.5.52 to 4.5.53 by @dependabot[bot] in #4314
  • Bump dns-lookup from 2.0.4 to 3.0.1 by @dependabot[bot] in #4313
  • [ISSUE #4139] 🚀 Implement TopicClusterSubCommand by @gomnitrix in #4315
  • [ISSUE #4316]🚀Implement HA service handling and acknowledgment number calculation in message processing by @mxsm in #4317
  • [ISSUE #4318]♻️Refactor flush manager handling to use ArcMut for improved concurrency and performance by @mxsm in #4319
  • [ISSUE #4320]⚡️Enhance CommitLogDispatcher with batch dispatching and new message notifications by @mxsm in #4322
  • [ISSUE #4305]⚡️Replace get current time with rocketmq_common::utils::time_utils::get_current_millis() in RouteInfoManagerV2#scan_not_active_broker by @WaterWhisperer in #4321
  • Bump hashbrown from 0.16.0 to 0.16.1 by @dependabot[bot] in #4323
  • [ISSUE #4325]⚡️Add the missing registrations in topic_commands.rs and the command list in commands.rs by @WaterWhisperer in #4326
  • [ISSUE #4306]⚡️Replace get current time with rocketmq_common::utils::time_utils::get_current_millis() in RouteInfoManagerV2#register_broker_live_info by @WaterWhisperer in #4327
  • [ISSUE #4140] Implement TopicListSubCommand by @Lori-Shu in #4329
  • [ISSUE #4333]🐛Fix cargo clippy error by @mxsm in #4334
  • [ISSUE #4335]🔨Increase retry interval for auto-approving pull requests to 12 minutes by @mxsm in #4336
  • [ISSUE #4331]🚀Implement optimized CommitLog loading with parallel I/O and zero-copy strategies by @mxsm in #4332
  • [ISSUE #4337]✨Implement optimized CommitLog recovery with batched I/O and zero-copy parsing by @mxsm in #4338
  • [ISSUE #4339]♻️Refactor ReputMessageService shutdown process for improved message dispatch handling and task completion by @mxsm in #4340
  • [ISSUE #4341]⚡️Enhance CommitLog and LocalFileMessageStore with optimized offset retrieval and disk flush checks by @mxsm in #4342
  • [ISSUE #4343]🔨Increase retry interval for auto-approving pull requests to 7 minutes by @mxsm in #4344
  • [ISSUE#4141] Implement TopicRouteSubCommand by @Lori-Shu in #4345
  • [ISSUE #4346]🚀Implement AllocateMappedFileService with priority queue and TransientStorePool integration by @mxsm in #4347
  • Bump mockall from 0.13.1 to 0.14.0 by @dependabot[bot] in #4348
  • Bump rayon from 1.10.0 to 1.11.0 by @dependabot[bot] in #4350
  • Bump syn from 2.0.110 to 2.0.111 by @dependabot[bot] in #4349
  • [ISSUE #4351]Refactor ReferenceResource trait and implement lifecycle management for ReferenceResourceCounter by @mxsm in #4352
  • [ISSUE#3386]Refactor MessageQueueOpContext by @Lori-Shu in #4353
  • [ISSUE #4330][Refactor♻️]Refactor STRING_HASH_SET with std::sync::LazyLock by @EricZZZ in #4354
  • [ISSUE #4308] Remove route_info_manager_v2_tests rust file by @EricZZZ in #4356
  • [ISSUE #4307] Replace get currenttime with get_current_millis() in RouteInfoManagerV2#Replace get current time with rocketmq_common::utils::time_utils::get_current_millis() in RouteInfoManagerV2#update_broker_info_update_timestamp by @EricZZZ in #4357
  • [ISSUE #4359]♻️Refactor logger initialization to return Result for error handling by @mxsm in #4360
  • [ISSUE #4361]📝Update algolia site by @mxsm in #4362
  • [ISSUE #4363]Remove unused table_size_for method by @kl2400033266 in #4364
  • [ISSUE #4366] Remove route_info_manager_trait.rs by @EricZZZ in #4370
  • [ISSUE #4365] Update segmented_lock to use hashbrown for improved hashing performance by @EricZZZ in #4369
  • Bump tracing-appender from 0.2.3 to 0.2.4 by @dependabot[bot] in #4373
  • [ISSUE #4368] DataVersion timestamp retrieval to use get_current_millis() by @EricZZZ in #4372
  • [ISSUE #4367] Refactor RouteInfoManagerWrapper#get_topics_by_cluster method to use CheetahString type for cluster name by @EricZZZ in #4371
  • [ISSUE #4374]⚡️Use macro enhance RequestCode enum definition to reduce duplication and improve maintainability by @mxsm in #4375
  • [ISSUE #4376]♻️Refactor response code enums to use macro for improved maintainability and reduce duplication by @mxsm in #4377
  • [ISSUE #4378]Remove unused ControllerRequestCode enum by @Gnanasaikiran in #4379
  • [ISSUE #4380]📝Remove unused image from README.md to streamline documentation by @mxsm in #4381
  • [ISSUE #4382]♻️Refactor topic validation logic to use LazyLock and DashSet for improved performance and memory efficiency by @mxsm in #4383
  • [ISSUE #4384] Refactor lazy_static REBALANCE_LOCK_MAX_LIVE_TIME with std::sync::Laz… by @EricZZZ in #4385
  • [ISSUE #4389]♻️Refactor RouteInfoManagerWrapper to use Box for improved memory efficiency by @mxsm in #4390
  • [ISSUE#4142] Implement TopicStatusSubCommand by @Lori-Shu in #4391
  • [ISSUE #4392]🚀Add FilterServerTable and TopicQueueMappingInfoTable for better topic management by @mxsm in #4393
  • [ISSUE #4386] Refactor lazy_static USER_HOME using std::sync::LazyLock in message_store_config.rs by @EricZZZ in #4394
  • [ISSUE #4387] Refactor lazy_static PUT_MESSAGE_ENTIRE_TIME_BUCKETS using std::sync::LazyLock in store_stats_service.rs by @EricZZZ in #4395
  • [ISSUE #4388] Refactor pickup_topic_route_data to accept CheetahString directly for improved type handling by @EricZZZ in #4396
  • [ISSUE #4397]⚡️Enhance error handling for request body and response processing in default_request_processor by @mxsm in #4398
  • [ISSUE #4399]⚡️Improve broker topic config methods with enhanced documentation and type handling by @mxsm in #4400
  • [ISSUE #4401]♻️Refactor CRC32 utility functions to use crc crate for improved performance and maintainability by @mxsm in #4402
  • Bump hostname from 0.4.1 to 0.4.2 by @dependabot[bot] in #4403
  • Bump tracing-subscriber from 0.3.20 to 0.3.22 by @dependabot[bot] in #4404
  • Bump tracing from 0.1.41 to 0.1.43 by @dependabot[bot] in #4405
  • [ISSUE #4406]⚡️Enhance error handling and performance in RegisterBrokerBody encoding/decoding methods by @mxsm in #4407
  • [ISSUE#4143] Implement UpdateOrderConfCommand by @Lori-Shu in #4408
  • [ISSUE #4409]♻️Refactor extract_register_topic_config_from_request for improved error handling and initialization of DataVersion by @mxsm in #4410
  • [ISSUE #4145] Feature🚀 Implement UpdateTopicPermSubCommand by @EricZZZ in #4411
  • [ISSUE #4412]♻️Refactor broker registration process for improved type handling and conflict detection by @mxsm in #4413
  • [ISSUE #4414]🚀Add tools and admin operations with error handling and CLI support by @mxsm in #4415
  • [ISSUE #4416]🚀Add new commands and utilities for enhanced CLI experience and topic management by @mxsm in #4417
  • [ISSUE #4418]♻️Refactor BatchUnregistrationService for improved request handling and shutdown process by @mxsm in #4419
  • [ISSUE #4420]🚀Implement batch broker unregistration for improved performance and cleanup by @mxsm in #4421
  • [ISSUE #4423]♻️Refactor broker info update methods for improved clarity and functionality by @mxsm in #4424
  • [ISSUE #4425]♻️Refactor get_broker_member_group method for improved parameter handling and add documentation by @mxsm in #4426
  • [ISSUE #4428]♻️Optimize get_all_cluster_info method for improved performance and clarity by @mxsm in #4429
  • [ISSUE #4430]♻️Refactor permission management methods for improved clarity and documentation by @mxsm in #4431
  • [ISSUE #4432]♻️Refactor topic deletion logic for improved clarity and efficiency by @mxsm in #4433
  • [ISSUE #4435]♻️Refactor topic route management for improved validation and logging by @mxsm in #4436
  • [ISSUE #4437]♻️Refactor broker channel expiration handling for improved logging and batch unregistration by @mxsm in #4438
  • [ISSUE #4440]🚀Implement idle timeout handling for connection management and event notification by @mxsm in #4441
  • [ISSUE #4422] Remove useless code form DefaultRequestProcessor#process_unregister_broker method by @EricZZZ in #4439
  • [ISSUE #4442]♻️Refactor route info manager to simplify connection handling and improve compatibility by @mxsm in #4443
  • Bump dialoguer from 0.11.0 to 0.12.0 by @dependabot[bot] in #4446
  • Bump colored from 2.2.0 to 3.0.0 by @dependabot[bot] in #4444
  • Bump indicatif from 0.17.11 to 0.18.3 by @dependabot[bot] in #4447
  • Bump criterion from 0.7.0 to 0.8.0 by @dependabot[bot] in #4445
  • [ISSUE#4427] RouteInfoManagerWrapper#get_broker_member_group method to use CheetahString for improved type safety by @EricZZZ in #4449
  • Bump uuid from 1.18.1 to 1.19.0 by @dependabot[bot] in #4451
  • Bump libc from 0.2.177 to 0.2.178 by @dependabot[bot] in #4450
  • [ISSUE#4434] Refactor topic route data decoding for improved error handling in DefaultRequestProcessor#register_topic_to_name_srv by @EricZZZ in #4452
  • [ISSUE #4454]♻️Refactor message processing logic to remove unused async_send_enable checks and streamline message handling by @mxsm in #4455
  • [ISSUE #4456]♻️Refactor latency fault tolerance implementation to use DashMap for improved concurrency and simplify availability checks by @mxsm in #4457
  • [ISSUE #4458]🚀Add SIMD-JSON support for improved performance in JSON encoding and decoding by @mxsm in #4459
  • [ISSUE #4453] Remove useless code from topic_queue_mapping_detail.rs by @EricZZZ in #4462
  • [ISSUE #4460]♻️Refactor subscription group management for improved performance and add benchmarks for DashMap optimization by @mxsm in #4461
  • [ISSUE#4144] Implement UpdateStaticTopicSubCommand by @Lori-Shu in #4448
  • [ISSUE #4463]🚀Add SIMD-JSON support for enhanced performance in JSON serialization and deserialization by @mxsm in #4464
  • [ISSUE #4466]🚀Implemen Drop trait for SelectMappedBufferResult(RAII) to ensure proper resource management by @mxsm in #4467
  • Bump flate2 from 1.1.5 to 1.1.7 by @dependabot[bot] in #4469
  • [ISSUE #4470]🚀Implement EncodeBuffer for efficient memory management and performance benchmarking by @mxsm in #4471
  • [ISSUE #4472]🚀Add RefactoredConnection and ConcurrentConnection for optimized read/write handling and zero-copy support by @mxsm in #4473
  • [ISSUE #4474]Refactor reply message processing for improved error handling and message property management by @mxsm in #4475
  • [ISSUE #4476]Refactor reply message processing for improved readability and performance optimizations by @mxsm in #4477
  • [ISSUE #4478]⚡️Enhancement reply message processing for improved error handling and clarity by @mxsm in #4479
  • [ISSUE #4480]♻️Refactor query message processing to improve error handling and return types by @mxsm in #4481
  • [ISSUE #4482]Change log level from info to debug for scanNotActiveBroker method by @TudorGR in #4484
  • [ISSUE #4485]✨Enhance logging for topic queue data changes to improve visibility on topic registration and updates by @mxsm in #4486
  • [ISSUE #4487]✨Enhance packaging and publishing scripts with improved argument parsing and error handling by @mxsm in #4488
  • [ISSUE #4489]🐛Fix feature argument handling in packaging and publishing scripts by @mxsm in #4490
  • [ISSUE #4491]🔨Revise issue templates for bug reports, documentation, feature requests, and unit tests to enhance clarity and usability by @mxsm in #4492
  • [ISSUE #4493]♻️Refactor package publishing script for improved argument parsing and clarity by @mxsm in #4494

New Contributors

Full Changelog: v0.6.0...v0.7.0