博客
返回博客文章
2015 年 11 月 3 日
2.5.0 已发布
RubyGems 2.5.0 包括重大增强功能、次要增强功能和错误修复。
要更新到最新版本 RubyGems,您可以运行
gem update --system
如果您需要升级或降级,请按照 如何升级/降级 RubyGems 说明操作。要手动安装 RubyGems,请参阅 下载 RubyGems 页面。
重大增强功能
-
添加了 Gem::Licenses 类,其中提供了由 spdx.org 设置的一组标准许可证标识符。现在由 Gem::Specification#license 属性使用此标识符尝试标准化(但并不强制执行)宝石作者设置的许可证。
Kyle Mitchell 发布的请求拉取 #1249。
次要增强功能
- 将 Molinillo 用作解析器库。它与 Bundler 使用的解析器相同。Samuel E. Giddins 发布的请求拉取 #1189。
- 向 Pristine 命令添加
--skip=gem_name
。windwiny 发布的请求拉取 #1018。 - 经过解析的宝石依赖关系文件现在可以通过 Gem.gemdeps 访问,继 Gem.use_gemdeps 之后。Hsing-Hui Hsu 发布的请求拉取 #1224,Michal Papis 发布的问题 #1213。
- 将 description 属性移至 Gem::Specification 推荐的属性。Michal Papis 发布的请求拉取 #1046。
- 将
Gem::Indexer#abbreviate
和#sanitize
移至Gem::Specification
。Arthur Nogueira Neves 发布的请求拉取 #1145。 - 缓存 Gem::Version 片段,以用于
#bump
和#release
。Matijs van Zuijlen 发布的请求拉取 #1131。 - 修复
levenshtein_distance
在比较较长字符串时的边缘情况。Richard Schneeman 发布的请求拉取 #1173。 - 从 List#to_a 中移除重复项,使其从 O(n^2) 时间改进到 O(n) 时间。Marc Siegel 发布的请求拉取 #1200。
- Gem::Specification.add_specs 已过时,将在版本 3.0 中移除,没有替代。要添加规范,请安装宝石,然后重置缓存。
- Gem::Specification.add_spec 已过时,将在版本 3.0 中移除,没有替代。要添加规范,请安装宝石,然后重置缓存。
- Gem::Specification.remove_spec 已过时,将在版本 3.0 中移除,没有替代。要移除规范,请卸载宝石,然后通过调用 Gem::Specification.reset 重置缓存。
- 在 Gem::Specification#files 方法中,先调用 Array#compact 再调用 Array#uniq,以略微提升速度。Marat Amerov 发布的请求拉取 #1253。
- 使用 stringio 而非自定义字符串类。Petr Skocik 提交的请求 #1250。
- 使用 URI#host 而非 URI#hostname,以保留与 Ruby 1.9.2 及更早版本的向后兼容性。Joe Rafaniello 提交的请求 #1288。
- 为 gem 源更新说明文档。Ilya Vassilevsky 提交的请求 #1324。
- 为 required_ruby_version 更新说明文档。Matt Patterson 提交的请求 #1321。
- 为 gem 更新更新说明文档。Tim Blair 提交的请求 #1306。
- 在 SRV 解析失败时发出警告。Ivan Kuchin 提交的请求 #1023。
- 允许运行时和开发之间存在重复依赖项。Murray Steele 提交的请求 #1032。
- gem env 命令现在显示用户安装目录。Luis Sagastume 提交的请求 #1343。
- Gem::Platform#=== 方法现在将 nil cpu 体系结构视为与“通用”相同。Daniel Berger 提交的请求 #1356。
- 提高了 Gem::Specification.traverse 中的内存性能。Aaron Patterson 提交的请求 #1188。
- RubyGems 包现在支持符号链接。Samuel E. Giddins 提交的请求 #1209。
- 如果没有 mkmf.log,RubyGems 将不再输出。Andrew Hooker 提交的请求 #1222。
- 添加了 Bitrig 平台。John C. Vernaleo 提交的请求 #1233。
- 针对首次使用 RubyGems 的开发人员改进了错误消息。André Arko 提交的请求 #1241。
- 通过缓存的规范提高了 Gem::Specification#load 的性能。Samuel E. Giddins 提交的请求 #1297。
- Gem::RemoteFetcher 允许用户设置 HTTP 标头。Agis Anastasopoulos 提交的请求 #1363。
错误修复
- 修复了 Gem::Specification#homepage 示例中的 Rake 主页网址。Arthur Nogueira Neves 提交的请求 #1171。
- 如果无法找到部分卸载的 gem,则不会崩溃。Cezary Baginski 提交的请求 #1283。
- 测试警告清除。Samuel E. Giddins 提交的请求 #1298。
- 针对 GemDependencyAPI 修复了说明文档。Michael Papis 提交的请求 #1308。
- Fetcher 现在会忽略单线程环境中的 ENOLCK 错误。这样做是尽可能妥善地处理 NFS 上的 gem 安装问题。解决了 Ryan Moore 提出的问题 #1176。Daniel Berger 提交的请求 #1327。
- 修复了测试套件中的一些路径引用问题。Gavin Miller 提交的请求 #1328。
- 修复了在卸载 gem 时运行 ruby 进程时出现的 NoMethodError。Peter Drake 提交的请求 #1332。
- 修复了 gem 清理出现的问题 NoMethodError。Peter Drake 提交的请求 #1333。
- 修复了 gem help 缺陷。问题 #1352 由 bogem 报告,请求 #1357 由 Luis Sagastume 提交。
- 在测试完成后删除临时目录。Nobuyoshi Nokada 提交的请求 #1181。
- 更新 RubyGems 说明文档中的链接。Darío Hereñú 提交的请求 #1185。
- 预发布版 gem 可执行文件现在可以运行。Samuel E. Giddins 提交的请求 #1186。
- 更新了 RubyGems travis-ci ruby 版本。Samuel E. Giddins 提交的请求 #1187。
- 修复了 RubyGems 2.4.6 的发布日期。Frieder Bluemle 提交的请求 #1190。
- 修复了 gem 激活中的错误。Miklós Fazekas 提交的请求 #1202。
- 修正了
gem list
的文档。葛福礼·陈发起的请求 #1228。 - 修正了 #1200 历史记录条目。马克·西格尔发起的请求 #1234。
- 重置 Gem::Specification gem 列表时的同步问题已修正。塞缪尔·E·吉丁斯发起的请求 #1239。
- 并行运行测试已修正。涩田浩史发起的请求 #1257。
- 在 Ruby 中用
--program-prefix
或--program-suffix
运行测试已修正。谢恩·吉布斯发起的请求 #1258。 - 已修正 Gem::Specification#to_yaml。伊豆宏昭发起的请求 #1262。
- 已修正 Gem::Specification#raw_require_paths 的污染性。山姆·鲁比发起的请求 #1268。
- 已修正安装 gem 时平台排序问题。非顺号发起的请求 #1271。
- 在 Travis 上安装依赖时,过时的文档选项将使用
--no-document
代替。泷佑发起请求 #1272。 - 增强了对 URI 中 IPv6 地址的支持。乔·拉法内洛发起的请求 #1275。
- 如果文件不存在,规范验证不会再崩溃。塞缪尔·E·吉丁斯发起的请求 #1278。
- 现在可在
rescue
内安装 gem。塞缪尔·E·吉丁斯发起的请求 #1282。 - 为现代 OpenSSL 的测试增加了 Diffie-Hellman 密钥的大小。维特·奥德鲁克发起的请求 #1290。
- RubyGems 更好地处理了无效的配置文件。阿吉斯·阿纳斯塔索普洛斯发起的请求 #1367。
SHA256 校验和
- rubygems-2.5.0.tgz
a39e95acb86f52fdca38b1484b2eed61a7f76551119079d7a9f8c67c5be78831 - rubygems-2.5.0.zip
e5256076a4cabacc32c4369bd665dd0af8167d8895500426970f39bc74b6c228 - rubygems-update-2.5.0.gem
bb63b29e0b1604b48784a6c0646e9d727135c829c8466406ab8dd2f253f5c091