Skip to content

Releases: sogou/srpc

srpc v0.10.4

25 Dec 14:20

Choose a tag to compare

Changes

  • C++ standard : Update to C++14
  • Test : Update to C++17 with gtest 1.17
  • CustomModule : Add CustomModule for RPC and Http
  • Http Message : Set ignore_unknown_fields=true in JsonParseOptions for SRPC/TRPC Http message
  • Compatibility : Update always_print_fields_with_no_presence to ensure compatibility with protobuf v26.x

Bug Fixes

  • thrift : Fix 'typedef' nested namespace bug
  • http server module : Fix memory leak.
  • srpc tools: fix default transport_type and retry_max in config
  • srpc_generator : handle error when no 'service' defined in proto file.

srpc v0.10.3

01 Jun 14:56
226a0c3

Choose a tag to compare

Changes

  • TRPC Protocol : get service_name from ‘func’ instead of ‘callee’

Bug Fixes

  • Thrift Parsing : fix list<bool>, single line comment bug and return type with space

srpc v0.10.2

18 Mar 07:51
e75ec96

Choose a tag to compare

New features

  • Trace : make RPCTraceOpenTelemetry default path modifiable
  • RPCVar : add HistogramCounter
  • RPCClient : add interface for client callee timeout
  • RPCClientParams : support setting transport_type, such as TT_UDP, etc.

Changes

  • RPCVar : reset() in expose() after every report interval
  • RPCModule : add filter_name and differentiate the var reported by each filter
  • RPCServerParams : use SERVER_PARAMS_DEFAULT to initialize
  • RPCVar : change the count of each Histogram bucket from accumulation to set value
  • rpc_http : revert srpc::HttpServerTask

Bug Fixes

  • RPCCompress : invoke deflateEnd/inflateEnd to release memory in gzip
  • RPCVar : fix concurrent bug when CounterVar will loop data and SummaryVar::observe()
  • RPCVar : add lock and flag when RPCFilterPolicy report()
  • Trace : call RPCModule::server_task_end() after serialize_meta() and fix some bugs
  • RPCBuffer : fix read_back boundary

srpc v0.10.1

05 Jan 10:47

Choose a tag to compare

New features

  • trans_info : add trans_info through trpc and trpc-http protocol
  • rpc_context : add get_timeout_reason()
  • rpc_var : add RPCTimeWindow and TimedGaugeVar
  • RPCClient : add interface for client callee timeout

Changes

  • bazel : update bazel libsrpc name
  • cmake : set Protobuf_LIB_DIR and Protobuf_LIBRARY
  • rpc_module : use series->get_specific() for RPCModuleData
  • rpc_module : update metrics proto files and add scope_name for OpenTelemetry

Bug Fixes

  • brpc : fix brpc get_attachment bug
  • srpc_generator : fix parsing thrift
  • rpc_status : fix rpc status bug in rpc_callback

srpc v0.10.0

19 Apr 07:37
6fbdb5a

Choose a tag to compare

New features

srpc tools :

Add tools named 'srpc' for building Workflow and SRPC project easily;
Basic command : http, redis, rpc, api, proxy, file, compute;

Changes

srpc_generator :

Support getopt_long and more params;

Bug Fixes

test :

Fix building test when gtest >= 1.13.0;

srpc v0.9.8

20 Feb 09:56
1fb0922

Choose a tag to compare

New Features

  • Support thrift union;

Changes

  • find_pacakge require protobuf >= 3.5.0;
  • Improve the directory to find dependent proto files;
  • Avoid no-rtti influence protobuf;
  • Add operation.name in trace and metrics attributes;

Bug Fixes

  • Fix RPCMetricsOTel and update docs;
  • Fix the usage of inet_ntop();
  • Fix RPCVarLocal deconstructor and CounterVar::create();

srpc v0.9.7

09 Jun 09:16
7a2d5a9

Choose a tag to compare

Improvement

  • Add metrics, support both Prometheus and OpenTelemetry;
  • Support JsonPrintOptions on RPCContext;
  • Support server set HTTP response code; Support get/set_http_header();
  • Support batch report spans to OpenTelemetry;
  • Change span to KeyValue trans_info in rpc_meta.proto;
  • Support transport baggage in trans_info;
  • Update Cmake file: make both static and dynamic lib;
  • Check protobuf >= 3.11.0 and snappy >= 1.1.6 in Cmake file;
  • Add runtime library option on Windows;

Bug Fixes

  • Fix thrift string init bug and parsing bug;
  • Fix thrift client skeleton;
  • Fix compilation with VCPKG;

srpc v0.9.6

09 Feb 14:18
d01d121

Choose a tag to compare

Improvement

  • Update srpc_generator args: [protobuf|thrift] idl_file out_dir;
  • Add set_uri_fragment() for task;
  • Update example of using upstream in srpc;
  • Change peer.service to service.name in Span;
  • Add documents tutorial-07-http.md;

Bug Fixes

  • Fix srpc_generator crash when out_dir doesn't exist;
  • srpc_generator skips google/protobuf/*.proto;

srpc v0.9.5

21 Jan 12:48
e711c59

Choose a tag to compare

Improvement

  • Update the format of trace_id and span_id. Make RPCSpanDefault consists with RPCSpanOpenTelemetry.
  • Support caller in trpc protocol.
  • Support thrift default value.
  • Add docs to clarify the usage of HTTP request.
  • Modify Cmake files to find installed package.

Bug Fixes

  • Remove srpc_generator checking file length.
  • Supports __BIG_ENDIAN and fix ntohl in thrift.
  • Correct Span module timestamp nano.

srpc v0.9.4

03 Dec 17:29
b839df7

Choose a tag to compare

Improvement

  • Support thrift IDL keywords: exception extend typedef;
  • Update span context with OpenTracing specification;
  • Add log() and baggage() for task/context;
  • Add rpc proxy demo;

Bug Fixes

  • Fix segment fault when output directory doesn't exist;
  • Fix attachment crash and RPCBuffer::cut() bug;
  • Fix srpc_generator incorrect dir_prefix;
  • Fix span_id to parent_span_id bug;