Changelist-2.x.md 17 KB

v2.4.21 2021.08.19

en

  • fix StatReport crash when communicatorEpoll delete
  • update protocol to support K8S
  • tars-tools.cmake support K8S upload
  • tc_socket bind output to cerr when failed
  • fix tc_json double bug

    cn

  • 修复StatReport可能的crash当communicatorEpoll被delete时

  • 为了后续支持K8S更新了相关的协议

  • 更新了tars-tools.cmake support K8S upload

  • tc_socket 增加了cerr的输出, 帮忙定位问题

  • 修复tc_json double精度的bug

    v2.4.20 2021.07.27

    en

  • application add addServantWithParams support parameter for handle

  • remove message.h opentracking define

  • fix tc_timer memory leak and timer id duplicate bug

  • support grpc and add GrpcDemo and fix tc_grpc compiler

  • 修复 windows 下 socket 设置阻塞异常

  • 修复 refresh-endpoint-interval 配置无效

  • update unittest

    cn

  • Application 添加 addServantWithParams, 支持Servant构造参数

  • 去掉Message.h opentracking 定义

  • 修复tc_timer内存泄露和timer id可能冲突的问题

  • 支持grpc GrpcDemo, 修复tc_grpc compiler

  • 修复 windows 下 socket 设置阻塞异常

  • 修复 refresh-endpoint-interval 配置无效

  • 更新unittest

v2.4.19 2021.05.18

en

  • fix TARS_OPENTARCKING not report trace bug
  • update mysql-client to support cmake 3.20
  • fix doc README.md 404

    cn

  • 修复打开TARS_OPENTARCKING宏时,没有上报trace信息的问题

  • update mysql-client to support cmake 3.20

  • fix doc README.md 404

v2.4.18 2021.04.13

en

  • fix tc_thread_queue,Optimizing the swarm effect
  • fix epoll server connection close cause crash bug

    cn

  • 修复tc_thread_queue 优化惊群效应

  • 修复epoll server 连接关闭时可能带来的crash

    v2.4.17 2021.04.02

    en

  • fix tc_time bug of erase caused by timer repeat event

  • Fix the MySQL client library to solve the problem of compiling under cmake3.20

  • Fix tc_config, key has no escaped bug

  • Fix the scheduling mechanism to avoid the problem of 1 s scheduling delay

    cn

  • 修复tc_timer repeat事件带来的无法erase的问题

  • 修复引用的mysql-client库, 解决cmake3.20下编译的问题

  • 修复tc_config key没有转义的bug

  • 修复协程调度机制, 避免出现总是出现1s调度延时的问题

v2.4.16 2021.03.28

en

  • tc_epoll_server add sendBufferDirect
  • tc_epoll_server fd auto closed when forked
  • fix tc_common time zone bug
  • fix hash call bug
  • fix EndpoingManager.cpp add missing break
  • Fix bug that Popen fails to return null pointer and uses it directly without judgment.
  • fix to avoid coredump while application exit
  • fix hash table and consistent hash ring are not updated when service node weight is updated
  • fix crash When the number of processing pressure test connections is greater than the maximum number of service connections, and the connections are established and disconnected frequently
  • fix In Linux and windows, it is a small end. It corrects the definition error of byte order conversion function, such as tars_ ntonll
  • set timeout options to prevent "connnect", "real_query" to be blocked for tens of minutes
  • Fix the function name (tc_bitmap) in the exception
  • update protocol

    cn

  • tc_epoll_server 添加 sendBufferDirect

  • tc_epoll_server fd添加fork后自动close属性

  • 修复 tc_common 中时区函数的时区的bug

  • 修复hash第一次建立连接不稳定的bug

  • 修复EndpoingManager.cpp 缺少 missing break的bug

  • 修复服务退出时可能的crash

  • 修复 popen 失败返回空指针 没有判断就直接使用的BUG。

  • 修复解决服务节点权重更新时哈希表和一致性哈希环不更新的问题

  • 修复同一服务有多个obj的情况,同一hash值调用不同的obj会hash到不同的服务器,因为addNode会根据desc(ip+port)计算md5,导致顺序不一致

  • 修复处理压测连接数大于服务最大连接数,并且有连接频繁建立、断开时

  • 修复windows下大小端的问题

  • mysql 增加超时的参数设置

  • 修复tc_bitmap异常字符串处理的bug

  • 更新protocol引用

v2.4.15 2020.12.30

