RubyGems 导航菜单

博客

返回博客文章

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
Eric Hodel