1.2.0 (2023-06-04)
- 新功能:
- 添加了新的适配器,如
sdevent
和RedisModule
,并提供了设置TCP用户超时(TCP_USER_TIMEOUT)选项的助手功能。 - 支持指定keepalive间隔时间,增强了TCP连接的灵活性。
- 错误修复:
- 解决了多个与Windows和跨平台兼容性相关的问题,如wincrypt符号冲突、重复选项值冲突等。
- 符合RESP3规范,接受
-nan
作为有效值。
- 维护:
- 增加了新的测试用例(如TCP_USER_TIMEOUT选项测试),更新了CI流程中的一些依赖项和构建配置。
1.1.0 (2022-11-15)
- 新功能(仅在1.1.0-rc1版本中出现):
- 支持用户优先选择IPv6或IPv4,并添加了libhv适配器及其超时支持。
- 增加了SSL验证路径的设置功能,以及关闭Redis连接时的自定义方法。
- 错误修复:
- 主要修复了RESP3中的NaN支持及其他相关错误,如
MinGW
编译错误、协议错误等。
- 维护:
- 更新了一些CI流程和构建系统,修复了Windows和Linux平台上的CMake配置问题。
1.0.2 (2021-10-07)
- 错误修复:
- 修复了CVE-2021-32765安全漏洞,并恢复了错误更新的SONAME值。
1.0.1 (2021-10-04)
- 错误修复:
- 主要是针对CVE-2021-32765的安全修复,但错误地更新了SONAME。
1.0.0 (2020-08-03)
- 重大变更:
- 增加了对RESP3协议的支持,支持SSL连接、运行时分配器注入,并增强了Windows支持。
redisOptions
结构体现在有两个超时字段,分别用于连接和命令;需要用户手动调整现有代码。
- 新功能:
- 支持连接和命令的独立超时设置,增强了错误处理和异步操作的稳定性。
- 错误修复:
- 修复了与Windows相关的各种兼容性问题,并引入了更严格的协议错误检查。
0.14.0 - 0.14.1 (2018-09-25 - 2020-03-13)
- 重大变更:
redisReply.len
类型改为size_t
,以便更好地表示字符串长度,增加了RESP3协议支持。
- 错误修复:
- 修复了内存泄漏、SIGSEGV等错误,并增强了POSIX和其他平台的兼容性。
0.13.x 系列(2015-2018)
- 兼容性改进:
- 增加了对Windows的兼容性,并修复了多个内存管理问题。
- 增加了对不同适配器(如libuv、libevent、Ivykis、Qt)的支持。
0.12.x 系列(2015-2016)
- 功能增强:
- 增加了对IPv6和KeepAlive的支持,并改进了Redis命令的处理性能。
- 添加了libuv适配器,增强了异步操作的灵活性。
0.11.x 系列(2014-2015)
- 优化与增强:
- 增大了多批量回复的深度限制,并优化了Redis命令处理的性能。
总的来说,Hiredis库从1.0.0到1.2.0经历了多个版本的改进,主要集中在协议支持(RESP3)、平台兼容性(尤其是Windows)、性能优化以及安全漏洞修复方面。每个主要版本都引入了新的功能或改进,同时也修复了大量的错误,增强了整体稳定性和兼容性。