en

  • fix tc_consistent_hash_new.cpp hash bug
  • add ONLY_LIB, not build examples/servers by default, if you want build examples, please cmake .. -DONLY_LIB=ON && make -j4
  • change format of some files to UTF-8 BOM to fix compile errors under windows without changing any codes in these files.
  • fix tc_common prime judgment bug
  • fix tars-tools.cmake link pthread bug in ubuntu

    cn

  • 修改tc_consistent_hash_new.cpp hash的bug

  • 添加ONLY_LIB编译选项, 默认不再编译examples服务, 如果有需要请: cmake .. -DONLY_LIB=ON && make -j4

  • 修改部分文件的utf8格式, 避免windows下的编译错误

  • 修改tc_common prime judgment bug

  • 修改ubuntu下, tars-tools.cmake link pthread bug

v2.4.14 2020.11.09

en

  • fix TC_Shm::init windows not set _bOwner
  • cmake copy .tars to tarsproto/protocol in windows
  • epoll add/del/mod and return value
  • ServantProxyThreadData reset when communicator terminate
  • get rid of the singleton. You can start multiple applications in a process!
  • when epoll server exit, close all fd.
  • fix EndpointManager decontructor
  • fix communicator terminate
  • application support parse string config
  • fix hash bug in first connection
  • fix tc_sha, __LITTLE_ENDIAN bug in windows/mac
  • hello server add hash test
  • fix compiler warning
  • tc_shm when detach, set _pshm = NULL

cn

  • 修改 TC_Shm::init in windows 没有设置 _bOwner变量的bug
  • 修改tars-tools.cmake, 在windows 平台下cmake 复制 .tars 到 tarsproto/protocol
  • epoll add/del/mod 等接口增加返回值
  • communicator 结束时调用ServantProxyThreadData reset
  • 尽量去掉libservant中的单例, 这样在一个进程中可以启动多个Application
  • 当epoll server退出时, 关闭所有的句柄
  • 修复EndpointManager析构函数
  • 修改communicator结束时可能的crash
  • Application内部增加直接初始化函数, 支持string类型的配置
  • 修改第一次创建连接时hash不准的bug
  • 修复windows/mac平台上, tc_sha, __LITTLE_ENDIAN不支持的bug
  • Hello server增加hash测试
  • 修复编译警告
  • tc_shm当调用detach时, 设置_pshm = NULL

v2.4.13 2020.10.11

en

  • Fix Windows compilation errors (missing bison / flex generated files)
  • Network epoll notification handle is changed to UDP handle instead of socket pipe mode to save the number of handles
  • Fix tars-tools.cmake support mysql link

    cn

  • 修复windows编译错误(漏提交bison/flex生成的文件)

  • 网络epoll通知句柄改成udp句柄, 不采用socket pipe模式, 节省句柄数量

  • 修复tars-tools.cmake 支持mysql的link

v2.4.12 2020.09.23

en

  • tc_timer fix compiler warning
  • fix dye bug
  • fix http keep-alive bug

    cn

  • tc_timer修复编译警告

  • 修复染色的bug

  • 修复http keep-alive bug

v2.4.11 2020.09.18

en

  • fix gtest compiler bug
  • fix epoll memory leak in windows
  • fix tc_encoder crash bug
  • fix tc_clientsocket bug
  • fix tc_timer memory leak
  • fix tc_openssl mode not be used
  • fix TC_ Http2 failure problem (header cannot use temporary variables)
  • always set thread data host info
  • Adding the initialization of enumeration value in the resetDefautlt function
  • Part of the file encoding format is adjusted to utf8 BOM to ensure that there is no problem in Windows compilation
  • tc_common add various date processing functions
  • tc_common add floating point comparison function
  • tc_thread add multi thread hash logic
  • tc_port add environment variable acquisition and system event registration callback (compatible with multi platform)
  • Adjust tc_sem_mutex event name (under Windows) to facilitate subsequent maintenance
  • rpc add support for http/sock4/sock5 proxy
  • application add ssl bind check
  • Fix the bug of RPC in HTTP short SSL package connection (under Windows)
  • communicator add update endpoint
  • fix communicator exit logic to avoid possible crash in exit
  • optimize the memory copy problem, reduce the memory copy, and improve the performance
  • Adjust the custom callback and put it in servantproxy

cn

  • 修复gtest编译错误
  • 修复windows下, epoll.cpp中的内存泄露
  • 修改tc_encoder crash 的bug
  • 修复tc_clientsocket在大包下的bug
  • 修复tc_timer内存泄露问题
  • 修复tc_openssl 代码中mode没生效的bug
  • 修复rpc在http短连接以及ssl大包下的bug(windows下)
  • 修复tc_http2 失败的问题(header不能用临时变量)
  • ServantProxy调用时总是在线程私有变量中设置host info
  • 在resetDefautlt函数中增加枚举值的初始化
  • 部分文件编码格式调整成utf8 bom
  • tc_common增加各类时间处理函数
  • tc_common增加浮点数比较算法
  • tc_thread增加多线程hash逻辑
  • tc_port增加环境变量获取以及系统事件注册回调(兼容多平台)
  • 调整tc_sem_mutex事件名称(windows下), 便于后续维护
  • rpc增加http/sock4/sock5支持
  • application 增加ssl效验
  • communicator增加主动更新endpoint的功能
  • communicator完善退出逻辑, 避免退出时可能的crash
  • 进一步优化内存copy问题, 减少内存copy,提升性能
  • 调整自定义回调, 放在ServantProxy中

