RubyGems 导航菜单

博客

返回博客文章

3.0.0 发布

RubyGems 3.0.0 包括重大改进、次要改进、错误修复、兼容性更改和样式更改。

要升级至最新的 RubyGems,请运行

gem update --system

如果您需要升级或降级,请按照如何升级/降级 RubyGems 说明操作。要手动安装 RubyGems,请参阅下载 RubyGems页面。

重大改进

  • S3 源。Aditya Prakash 提交的拉取请求 #1690。
  • 以线程下载 Gem。André Arko 提交的拉取请求 #1898。
  • 更新至 SPDX 许可证清单 3.0。Mike Linksvayer 提交的拉取请求 #2152。
  • [GSoC] RubyGems 的多因素功能。Qiu Chaofan 提交的拉取请求 #2369。
  • 使用 Bundler 1.17.2。SHIBATA Hiroshi 提交的拉取请求 #2521。

次要改进

  • 不将不可访问的工作目录视为构建失败。Pete 提交的拉取请求 #1135。
  • 从构建器 .build 方法中删除无用的目录参数。[已重新构建]Kurtis Rainbolt-Greene 提交的拉取请求 #1433。
  • 在原始状态下跳过多个 Gem。Henne Vogelsang 提交的拉取请求 #1592。
  • 添加 info 命令来打印有关已安装 Gem 的信息。Colby Swandale 提交的拉取请求 #2023。
  • 在 cleanup 命令中添加 –[no-]check-development 选项。Lin Jen-Shin (godfat) 提交的拉取请求 #2061。
  • 显示引用缺失 Gem 的 Gem。Artem Khramov 提交的拉取请求 #2067。
  • 禁止删除诸如 bundler-audit 等以“bundler-”为前缀的 Gem。SHIBATA Hiroshi 提交的拉取请求 #2086。
  • 在 rake clean_env 不存在时修复 rake install_test_deps。Lucas Arantes 提交的拉取请求 #2090。
  • 在 Gem::Command 测试中处理常见选项突变。Thibault Jouan 提交的拉取请求 #2098。
  • 提取 SpecificationPolicy 验证类。Olle Jonsson 提交的拉取请求 #2101。
  • 处理不具有flock系统调用的环境。SHIBATA Hiroshi 提交的拉取请求 #2107。
  • 处理 gem update 中的 explain 选项。Colby Swandale 提交的拉取请求 #2110。
  • 添加 Gem.operating_system_defaults 以允许包装人员覆盖默认值。Vít Ondruch 提交的拉取请求 #2116。
  • 更新,使其与新的 minitest 兼容。MSP-Greg 提交的拉取请求 #2118。
  • 使 Windows bin 存根可移植。MSP-Greg 提交的拉取请求 #2119。
  • 在 rubygems 测试中避免有关 gemspec 加载的警告。SHIBATA Hiroshi 提交的拉取请求 #2125。
  • 通过环境变量设置是否将 bundler 用于 gemdeps。SHIBATA Hiroshi 的请求拉取 #2126。
  • 在 readme 中将“获取帮助”标题化。Colby Swandale 的请求拉取 #2136。
  • 改进在安装命令中使用 –version 时给出的错误消息。Colby Swandale 的请求拉取 #2137。
  • 使用 File.open 取代 open。SHIBATA Hiroshi 的请求拉取 #2142。
  • Gem::Util.traverse_parents 不应在权限错误时崩溃。Robert Ulejczyk 的请求拉取 #2147。
  • [安装程序]避免 #mkdir 竞争条件。Samuel Giddins 的请求拉取 #2148。
  • 允许从解压缩 gem 到 target 选项指定的位置编写 gemspecs。Colby Swandale 的请求拉取 #2150。
  • 当无法移除 gem 中的文件时,在 gem uninstall 中引发错误。Colby Swandale 的请求拉取 #2154。
  • 从 gem 索引目录中移除 PID。SHIBATA Hiroshi 的请求拉取 #2155。
  • Gem::Specification 进行 Nil 防护。SHIBATA Hiroshi 的请求拉取 #2164。
  • 跳过使用 macOS 平台的错误测试。SHIBATA Hiroshi 的请求拉取 #2167。
  • 支持为升级安装程序使用 --destdir 的选项。SHIBATA Hiroshi 的请求拉取 #2169。
  • 使用常量代替硬编码版本。SHIBATA Hiroshi 的请求拉取 #2171。
  • 添加安装开发依赖项的 Rake 任务。Ellen Marie Dash 的请求拉取 #2173。
  • 向 README 中添加新部分和对 RubyGems 是什么的讲解。Colby Swandale 的请求拉取 #2174。
  • 更喜欢使用 Numeric#zero? 而不是 == 0。SHIBATA Hiroshi 的请求拉取 #2176。
  • 忽略版本正则表达方式的性能测试。SHIBATA Hiroshi 的请求拉取 #2179。
  • 在 update_manifest 任务中忽略 .DS_Store 文件。Colby Swandale 的请求拉取 #2199。
  • 允许构建 gem 而无需将 gem 位于 gem 文件夹中。Colby Swandale 的请求拉取 #2204。
  • 添加 simplecov 使用的覆盖能力。SHIBATA Hiroshi 的请求拉取 #2207。
  • 改进无效代理错误消息。Luis Sagastume 的请求拉取 #2217。
  • 简化主目录检测和平台条件。SHIBATA Hiroshi 的请求拉取 #2218。
  • 权限选项。Nobuyoshi Nakada 的请求拉取 #2219。
  • 改进 gemspec 和包任务。SHIBATA Hiroshi 的请求拉取 #2220。
  • 更喜欢在 Gem::TestCase 中使用 util_spec。SHIBATA Hiroshi 的请求拉取 #2227。
  • [要求]将带有 == 版本的要求视为相等。Samuel Giddins 的请求拉取 #2230。
  • 为非语义化版本的情况添加注释。David Rodríguez 的请求拉取 #2242。
  • 保留在块中加载的特性名称。Nobuyoshi Nakada 的请求拉取 #2261。
  • 调整警告建议。David Rodríguez 的请求拉取 #2266。
  • 宝石环境中显示 Git 路径。路易斯·萨加斯图姆通过请求 #2268 提交
  • --env-shebang 标志添加到 setup 命令。詹姆斯·梅尔斯通过请求 #2271 提交
  • 支持 SOURCE_DATE_EPOCH 以使宝石规格可复现。勒文特·波里亚克通过请求 #2278 提交
  • 在扩展构建失败时 Chdir 返回至原始目录。萨缪尔·吉丁斯通过请求 #2282 提交
  • [Rakefile] 添加可运行测试的默认任务。萨缪尔·吉丁斯通过请求 #2283 提交
  • 支持 SOURCE_DATE_EPOCH 以使宝石 tar 可复现。勒文特·波里亚克通过请求 #2289 提交
  • 在测试用例中重置挂钩。萨缪尔·吉丁斯通过请求 #2297 提交
  • 微小拼写错误:nokogiri。达尔尚·拜德通过请求 #2298 提交
  • 忽略由代码覆盖率生成的公开的 molinillo。SHIBATA Hiroshi 通过请求 #2302 提交
  • 支持 IO.copy_stream。okkez 通过请求 #2303 提交。
  • 准备 Beta 版。SHIBATA Hiroshi 通过请求 #2304 提交
  • 在尝试打开默认宝石时添加错误信息。路易斯·萨加斯图姆通过请求 #2307 提交
  • 为“install”命令添加别名命令“i”。ota42y 通过请求 #2308 提交
  • 清理 Rakefile 中的 rdoc 任务。SHIBATA Hiroshi 通过请求 #2318 提交
  • 在 test_gem_text.rb 中添加测试用例。Oliver 通过请求 #2329 提交
  • 宝石构建严格选项。大卫·罗德里格斯通过请求 #2332 提交
  • 使规格重置更具信息性。路易斯·萨加斯图姆通过请求 #2333 提交
  • [Rakefile] 执行发布时设置 Bundler 构建元数据。萨缪尔·吉丁斯通过请求 #2335 提交
  • 提升针对指定目录的通配符处理速度。萨缪尔·吉丁斯通过请求 #2336 提交
  • 删除 semver gem 构建警告。大卫·罗德里格斯通过请求 #2351 提交
  • 在宝石路径中展开符号链接。Benoit Daloze 通过请求 #2352 提交
  • 标准化注释缩进。大卫·罗德里格斯通过请求 #2353 提交
  • 向 pristine 添加 bindir 标志。路易斯·萨加斯图姆通过请求 #2361 提交
  • 向 cleanup 命令添加 -user-install 行为。路易斯·萨加斯图姆通过请求 #2362 提交
  • 允许构建选项传递至 Rake。艾莉莎·罗斯通过请求 #2382 提交
  • 向 cert 命令添加 -re-sign 标志。路易斯·萨加斯图姆通过请求 #2391 提交
  • 修复“解释为分组表达式”的警告。科尔比·斯旺代尔通过请求 #2399 提交
  • [Gem::Ext::Builder] 注释有助于将来重构。艾伦·玛丽·达什通过请求 #2405 提交
  • 将 CONTRIBUTING.rdoc 和 POLICIES.rdoc 文档移动至 Markdown。科尔比·斯旺代尔通过请求 #2412 提交
  • 改进证书到期默认设置。路易斯·萨加斯图姆通过请求 #2420 提交
  • 冻结所有可能的常量。科尔比·斯旺代尔通过请求 #2422 提交
  • 修复 Bundler Rubygems binstub 未正确寻找 Bundler。大卫·罗德里格斯通过请求 #2426 提交
  • 确保 Rubygems 绝不泄露至另一个安装。大卫·罗德里格斯通过请求 #2427 提交
  • 更新 README.md。马克 - 安德烈·拉福图恩通过请求 #2428 提交
  • 限制特殊字符作为新宝石名称的前缀。路易斯·萨加斯图姆通过请求 #2432 提交
  • 已移除通过 DNS SRV 记录支持动态 API 后端查找的功能。阿兰迪斯·沃德通过请求 #2433 提交
  • 修复指向 CONTRIBUTING.md 文档的链接。阿兰迪斯·沃德通过请求 #2434 提交
  • 用 Pysch 支持关键字参数。SHIBATA Hiroshi 提交的请求 #2439。
  • Bug/kernel#warn 升级。Nobuyoshi Nakada 的请求 #2442。
  • 改进证书错误信息。Luis Sagastume 提交的请求 #2454。
  • 更新 gem open 命令帮助信息。Aditya Prakash 提交的请求 #2458。
  • 用版本进行卸载。David Rodríguez 提交的请求 #2466。
  • 添加输出选项到构建命令。Colby Swandale 提交的请求 #2501。
  • 在 travis ci 中将 rubocop 移至单独的阶段。Colby Swandale 提交的请求 #2510。
  • 用 test_gem_specification.rb 忽略警告。SHIBATA Hiroshi 提交的请求 #2523。
  • 支持没有 OpenSSL 的环境。SHIBATA Hiroshi 提交的请求 #2528。

