博客
返回博客文章
2018 年 12 月 19 日
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