v2.4.10 2020.09.02

en

  • fix ssl EndpointManager.cpp bug
  • gbk2utf8 mode default set to ICONV_IGNORE

    cn

  • 修复ssl下, EndpointManager.cpp 的bug

  • 将gbk2utf8 mode 缺省值设置为ICONV_IGNORE

v2.4.9 2020.08.19

en

  • Fix tars-tool.cmake make upload bug in linux
  • Update tars-tools.cmake, support multi tars file
  • tc_encoder optimize
  • fix servant http call context release bug
  • fix servant connection reconnect dead cycle
  • fix http servant set timeout bug
  • fix windows roll log bug
  • fix tc_time postAtTime bug
  • remove TARS_SSL in header
  • fix windows gtest build bug

    cn

  • 修改tars-tool.cmake make upload 在linux上bug, cmake用${CMAKE_COMMAND}代替

  • 修改tars-tools.cmake, 支持多个tars文件

  • 优化tc_encoder

  • 修复http servant 短连接模式下context释放的bug(貌似只会在windows下出现)

  • 修复prx重连可能导致的死循环的问题

  • 修复http servant 设置timeout不正确的问题

  • 修复windows下循环日志不启用的问题

  • 修复tc_time postAtTime的bug

  • 头文件中删除TARS_SSL的宏, 避免内存模型不一致

  • 修改windows gtest编译连接不争取的问题

v2.4.8 2020.08.05

en

  • add tarsmerge, can merge multi tars file to one
  • fix tars-tools.cmake, support: make xxxx-upload-tars, upload tars to web, for test
  • fix when http header has not content-length, tc_http decode bug
  • fix refresh endpoint crash

    cn

  • 添加 tarsmerge工具, 支持合并多个tars文件到一个

  • 修改tars-tools.cmake, 支持make xxx-upload-tars, 上传本服务的tars文件到web, 方便自动测试

  • 修改当http头没有content-length时的解析bug

  • 修改endpoint更新时可能导致的crash

v2.4.7 2020.07.19

en

  • fix tars-tools.cmake, support ssl link order bug
  • tars2cpp delete routerkey support (for grid, not use now)
  • epoll server add onNewClient callback
  • fix tc_gzip memory leak
  • solve the default threads num problem

    cn

  • tars-tools.cmake, 修改ssl 连接顺序不对的问题

  • tars2cpp去掉routerkey(给灰度使用, 目前版本都不再支持)

  • epoll server 增加onNewClient回调

  • fix tc_gzip在某情况下的内存泄露

  • 修改threads缺省参数值为0的bug

v2.4.6 2020.07.09

en

  • fix http parse repsonse bug to support TarsGateway

    cn

  • 修改http解析响应包的bug

v2.4.5 2020.07.07

en:

  • tars2node support JSON_VERSION.

    cn:

  • tars2node 工具支持JSON_VERSION 协议。

v2.4.4 2020.06.19

en:

  • add totalResponse for all protocol response;
  • modity tars2cpp for json protocol: gen json protocol default && gen async_response_xx json protocol;

    cn:

  • 增加 totalResponse,对tars所有协议(tars、tup、json)回包都支持;

  • 修改tars2cpp,默认都生成json协议支持,并修改了 async_response_xx 也支持json回包。

v2.4.3 2020.06.10

en:

  • tc_spin_lock support arm
  • fix tc_http security problem
  • fix tc_mysql table name with database name bug
  • tarscpp create tars protocol, default package optional field
  • fix tars2case 的bug

cn:

  • tc_spin_lock 支持arm
  • tc_http解析安全问题
  • tc_mysql 表名带db名称时 bug的问题
  • tarscpp协议缺省值默认打包
  • fix tars2case 的bug

v2.4.2 2020.06.02

en:

  • Add English commet to some header file commet
  • tars2case support json format
  • fix tc_http bug, ignore last header line
  • fix tc_json null bug and add interface

    cn:

  • 部分头文件注释增加英文注释

  • tars2case支持json格式

  • 修复tc_http解析头, 漏掉最后一行的bug

  • 修复tc_json null的bug 以及修改tc_json的函数接口, 更易用

v2.4.1 2020.05.06

en:

1 fix windows tars proto, define long bug, change to long long 2 fix windows, longlong tars_ntohll bug 3 fix windows, tc_ex system message pointer may be null cause crash 4 fix windows tc_epoll_server when send pending add epoll mod

