Qt 发行版

Qt 框架包含各种在共同版本号下发布的 模块 和工具。以下将解释 Qt 的版本控制方案和相关兼容性承诺。最后,我们将介绍典型发布计划,并介绍长期支持(LTS)发行版和支持周期。

注意:一些工具如 Qt CreatorQt Design Studio 和相关产品如 Qt for MCUs 独立发布,有自己的版本控制和发布计划。

版本控制

Qt 使用 语义版本控制。每个发布版本都有一个 主版本次要版本修补版本 编号,由点分隔。例如,Qt 6.7.2

主版本 增加主版本号,次要版本和修补版本号重置为零。主版本包含 Qt 部分功能的重新设计和模块结构,以及应用程序编程接口(API)。

次要版本 增加次要版本号,修补版本号重置为零。次要版本包含新功能和各种修复和改进。

修补版本 仅增加修补版本号。修补版本包括错误修复(包括对可能的安全问题的修复)、文档修复和性能改进。

当不相关时,常常省略修补版本号。也就是说,当文档引用 Qt 6.6 时,文档适用于 Qt 6.6.0、Qt 6.6.1、Qt 6.6.2 等等。

兼容性承诺

通常,您会针对特定的 Qt 版本开始开发您的应用程序。随着时间的推移,新的 Qt 版本得到发布,您需要更新您的 Qt 版本——无论是因为您想要利用已修复的虫子或引入更新版本的功能,还是因为旧的 Qt 版本不再受到支持。为了帮助您完成此项工作,Qt 做出以下兼容性保证。

源兼容性

要实现 源兼容性,意味着您可以编译未修改的应用程序以针对两个不同的 Qt 版本。对于每个发布版本,Qt 旨在在同一主版本的前一个发布版本中保持源兼容性。也就是说,针对 Qt 6.0.0 开发的应用程序应该仍然能够使用任何其他 Qt 6 发布版本(尽管可能会有因已弃用的 API 而触发的警告)进行构建。

请注意,标记为 技术预览开发中可能会修改 的模块或 API 以及预发布版本不包括在此承诺中。

在某些情况下,添加新功能或修复问题仍然需要可能破坏次要版本源兼容性的更改。《QUIP-6》列出了一些这些。

二进制兼容性

要实现 二进制兼容性 意味着你可以在两个不同的 Qt 版本上运行你的动态编译应用程序。Qt 力求保持与同一主要版本的先前 Qt 版本的 向后二进制兼容性。也就是说,针对 Qt 6.0.0 编译的应用程序应该能够在任何其他 Qt 6 版本上运行,但反之则不一定。

没有针对应用程序二进制接口(ABIs)的通用 C++ 标准,因此这一承诺仅适用于使用相同工具链(编译器)和系统环境进行两个版本的编译。这也仅适用于 Qt 的动态构建,不包括预发布版本、模块或标记为 技术预览 的 API,并且要求构建两个 Qt 版本时使用相同的 配置

发布计划

主要 版本的 Qt 释放不经常发生——Qt 4.0.0 在 2005 年发布,Qt 5.0.0 在 2012 年发布,Qt 6.0.0 在 2020 年发布。

次要 版本的 Qt 每年发布两次。

对于每个次要版本,我们通常提供两个或三个 修补程序 版本,直到下一个Qt次要版本发布。例外情况下,可能会更晚发布新的补丁级版本以解决可能需要新补丁级发布的安全问题以及 长期支持(LTS)版本

长期支持版本

对于选定的 Qt 次要版本,Qt 公司 脚以延长的时间为额外的修补程序版本提供支持。此类附加版本称为长期支持(LTS)版本,次要 Qt 版本被宣称为 LTS 版本。尽管这种 LTS 版本的初始修补程序版本也对开源用户可用,但立即访问 LTS 版本是受限制的,仅限于 Qt 公司的商业客户,在 商业许可 下。

通常,每隔第三个次要 Qt 版本将得到额外的 LTS 版本。此类版本中提供的错误修复和安全更新以及更长的支持期使得 LTS 版本是开发大型应用程序的良好选择。

请注意,对于 LTS 版本,Qt WebEngine 模块的处理方式不同:由于其中一部分仅可在 LGPL 下获得,Qt WebEngine 代码仍然在其 默认许可 下可用。

商业支持

Qt 公司为 Qt 提供了 商业支持。在 标准支持条件下,每个 Qt 次要版本从次要版本发布之日起支持一年。对于 Qt LTS 版本,支持期限延长至三年,从原始次要版本(Qt x.y.0 版本)开始。还可以个别协商更长时间的支持。

© 2024 Qt 公司有限公司。包含在此处的文档贡献是各自所有者的版权。提供的文档受 GNU 自由文档许可协议 1.3 版 的条款约束,由自由软件基金会发布。Qt 和相关标志是芬兰以及/或其他国家的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。