在 zlib.net 上如何获取 zlib 源码和更新日志?

更新时间

zlib.net 是 zlib 压缩库的官方主页,由 Mark Adler 维护,规范地址为 https://zlib.net/。主页直接展示当前发布版本(zlib 1.3.2,2026 年 2 月 17 日)及其相对上一版的关键更新,并提供指向完整 Change Log 的入口。需要源码包或历史改动记录时,从主页出发即可找到对应链接;具体下载文件名和目录结构以站内实际链接为准。

这个网站是什么

zlib 是一个免费、通用、不受专利限制的无损数据压缩库,可用于几乎所有计算机硬件和操作系统,其数据格式本身跨平台可移植。主页明确说明它与 Linux 的 zlibc 文件 I/O 压缩库无关,避免混淆。

页面同时交代了作者信息:压缩部分由 Jean-loup Gailly 编写,解压部分由 Mark Adler 编写。这有助于判断内容是否为官方一手信息。

获取源码的路径

主页的发布信息区是起点:

  1. 打开 https://zlib.net/,确认页面顶部显示的当前版本号(目前为 1.3.2)。
  2. 在版本说明附近查找源码包下载链接,通常以版本号命名的压缩包形式提供。
  3. 下载后核对版本号与主页标注一致,再解压使用。

预期结果是拿到与主页公布版本对应的官方源码。常见卡点是页面改版后链接位置变动,此时以主页可见的版本说明为准,不要从第三方镜像取包。

查看更新日志

主页列出当前版本相对上一版的关键更新,并给出“complete Change Log”入口。用法如下:

  • 想快速了解 1.3.2 改了什么,直接读主页的要点列表。
  • 想追溯更早版本(如 1.3.1 相对 1.3 的改动),进入完整 Change Log 逐条查看。

主页摘要中的 1.3.2 关键更新包括:处理 7ASecurity 审计发现的问题、在 crc32_combine 系列函数中检查负长度、inflateCopy 只复制已初始化的窗口内容、新增 compressBound_z 与 deflateBound_z 以支持大数值、用原子操作一次性构建 inflate 固定表、重写 cmake 支持、移除 contrib 中的 untgz、在 s390x 上向量化 CRC-32 计算、新增 compress_z 与 uncompress_z 函数等。

1.3.1 相对 1.3 的要点则包括:拒绝 minizip 中 zip 头字段溢出、修复 inflateSync 在位缓冲数据上的缺陷、新增 LIT_MEM 定义以少量内存换取 deflate 提速、为 ERR_MSG 宏增加边界检查、中和 miniunz 的 zip 路径遍历攻击等。

使用时的判断条件

  • 需要稳定版本:以主页标注的当前发布版为准,不必自行猜测版本号。
  • 需要评估升级影响:先读主页要点,再进完整 Change Log 核对与你所用接口相关的条目,例如涉及 inflateCopy、deflateCopy 或 minizip 的改动。
  • 需要构建:1.3.2 已重写 cmake 支持并移除 vstudio 工程,构建方式应据此调整;具体命令以源码包内说明为准。

网站资料未提及价格或登录限制,下载与查阅不需要据此推断为免登录或免费,以实际页面行为为准。