cn:

1 修复windows 64位 tars协议中, long 定义的问题(为32位,改成long long) 2 修复windows 64位整形, 字节序转换的问题 3 修复windows tc_ex中系统消息指针为NULL的bug 4 修复windows windows tc_epoll_server when send pending add epoll mod

v2.4.0 2020.04.24

en:

  • fix tars2json bug of array
  • TC_EpollServer::Connction add _authInit initialize
  • fix tarsnotify nodename bug
  • compiler & install framework/*.tars in tarscpp
  • fix tars-tools.cmake 'make tar' bug in linux
  • In epoll server, change tc_cas_queue to tc_thread_queue
  • tc_thread queue add front & pop_front
  • add tars to xml support , add tc_xml.h/cpp tool class
  • fix tc_json bug in float/double
  • tars2cpp add interface to get/set sql
  • TarsOutpuStream member change to public
  • add tars2case for benchmark

cn:

  • 修复tars2json中 array的bug
  • TC_EpollServer::Connction 构造时,增加对_authInit变量初始化
  • 修复tarsnotify nodename bug
  • compiler & install framework/*.tars in tarscpp
  • 修复tars-tools.cmake make tar在linux的bug
  • epoll server中tc_cas_queue改为 tc_thread_queue, tc_cas_queue在极端压力下可能会有问题, 原因待查
  • tc_thread queue add front & pop_front
  • 增加tars to xml的支持, 增加tc_xml.h/cpp解析类
  • 修复tc_json的float/double的bug
  • tars2cpp 工具增加将结构体转换成sql的接口
  • TarsOutpuStream成员变量改成public, 便于外部访问
  • 增加tars2case工具, 给benchmark工具使用

v2.3.0 2020.04.02

en:

  • modify cookies
  • To support short connection (HTTP), servantproxy adds connection serial mode
  • Support http1 client
  • The interface of http1 and http2 is unified (http2 is not compatible before, and there are bugs in the previous design)
  • Optimize HTTP performance
  • Modify the file name and some class names at the beginning of tars to facilitate code merging
  • Improve the logic of service IP list switching

    cn:

  • cookies修改实现方式

  • 为支持短连接(http), ServantProxy增加连接串行模式

  • rpc支持http1客户端

  • 统一了http1 和 http2的接口(http2不在兼容之前的, 之前的设计上是有bug的) 优化http性能

  • 修改Tars开头的文件名以及部分类名, 方便代码合并

  • 改进服务ip list切换的逻辑

v2.2.0 2020.04.02

en

  • fix epoll bug in windows

    cn

  • 修复epoll在windows下的bug

v2.1.2 2020.03.28

en:

  • Fix bugs in tar-tools.cmake's support for make release
  • cmake_tars_server.sh Permissions are automatically set to executable during installation
  • fix tc_common::strto bug in unsigned char
  • Download and compile curl automatically under windows to support the subsequent make upload
  • Repair the support of tars-tools.cmake for make upload under Windows

    cn:

  • 修复tars-tools.cmake对release支持的bug

  • cmake_tars_server.sh等安装时权限都自动设置为可执行

  • tc_common::strto修复unsigned char的bug

  • windows下自动下载编译curl,为后续make upload提供支持

  • 修复windows下tars-tools.cmake对make upload的支持

v2.1.1 2020.03.23

en:

  • update tars2node, support ts
  • tc_json add get
  • fix CMakeLists.txt in servant demo

    cn:

  • 更新tars2node, 完善对ts的支持

  • tc_json增加一个api

  • 修改了脚本创建服务后, CMakeLists.txt模板, 默认管理ssl http2

v2.1.0 2020.03.14

en:

  • udp in ipv6 bug
  • add tars.resource
  • fix rsp queue
  • add max buffer limit, send queue, data accumulate clear
  • Adjust cmake third library path
  • tc_network_buffer add iterator
  • optimize tc_http tc_http_async, improve http parser performance
  • fix tars2node, support --with-tars
  • remove rapidjson depends

    cn:

  • 修改udp在ipv6下的bug

  • 服务框架增加tars.resource命令字, 可以查看服务内网络连接细节

  • 修改响应队列上报的bug

  • 增加发送buffer过载保护

  • 调整第三方库安装后的库路径

  • tc_network_buffer增加iterator接口

  • 优化tc_http tc_http tc_http_async性能, 提升http parser f- ix tars2node, support --with-tars

v2.0.0 2020.03.03

  • support linux mac windows
  • support ARM
  • Reduce memory copy and improve performance
  • Download compile dependencies automatically
  • fix epoll server dead cycle bug
  • Improve compilation mode and rely on MySQL client Lib
  • fix some bug