Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
6777190
Added support to connect and perform CRUD operations with couchbase …
giriraj-singh-couchbase Nov 25, 2025
2276399
Support dynamic expansion of RDMA block pool (#3155)
chenBright Nov 29, 2025
71a3b47
Support naming bthread to help debug (#3158)
ZhengweiZhu Dec 2, 2025
1b4b29c
butil: fix undefined behaviors (#3135)
BusyJay Dec 7, 2025
d7752d1
feat: support more ssl verify mode (#3141)
koarz Dec 8, 2025
86e6a15
Add RISC-V architecture support (#3125)
Dayuxiaoshui Dec 8, 2025
112a0df
Add missed definition of RegisterFlagValidatorOrDie for uint32_t (#3171)
kisuke95 Dec 11, 2025
d1ad5d1
Fix a redundant BeforeAdditionalRefReleased call (#3174)
chenBright Dec 17, 2025
ac8212c
fix gdb_bthread_stack bthread_begin error (#3176)
Searion Dec 18, 2025
f8ae664
Bugfix: SQ overflow (#3145)
chenBright Dec 22, 2025
0690288
fix: avoid SIGSEGV in read_proc_io during static initialization (#3184)
jesson1 Dec 29, 2025
4a3c786
Fix compile issue when the linking project is using C++23 (#3180)
liyinsg Dec 31, 2025
e0e0090
Wrap absl::string_view as std::string to support protobuf v30+ (#3187)
wasphin Jan 4, 2026
aec1531
feat: enable TLS key logging via SSLKEYLOGFILE env (#3173)
koarz Jan 5, 2026
4fc5ba2
Fix port parsing validation in str2endpoint (#3193)
AnantShukla-Git-Hub Jan 12, 2026
76ac9a4
surpport tag for selective channel
Jan 7, 2026
89d4466
support wait with predicate in bthread's ConditionVariable (#3195)
MJY-HUST Jan 18, 2026
b8ac233
support change ownship for SelectiveChannel
Jan 16, 2026
bf7292a
Release 1.16.0
wasphin Jan 18, 2026
3f8c2ba
Support SO_BINDTODEVICE and bind client_host (#3179)
wenjiecn Jan 26, 2026
b926a12
Add Transport to support more communication protocol extensions (#3199)
zchuango Jan 27, 2026
76f8c32
Fix build error caused by CMAKE_CXX_FLAGS (#3204)
Searion Jan 27, 2026
94aadc1
Fix some issues with transport (#3206)
chenBright Jan 29, 2026
2df7b1b
change protobuf version check for descriptor->extension_range (#3210)
yanglimingcn Jan 31, 2026
23004ab
feat(auto_cl): add error rate threshold for punishment attenuation (#…
feng-y Feb 12, 2026
5fa3503
Fix stream closed before response during batch stream creation (#3214)
jenrryyou Feb 15, 2026
c23365b
fix: remove references to non-existent tracked_objects.h in platform_…
tuaris Feb 23, 2026
3639e7a
explicitly link utf8_validity for Protobuf v22+ (#3230)
wasphin Feb 26, 2026
718bd50
Fix CI installation errors (#3233)
chenBright Mar 1, 2026
7c41ef7
Support custom modification of sub controllers (#3213)
chenBright Mar 1, 2026
b044d6d
feat(backup_request): add rate-limited backup request policy (#3228) …
feng-y Mar 2, 2026
4fa7e96
Solve the issue of attachment being overwritten when backuprequest is…
Mar 3, 2026
e9ad004
feat(redis): add native Redis Cluster channel, tests and docs
wayslog Feb 22, 2026
02295bf
chore(ci): trigger github actions rerun for PR #3222
wayslog Feb 23, 2026
2a6e52f
fix(redis): do not cache ASK redirection in slot table
wayslog Feb 23, 2026
4aa276f
perf(redis): protect slot cache with DoublyBufferedData
wayslog Feb 27, 2026
f804ef2
add tcp transport event dispatcher unsched flag & fix RDMA event disp…
MalikHou Mar 6, 2026
85f4536
fix
MalikHou Mar 7, 2026
d698032
fix
MalikHou Mar 9, 2026
05bcd9a
fix md
MalikHou Mar 9, 2026
016bd40
Prevent indefinite defer-close by checking last_active_time (#3216)
jenrryyou Mar 10, 2026
7fea47c
Support building with Protobuf v34+
cho-m Mar 10, 2026
9d0582f
Skip() return true if the end of the stream is reached (#3242)
x1wan Mar 16, 2026
5fbf615
Fix DoRead() returns error errno (#3248)
chenBright Mar 25, 2026
fdb0785
Make batch create stream SendFeedback thread safe (#3215)
jenrryyou Mar 26, 2026
4e40f55
Opt IOBuf Profiler (#3251)
chenBright Mar 26, 2026
685b164
Extend fuzz harness suite and fix false positive
DavidKorczynski Mar 28, 2026
b236330
Fix span lifecycle with smart pointers to prevent use-after-free in a…
lh2debug Mar 31, 2026
66497b8
Update release schedule (#3259)
wwbmmm Apr 2, 2026
ddb9972
Fix fuzz harness blockers (#3257)
DavidKorczynski Apr 6, 2026
767b2da
feat(build): add progress output to config_brpc.sh (#3262)
darion-yaphet Apr 8, 2026
866b3e4
docs(readme): update READMEs and add English doc placeholders (#3263)
darion-yaphet Apr 8, 2026
86db9ae
Fix use after free issue of EventDispatcher LatencyRecorder (#3267)
chenBright Apr 10, 2026
e2f882d
add ubring transport
zchuango Apr 13, 2026
07e1b94
fix the bug for ub ring transport
zchuango Apr 14, 2026
ffdf170
fix the bug for ub ring transport and other
zchuango Apr 14, 2026
1c3ec06
add the license for ub transport
zchuango Apr 14, 2026
43bb268
Modifying the variable naming style
zchuango Apr 14, 2026
643b80f
optimize the log message and some field name
zchuango Apr 19, 2026
56d2ad8
fix some bug for ubring
zchuango Apr 20, 2026
c5d0407
add some log ubring endpoint
zchuango Apr 23, 2026
bfac5e9
add todo
zchuango May 6, 2026
ad9bb15
fix the bug for handshake for ub endpoint
zchuango May 7, 2026
d1198d1
fix the bug for client ub endpoint
zchuango May 7, 2026
b54402d
optimize the iobuf file code
zchuango May 7, 2026
7970a35
modify the log level
zchuango May 8, 2026
2a23839
fix the declare_shm_ubs define not found bug
zchuango May 8, 2026
b767d54
add the timer_mgr support for macos and format code style
zchuango May 8, 2026
f5f2dfb
fix the bug for macos epoll
zchuango May 8, 2026
f63342b
fix the timespece bug
zchuango May 8, 2026
fde0034
adaptor the itimerspec for macos platform
zchuango May 9, 2026
2217a6c
optimize the cmakelist config
zchuango May 9, 2026
e9bda71
Use monotonic time instead of wall time (#3268)
chenBright Apr 13, 2026
a012dc3
Fix RDMA resource (#3269)
chenBright Apr 14, 2026
79af90e
butil: fix 'sucess' -> 'success' typos in process_util.h comments (#3…
SAY-5 Apr 16, 2026
f2da0d7
fix(bthread/context): Add .previous after GNU-stack note (#3266)
condy0919 Apr 20, 2026
93c55f9
Support rdma ece (#3255)
randomkang Apr 20, 2026
0b885d2
[bvar] Fix sampler interval after switch to cpuwide_time_ns (#3278)
hjwsm1989 Apr 23, 2026
3a1fb1d
Remove unused comp channel (#3279)
chenBright Apr 24, 2026
7605865
Fix avoid SIGSEGV in read_proc_status during static initialization (#…
gamezhoulei Apr 26, 2026
66ef837
Roll back LocalityAwareLoadBalancer to gettimeofday_us to match calle…
hjwsm1989 Apr 26, 2026
cb80d55
Use compare_exchange_weak in steal loop for potential performance imp…
xin-ok May 6, 2026
db5707c
add the ubring docs for ubring transport
zchuango May 9, 2026
a6a852e
modify some file name and directory structure
zchuango May 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/install-all-dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ runs:
using: "composite"
steps:
- uses: ./.github/actions/install-essential-dependencies
- run: sudo apt-get install -y libunwind-dev libgoogle-glog-dev automake bison flex libboost-all-dev libevent-dev libtool pkg-config libibverbs1 libibverbs-dev
- run: sudo apt-get update && sudo apt-get install -y libunwind-dev libgoogle-glog-dev automake bison flex libboost-all-dev libevent-dev libtool pkg-config libibverbs1 libibverbs-dev
shell: bash
- run: |
wget https://archive.apache.org/dist/thrift/0.11.0/thrift-0.11.0.tar.gz && tar -xf thrift-0.11.0.tar.gz && cd thrift-0.11.0/
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/install-essential-dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ runs:
steps:
- run: ulimit -c unlimited -S && sudo bash -c "echo 'core.%e.%p' > /proc/sys/kernel/core_pattern"
shell: bash
- run: sudo apt-get install -y git g++ make libssl-dev libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev
- run: sudo apt-get update && sudo apt-get install -y git g++ make libssl-dev libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev
shell: bash
23 changes: 19 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ option(WITH_THRIFT "With thrift framed protocol supported" OFF)
option(WITH_BTHREAD_TRACER "With bthread tracer supported" OFF)
option(WITH_SNAPPY "With snappy" OFF)
option(WITH_RDMA "With RDMA" OFF)
option(WITH_UBRING "With UB" OFF)
option(WITH_DEBUG_BTHREAD_SCHE_SAFETY "With debugging bthread sche safety" OFF)
option(WITH_DEBUG_LOCK "With debugging lock" OFF)
option(WITH_ASAN "With AddressSanitizer" OFF)
Expand All @@ -40,7 +41,7 @@ if(POLICY CMP0042)
cmake_policy(SET CMP0042 NEW)
endif()

set(BRPC_VERSION 1.15.0)
set(BRPC_VERSION 1.16.0)

SET(CPACK_GENERATOR "DEB")
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "brpc authors")
Expand Down Expand Up @@ -104,6 +105,11 @@ if(WITH_RDMA)
set(WITH_RDMA_VAL "1")
endif()

set(WITH_UBRING_VAL "0")
if(WITH_UBRING)
set(WITH_UBRING_VAL "1")
endif()

set(WITH_DEBUG_BTHREAD_SCHE_SAFETY_VAL "0")
if(WITH_DEBUG_BTHREAD_SCHE_SAFETY)
set(WITH_DEBUG_BTHREAD_SCHE_SAFETY_VAL "1")
Expand Down Expand Up @@ -136,7 +142,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} -Wno-deprecated-declarations -Wno-inconsistent-missing-override")
endif()

set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} ${DEFINE_CLOCK_GETTIME} -DBRPC_WITH_GLOG=${WITH_GLOG_VAL} -DBRPC_WITH_RDMA=${WITH_RDMA_VAL} -DBRPC_DEBUG_BTHREAD_SCHE_SAFETY=${WITH_DEBUG_BTHREAD_SCHE_SAFETY_VAL} -DBRPC_DEBUG_LOCK=${WITH_DEBUG_LOCK_VAL}")
set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} ${DEFINE_CLOCK_GETTIME} -DBRPC_WITH_GLOG=${WITH_GLOG_VAL} -DBRPC_WITH_RDMA=${WITH_RDMA_VAL} -DBRPC_WITH_UBRING=${WITH_UBRING_VAL} -DBRPC_DEBUG_BTHREAD_SCHE_SAFETY=${WITH_DEBUG_BTHREAD_SCHE_SAFETY_VAL} -DBRPC_DEBUG_LOCK=${WITH_DEBUG_LOCK_VAL}")
if (WITH_ASAN)
set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} -fsanitize=address")
set(CMAKE_C_FLAGS "${CMAKE_CPP_FLAGS} -fsanitize=address")
Expand All @@ -146,7 +152,7 @@ if(WITH_MESALINK)
endif()
set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} -DBTHREAD_USE_FAST_PTHREAD_MUTEX -D__const__=__unused__ -D_GNU_SOURCE -DUSE_SYMBOLIZE -DNO_TCMALLOC -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DBRPC_REVISION=\\\"${BRPC_REVISION}\\\" -D__STRICT_ANSI__")
set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} ${DEBUG_SYMBOL} ${THRIFT_CPP_FLAG}")
set(CMAKE_CXX_FLAGS "${CMAKE_CPP_FLAGS} -O2 -pipe -Wall -W -fPIC -fstrict-aliasing -Wno-invalid-offsetof -Wno-unused-parameter -fno-omit-frame-pointer")
set(CMAKE_CXX_FLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_CXX_FLAGS} -O2 -pipe -Wall -W -fPIC -fstrict-aliasing -Wno-invalid-offsetof -Wno-unused-parameter -fno-omit-frame-pointer")
set(CMAKE_C_FLAGS "${CMAKE_CPP_FLAGS} -O2 -pipe -Wall -W -fPIC -fstrict-aliasing -Wno-unused-parameter -fno-omit-frame-pointer")

macro(use_cxx11)
Expand All @@ -170,6 +176,9 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64"))
# segmentation fault in libcontext
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-gcse")
elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64"))
# RISC-V specific optimizations
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=rv64gc")
endif()
if(NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0))
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-aligned-new")
Expand Down Expand Up @@ -319,6 +328,11 @@ if(WITH_RDMA)
list(APPEND DYNAMIC_LIB ${RDMA_LIB})
endif()

if(WITH_UBRING)
message(STATUS "brpc compile with ubring")
list(APPEND DYNAMIC_LIB ${UB_LIB})
endif()

set(BRPC_PRIVATE_LIBS "-lgflags -lprotobuf -lleveldb -lprotoc -lssl -lcrypto -ldl -lz")

if(WITH_GLOG)
Expand Down Expand Up @@ -561,6 +575,7 @@ set(SOURCES
${MCPACK2PB_SOURCES}
${BRPC_SOURCES}
${THRIFT_SOURCES}
${BRPC_C_SOURCES}
)

add_subdirectory(src)
Expand Down Expand Up @@ -603,4 +618,4 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/output/include/

# Install pkgconfig
configure_file(cmake/brpc.pc.in ${PROJECT_BINARY_DIR}/brpc.pc @ONLY)
install(FILES ${PROJECT_BINARY_DIR}/brpc.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(FILES ${PROJECT_BINARY_DIR}/brpc.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
2 changes: 1 addition & 1 deletion MODULE.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module(
name = 'brpc',
version = '1.15.0',
version = '1.16.0',
compatibility_level = 1,
)

Expand Down
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ ifeq ($(shell test $(GCC_VERSION) -ge 40400; echo $$?),0)
CXXFLAGS+=-msse4 -msse4.2
endif
endif
# RISC-V specific optimizations
ifeq ($(shell uname -m),riscv64)
CXXFLAGS+=-march=rv64gc
endif
#not solved yet
ifeq ($(CC),gcc)
ifeq ($(shell test $(GCC_VERSION) -ge 70000; echo $$?),0)
Expand Down
2 changes: 1 addition & 1 deletion NOTICE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Apache bRPC
Copyright 2018-2025 The Apache Software Foundation
Copyright 2018-2026 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
78 changes: 43 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,34 +18,36 @@ You can use it to:
* hadoop_rpc (may be opensourced)
* [rdma](https://en.wikipedia.org/wiki/Remote_direct_memory_access) support
* [thrift](docs/en/thrift.md) support, thread-safe, more friendly and performant than the official clients.
* all sorts of protocols used in Baidu: [baidu_std](docs/cn/baidu_std.md), [streaming_rpc](docs/en/streaming_rpc.md), hulu_pbrpc, [sofa_pbrpc](https://github.com/baidu/sofa-pbrpc), nova_pbrpc, public_pbrpc, ubrpc and nshead-based ones.
* all sorts of protocols used in Baidu: [baidu_std](docs/en/baidu_std.md), [streaming_rpc](docs/en/streaming_rpc.md), hulu_pbrpc, [sofa_pbrpc](https://github.com/baidu/sofa-pbrpc), nova_pbrpc, public_pbrpc, ubrpc and nshead-based ones.
* Build [HA](https://en.wikipedia.org/wiki/High_availability) distributed services using an industrial-grade implementation of [RAFT consensus algorithm](https://raft.github.io) which is opensourced at [braft](https://github.com/brpc/braft)
* Servers can handle requests [synchronously](docs/en/server.md) or [asynchronously](docs/en/server.md#asynchronous-service).
* Clients can access servers [synchronously](docs/en/client.md#synchronus-call), [asynchronously](docs/en/client.md#asynchronous-call), [semi-synchronously](docs/en/client.md#semi-synchronous-call), or use [combo channels](docs/en/combo_channel.md) to simplify sharded or parallel accesses declaratively.
* Debug services [via http](docs/en/builtin_service.md), and run [cpu](docs/cn/cpu_profiler.md), [heap](docs/cn/heap_profiler.md) and [contention](docs/cn/contention_profiler.md) profilers.
* Debug services [via http](docs/en/builtin_service.md), and run [cpu](docs/en/cpu_profiler.md), [heap](docs/en/heap_profiler.md) and [contention](docs/en/contention_profiler.md) profilers.
* Get [better latency and throughput](docs/en/overview.md#better-latency-and-throughput).
* [Extend bRPC](docs/en/new_protocol.md) with the protocols used in your organization quickly, or customize components, including [naming services](docs/cn/load_balancing.md#命名服务) (dns, zk, etcd), [load balancers](docs/cn/load_balancing.md#负载均衡) (rr, random, consistent hashing)
* [Extend bRPC](docs/en/new_protocol.md) with the protocols used in your organization quickly, or customize components, including [naming services](docs/en/load_balancing.md) (dns, zk, etcd), [load balancers](docs/en/load_balancing.md) (rr, random, consistent hashing)

# Try it!

* Read [overview](docs/en/overview.md) to know where bRPC can be used and its advantages.
* Read [getting started](docs/cn/getting_started.md) for building steps and play with [examples](https://github.com/apache/brpc/tree/master/example/).
* Read [getting started](docs/en/getting_started.md) for building steps and play with [examples](https://github.com/apache/brpc/tree/master/example/).
* Docs:
* [Performance benchmark](docs/cn/benchmark.md)
* [Performance benchmark](docs/en/benchmark.md)
* [bvar](docs/en/bvar.md)
* [bvar_c++](docs/cn/bvar_c++.md)
* [bthread](docs/cn/bthread.md)
* [bthread or not](docs/cn/bthread_or_not.md)
* [thread-local](docs/cn/thread_local.md)
* [Execution Queue](docs/cn/execution_queue.md)
* [bvar_c++](docs/en/bvar_c++.md)
* [bthread](docs/en/bthread.md)
* [bthread or not](docs/en/bthread_or_not.md)
* [thread-local](docs/en/thread_local.md)
* [Execution Queue](docs/en/execution_queue.md)
* [bthread tracer](docs/en/bthread_tracer.md)
* [bthread tagged task group](docs/en/bthread_tagged_task_group.md)
* Client
* [Basics](docs/en/client.md)
* [Error code](docs/en/error_code.md)
* [Combo channels](docs/en/combo_channel.md)
* [Access http/h2](docs/en/http_client.md)
* [Access gRPC](docs/en/http_derivatives.md#h2grpc)
* [Access thrift](docs/en/thrift.md#client-accesses-thrift-server)
* [Access UB](docs/cn/ub_client.md)
* [Access thrift](docs/en/thrift.md#client-accesses-thrift-server)
* [Access UB](docs/en/ub_client.md)
* [Streaming RPC](docs/en/streaming_rpc.md)
* [Access redis](docs/en/redis_client.md)
* [Access memcached](docs/en/memcache_client.md)
Expand All @@ -56,32 +58,38 @@ You can use it to:
* [Serve http/h2](docs/en/http_service.md)
* [Serve gRPC](docs/en/http_derivatives.md#h2grpc)
* [Serve thrift](docs/en/thrift.md#server-processes-thrift-requests)
* [Serve Nshead](docs/cn/nshead_service.md)
* [Debug server issues](docs/cn/server_debugging.md)
* [Serve Nshead](docs/en/nshead_service.md)
* [Debug server issues](docs/en/server_debugging.md)
* [Server push](docs/en/server_push.md)
* [Avalanche](docs/cn/avalanche.md)
* [Auto ConcurrencyLimiter](docs/cn/auto_concurrency_limiter.md)
* [Avalanche](docs/en/avalanche.md)
* [Auto ConcurrencyLimiter](docs/en/auto_concurrency_limiter.md)
* [Media Server](https://github.com/brpc/media-server)
* [json2pb](docs/cn/json2pb.md)
* [json2pb](docs/en/json2pb.md)
* [Builtin Services](docs/en/builtin_service.md)
* [status](docs/en/status.md)
* [vars](docs/en/vars.md)
* [connections](docs/cn/connections.md)
* [flags](docs/cn/flags.md)
* [rpcz](docs/cn/rpcz.md)
* [cpu_profiler](docs/cn/cpu_profiler.md)
* [heap_profiler](docs/cn/heap_profiler.md)
* [contention_profiler](docs/cn/contention_profiler.md)
* [connections](docs/en/connections.md)
* [flags](docs/en/flags.md)
* [rpcz](docs/en/rpcz.md)
* [cpu_profiler](docs/en/cpu_profiler.md)
* [heap_profiler](docs/en/heap_profiler.md)
* [contention_profiler](docs/en/contention_profiler.md)
* Tools
* [rpc_press](docs/cn/rpc_press.md)
* [rpc_replay](docs/cn/rpc_replay.md)
* [rpc_view](docs/cn/rpc_view.md)
* [benchmark_http](docs/cn/benchmark_http.md)
* [parallel_http](docs/cn/parallel_http.md)
* [rpc_press](docs/en/rpc_press.md)
* [rpc_replay](docs/en/rpc_replay.md)
* [rpc_view](docs/en/rpc_view.md)
* [benchmark_http](docs/en/benchmark_http.md)
* [parallel_http](docs/en/parallel_http.md)
* Others
* [IOBuf](docs/en/iobuf.md)
* [Streaming Log](docs/en/streaming_log.md)
* [FlatMap](docs/cn/flatmap.md)
* [FlatMap](docs/en/flatmap.md)
* [Coroutine](docs/en/coroutine.md)
* [Circuit Breaker](docs/en/circuit_breaker.md)
* [UBRing](docs/en/ubring.md)
* [RDMA](docs/en/rdma.md)
* [Bazel Support](docs/en/bazel_support.md)
* [Wireshark baidu_std dissector plugin](docs/en/wireshark_baidu_std.md)
* [bRPC introduction](docs/cn/brpc_intro.pptx)(training material)
* [A tutorial on building large-scale services](docs/en/tutorial_on_building_services.pptx)(training material)
* [bRPC internal](docs/en/brpc_internal.pptx)(training material)
Expand All @@ -90,12 +98,12 @@ You can use it to:
* [Atomic instructions](docs/en/atomic_instructions.md)
* [IO](docs/en/io.md)
* [Threading Overview](docs/en/threading_overview.md)
* [Load Balancing](docs/cn/load_balancing.md)
* [Locality-aware](docs/cn/lalb.md)
* [Consistent Hashing](docs/cn/consistent_hashing.md)
* [Memory Management](docs/cn/memory_management.md)
* [Timer keeping](docs/cn/timer_keeping.md)
* [bthread_id](docs/cn/bthread_id.md)
* [Load Balancing](docs/en/load_balancing.md)
* [Locality-aware](docs/en/lalb.md)
* [Consistent Hashing](docs/en/consistent_hashing.md)
* [Memory Management](docs/en/memory_management.md)
* [Timer keeping](docs/en/timer_keeping.md)
* [bthread_id](docs/en/bthread_id.md)
* Use cases
* [User cases](community/cases.md)

Expand Down
10 changes: 9 additions & 1 deletion README_cn.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[English version](README.md)

[![Build Status](https://api.travis-ci.com/apache/brpc.svg?branch=master)](https://travis-ci.com/github/apache/brpc)
[![Linux Build Status](https://github.com/apache/brpc/actions/workflows/ci-linux.yml/badge.svg)](https://github.com/apache/brpc/actions/workflows/ci-linux.yml)
[![MacOs Build Status](https://github.com/apache/brpc/actions/workflows/ci-macos.yml/badge.svg)](https://github.com/apache/brpc/actions/workflows/ci-macos.yml)

![brpc logo (light)](docs/images/logo.png#gh-light-mode-only)
![brpc logo (dark)](docs/images/logo-white.png#gh-dark-mode-only)
Expand Down Expand Up @@ -39,6 +40,7 @@
* [thread-local](docs/cn/thread_local.md)
* [Execution Queue](docs/cn/execution_queue.md)
* [bthread tracer](docs/cn/bthread_tracer.md)
* [bthread tagged task group](docs/cn/bthread_tagged_task_group.md)
* Client
* [基础功能](docs/cn/client.md)
* [错误码](docs/cn/error_code.md)
Expand Down Expand Up @@ -83,6 +85,12 @@
* [IOBuf](docs/cn/iobuf.md)
* [Streaming Log](docs/cn/streaming_log.md)
* [FlatMap](docs/cn/flatmap.md)
* [协程](docs/cn/coroutine.md)
* [熔断](docs/cn/circuit_breaker.md)
* [UBRing](docs/cn/ubring.md)
* [RDMA](docs/cn/rdma.md)
* [Bazel构建支持](docs/cn/bazel_support.md)
* [Wireshark baidu_std协议解析插件](docs/cn/wireshark_baidu_std.md)
* [bRPC外功修炼宝典](docs/cn/brpc_intro.pptx)(培训材料)
* [搭建大型服务入门](docs/en/tutorial_on_building_services.pptx)(培训材料)
* [bRPC内功修炼宝典](docs/en/brpc_internal.pptx)(培训材料)
Expand Down
2 changes: 1 addition & 1 deletion RELEASE_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.15.0
1.16.0
6 changes: 6 additions & 0 deletions community/release_schedule.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,9 @@
|1.14.0|2025-07-xx|王伟冰|
|1.15.0|2025-10-xx|刘帅|
|1.16.0|2026-01-xx|王晓峰|
|1.17.0|2026-05-xx|胡希国|
|1.18.0|2026-09-xx|陈光明|
|1.19.0|2027-01-xx|李磊|
|1.20.0|2027-05-xx|王伟冰|
|1.21.0|2027-09-xx|刘帅|
|1.22.0|2028-01-xx|王晓峰|
Loading