Bug 修复

  • 修复打印警示时未定义的方法错误。Robert Ross 提交的请求 #1884。
  • 冻结字符串修复 - lib/rubygems/bundler_version_finder.rb。MSP-Greg 提交的请求 #2115。
  • 修复拼写错误。SHIBATA Hiroshi 提交的请求 #2143。
  • 修复 Windows 平台上 destdir 的回归。SHIBATA Hiroshi 提交的请求 #2178。
  • 修复关于默认 gem 安装的未赋值变量。SHIBATA Hiroshi 提交的请求 #2181。
  • 修复 README 中的拼写错误。Colby Swandale 提交的请求 #2187。
  • 缺少逗号,导致含义含糊。Clifford Heath 提交的请求 #2190。
  • 修复快速入门说明。Luis Sagastume 提交的请求 #2198。
  • 修复 rubygems 开发环境。Luis Sagastume 提交的请求 #2201。
  • 修复 #1470:在存在 –install-dir 时生成文档。Elias Hernandis 提交的请求 #2229。
  • 修复了安装多个平台时激活的问题。MSP-Greg 提交的请求 #2339。
  • 修复与预发布版相关的 required_ruby_version,并改进错误信息。David Rodríguez 提交的请求 #2344。
  • 更新测试以支持“较新”的 Windows 版本。MSP-Greg 提交的请求 #2348。
  • 修复了中断的 rubocop 任务,升级至 0.58.1。David Rodríguez 提交的请求 #2356。
  • Gem::Version 应处理 nil,如之前一样。Luis Sagastume 提交的请求 #2363。
  • 避免需要 C++ 编译器来通过测试套件。Vít Ondruch 提交的请求 #2367。
  • 修复自动续签过期证书。Luis Sagastume 提交的请求 #2380。
  • 权限依赖的测试在 root 中跳过。Alyssa Ross 提交的请求 #2386。
  • 修复一个取决于 /usr/bin 存在于 PATH 中的测试。Alyssa Ross 提交的请求 #2387。
  • 修复了 mswin 环境导致测试失败的问题。SHIBATA Hiroshi 提交的请求 #2390。
  • 修复了使用正确的 rubocop 版本的中断的构建问题。Luis Sagastume 提交的请求 #2396。
  • 修复了 verbose 时扩展编译器失败的问题。Sorah Fukumori 提交的请求 #2457。
  • 修复了测试警告。MSP-Greg 提交的请求 #2472。
  • bundler 的测试套件不提供 ruby 描述。SHIBATA Hiroshi 提交的请求 #2484。
  • 修复了遇到某些 gemspecs 时崩溃的问题。David Rodríguez 提交的请求 #2506。
  • 修复了 OpenSSL 的较新版本导致测试失败的问题。SHIBATA Hiroshi 提交的请求 #2507。
  • 修复了指向 ../*. 的中断符号链接。Akira Matsuda 提交的请求 #2516。
  • 修复远程获取器测试。路易斯·萨加斯图姆提交的拉取请求 #2520。
  • 修复在使用 –program-suffix 和类似 ruby 配置选项时的测试。杰里米·埃文斯提交的拉取请求 #2529。

兼容性变动

  • IO.binread 未在 Ruby 1.8 中提供。涩田广提交的拉取请求 #2093。
  • 忽略发布 rubygems 的 rdoc 文档,以用于 docs.seattlerb.org。涩田广提交的拉取请求 #2105。
  • 支持预发布版 RubyGems。涩田广提交的拉取请求 #2128。
  • 降低 minitest 版本以使用 5。涩田广提交的拉取请求 #2131。
  • 从开发依赖项中移除 zentest。涩田广提交的拉取请求 #2132。
  • 从测试套件中移除 hoe。涩田广提交的拉取请求 #2160。
  • 清理已弃用的任务。涩田广提交的拉取请求 #2162。
  • 停止支持 Ruby < 2.2。涩田广提交的拉取请求 #2182。
  • 清理已弃用的样式。涩田广提交的拉取请求 #2193。
  • 从 rubygems 仓库中移除 CVE。科尔比·斯旺代尔提交的拉取请求 #2195。
  • 移除对旧版本 ruby 的不必要的条件。涩田广提交的拉取请求 #2206。
  • 移除超出限制日期的已弃用方法。涩田广提交的拉取请求 #2216。
  • 移除 syck 支持。涩田广提交的拉取请求 #2222。
  • 移除对 Encoding 的不必要条件。涩田广提交的拉取请求 #2223。
  • 移除对 String#force_encoding 的不必要条件。涩田广提交的拉取请求 #2225。
  • 移除对 Ruby 1.8 的不必要 OpenSSL 补丁。涩田广提交的拉取请求 #2243。
  • 移除针对 Ruby 1.9.2 的兼容性代码。涩田广提交的拉取请求 #2244。
  • 移除针对旧版本 ruby 的不必要条件版本。涩田广提交的拉取请求 #2252。
  • 移除不必要的 define/respond_to 条件。涩田广提交的拉取请求 #2255。
  • 在 Gem::Package 中直接使用 File.realpath。涩田广提交的拉取请求 #2284。
  • 移除针对 Ruby 旧版本的条件。涩田广提交的拉取请求 #2286。
  • 从 install/update 中移除 –rdoc 和 –ri 选项。科尔比·斯旺代尔提交的拉取请求 #2354。
  • 将作者分配器移动到 Gem::Specification 的所需属性部分。格雷·贝克提交的拉取请求 #2406。
  • 移除 rubyforge_page 功能。尼克·施瓦德勒提交的拉取请求 #2436。
  • 停止支持 ruby 1.8 并使用 IO.popen。中田信吉提交的拉取请求 #2441。
  • 停止支持 ruby 2.2。大卫·罗德里格斯提交的拉取请求 #2487。
  • 移除一些旧的兼容性代码。大卫·罗德里格斯提交的拉取请求 #2488。
  • 从 src 中移除 .document。科尔比·斯旺代尔提交的拉取请求 #2489。
  • 移除旧版本支持。中田信吉提交的拉取请求 #2493。
  • [BudlerVersionFinder] 设置 .filter! 和 .compatible? 仅按主版本匹配。科尔比·斯旺代尔提交的拉取请求 #2515。

风格改动

  • 添加 Rubocop。科尔比·斯旺代尔提交的拉取请求 #2250。
  • 移除明确声明线程库。涩田广提交的拉取请求 #2324。
  • 使用 rubocop 移除结尾空白。涩田广提交的拉取请求 #2394。
  • 更新 rubocop,并使用正确的悲观版本。科尔比·斯旺代尔提交的拉取请求 #2404。
  • 启用更多 rubocop 规则。艾伦·玛丽·达什提交的拉取请求 #2435。
  • 修复并锁定 rubocop。David Rodríguez 的第 2465 号请求。
  • 添加 rubocop binstub。David Rodríguez 的第 2468 号请求。
  • 恢复 rubocop 任务。David Rodríguez 的第 2470 号请求。
  • 删除结尾的空行。David Rodríguez 的第 2471 号请求。
  • 删除方法主体的空行。David Rodríguez 的第 2473 号请求。
  • 在 Rubocop 中启用 Style/MethodDefParentheses。Colby Swandale 的第 2478 号请求。
  • 在 Rubocop 中启用 Style/MultilineIfThen。Luis Sagastume 的第 2479 号请求。
  • 从生成代码中删除结尾的“then”。Luis Sagastume 的第 2480 号请求。

SHA256 校验和

  • rubygems-3.0.0.tgz
    04204a3238cebd778ac42755684719c0cad926ca84b2742103a3f8f1e122025c
  • rubygems-3.0.0.zip
    e658d2a786734ef8b355506718ece44b726907786ab234a1b48d70068b17a756
  • rubygems-update-3.0.0.gem
    5987f6b12aa22edab74abf381fc5781dc03cb9487f4bc6dd99d6ce1ae1e22ab9
SHIBATA Hiroshi